AIoT应用创新大赛-植物生长分析仪

2022-02-22 19:39:42 浏览数 (1)

视频演示

视频内容

一、背景介绍

传统的豆芽生长设备,只是完成豆芽的生长过程。相对于其他市面上的自动豆芽生长器,它只是简单的进行循环浇水,保持湿度,保持恒温。然后用遮光布遮光,持续到豆芽长成豆苗。对于豆芽的生长健康状态从不关心。并且如果豆芽死了。它也没有任何反馈。就只能重新种植。本设计豆芽生长状态分析仪主要是跟踪豆芽生长的全过程。可以随时观察豆芽的生长因素参数。将温度,湿度,co2,照度实时进行采集。并绘画成生长曲线。我们将和正常曲线进行对比。如果曲线出现偏差,进行及时报警提醒没有任何状态监控。在生长过程中,如果出现豆芽生长环境因素恶劣情况,经进行报警提醒。同时此仪器可以通过网络告知大家豆芽此刻处于生长阶段的哪个阶段,比如幼苗期,萌芽期等。所以不需要人实时去观察豆芽处于哪个生长阶段。

二、项目介绍

整个系统由分析软件,主控器,传感器设备组成。首先将待测植物放在一个温室盒子里,让其自然成长。在植物成长过程中,采集植物生长所必须的生长条件参数。本设计将采集温度,湿度,光照的亮度,植物每天排放或吸收的二氧化碳。本设计主要研究的对象为水培植物豆芽。首先采用传感器将各种数据采集,然后通过无线传输到主控器。主控器进行逻辑处理,然后将数据进行分析处理,形成报表然后存入SD卡中并且上次到云端服务器,绘画出每天的数据曲线。离线人工处理数据方法,每隔一段时间,将电脑连接主控器,就将SD卡的挂载为U盘连接到电脑中,然后用电脑打开外部存储设备,考出excel表数据文件。分析计算出植物生长结果。

通过二氧化碳的含量分析豆芽还没有到发芽期间,这时不需要光照,通过照度计检测照度。。通过温度和湿度的数据分析豆芽的生长环境状态良好。等豆芽发芽后,二氧化碳的含量减少,这时可以判断豆芽可以进行光合作用。然后打开植物生长灯,检测光照的照度,使其达到植物光合作用能进行的照度。让豆芽进行光合作用。通过二氧化碳的含量判断光合作用的饱和度和植物生长良好。通过测定植物呼吸CO2,我们可以间接的得知不同的光照条件对植物生长情况的影响,进而可以找出规律曲线,再去分析并改进。

本设备既可以单独使用,借助腾讯云平台也可以对接其他管理系统使用,具有以下亮点:

· 支持温度、湿度、CO2、照度参数采集

· 本记录人工加热、加湿、调照度等操作的动作及时间

· 识别数据上传腾讯云,可接入第三方设备使用

· 支持腾讯连连小程序查看使用情况与配置设备

· 支持U盘数据导出功能(暂时采用K60开发板实现)

· 支持本地时钟校准功能及电池供电(暂时采用K60开发板实现)

· 支持外接485传感器或控制器使用(暂时采用K60开发板实现)

· 低功耗设计,电池供电(受限于板卡设计暂不支持)

图1 实物图图1 实物图

三、整体框图

图2 框架图图2 框架图

四、硬件部分

4.1 硬件框图

4.2 硬件组件

4.2.1 TencentOS Tiny AIoT开发套件

内置TencentOS Tiny开源物联网操作系统。

· 核心板采用的RT1062处理器属于i.MX RT 系列 MCU,是由 NXP 推出的跨界处理器,跨界是指该系列MCU的定位既非传统的微控制器、也非传统的微处理器,i.MX RT 系列 MCU 则综合了两者的优势,既具备高频率(最高主频600M)、高处理性能,也具备中断响应迅速、实时性高的特点。

· 1M RAM 16M SDRAM 64MB qspi flash 128MB spi flash。

· 板载Type-C接口CMSIS DAP仿真器。

· 板载PCIE接口,可扩展4G类物联网模组。

· 板载物联网俱乐部WAN Interface接口,可支持NB-IoT、WiFi、4G cat1、LoRa等模组。

· 板载物联网俱乐部E53 Interface接口,可扩展全系E53传感器。

· 预留SD卡、用户按键、SPI Flash。

4.2.2 加热、加湿控制

加热控制采用温控加热垫进行加热温度控制。再采用主板TR1062通过继电器模组控制加热垫的开关。

图3 加热垫图3 加热垫

继电器模组采用继电器利用低电平控制高电压功能。当继电器没有吸合,继电器的公共端与常闭端接通,负载没电不工作;当继电器吸合时,继电器的公共端与常开端接通,负载有电工作。

图4 继电器模块图4 继电器模块
继电器模型继电器模型

加湿控制采用超声波雾化器进行加湿控制。再采用主板TR1062通过继电器模组控制雾化器的开关,进行加湿植物。

图6 超声波雾化器图6 超声波雾化器

4.2.3 外部传感器模组

该模组采用485通信,标准ModBus-RTU通信协议,通信地址及波特率可设置,最远通信距离2000米。设备10-30V宽压供电,该模组集成了温度、湿度、照度、CO2传感器。模组功能特点

■ 光照度检测测量范围0-20万Lux。

■ 采用瑞士原装进口温湿度测量单元测量温湿度,测量精度高、抗干扰能力强。

■ CO2浓度测量,测量范围宽,默认0-5000ppm(默认),自带温度补偿,受温度影响小。

■ 485通信,标准ModBus-RTU通信协议,通信地址及波特率可设置,最远通信距离2000米

■ 设备10-30V宽压供电。

图7 传感器图7 传感器

直流供电(默认)

10-30VDC

最大功耗

0.8W(24V DC)

精度

湿度

±3%RH(60%RH,25℃)

温度

±0.5℃(25℃)

光照强度

±7%(25℃)

CO2

±(40ppm 3%F·S) (25℃)

工作温度

-10℃~ 50℃

工作湿度

0%RH~80%RH

光照强度量程

0-65535Lux;0-20万Lux

温湿度量程

-40℃~ 60℃,0%RH~80%RH

CO2量程

0~5000ppm

长期稳定性

温度

≤0.1℃/y

湿度

≤1%/y

光照强度

≤5%/y

CO2

稳定性:<2%FS  非线性:<1%FS

响应时间

温度

≤18s(1m/s风速)

湿度

≤6s(1m/s风速)

光照强度

0.1s

CO2

≤90s

输出信号

RS485(Modbus协议)

预热时间

2min(可用)、10min(最大精度)

数据更新间隔

2s

4.2.4 ESP8266模组

图8 WIFI模组图8 WIFI模组

ESP8266模块小熊派开发板套件提供的用于通过Wi-Fi传输数据的通信扩展板,该拓展板采用的是乐鑫ESP8266 Wi-Fi通信模组,支持常见的IPv4/TCP/UDP/HTTP/FTP等通信协议。

五、软件部分

5.1 代码逻辑框图

图9 软件架构图9 软件架构

5.2 代码组件

5.2.1 TencentOS tiny物联网操作系统

TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,现已捐赠给开放原子开源基金会进行孵化,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如NXP Arm Cortex-M 全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。

· 资源占用极少

TencentOS Tiny 内核具有超低资源占用的特点,RAM 0.8KB,ROM 1.8KB;在类似烟感和红外等实际场景下,TencentOS tiny 的资源占用仅为:RAM 2.69KB、ROM 12.38KB。

· 高效功耗管理框架

完整包含 MCU 和外围设备功耗管理,用户可以根据业务场景选择可参考的低功耗方案,有效降低设备耗电,延长设备寿命。

· 自动移植工具

TencentOS tiny 提供多种编译器快速移植指南和移植工具,可实现向新硬件开发板的一键移植,省时省力,有效提升开发效率。

· 最后一屏调试工具

TencentOS tiny 可以自动获取故障现场信息,并保持在端侧存储设备中,触发重启后会自动上传故障信息,可有效解决远程物联网设备故障信息获取难题,提升故障分析解决效率。

· 安全分级方案

TencentOS tiny 提供了多个等级的 IoT 安全方案。您可以根据业务场景和成本要求选择合适的安全解决方案,方便客户在安全需求和成本控制之间进行有效平衡。

5.2.3 其他组件

MQTT、cJSON由TencentOS提供,用于MQTT通信实现,JSON数据打包解包。

5.3 任务代码实现

5.3.1 主函数

· 初始化外设

· 初始化任务

· 启动TencentOS

5.3.2 默认任务

· 通过UART串口获取外部传感器控制器的数据及控制命令

· 根据当前按键输入状态确定是否触发进行植物加热操作、加湿操作

5.3.3 数据转换任务

· 根据曲线规律控制开关输出触发进行植物加热操作、加湿操作

· 将传感器采集的信号解析传递给mqtt数据上传任务

5.3.4 mqtt数据上传任务

· 与esp8266模块进行AT通信,进行wifi连接

· 登录mqtt服务器,并订阅mqtt发布

· 根据识别任务的信号状态消息到腾讯云

5.3.5 mqtt数据接受任务

· 接受并解析下行的MQTT数据

· 有效解析结果配置到设备设置

六、服务器部分

6.1 云端

云端采用腾讯云IoT explorer平台,设备通过esp8266模块连接wifi入网。

6.2 客户端

客户端腾讯连连微信小程序,开发使用了标准面板,在模板基础上进行修改,就很简单了 ,而且效果还不错。

图10 微信小程序图10 微信小程序

七、后记

在开发中感觉TencentOS tiny特点,就是简单,无论是API的设计,还是部署的复杂度上都大大降低,源码的可读性也比较高,配套资料也很齐全,新手也能快速凭借文档入门。

腾讯云IoT explorer平台可以说是做到一站式开发,让我这个没有接触过云的新手也能快速上手,而且效果还不错,进阶开发也提供了相对应的接口,挺好的,之后的量产阶段并没有体验,不过看起来也是十分完善。

这个作品主要是对豆芽的生长全周期进行观察分析形成闭环,主要是采集数据,进行一个长期的数据分析,总结规律。实现智能判断生长阶段,豆芽生长状态。因此在界面设计的时候就比较草率。

本来也想对手上的项目进一步优化,但是无奈年后实在没时间,只能暂时到此了,后期自行设计板卡时,充分考虑只用一个MCU实现所有的功能。不需要采用两块板卡实现功能。

代码地址:

https://gitee.com/leo_139/TencentOS-tiny-plant-analysis-demo.git

0 人点赞