20140401

  1. 根据日志寻找 SkyEye 服务端本周两次崩溃的原因

20140402

  1. 测试虚拟机访问 SMS Modem 是否可行
  2. 本地调试 SMS Modem 通信

20140403

  1. 202.11.4.62服务器上调试 SMS Modem 通信
    • 串口通信不稳定,有一定概率发送失败
  2. 根据孙亚清的需求,调整数据库设计
    • 修改 contract 表:直接用 varchar 类型存 customer
    • 删除 customer

20140404

  1. Log中加入 SMS Modem 的输出
  2. 尝试检测 SMS Modem 发送状态

20140408

  1. 实现短信发送失败重试功能:发送 CONN 短信10秒后,如果设备尚未上线,重发一次短信
  2. ESXi 上安装 Windows 7 用于开发 LC300 协议的通信程序

20140409

  1. 通读三份照明控制通信协议,有疑义的地方与曾磊讨论

20140410

  1. 浏览曾磊拟定的数据库设计方案草案
  2. 与曾磊讨论数据库设计

20140411

  1. 写数据库初始化脚本

20140414

  1. 更新数据库初始化脚本
  2. 更新数据库设计文档

20140415

  1. 搭建 Windows 开发环境
  2. 建立 Visual Studio solution, 将库依赖关系和编译选项设好。

20140416

  1. 设计通信程序类结构
  2. 制作ESXi启动盘备份(完成1/2)

20140417

  1. 从基类框架开始写,函数体留空
  2. CMake编译MySQL Connector/C

20140418

  1. 使用 MySQL Connector/C 连接数据库服务器
  2. 用 Win_XP toolset 编译 MySQL Connector/C, 以支持 Windows XP
  3. 将数据库操作封装到 DatabaseConnector 类中

20140419

  1. 添加 ConfigReader 类,从 config.ini 读取配置
  2. TaskManager 类连接数据库,读取任务
  3. 将代码移到 namespace sansi::ledcontrol

20140421

  1. 解决数据库查询中文显示乱码问题
    • 客户端连接和结果使用Windows默认的gbk编码
    • 服务器存储依旧用utf8
    • 只要连接后设置好字符集参数,字符集转换是服务器自动做的
  2. 新增 Task 类存放 TaskTodoTaskDone 表的各个字段
  3. 从数据库读取 TaskTodo 记录,添加到队列中待处理
  4. 根据讨论结果,更新数据库描述文档数据库创建脚本

20140422

  1. 定时读取 TaskTodo 中的新任务,添加到任务队列
  2. 封装 Boost.Log 库,用来记录日志,代码独立放在 toolkit 项目中

20140423

  1. toolkit/utility/logging 把日志记录到文件,并将 info 以上等级的记录同时输出到 console
  2. 空的任务处理逻辑,将来根据任务命令类型,新增相应的处理函数

20140424

  1. 更改日志条目格式,方便人工查看
  2. 从数据库读到新任务后,直接绑定处理函数,由 io_service 对象自行调度执行
  3. 开始写设置控制器调光模式 Command=3 的处理函数
    • 根据MAC地址,从数据库查询控制器使用的协议,生成相应的 ControllerConnection 派生对象
    • 如果是TCP通信,从数据库查询IP地址和端口,记录到对象

20140425

  1. 对任务指定的控制器,如果是上海协议,TCP连接,则发起TCP连接
  2. TCP连接对象的读操作如下,任何一步出错,都从新开始读一个新的帧。
    • 先读16字节 header
    • 检查帧起始符
    • (以下待实现)
    • 检查数据长度是否越界
    • 读数据长度+3 (CRC16和帧结束符)字节
    • 检查帧结束符
    • 验证CRC
  3. 整理工具函数
    • 字节数组到整数类型的转换
    • 整数类型到字节数组的转换

20140426

  1. ESXi上用于提供网络存储的虚拟机操作系统从NexentaStor换成NAS4Free。
    • NexentaStor最近几天性能不稳定
  2. TCP连接对象的读操作
    • 检查数据长度是否越界

20140428

  1. 202.11.11.201, 202.11.4.62, 202.11.4.63 升级: Ubuntu Server 13.10 => Ubuntu Server 14.04 LTS
  2. GitLab 6.6.4 => 6.8.1
  3. GitLab Shell 1.8.0 => 1.9.3
  4. skyeye-server 重编译(依赖的libboost库升级了: 1.53.0 => 1.54.0)
  5. 整理工具函数
    • crc16
      • SkyEye协议和LC300协议都附了crc16的实现
      • 它们的polynom是一样的 (1021),即 x^16+x^12+x^5+1
      • SkyEye的实现比LC300快4.7倍(对1000000个长度1000的随机数组分别用两种实现计算CRC16测得)
    • 简单逐字节求和
    • 数值类型到hex string的转换
    • 数组类型到hex string的转换
  6. TCP连接对象的读操作
    • 读数据长度+3 (CRC16和帧结束符)字节
    • 检查帧结束符
    • 验证CRC

20140429

  1. 在 202.11.4.62 上测试新的 SMS Modem 硬件
    • SkyEye服务端的短信发送现在较之前稳定了
    • 等李瑞给新硬件加好外壳,就可以把硬件转移到机柜去使用了
  2. 用 template function 重写 toolkit\cast ,减少代码量,避免对不同类型实现的重复代码
  3. 在处理任务和TCP读取的流程中增加多处 log output ,方便调试时寻找问题
  4. 整理工具函数
    • MD5

results matching ""

    No results matching ""