学习zigbee的小瓶颈

现在学习时流的泪,都是当初选专业时脑子进的水。相信很多人都会有这样的感慨,因为我们本以为很简单的专业课,结果现在被折腾的脑瓜疼,完全处于懵逼状态。但是,既然是自己选择的路,自己哭着也要走下去。

随着科技的不断进步,我们从一开始的互联网,到后来的互联网+,再到现在的物联网。都在见证着我们国家科技的不发展,5G时代即将来临,作为新时代大学生我们,更应该努力学习好自己的专业知识,为国家的科技发展出一份力。

当初的我满怀理想的报了物联网专业,结果看到英文字母都头大的我每天要面对各种各样的代码,但却无可奈何,让我感到学习比较困难的就是zigbee无线传感网络技术,但这个技术确实物联网中必不可少的一部分。

物联网可分为感知层(传感器等),网络层(通信网,互联网等),应用层。zigbee可以作为物联网网络层的一环,是一种近距离无线组网技术,基于IEEE802.15.4标准;将现有的zigbee模块应用于传感器,可以实现传感器件间的协调通信,这样大约可看做传感器网络。接着,要实现物联网中的由传感器网络连接到通信和计算机网络,必须通过网关,进行协议间的转换。所以把“zigbee和物联网连接起来”这种说法并不准确,zigbee只是开发物联网可以用到的一个组网技术。

ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。

主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。

蜜蜂在发现花丛后会通过一种特殊的肢体语言来告知同伴新发现的食物源位置等信息,这种肢体语言就是ZigZag行舞蹈,是蜜蜂之间一种简单传达信息的方式。借此意义Zigbee作为新一代无线通讯技术的命名。在此之前ZigBee也被称为“HomeRF Lite”、“RF- EasyLink”或“fireFly”无线电技术,统称为ZigBee。

简单的说,ZigBee是一种高可靠的无线数传网络,类似于CDMA和GSM网络。ZigBee数传模块类似于移动网络基站。通讯距离从标准的75m到几百米、几公里,并且支持无限扩展。

ZigBee是一个由可多到65535个无线数传模块组成的一个无线数传网络平台,在整个网络范围内,每一个ZigBee网络数传模块之间可以相互通信,每个网络节点间的距离可以从标准的75m无限扩展。

与移动通信的CDMA网或GSM网不同的是,ZigBee网络主要是为工业现场自动化控制数据传输而建立,因而,它必须具有简单,使用方便,工作可靠,价格低的特点。而移动通信网主要是为语音通信而建立,每个基站价值一般都在百万元人民币以上,而每个ZigBee“基站”却不到1000元人民币。

每个ZigBee网络节点不仅本身可以作为监控对象,例如其所连接的传感器直接进行数据采集和监控,还可以自动中转别的网络节点传过来的数据资料。除此之外,每一个ZigBee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。

在学习zigbee过程中,难免遇到很多问题,下面我以这次期末考试的三道题为例,逐一分析遇到的问题及其解决方案。问题不解决永远都是问题,解决的就变成了自己的一种积累和经验。只有学会发现问题解决问题,知识才是自己的。

一、 按键k2控制led1和led2同时闪烁

看到这个题目,首先想到的是如何来写这个程序。头文件是必不可少的,其次就是定义开关跟led灯。这些复杂的写完后就是主程序了。

下面从不同的层面分析一下这个问题:

【1】实验目的:掌握如何完成用用按键控制流水灯的流动方向、流速、闪烁方式等程序的编译和烧写。

【2】程序设计内容 :

(1)开关状态的检测过程

单片机对开关状态的检测相对于单片机来说,是从单片机的P2.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1按下去,即输入低电平,相当开关闭合,当松开开关K2,即输入高电平,相当开关打开。

(2)输出控制

当P0.1和P0.2端口输出低电平,即P0.1和P0.2=0时,根据发光二极管的单向导电性可知,这时发光二极管Led1和led2熄灭;当P0.1和P0.2端口输出高电平,即P0.1和P0.2=1时,发光二极管Led1和led2亮。所以通过对P0.1和P0.2端口的设置就可以控制灯的亮灭。

(3)延时程序的设置

作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔要长一些,否则人眼根本无法识别到灯的闪烁效果。于是我们在执行某一指令时,插入延时程序,来达到我们的增加亮灯时长的效果。

【3】实验现象:

当按下K2键,流水灯led1和led2同时亮灭。

【3】实验总结:

但是验证实验的过程并不是一帆风顺的,总会出现各种各样的小问题。程序是对的但是就是现象不出来,因为有了多次实验的经验和教训,所以这次实验并没有遇到多少障碍。最主要的困难应该就是实验代码的编写。上一次的实验是要求完成L ED的循环亮灭,所以在此基础之上,我们对实验代码进行了稍加修改,主要就是加入了Input ports输入端口,以便完成控制按键的输入,其余的部分则和第二个实验代码相差无几。一开始调试的时候,按下第一个按键结果第三个灯亮了,按下第二个按键结果第一-个灯亮了 ,并没有达到实验所要求的目的,所以我们开始排查问题。后来发现是在分配管脚的时候,管脚号分配有误,才导致了这个问题的出现。在查找实验箱上每个按键对应的管脚号并重新分配后,出现了正确的实验现象,因此实验成功了。

二、人体红外传感器

利用热释电红外探头并对探头接收到的微弱信号加以放大,然后驱动继电器,可以制成热释电人体感应开关。人体发射的红外线经过菲涅尔滤光片增强后聚集到采用热释电元件制成的红外感应源上,感应头在接收到人体红外辐射温度发生变化时失去电荷平衡,向外释放电荷,后续电路经集成电路IC检验处理后即可产生报警信号。并且加了感光元件来控制电路工作的环境,在光照强度很弱的的环境下,在距离感应开关4-5m的地方,有人体经过时感应源接收到人体发射的红外线信号,电路接通并点亮照明用具,人体再次有动作后发射红外线,则再次点亮。结果表明,在光照条件满足时,这种开关可以便捷的停启,美中不足的是,感应头一经遮挡就无法正常工作。人体感应开关的应用,对便捷环保的生活有着诸多意义,可以应用到很多公共或者家居生活中,是一项有意义的研究。

一、实验目的

1、学习人体红外线感应开关的设计方法;

2、掌握人体红外线感应开关的主要性能参数及其测试方法。

3、通过实验过程培养综合运用所学知识解决实际问题的工作能力;

二、实验器材

人体红外传感器模块 电脑 cc2530实验板

三、实验原理

利用热释电红外探头并对探头接收到的微弱信号加以放大,然后驱动继电器,可以制成热释电人体感应开关。人体都有恒定的体温,一般在37度,所以会发出特定波长10μm左右的红外线,被动式红外探头就是靠探测人体发射的10μm左右的红外线而进行工作的。人体发射的10μm 左右的红外线通过菲涅尔滤光片增强后聚集到红外感应源上。感应头在接收到人体红外辐射温度发生变化时失去电荷平衡,向外释放电荷,后续电路经集成电路IC检验处理后即可产生报警信号。并且加了感光元件来控制电路工作的环境,在光照强度很弱的的环境下,在距离感应开关4-5m的地方,有人体经过时感应源接收到人体发射的红外线信号,电路接通并点亮照明用具,持续30s左右熄灭,人体再次有动作后发射红外线,则再次点亮。

全自动人体红外线感应开关适用范围本产品适用于走廊、楼道、仓库、车库、地下室、洗手间等场所的自动照明、抽风等用途。真正体现楼宇智能化及物业管理的现代化。

四、功能特点

基于红外线技术的自动控制产品,当有人进入开关感应范围时,专用传感器探测到人体红外光谱的变化,开关自动接通负载。人不离开且在活动,开关持续导通;人离开后,开关延时自动关闭负载,人到灯亮,人离灯熄,亲切方便,安全节能。

五、经验总结与教训

实验前应参考元器件允许通过的最大电压、电流,避免发生损毁;经过这次实验发现自己的动手能力不足,有待提升; 实验过程中暴露出自己因为各种考虑不周导致浪费大量时间的问题,将在今后的生活学习过程中改正。

三、温度传感器

我们在之前的实验中一直学习的是温湿度传感器,但这次老师告诉我们只要用温度传感器就可以了。哎呀,瞬间有点懵逼的感觉,第一反应是直接把温湿度里面的湿度给删除不让他显示不就好了。然而,这样的做法毫无疑问是错误的。温度传感器跟温湿度传感器是完全不同的两个模块不能够搞混的,但实验方法却有相同可取之处。

本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。

DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。

系统功能要求:设计出的DS18B20数字温度计测温范围在-55~125℃,误差在±0.5℃以内,采用LED数码管直接读显示。

DS18B20的性能特点:

1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。

2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。

5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。

6、可编程 的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。DS18B20与单片机的接口电路,DS18B20可以采用电源供电方式,此时DS18B20的第1  脚接地,第2脚作为信号线,第3脚接电源。

实验总结:在这次实验的过程中出现了很多次的错误,例如数字不显示,显示的时候乱码,或者接线等各种问题。在我自己一点点修补分析的过程中解决了这些问题,并从从中吸取教训。

通过上述三次实验,让我学会了很多的东西,实践出真知这句话一点都没错。有时候你看起来会的东西如果不去动手实践一下,就不一定会成功。实验中的没一次失败所吸取的教训,都会成为你走向梦想道路上的台阶。我们只有成为了打不死的小强,才能在电子科技的道路上越走越远。

你可能感兴趣的:(学习zigbee的小瓶颈)