物联网
背景介绍
温度、湿度、光照是农业养殖中十分重要的参数,该方案基于农业的大棚温室养殖,用星火一号开发板制作了一套物联网温室报警系统。
本方案使用RT-Thread Studio实现软件工程、配置、调试。
本项目作为华南理工大学嵌入式夏令营结营任务,项目成员来自华南理工大学大二微电子、集成电路、智能制造专业。
硬件选择
外设与传感器选择
在这个方案中,我们需要使用以下外设和传感器:
STM32F407芯片:作为主控制器,负责整个系统的控制和数据处理。它具有足够的处理能力和丰富的外设接口。
AHT10温湿度传感器:用于检测温度和湿度数据。我们使用I2C协议与STM32F407芯片进行通信,将采集的温湿度数据传输给主控制器。
AP3216光照传感器:用于检测光照强度。它也通过I2C协议与STM32F407芯片进行通信,将采集的光照数据传输给主控制器。
RW007 Wifi模块:用于无线数据传输。它是一款高性价SPI的Wi-Fi模块,提供基于802.11b/g/n的高速无线数据传输功能,减低高速Wi-Fi模块的应用门槛。
技术功能
线程传输设置
在线程之间传输的数据包括:
从AHT10温湿度传感器读取的温度和湿度数据。
从BH1750光照传感器读取的光照强度数据。
阈值数据,用于设置温度、湿度和光照的报警阈值。
报警状态,用于判断是否触发蜂鸣器报警。
在物联网温室报警系统中,主控制器线程可以通过共享内存或消息队列来接收传感器数据和阈值数据。然后,通过网络模块将数据上传到云平台时,可以使用套接字进行数据传输。
此外,通过信号量或互斥量进行同步,将数据传输给报警线程。报警线程根据接收到的数据进行判断并控制蜂鸣器开关。
程序运行逻辑
程序运行步骤为:
主控制器线程读取传感器数据,并将数据通过网络模块上传到云平台。
云平台接收到数据后,进行分析和处理。根据预设的阈值进行判断,确定是否触发报警。
云平台生成相应的信号,并将信号发送回主控制器。
主控制器线程接收到云平台发送的信号,根据信号控制蜂鸣器的开关状态。
通过这种方式,可以实现远程监控和控制功能。主控制器将传感器数据上传到云平台,云平台进行分析后,返回信号给主控制器来控制蜂鸣器。
这样,可以在云端实现更复杂的数据分析和决策,并实现远程控制的功能。
程序流程图
项目进展
线程
rt_thread1_entry 云平台报警线程
rt_thread1_entry 云平台报警线程
rt_thread2_entry 本地执行命令线程
semaphore_sample 信号量初始化
OneNet数据可视化
实现OneNet分析数据、传输命令
当前项目是利用OneNet监测、传输数据给星火一号,再进行本地分析、发出控制命令。如果可以做进一步的优化,可以直接使用OneNet进行数据分析。
全部0条评论
快来发表一下你的评论吧 !