Zigbee在.Net Micro Framework系统中的应用
Zigbee是IEEE 802.15.4协议的代名词。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。详情请参见百度百科《Zigbee》。
而.NET Micro Framework对存储器和处理器的要求很低,开发人员可以在低功耗、低成本的ARM7、ARM9、Blackfin和Cortex-M3处理器上使用该框架(不需要MMU支持),所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。详情请参见《.Net Micro Framework 快速入门》。
两者都是低复杂度,低功耗,低成本(.Net MF开源且免费)的解决方案,二者结合对构建物联网无线方案来说,真是珠联璧合。
目前Zigbee有如下两种方案供最终用户使用,一是Zigbee芯片(扩展阅读《Zigbee芯片厂家对比》),如Ti提供的芯片CC2420、CC2430及CC2530,其中CC2430和CC2530片上集成了C8051内核,并提供了Zigbee协议栈,通过SPI、I2C或串口和CPU通信;二是Zigbee模块,如周立功公司的ZICM2410模块(美国CEL公司的MeshConnectTM模块,集成语音编码解码器)和赫立讯公司的IP-Link1223模块,模块集成C8051内核,支持多路GPIO/AD,通过串口或SPI和外围设备通信,使用虽然简单,但价格较高,大概是前者的3~5倍。
目前.Net Micro Framework V4.0的源码中已经提供了CC2420的驱动程序(源码在\framework\core\drivers\802_15_4\stack\physical\cc2420),硬件通过SPI方式访问CC2420芯片,在酒窖存储监控中已有相关应用,有兴趣的朋友可以参考一下。
芯片级方案由于没有合适的开发板,所以暂且不作介绍,我今天仅介绍模块级解决方案,其平台是赫立讯公司的IP-Link1223模块。
IP-Link1223模块提供三种组网模式:线性网络、全Mesh网络、星型拓扑,其中全Mesh网络最为常用。三种指令模式:AT指令模式、透传模式、二进制模式,AT指令模式只能本地配置;透传模式虽然好用,但是多点通信时并不灵活;二进制模式不仅本地可以配置,也可以透过网络远程配置,并且可以获取路由表及相关链路通信质量。
软件配置界面:
目前已经编写出支持全部的二进制模式指令Helicomm_IPLink1223类,相关指令如下,详细通信协议请参见赫立讯公司相关的说明文档。
- private static byte CMD_ReadADC = 0x81; //读模拟通道值
- private static byte CMD_ReadADC = 0x81; //读模拟通道值
- private static byte CMD_ReadRSSI = 0x82; //读发射频率
- private static byte CMD_ReadTemperature = 0x83; //读温度
- private static byte CMD_ReadSRegister = 0x86; //读S寄存器值
- private static byte CMD_WriteSRegister = 0x87; //写S寄存器值
- private static byte CMD_ReadMAC = 0x8B; //读MAC地址
- private static byte CMD_ReadVer = 0x8C; //读内核版本
- private static byte CMD_BatterySavingMode = 0x8D; //节电(停机)
- private static byte CMD_Hibernation = 0x8E; //休眠
- private static byte CMD_SoftReboot = 0x8F; //软重启
- private static byte CMD_HardwareReboot = 0xC0; //硬重启
- private static byte CMD_Reset = 0x90; //恢复出厂设置
- private static byte CMD_ReadRoute = 0x95; //读取路由表
- private static byte CMD_ReadBlacklist = 0x9C; //读取黑名单
- private static byte CMD_WriteBlacklist = 0x9D; //写黑名单
- private static byte CMD_TrackerRoute = 0xAA; //跟踪路由
- private static byte CMD_TrackerLQIRoute = 0xBB; //带信号强度的跟踪路由
- private static byte CMD_ReadIO = 0xAC; //读IO状态
- private static byte CMD_WriteIO = 0xAD; //写IO状态
- private static byte CMD_ScanNeighbour = 0xBC; //扫描邻居列表
- private static byte CMD_ReadDeviceType = 0xC3; //获得设备类型
- private static byte CMD_LocalHibernation = 0xB1; //本地休眠
- private static byte CMD_LocalAwaikening = 0xB2; //本地唤醒
Zigbee在.Net Micro Framework系统中的应用相关推荐
- 无线ZigBee在桥梁健康监测系统中的探究
0 引言 桥梁建设和维护是国家基础设施的重要组成部分,在国家建设和人民生活中发挥着重要作用.桥梁结构的安全性与耐久性受到人们高度重视,在现代桥梁工程领域中有关桥梁的健康监测.安全评估以及寿命预测等已经 ...
- 在.Net Micro Framework中显示汉字
摘要:MF平台支持的字体是专有格式,扩展名为tinyfnt,需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体.在.Net Micro Framework SDK中提供了一个 ...
- .NET Micro Framework动态调用C/C++底层代码(原理篇)
.NET Micro Framework和WinCE系统不同,从应用开发角度来说,仅支持C#开发(从V4.2版本开始,才支持VB.NET开发),而不像WinCE应用开发,既可以用C#/VB.Net,也 ...
- 【.Net Micro Framework PortingKit – 12】SysTick驱动开发
SysTick驱动对TinyCLR来说非常重要,.Net Micro Framework系统的多线程和多任务(对托管代码来说是单任务多线程,但是还存在和托管代码同时运行的任务,如我们用MFDeploy ...
- 各个版本Windows系统中自带的.NET Framework版本
① Windows Server : Windows Server版本 自带的.NET Framework 版本 Windows Server 2022 .NET Framework 4.8 Wind ...
- .NET Micro Framework常见问题问答
问:.NET Micro Framework是什么? 答:请参见:http://blog.csdn.net/yefanqiu/article/details/5711770 官方网站:http://w ...
- .Net Micro Framework 快速入门
一.简介 Microsoft .NET Micro Framework 2001年由微软研究院开始研发,并随后在其MSN Direct项目中使用该技术,2007年9月微软对外发布2.0,2008年10 ...
- .NET Micro Framework开发板用户简明手册(v3.0)
说明:前段时间已经先后发布了<.Net Micro Framework开发板用户简明手册>和< .NET Micro Framework开发板用户简明手册(v2.0)>,分别对 ...
- .Net Micro Framework 嵌入式开发
原文: http://www.cnblogs.com/yefanqiu/archive/2010/03/02/1676844.html ; .Net Micro Framework 快速入门 一.简介 ...
最新文章
- mysql 写binlog 原理_MySQL binlog原理及应用
- 富士通台式电脑_英特尔X86架构霸权终将崩塌,ARM架构才是未来PC电脑市场的王者?...
- linux线程下的读写锁
- 计算机第二阶段在线作业冯,中国石油大学(北京)《计算机应用基础》第一次在线作业 2...
- 计算机网络及公文写作知识,计算机网络期末复习题
- java语音播报案例
- SSL4MIS:医学图像半监督分割的Baselines
- 课程设计之第二次冲刺----第八天
- [NodeJS] Hello World 起步教程
- Hive导入csv文件
- LeetCode - 709. To Lower Case
- 内联css加伪元素,使用CSS:前和:后内联CSS伪元素?(Using CSS :before and :after p
- bin和cue怎么合并_bin和cue格式的文件怎么用?
- 解决 kindle 书籍字体颜色偏淡问题的方法
- MindMaster思维导图及亿图图示会员 优惠活动
- 一文带你开始挣取自己的一点睡后收入(基金,理财)
- Swift - 判等
- 聚观早报 | 多款热门游戏停服一天;比亚迪下月在日本开售
- 大数据开发工程师考试分享
- 微型计算机硬件 电子器件,微型计算机的硬件组成.docx