Zigbee温湿度采集控制完整流程|学习笔记

简介: 快速学习Zigbee温湿度采集控制完整流程

开发者学堂课程【嵌入式之RFID开发与应用2020版Zigbee温湿度采集控制完整流程】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/665/detail/11141


Zigbee温湿度采集控制完整流程

 

采集数据通讯的流程,首先要改0,表示温湿度的采集节点。第二步,就是信息的确认,不管是协调器、传感器还是控制器,数据成功入网后,有一个事件的触发。事件里面把本地的消息就是节点的类型,cID发送给协调器,发送的类型内容是affirm。 协调器接收数据的时候,是控制类的,收到这个数据包里面的内容是affirm确认信息,协调器此时不做任何操作,只是将确认信息里面的类型变成控制类型给它记录下来,把地址给它记录下来。

传感器类型为sensor也是把地址记录下来, address里面就保存了加入到协调器网络里面的所有节点,才可以做接下来的东西。

数据采集怎么采集,进到 process里面,有时间叫DEMO GET_TH,就是只有触发了DEMO GET的时候,并且当前是一个传感器设备,在这个循环里面循环的去读取DHT11,也就是温湿度传感器的数据,传感器的这种通信,不是这次课要讲的重点,因为传感器就是4种通讯协议、串口spi2c单总线,只需知道调完这个函数后,温度和湿度的十位和个位分别就得到了。

经过转换之后,把温湿度保存到temp里面,通过Send the point to point,发给协调器记录,所有的温湿度采集到之后,发给协调器,发送过程首先是device,后面的跟之前一模一样,把种子采集的数据发给协调器,关键是没有看到采集温湿度,协调器也没有得到,是谁在触发DEMO GET_TH事件

搜索发现只有两个地方设置了DEMO GET_TH事件,第一个地方是 osal set event,给当前任务去发送DEMO GET_TH事件,原来是传感器接收到一个消息, get date。要去拿传感器的数据,必须要下达一个get的命令。

可以每次要数据前都get,也可以get了第一次之后,有一个延迟定时器osal_start_timerEx,作用是将my_TaskID任务发送一个DEMO GET的事件,这个事件是在5000毫秒之后发生,也就是每隔5秒钟会触发事件, 5秒钟条件掉一次。每一次就完成一次温湿度的发送,也就是温湿度就会到协调器。

接下来把代码回到这边,把它重新编一下,因为刚才改的代码。保存后编完,下载进去,全速运行。先把下载线给拔掉,内容清空,让协调器重新开始,看过程。

打开摄像头,刚烧进去的温湿度传感器如下图:

image.png

控制器上电后入网成功,再把传感器上电且入网成功,协调器需要获得源源不断的温湿度信息,下达get down date指令。

得到如下图温度湿度:

image.png

当前温度23度,湿度51%,当前的控制状

态:get_date24,25,40,50,23,51,close,close,manual,manual

即Redmi里面设置温度的最小值、最大值,湿度的最小值最大值,当前温度当前湿度以及温度调节开关,湿度调节开关,还有手动和自动模式,整个数据就是返回的数据,意思是说通过get data,拿到的数据是温度的最小值24,最大值25,湿度最小值40,湿度最大值50%,当前温度23,当前湿度51,当前温度调节开关是关闭的,湿度调节开关是关闭的,温度处于手动控制状态,湿度处于手动控制状态。如下图继电器属于关闭状态:

image.png

因为 get一下,拿湿度来举例,40%~50%,它只有超过了50%,开关才会打开,而现在的湿度刚好是50%。增加一下它的湿度,把手放在上面,它湿度应该就会增加超过50%。还有一个问题,现在适度调节,它是手动控制的也不行,现在湿度已经达到70%多了,但是继电器并没有打开,因为控制是属于手动控制。手动控制不行,把整个的范围再重新设置一下复制,湿度设到60%,手动改自动auto。

get一下,没有作用,因为是调试串口,给他发的信息是不起作用的,必须通过另外一个串口网关,对设备的控制是通过网关来实现的,调试接口不能对它进行控制。把网关打开,等待一下。开一个串口效果不直观,开两个串口能看到它调试信息的输出和控制信号的下达,串口号29把它打开,要下达的命令是

set_date20,30,40,60,23,51,auto,auto。发送完get一下,全部改成自动了。设的湿度是60%,也就是湿度超过60%的时候,继电器就会工作,再把手放上去,继电器湿度已经达到70%,继电器自动工作表示湿度太高,要开始除湿,当湿度降下来的时候,继电器会自动关闭如现在57%继电器自动关闭。也可以把它设成手动模式,不管是温度和湿度都一样, manual ,get一下看设置是否正确,通过去设置开关open或者close。控制操作一定要通过网关来来完成。自动的能不能够手动控制?改成自动,重新获取,再去发送手动控制命令,用原先看出对比,打开没有任何反应,其实这个命令已经收到了,设置温度调节为open,再把它关闭,发送温度调节为close,没有任何动作,表示一旦把它设成自动之后,手动控制将无效。

整个的过程因为所有的控制调节都是由协调器来做的,在协调器这一端,每隔5秒钟发送完一次温度采集的信息之后,在协调器这边就会接收到这个数据,接收到数据之后他就会对这个数据进行处理。如果当前是属于传感类数据,并且是协调器,它会对温度进行一个处理。判断当前的工作状态是自动模式还是手动模式,如果是自动模式就会把当前温度值和最小温度进行比较,以及最大的温度进行比较。如果说它的温度范围刚好是在最小值和最大值之间,也就是说它是属于温度适宜关闭所有的升降温设备。如果发现当前温度是超过了最大值,温度太高要开启降温设备。如果温度低于最低值,没有动作,因为只能通过一个灯来表达开关。这个时候应该开启升温设备,湿度也是同样的道理。

非自动模式,手动模式的话,这些条件都不满足,手动模式可以用由用户来决定它的值,它的升温降温,增湿降湿的这些开关怎么样得到控制。手动控制,为什么控制不了?

因为控制是由协调去发出去的,只有自动模式的情况下,是自动发送了开关信号。如果是手动模式的话,是网关给发出来的控制信号,信号是在串口这一块,因为我们的网关是通过串口发发过来的指令,所以它的处理不在上面。当接触到来自于串口0的就不用看,主要是串口1,串口1是来自于网关,如果是网关过来的数据,温湿度先得到,如果要控制调节温度,升温升降温设备的开关,首先就会判断你是不是自动模式,如果是一个自动模式, Return,根本控制不了,如果是非自动模式,不会return,会去完成这个开关数据的开关命令的发送发给控制器,但其实是控制器和传感器都各发了一份,所以传感器的灯也会发生改变。

这就是整个的温湿度采集控制、自动控制、手动控制的整个流程。

相关文章
|
7月前
|
数据采集 存储 监控
LabVIEW多设备控制与数据采集系统
LabVIEW多设备控制与数据采集系统
85 4
|
传感器 网络协议 C++
工程监测振弦无线采集仪VS-Box外接数字传感器接入逻辑
单类型数字传感器:使用寄存器 DS_SENSOR(282)来设置单类型数字传感器的类型和数量(见下表)。 VS 会自动轮巡发送传感器读取指令,当 VS 接收到传感器输出的数据后解析数据并将其更新到通道寄存器 CHxx 内,最终发送到远程服务器上。
工程监测振弦无线采集仪VS-Box外接数字传感器接入逻辑
|
传感器 存储
工程监测多通道振弦模拟信号采集仪VTN通讯接口物理层参数配置
VTN208-432 是多通道振弦、温度、模拟传感信号采集仪,可对最多32通道振弦频率、32通道温度传感器(热敏电阻或 DS18B20)、32 通道模拟量传感器(电压或电流)进行实时或全自动定时采集存储。
工程监测多通道振弦模拟信号采集仪VTN通讯接口物理层参数配置
|
编解码 缓存 物联网
工程监测NLM5无线中继采集发送仪安装电池及数字接口
NLM5xx是一台低功耗的多通道无线中继采集仪,得益于传感测量、无线通讯、功耗控制等技术累积,设备平均功耗低至微安级别。内置电池可独立工作数年。 1 安装电池/连接电源 NLM5xx 使用内置电池和(或)外部电源工作。可以仅安装 1~3 节 14500 型锂电池,或者仅使用外部供电,也可以内置电池和外部供电同时存在,此时 NLM5xx 的电能完全来自外部电源,同时外部电源也为内置电池充电。
|
传感器 存储
手持VH501TC多功能混合传感器信号采集读数仪使用方法
电池仓位于设备背面下半部分, 仅当使用 5 号电池供电时需要操作电池仓,锂电池供电的设备无需操作电池仓。默认情况下,电池仓盖处于锁定状态无法直接打开,在需要安装或者更换电池时,应将水平拨动开关推至解锁侧,在电池安装完成后必须将开关推至锁定侧。注意:在安装电池时必须按照仓内+/-符号对应电池的正/负极,错误的安装极性会永久性损坏设备。
手持VH501TC多功能混合传感器信号采集读数仪使用方法
|
传感器 物联网
工程监测无线中继采集发送仪 指示灯功能说明及接口定义
工程监测NLM5无线中继采集发送仪 指示灯功能说明及接口定义
|
传感器
手持便携VH501TC混合信号采集仪的常见问题
不能开机 检查电池是否有电,检查电池安装极性是否正确。
手持便携VH501TC混合信号采集仪的常见问题
|
存储 传感器
多功能手持VH501TC混合信号采集仪如何处理监测数据
在实时数据显示窗口, 长按【存储】按键即可保存当前显示的传感数据,当听到蜂鸣器提示后表示存储完成,同时屏幕底部的已保存数量值自动加 1。
多功能手持VH501TC混合信号采集仪如何处理监测数据
|
传感器 存储
多功能手持VH501TC采集仪连接传感器与读数
振弦与温度传感器 振弦传感器和温度传感器(NTC)均为无源传感,不需要连接电源线。 根据前述“设备组成和接口定义” 用对应颜色的鳄鱼夹分别连接振弦传感器线圈和温度传感器两端即可。传感器连接后,屏幕自动显示实时的测量结果。一般情况下,设备配套传感测线为一根 4 芯线,红黑线连接振弦线圈,另外两根连接温度传感器。
多功能手持VH501TC采集仪连接传感器与读数
|
传感器 存储 物联网
手持VH501TC多功能混合信号采集仪接口说明
传感器接口 传感器接口须使用设备专门配备的测线,一端为 DB9 或者航空插头,另一端为用颜色区分的多个鳄鱼夹,线(鳄鱼夹)颜色和功能定义详见前述“设备组成和接口定义” 。
手持VH501TC多功能混合信号采集仪接口说明