ZNP 作为coordinator是不是不支持增加OTA server?
定义了如下宏,也在对应的Taskinit里面添加了zclOTA_Init和消息循环zclOTA_event_loop:
OTA_SERVER=TRUE
OTA_HA
MT_OTA_FUNC
1、ZNP工程源码,最后都运行到osal_start_znp循环,而不是标准的系统osal_run_system
2、ZNP作为coordinator,然后在ZNP工程里面增加了OTA server,然后对应的消息循环就一直收不到底层发来的消息(由其他节点发过来的),是什么原因?
Ubiqua抓包工具是能抓到OTA image request消息的,说明其他节点的确发出了消息,但是coordinator似乎收不到?
如果使用的ZNP工程的话,需要做OTA Server时,建议吧Server相关的代码放在host mcu上面。
你可以参考Z-Stack Linux gateway 上关于OTA Server的实现。
已经组网成功,不是ota server的问题,是我协调器0x0000根本就收不到0x71CA节点发过来的ZCL Query Next Image Request指令,抓包工具显示的确是发出了。
我两边用的都是同一个zcl_ota.c源文件啊,两边都调用zclOTA_Init( taskID++);和zclOTA_event_loop,位置没有放错,没看出问题出在哪里,是不是zcl_ota.c里面针对server和client的代码不一样导致的,没看出来
测试给0x71CA发送ZCL Image notify,那边的确是能收到的,是不是我消息注册哪里出了问题?
问题已经解决,的确是TI协议栈znp工程的bug,只是增加了OTA server以后是根本不可能收到 COMMAND_QUERY_NEXT_IMAGE_REQ 消息的,原因分析及解决方法发在我博客:
ZNP作为OTA server收不到COMMAND_QUERY_NEXT_IMAGE_REQ消息的解决方法
你好,请教一下, CC2530 Z-Stack 3.0.0
如何让 协调器 自动组建网络, 终端自动加入网络?
我看到了你的这段代码:
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING | BDB_COMMISSIONING_MODE_INITIATOR_TL);
NLME_PermitJoiningRequest(0xFF);
BDB_COMMISSIONING_FORMATION 创建网络 BDB_COMMISSIONING_NWK_STEERING 加入网络