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,会去完成这个开关数据的开关命令的发送发给控制器,但其实是控制器和传感器都各发了一份,所以传感器的灯也会发生改变。

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

相关文章
|
传感器 IDE 物联网
ESP8266接入阿里云物联网平台上传温湿度数据
本文章使用NodeMCU(ESP8266)开发板和SHTC3温湿度传感器接入阿里云物联网(IoT)平台,并上传读取到的温湿度数据。
23049 6
ESP8266接入阿里云物联网平台上传温湿度数据
|
容器
基于Arduino的植物浇水系统
基于Arduino的植物浇水系统
225 0
|
6月前
|
人工智能 算法 PyTorch
MindIE-LLM ATB模型推理全流程解析
最近,有很多小伙伴问我,如果他们想自己基于MindIE镜像中的文件适配新模型,可以怎么做? 为了实现这个目标,首先需要了解MindIE-LLM模型在推理过程中的代码调用流程,然后根据新模型的算法进行适配。
260 1
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
1370 4
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
6月前
|
数据采集 机器学习/深度学习 Web App开发
Python爬虫如何应对贝壳网的IP封禁与人机验证?
Python爬虫如何应对贝壳网的IP封禁与人机验证?
|
人工智能 测试技术 Windows
Windows 竞技场:面向下一代AI Agent的测试集
【10月更文挑战第25天】随着人工智能的发展,大型语言模型(LLMs)在多模态任务中展现出巨大潜力。为解决传统基准测试的局限性,研究人员提出了Windows Agent Arena,一个在真实Windows操作系统中评估AI代理性能的通用环境。该环境包含150多个多样化任务,支持快速并行化评估。研究团队还推出了多模态代理Navi,在Windows领域测试中成功率达到19.5%。尽管存在局限性,Windows Agent Arena仍为AI代理的评估和研究提供了新机遇。
277 3
|
监控
量子雷达技术:隐形目标探测的新方法
【10月更文挑战第4天】量子雷达技术基于量子力学原理,利用量子纠缠特性实现目标探测,在精度和距离上超越传统雷达。它能穿透隐身材料,具备高灵敏度和抗干扰性,并可在军事、空间探测及民用监测等领域广泛应用。随着技术进步,量子雷达有望成为未来隐形目标探测的关键工具。
|
前端开发 JavaScript
vue实现通用分页控件,支持前端分页、后端分页。
vue实现通用分页控件,支持前端分页、后端分页。
334 1
|
传感器 数据格式
【STM32】DHT11温湿度模块传感器详解&代码
【STM32】DHT11温湿度模块传感器详解&代码
|
安全 物联网 网络架构
Zigbee—网络层地址分配机制
Zigbee—网络层地址分配机制