Commit Graph

892 Commits

Author SHA1 Message Date
nnhy f29f92deb1 2015-12-29 06:52:10 +00:00
nnhy 741e6b8b3e 设备列表增加显示名称 2015-12-29 06:49:05 +00:00
nnhy df8693b2d5 2015-12-29 06:42:54 +00:00
nnhy 4cee0576f9 2015-12-29 06:42:41 +00:00
Stone ea14295e85 网关设备列表已修改为每个设备独占一行,最后增加显示设备主数据库的数据。
测试确认该功能是否生效。
2015-12-29 05:20:21 +00:00
Stone 08a96fcacc 两个方向的退网逻辑整理完成,编译通过,未测试 2015-12-29 05:09:25 +00:00
Stone 7a18688e8a 网关不需要重置节点通信密码,直接逼他退网然后重新组网即可 2015-12-29 04:57:42 +00:00
Stone acce2327e7 组网版本不是系统版本,而是为了做新旧版本组网消息兼容的版本号 2015-12-29 04:53:31 +00:00
Stone 5aba71562b 整理代码,删除不再使用的调试代码和日志 2015-12-29 04:48:02 +00:00
Stone 38d5d3aba6 心跳指令默认从0偏移开始同步数据,所以会出现两个长度 2015-12-29 04:21:34 +00:00
cdyong 0860bb8367 2015-12-29 03:54:33 +00:00
cdyong 71b9d2fc95 2015-12-26 00:44:17 +00:00
cdyong 64bef76f17 宏定义 配置模式 2015-12-24 02:41:59 +00:00
cdyong 667b5fbc62 2015-12-24 02:34:25 +00:00
WangQiang b5d8f7d38b 系统启动前启动看门狗 2015-12-23 09:36:22 +00:00
WangQiang 97388ea89f Zigbee 配置函数挪到 Open 中
Zigbee 配置函数内有大量延时函数,且在Sys.Start()前执行
造成未配置完成便被看门狗咬死无限重启。
TinyClient.Open() 内存在 Zigbee 的 Open  无限重启目前还存在
2015-12-23 09:30:19 +00:00
cdyong c50fb63cf5 2015-12-23 07:47:47 +00:00
cdyong bde2c4765c 设备端非主从模式 2015-12-23 07:27:35 +00:00
cdyong 403a195bcc 2015-12-23 06:25:24 +00:00
cdyong b3d4b2a26f 心跳加密 2015-12-23 00:45:25 +00:00
cdyong e10c095b3d 重发次数不允许超过5次 2015-12-22 07:37:32 +00:00
WangQiang b9e4dfc4af Flash 内没有发现 设备列表时返回-1 2015-12-21 08:09:27 +00:00
nnhy 0f719a5075 重复消息标记为失败,不允许继续向下 2015-12-21 06:21:41 +00:00
nnhy 74c1355063 重复请求处理BUG 2015-12-21 06:03:38 +00:00
nnhy ad93ebfa0c 增加抓取微网控制器异常的日志 2015-12-21 05:40:46 +00:00
nnhy bc1a3086fa 在主机响应给节点之前,不要修改读写指令码,否则会导致请求响应不匹配,节点重发发送请求 2015-12-21 05:25:31 +00:00
nnhy d72a15e8e3 主机收到读写响应时,不用再次响应 2015-12-21 05:06:20 +00:00
nnhy ca69c35a8b 各种主动上报方式,都采用发送写入请求 2015-12-21 04:44:05 +00:00
nnhy 345d0c5830 修正编译通不过的BUG 2015-12-21 04:36:38 +00:00
nnhy 4a63afa885 依据读取响应和心跳来控制是否转发读取请求 2015-12-21 03:59:51 +00:00
nnhy a5a50a95e3 写入数据区以后,再拷贝数据区,而不是拷贝来源数据 2015-12-21 03:42:32 +00:00
nnhy 7de8ea99b5 1,节点写入响应携带数据
2,主机收到节点写入响应获取携带数据,更新缓存
3,主机收到远程写入请求不操作本地缓存,直接转发给节点,由节点响应来作为应答远程请求的响应
4,主机收到远程读取请求,每5秒转发一次给节点,此时不会从缓存拿数据做响应,其它时候直接从缓存拿数据做响应,不转发指令
5,节点主动上报由读取响应改为写入请求,为了获得微网重发机制支持,确保上报成功
2015-12-21 03:29:10 +00:00
cdyong 961f987b86 注释主从模式 2015-12-21 02:37:20 +00:00
WangQiang ecbbc64689 2015-12-21 01:26:24 +00:00
nnhy a81ed9680f 设备读取指令间隔5秒,设备写入指令间隔500毫秒,测试通过 2015-12-19 10:08:27 +00:00
nnhy 31877080f6 修正数据消息计算Code时的Bug,测试确认已修正 2015-12-19 09:49:53 +00:00
nnhy 6acd69864c 初步怀疑微网消息发送时长度超长是因为发送队列初始化时没有清零 2015-12-19 09:48:41 +00:00
cdyong 99c699be99 主从模式又可以了,奔溃原因:读取zigbee状态出问题 2015-12-19 09:41:30 +00:00
nnhy df2c9c67d4 进一步拦截2401错误 2015-12-19 07:33:21 +00:00
nnhy 7473ffe4bf 微网服务端使用数据指令,编译通过,测试未通过 2015-12-19 07:33:08 +00:00
nnhy a1fa60fed7 增加日志,拦截2401超长的异常,未解决 2015-12-19 07:17:57 +00:00
nnhy a83c8b5185 重构微网服务器,优化数据读写部分,编译通过,测试未通过 2015-12-19 07:17:37 +00:00
nnhy d5316786c7 重构数据消息,编译通过,未测试 2015-12-19 07:17:04 +00:00
cdyong 68f20d2cb7 删除不必要的日志输出 2015-12-19 07:02:32 +00:00
cdyong a0371bfadf 2015-12-19 06:37:55 +00:00
nnhy 6195a5c5ed 降低网关转发给节点设备的读写指令频率 2015-12-19 05:10:58 +00:00
nnhy 9788e26453 未使用,或者即使使用也要抢走已过期的节点
微网发送队列没有请求消息的时候可能会暂停任务轮训,导致超时任务得不到及时处理,而插入队列的时候并没有检查是否产品
所以导致发送队列很容易爆满
但只要任意发送一条请求消息,唤醒队列,就可以清空超时消息

然而也有最悲剧的时候,队列里面全都是响应消息,队列睡眠去了,新的请求消息又进不来,永远爆满!

灵感,就在那一瞬间!
2015-12-19 02:13:30 +00:00
cdyong 4f4667997a 2015-12-19 01:43:06 +00:00
cdyong dbdb70a1a9 2015-12-19 01:41:57 +00:00
nnhy 5886601cb4 数据操作不能直接拷贝给字节数组,而必须拷贝给数据区,否则各种钩子无效 2015-12-18 16:07:53 +00:00
nnhy bf804bdc78 拆分数据操作 2015-12-18 15:54:51 +00:00
nnhy 14807f341c 重构客户端读写数据操作,编译通过,未测试 2015-12-18 15:43:08 +00:00
nnhy 19f45bed0b 精简字节 2015-12-18 14:41:01 +00:00
cdyong 2a956006d9 重新组网是擦除配置区再去组 2015-12-18 13:43:46 +00:00
cdyong 5b4ee670cd 2015-12-18 13:09:57 +00:00
cdyong 8b2c3efbe8 2015-12-18 13:07:48 +00:00
nnhy acf1698a35 关闭自动应答 2015-12-18 11:42:22 +00:00
cdyong 6f7bba1574 整理代码 2015-12-18 11:15:25 +00:00
nnhy 9a3c4111ef 2401需要区分广播地址 2015-12-18 11:10:14 +00:00
cdyong f10bc14b98 网关地址也要设置为0 2015-12-18 11:07:27 +00:00
nnhy 8c1f61a738 组网消息属于广播消息,很可能丢包,重发3次 2015-12-18 11:00:45 +00:00
nnhy 57ee4d38cc 2401增加收发日志,TinyServer组网时,原路返回响应消息 2015-12-18 10:38:26 +00:00
cdyong 1d681d1fd3 2015-12-18 10:04:57 +00:00
nnhy 793203ef6f 打开自动应答时,01两个通道都需要打开AA 2015-12-18 09:51:40 +00:00
cdyong c4e1573c14 广播地址为0这里永远取不到zigbee的MAC 2015-12-18 09:35:22 +00:00
nnhy f850d160f7 有些数组函数最好不要用默认参数 2015-12-17 13:29:11 +00:00
cdyong 6a92409349 不变通道,只设置为设备类型即可 2015-12-17 13:08:12 +00:00
cdyong 0ce31a2c4f 编译通过 2015-12-17 09:02:25 +00:00
nnhy 3d65092d35 扩展消息的Write方法常量化 2015-12-17 09:01:00 +00:00
cdyong 19816cb5d1 2015-12-17 08:46:47 +00:00
cdyong 73de4821a2 2015-12-17 08:46:08 +00:00
cdyong 3d37053681 网关写自己的配置区 2015-12-17 01:42:18 +00:00
nnhy 5e067128ab 组网的响应可能地址不对 2015-12-16 17:00:10 +00:00
nnhy d3fb453f98 设置模式时,不仅要设置接收地址,还要设置发送地址 2015-12-16 16:45:59 +00:00
nnhy f2a8cecf38 对于组网请求,可能无法根据目标ID查到设备,也就无法得到目标Mac地址,此时可以借助Current作为辅助手段 2015-12-16 16:03:20 +00:00
nnhy 3168abb1be Mac地址分配原则:
1,所有节点0通道为本地私有地址,1通道为广播地址0xFF
2,主节点2通道为组网广播地址0x00
3,发送通道为远程地址,节点组网前,远程地址为0x00

经网关C和触摸开关联合进行拥挤测试,网关C频发发送无线指令给0地址,触摸开关接收缓冲区没有溢出,无线监测点表明有频繁的无线指令发出。初步证明隔离方案可行。
2015-12-16 15:49:37 +00:00
nnhy 0f00e25394 组网以后重启一次 2015-12-16 15:25:50 +00:00
nnhy 214221807a 修正Mac拷贝错误 2015-12-16 14:59:15 +00:00
nnhy d246b8059a 节点启动时使用保存的网关MAC作为远程地址,如果超过1分钟未能心跳成功,则节点抹去远程地址再重启 2015-12-16 14:34:03 +00:00
nnhy eb39120a1e 经测试,网关已能够向目标节点MAC发送响应消息 2015-12-16 14:04:54 +00:00
nnhy a880e4f536 节点组网时,网关记录MAC地址并保存,节点收到响应以后,保存网关MAC地址 2015-12-16 13:53:01 +00:00
nnhy 7470598557 2401收到数据的时候,读取相应通道的无线物理地址。
组网时,网关存储设备无线物理地址
2015-12-16 13:42:39 +00:00
nnhy 385bebde78 微网服务器发送消息时,自动获取目标设备地址并加入到2401驱动层。
编译通过,网关C基本功能可用,兼容旧节点,未确认新功能是否可用。
2015-12-16 12:56:15 +00:00
cdyong a86e08af0c 2015-12-16 12:04:55 +00:00
nnhy 43b0bd7848 即使没有打开学习模式,如果是已有设备来组网,也应该给予响应 2015-12-16 10:06:08 +00:00
nnhy e3003bd140 暂时不用TTL,留给Retry,方便调试 2015-12-16 10:00:14 +00:00
nnhy 020ff8eee7 发送队列里面的响应消息过期时,不显示过期日志 2015-12-16 09:50:17 +00:00
cdyong 128a9e7c8c 配置频道默认0x0F 2015-12-16 09:49:10 +00:00
nnhy bfc3ac2dbd 默认心跳时间改为20秒 2015-12-16 09:42:54 +00:00
cdyong 32fff90a9a 指令修改频道 2015-12-16 09:36:10 +00:00
cdyong 1b4586ca77 2015-12-16 07:29:15 +00:00
cdyong 19f98c2b31 除了微网配置区的设备名称为固定16字节,其余地方的设备名称都用 变长string类型,且不允许网关主动设置设备名称。 2015-12-16 07:17:09 +00:00
cdyong 00ea775d3f 组网带上设备名称,响应组网带上 无线网段ID(PANID),无线网类型(中心,路由,终端),无线网通道(频点) 2015-12-16 06:54:13 +00:00
cdyong 798ffe2cb8 添加 设备无线类型 2015-12-16 06:30:05 +00:00
cdyong 28324f1ede 调整 字段 2015-12-16 04:03:50 +00:00
cdyong 627513ad4b 2015-12-16 04:00:35 +00:00
cdyong 15751d0c77 组网指令添加无线网网段,发送模式字段 2015-12-16 03:48:56 +00:00
cdyong 40d2df545a 微网配置区添加无线网网段,发送模式字段 2015-12-16 03:41:51 +00:00
cdyong ff1bb23371 客户端大于0XAA加密 2015-12-12 08:23:09 +00:00
nnhy 8d3417ebe4 2015-12-12 01:43:54 +00:00
nnhy e6bc135853 外部调整发送队列大小,网关默认64个 2015-12-12 01:34:04 +00:00
nnhy b44b6c8fec 对方可能多次发同一个请求过来,都要做响应 2015-12-11 14:44:12 +00:00
nnhy 08e1c14287 用3位给Retry 2015-12-11 14:09:14 +00:00
nnhy 9b33d41c04 临时屏蔽微网加密 2015-12-11 13:51:08 +00:00
nnhy 6751e0821d 必须对象引用,否则长度的修改无效 2015-12-11 13:36:19 +00:00
nnhy 3662fe3bdf 超时时间改为200ms 2015-12-11 12:41:01 +00:00
nnhy 429f6ea42f 没有可用请求时,才停止轮询消息队列 2015-12-11 12:35:51 +00:00
nnhy 1d55cd4a57 重构微网发送队列完成,网关C测试基本功能可用,队列重发功能未确认 2015-12-11 12:25:25 +00:00
nnhy cfd8f2022b 微网队列间隔5ms,超时50ms 2015-12-11 04:06:12 +00:00
nnhy a3e1cf9ccf 控制器提供发送的内层方法,静态消息,不需要修改。而普通的Send/Reply一般需要重新以实现专有功能 2015-12-11 03:50:29 +00:00
nnhy 81090eee64 调整2401修正长度的逻辑,只有微网协议才需要,其它协议不需要,或者使用方式不同。
网关C测试通过
2015-12-11 01:14:55 +00:00
cdyong 9529b64430 zibee设置指令封装 2015-12-10 12:14:12 +00:00
cdyong 44453917e5 修改时间后,要马上跟新在线时间 2015-12-10 06:23:28 +00:00
cdyong aaacfb8f3f 彻底去掉控制器接收函数 2015-12-09 14:17:12 +00:00
cdyong 021944f8fd 微网控制器函数注释,暂时不用接收事件 2015-12-09 14:13:20 +00:00
cdyong a1c3cd3576 顺舟配置取消 2015-12-09 14:01:42 +00:00
nnhy a724c24bf4 旧指令的设备不允许入网 2015-12-09 11:24:45 +00:00
nnhy 176d1b392a 把一些函数常量化,避免错误使用 2015-12-09 11:16:39 +00:00
cdyong 150b1b52c5 旧版本不参与加解密 2015-12-09 11:14:09 +00:00
nnhy a7cc6b2003 旧版本设备不参与加解密 2015-12-09 11:09:17 +00:00
cdyong aa16992982 心跳指令不加密:若是心跳指令加密,非法设备不能正确退网 2015-12-09 10:30:17 +00:00
nnhy 1b89816997 2015-12-09 09:50:52 +00:00
cdyong 648dc89be6 微网解密测试完成,试行网关端和微网客户端试行。 2015-12-09 09:25:13 +00:00
nnhy 24a2c440e9 2015-12-09 08:40:37 +00:00
nnhy 215d753976 修正OnPing的BUG,成功从心跳响应里面得到时间设置 2015-12-09 07:57:43 +00:00
nnhy 66441ace71 消息不再需要提前专门计算CRC,以后直接Write一次即可。
改善微网消息的日志输出
2015-12-09 07:49:54 +00:00
nnhy 8c008fec26 减少日志输出 2015-12-09 05:33:17 +00:00
nnhy 8168a70998 修正TinyServer微网序列号编译错误 2015-12-09 05:09:45 +00:00
nnhy 8851023c98 修正发出ACK响应时,没有复制序列化的BUG 2015-12-09 05:01:37 +00:00
nnhy fcaa94308b 改善微网ACK日志 2015-12-09 03:09:06 +00:00
cdyong 977a5a3186 整理代码 2015-12-09 01:28:52 +00:00
cdyong 20a0204da7 2015-12-09 01:25:07 +00:00
cdyong 54c2a02ec5 2015-12-09 01:19:35 +00:00
cdyong 420eb7b968 网关端加解密功能测试通过,未测试微网客户端,微网目前未启用加解密功能 2015-12-09 01:07:43 +00:00
nnhy cbb21acd03 微网指令特殊处理长度 2015-12-08 13:30:15 +00:00
cdyong 05fdb5c7fc 加密,未测试 2015-12-08 10:36:17 +00:00
cdyong ca7182b3d0 根据ID设置通信密匙 2015-12-08 08:14:49 +00:00
nnhy 83d493d333 修正读写数据时偏移地址的错误 2015-12-08 03:58:20 +00:00
cdyong e3e0016506 2015-12-08 03:41:02 +00:00
cdyong 0b4393ac16 2015-12-08 03:25:55 +00:00
cdyong afc8e1ca3d 微网控制器添加接收函数,用于解密调用 2015-12-08 02:09:31 +00:00
cdyong 50dc109b7b 微网控制器设备列表,控制器若无此设备不上抛消息 2015-12-08 00:40:39 +00:00
cdyong 85a40e35c1 2015-12-07 09:50:14 +00:00
cdyong 5348479f5e 2015-12-07 09:26:27 +00:00
nnhy 65f7304fc9 全局不允许同名函数,修改为静态,只能本文件有效 2015-12-07 09:10:27 +00:00
cdyong 7c2634a503 组网不加密、退网不加密、加完密再算Crc,先算crc再解密 2015-12-07 07:47:01 +00:00
nnhy 747b1cc95e 默认不打开调试口的串口接收功能 2015-12-04 13:56:06 +00:00
cdyong 40dc2b4116 获得zibeer配置信息 2015-12-04 11:59:11 +00:00
nnhy a3c9112e70 修正微网配置默认通道和速度初始配置位置不正确的BUG,该错误导致2401重置后无法得到正确设置 2015-12-03 08:07:35 +00:00
nnhy e48c1c8516 整理代码,2401电源引脚自动识别极性 2015-12-03 07:46:11 +00:00
WangQiang 193e2aaf93 非学习模式,不转发Join消息到云端,未测试 2015-12-03 03:51:04 +00:00
nnhy 474c84cc5d 修正设备重发发送设备上线信息的BUG,简单测试通过 2015-12-02 02:09:51 +00:00
nnhy d138b12385 减少日志输出 2015-12-02 01:02:40 +00:00
nnhy c5107e12fe 2015-12-01 13:50:52 +00:00
nnhy 84ae5b78da 修正心跳指令最大可传输的数据 2015-12-01 13:50:38 +00:00
nnhy f69f44f775 写入数据。同时写入头部大小,否则网关不知道数据区大小和配置区大小 2015-12-01 12:52:08 +00:00
nnhy 2d28d4d793 必须区分常量和非常量 2015-12-01 12:44:56 +00:00
nnhy 4b629782ab 设备类实在是太大了,现在进行重构,编译通过,测试未通过 2015-12-01 12:25:02 +00:00
nnhy 75b9e2b5b9 重新整理设备信息的存储,主数据区一并写入,反正不是很大 2015-12-01 09:34:52 +00:00
nnhy 4fd949eaaa 不允许指针到数据的赋值运算符重载,因为含义模棱两可 2015-12-01 09:34:11 +00:00
nnhy bbf8621878 增加大量的跟踪日志 2015-12-01 09:00:58 +00:00
nnhy 2784917aef 中继的消息不需要上冒 2015-12-01 04:10:23 +00:00
WangQiang 94c006cf2b 修正重复ID问题 2015-12-01 03:00:47 +00:00
WangQiang 17827f6cf4 精简日志 2015-12-01 02:12:42 +00:00
WangQiang 09ad337c4e 2015-12-01 01:41:49 +00:00
WangQiang 9f39f549bf 重置清零设备列表,发送退网指令 2015-12-01 01:28:53 +00:00
WangQiang 47ecdf1f60 定时扫描上下线 逻辑错误。修正 2015-12-01 01:04:45 +00:00
nnhy ea11868792 2015-11-30 16:19:50 +00:00
WangQiang ea434a0750 2015-11-30 16:15:15 +00:00
nnhy dc46f3be64 修正设备信息读写错误 2015-11-30 16:12:19 +00:00
WangQiang b6f1343cd4 2015-11-30 15:23:56 +00:00
WangQiang 4457ac4aff Onjoin、 存储节点位置不对,造成写入为空 2015-11-30 14:57:20 +00:00
nnhy e2e9892f66 小调整设备消息传输,每个设备信息之前加入长度,便于将来做兼容处理 2015-11-30 14:48:55 +00:00
WangQiang f817203700 2015-11-30 14:24:09 +00:00
WangQiang c34ddef81a 加强设备入网校验,避免空HardID情况 2015-11-30 13:59:28 +00:00
WangQiang 3328b13ba1 Device 内时间单位为 Sec 2015-11-30 10:00:16 +00:00
WangQiang 97eb7391f6 2015-11-30 08:07:11 +00:00
WangQiang 87d1511592 为 网关-云端 之间打造一套 Device Write(ms)Read(ms) , 网关不报错,云端读取数据出错 2015-11-30 02:55:19 +00:00
Stone bb223db504 2 Bytes for Message::Length is enough 2015-11-30 02:18:49 +00:00
Stone 2f70f8d4f2 系统绝对当前时间,秒 2015-11-29 16:58:16 +00:00
Stone 8ba2b1b446 Ping 2015-11-29 16:03:43 +00:00
WangQiang 34bfb9fdff Ping 指令长度,由 流畅度决定,而不是 Port.MaxSize
调试时候计算crc使用的 buf 长度由指令本身长度决定
2015-11-29 14:31:55 +00:00
nnhy f013f17ddf 重构控制器消息处理器接口,令牌客户端使用双Socket,一个专用于云平台,一个用于内网 2015-11-28 12:13:20 +00:00
WangQiang 2b03f7c227 解决加载设备列表问题 2015-11-28 04:22:51 +00:00
WangQiang d629b09ab2 输出最后活跃时间 2015-11-28 02:35:57 +00:00
nnhy e10ad34d53 2015-11-27 13:45:29 +00:00
nnhy dd62abf110 尽量上传 2015-11-27 10:52:53 +00:00
nnhy b221535a96 2015-11-27 10:47:16 +00:00
nnhy 5631889811 心跳指令涉及大量子操作码,独立一个类 2015-11-27 10:46:24 +00:00
WangQiang 18bd70c612 输出已有节点数量 2015-11-27 09:47:47 +00:00
nnhy 645202b1a4 从2开始分配节点地址
先记好来源地址,避免待会被修改
2015-11-27 09:45:44 +00:00
WangQiang f9caf25c4f 添加定时输出设备列表,精简设备列表输出数据 2015-11-27 07:26:54 +00:00
nnhy 37e1703019 优化按钮长按效果 2015-11-27 04:31:17 +00:00
WangQiang 61f720ed02 没有功能也要把数据读完,否则无线循环下去,必然出错 2015-11-26 12:31:55 +00:00
WangQiang f9f98585fc case 要带break 2015-11-26 11:28:58 +00:00
WangQiang 21ca776d94 HardID 计算16字节 未测试 2015-11-26 09:01:15 +00:00
WangQiang 67a979cafb 不鸟不想关的设备的不想关指令,防止溢出 2015-11-26 05:18:02 +00:00
nnhy 950ffca5b6 不能进行这个优化处理,必须保证每次接收一条完整的微网消息,否则后续将无法分离出粘包的下一条指令 2015-11-26 04:50:09 +00:00
nnhy 1bf54a8d19 串口接收缓冲区默认放大到128字节,每次接收处理也使用128字节的临时缓冲区,Zigbee模块把缓冲区再次加大到512字节,经测试,解决了接收Zigbee指令的粘包分包问题 2015-11-26 04:48:04 +00:00
nnhy 093812228d 2015-11-21 15:17:13 +00:00