我的ZigBee学习过程

  1. 我为什么选择ZigBee
         物联网风起云涌,可以说是目前最热的技术,但对物联网的看法可谓见仁见智,有人认为物联网就是新瓶装旧酒,有人认为物联网是本世纪最有前途的技术。抛开争论不说,在物联网领域,ZigBee技术无疑是引人注意的无线通信技术之一。
        在众多的无线通信技术中,ZigBee技术是和传感器结合最紧密的技术之一,可以说是为远程无线监控而生。主要源于以下几个原因。
        首先是无线,放眼四望,还有什么不是无线的?无线网络,无线通信、无线设备。只有在控制领域还被有线牢牢控制,ZigBee技术是无疑是无线测控领域的开拓者。
        其次是低能耗。只有低能耗才能保证在无线的条件下长期的工作。ZigBee终端节点以周期性的工作方式(就像没事的时候可以打个盹),保证其在干电池供电的条件下顽强的工作几个月。
        能够自组网。虽然每个节点的传输距离有限,但很多节点联起手来就可以获得很高的传输距离。更关键的是,整个过程不需要人为地干预,完全可以自动完成。类似于人体的自愈功能,当每个节点出现问题无法完成信息的传递时,马上有一个新的节点挺身而出代替其职责。
        安全可以得到有效的保证。无线网络的致命伤是其安全和可靠性得不到保证,ZigBee中有类似于有线网络的加密算法和信息确认功能,能够实现安全可靠的信息传递。
        当然在无线领域除了ZigBee之外,还有蓝牙、Wi-Fi、IrDA、NFC等技术,它们在自己各自领域深耕细作,井水不犯河水。下面这张图大家一定熟悉。

 

 

 

        ZigBee技术以低传输率换取低功耗和低成本及低复杂度。


     2. ZigBee的学习过程
          开始学习zigBee的时候,可谓乱花渐欲迷人眼,这么多的知识,从哪里入手,各位看官,且看下面这个图。

   


        要学习ZigBee,首先要有硬件基础,单片机是必须的,要熟悉单片机的原理,因为所有的无线芯片几乎都要用到单片机。使用TI的系列无线单片机无疑是正确的选择,因为可以在网上找到大量的CC2430.2430.2530的资料,大大降低学习曲线。当然,飞思卡尔的也是不错的选择。
        在语言方面,C语言是单片机编程的首选,特别是在一些复杂的应用系统中,不要吝啬你的单片机的硬件资源,高速的芯片技术和编译器技术的发展足以抵消C语言在硬件控制方面的所谓的低效率。更重要的是C语言可以成倍地提高我们的开发效率。
        当可以在单片机上跑程序的时候,可以为自己自豪一下了。接下来需要熟悉单片机的IO,定时器、AD及DA转换等外围部件和接口电路,特别是中断程序的编写,是否能合理地使用中断和对接口编程,是老手和新手的区别。
        还需要熟悉一些传感器电路的设计,先从最简单的温度传感器开始,采用单总线技术的DS18B20温度传感器是一种很好的选择,可以从网上下载DS18B20的C语言源代码,经过修改以后,在自己的模块上显示结果是一件很有意义的事情。很久以来,我一直努力去做有意义的事情,现在看来,过去做的很多事情是没有意义的。但写这篇文章肯定是有意义的。做完了温度传感器,还可以做个光敏传感器,熟悉一下模数转换。
        ZigBee技术属于无线网络技术,网络技术也是必须要了解的,计算机出身的应该问题不大,电子专业出身的这方面要花些气力了。至少要了解网络协议的基本结构。ZigBee技术在构建在802.15.4标准之上的无线协议,从这个角度来看,它有着和蓝牙技术一样的出身。ZigBee在这个基础上实现了网络层和应用层。对于初学者来讲,不了解网络层也没有关系,应用开发主要是在应用层。代码以任务的方式编写,任务和任务之间通过事件和消息进行通信,而不同节点的任务之间通过簇建立起连接和通信。为什么在茫茫人海中找到了你,因为你我有“簇”连接。
        打开IAR的编辑器,初学者也许会对一大堆文件夹感到头晕。其实先开始只需要搞懂两个文件夹下的文件即可。即App和HAL。这里面涉及到的内容太多,说起来话就长了,以后有时间再唠。

     

     有人要问了,学习ZigBee,除了这些基础知识以外,我需要投入多少呢?我投入了大概不足800元,节点3个600多元,仿真器100多元,如果有条件的可以加一个协议分析仪,200左右,有钱的话可以多买几个节点,做定位的话最少5个节点。这里面没有算软件成本,这个……你懂的。
     3. 我的感受
     学习是一个付出的过程,就像一个人走夜路,有时候你真的看不清前面的方向,能看清的只有自己的信念、坚守、坚持是唯一能做的事。坚持可以创造奇迹,信不信由你,我是信了。

 

你可能感兴趣的:(无线网络传感器,ZigBee)