现在起,个人提供ZStack便捷开发“SDK”服务,集成协议栈之外的便捷开发接口,告别网络调试的苦恼。 所谓的SDK集成了哪些接口? 1、可控的入网模式,包括手动控制beacon request的次数,时间、睡眠模式。 2、程序动态配置f8wConfig.cfg文件中的参数,使得业务更加灵活。 3、设备掉线后可能会一直发送beacon request的问题,经过我的修改,已经完全治愈了! 4、在程序运行的任何时刻,都可以动态可调节的网络选择,无需再为信道选择和PANID的设置所烦恼,无需每次通过f8wConfig.cfg更改信道后苦苦等待编译器编译。 5、让AssociatedDevList的管理更加方便,自由。整个对AssociatedDevList的管理模块,只需要占用协议栈1个字节的全局变量即可实现各个父节点对子节点的管理,掉网自动通知,超时自动清空该掉线设备所占用的AssociatedDevList存储空间。让僵尸节点滚蛋吧! 6、低功耗使用场景更加便捷,有条理,随时可以从PM2和PM3模式切换,特别是对串口设备的支持,告别PM2或PM3模式下串口丢包乱码的疑难杂症,同时严格控制功耗,让你的节点功耗低到飞起来。 7、入网权限管理,只有通过信任中心录入过MAC地址的节点,才能被允许加入网络,已经实现了全网络异步操作,新设备可以通过网络的任意一个路由设备加入,安全可靠,网络管理更方便,后期还可以实现指定设备加入指定路由器,让网络管理更加高级,配合动态修改网络信道和PANID使用,更爽! 8、实现了普通不加PA的设备115米的极限入网距离的突破。增加PA的设备空旷可视距离下2公里不是梦! 使用该扩展功能,能为我的开发带来什么好处? 1、 开发周期更短,只需要关心业务层的问题,网络层的东西,这一套代码,已经自动处理好了,省去了开发过程中的各种掉线、撑爆等等坑 2、 整个网络更加稳定,以上功能都是经过本人长达5年的工作项目实战经验所总结出来的,自封应用层大佬。 3、 开发过程更灵活,例如网络信道切换、心跳管理等,通过协议栈原有的配置,一是资料少,二是不可动态调整。 4、 开发过程中如果遇到什么问题,可以直接找我,比在论坛上漫无目的的等答案远远更值,不仅浪费了自己的时间,还拖延了项目进展。 5、 支持其他定制化功能的开发,如果你还需要什么特殊的功能,我可以根据实际情况再做开发。 如何使用呢? 1、 直接提供包含源码的协议栈示例文件。 如果想控制beacon request的次数,直接调用函数如下: /** ** 控制设备beacon request的次数(周期性) ** uint16 nodeBeaconReqTime:一次执行多少次beacon request ** 示例: ** ZDNwkConfigInit(6);//执行6次beacon request自动停止或休眠,等待下一个周期 ** return: null **/ ZDNwkConfigInit(uint16 nodeBeaconReqTime); 如果想切换网络: /** ** 动态切换设备的信道和PANID ** uint8 channel:要切换的信道11-26 ** uint16 panid:要切换的PANID ** 示例: ** ZDNwkConfigSaveRequest (26,0x1234);//执行后设备直接切换至信道为26,PANID为0x1234的网络中。 ** return: null **/ ZDNwkConfigSaveRequest(uint8 channel, uint16 panid); 如果你想知道设备是否掉线,直接注册一个回调函数即可(听说函数名字取长点可以装逼): AssociatedDevListDeleteNoticeCallBackFuncInit(AssociatedDevListDeleteNoticeCallBackFunc adldncb); 如果你想插入一条白名单: /** ** 插入一条白名单节点 ** unsigned char *Mac:要插入的白名单Mac地址 ** 示例: ** unsigned char mac[8] = {0x00,0x012,0x4B,0x00,0x12,0x34,0x56,0x78}; ** WhiteList_Insert(mac); ** return: true - 添加成功 ** false - 添加失败 **/ extern bool WhiteList_Insert(unsigned char *Mac); 等等其他API可供调用。 如有需要,请随时联系我(点击即可添加) QQ:326575140 。
↧