前段时间接到一个项目,是对杭州某景区部分区域内的XX数据进行监测。由于区域比较大,采集节点数量有120多个,而且监测区域内还有一个比较大的湖,用有线布线比较麻烦,最后决定采用无线的方案。
在网上看了很多无线传输的方案,经过比较,最终选择用来做我的项目。逛了下淘宝,发现做ZigBee模块的商家还是比较多的,其中用TI CC2530的比较多,另外还有几家用ST的W108和EMBER的em357,查看了一下,EMBER的资料是不公开的。经过考虑,最终我选用了TI的CC2530,因为他的协议栈是公开的,网上资料也多。
由于项目时间比较紧,选型完之后我就在网上买了个开发套件(几个底板和模块)。买了之后,又花了点时间去了解ZIGBEE协议栈里面的东西,再后来,就进行了组网测试,采用了5个节点,一个Coordinator和4个Router,以COO为中心,Router大概每个间隔50米左右,由于安装在路边,没什么障碍物所以都能通信上报相应数据。测试通过后,比较开心,于是就去买了120个模块,进行现场实测,测试发现数据始终不能全部上传,维持在90%左右的成功率,期间重新调整天线,缩短距离等方法都试过,终得不到改善。测试结果与厂家资料描述严重不符,看来ZigBee还离实际使用有些差距啊。为确保项目实施临时改用GPRS方案实现。
后来在一次偶然的机会中和师兄聊技术得知Ti公开的Zigbee协议栈不够完善,不能用于大网络的数据传输,尤其当数据量达到单包数据传输上限时,容易丢失,强烈建议我选用商业ZigBee固件,对于初学ZigBee的我受益匪浅啊。但是像我这样的菜鸟到哪里找商用协议栈去啊。在师兄帮助下,选用了em357及ZigBeePro协议栈,这颗芯片的价格如果按重量卖跟买黄金差不多了,看来科技的价值是巨大的。
经过一段时间的收索及学习,从em357到STM32W108,一路走来终于有些收获。下面写的内容与广大菜鸟分享,少走弯路。em357芯片datasheet大家自己查啦,在欧美国家用的非常广,基本采用HA/SE标准开发。这里特别介绍与em357结构一致的STM32W108,性能也请同我一样的菜鸟们自己看鸟语了。有几家ZigBee模块供应商专门针对STM32W108开发了协议栈,性价比极高。像国内几个牛逼的研究机构如中科院所、浙大都开发了自己的协议栈,ST的TQP也开发协议栈,叫RexBee协议,现在我用的就是这个东东Rexbee,还算稳定,上到200多个点也没有丢数据,协议支持多种传输模式:透传、AT指令、协议传输等。但是便捷性不如Digi,算是一分价钱一分货了。
总结了下,如果学生想学习ZigBee,可以选择TI的CC2530,毕竟这个芯片的协议栈都是公开的(虽然最核心的东西还是没有公开),ZigBee标准的东西可以多了解一点。如果是做项目或者产品,公司没有打算投入大量经费和时间去研发这块,我个人觉得还是买市场上现成的模块(我了解了下,国内比较好的ZigBee厂家,都是私有协议,可他们的组网能力比公开的协议栈好多了),相对来说网络稳定性更好,比较适合推广到商用。(PS:以上观点纯属个人观点,测试情况也只是个人的测试情况,如果大家对ZigBee这块感兴趣大家可以交流交流)
阅读(3969) | 评论(0) | 转发(0) |