1. 首页
  2. 数据库
  3. 其它
  4. 【RT Thread作品秀】基于RT Thread的农业数据采集 电路方案

【RT Thread作品秀】基于RT Thread的农业数据采集 电路方案

上传者: 2021-04-25 23:25:59上传 ZIP文件 533.69KB 热度 35次
概述随着物联网技术的广泛推广,产生了农业物联网。做智慧农业物联网项目,首先要解决的是农业数据的采集问题;比如空气的温湿度、土壤的温湿度、二氧化碳浓度、水培溶液的EC值、PH值等数据;结合此次RTT大赛,笔者决定基于ART-Pi板子和RT-Thread实时操作系统,开发一个农业数据采集器。此次数据采集器笔者以ART-PI开发板为核心板,外接了一款温湿度传感器模块、GPS模块、OLED模块、串口通讯模块进行了基础Demo版本代码编写与调试,实现了采集温湿度数据在OLED屏上显示、GPS位置信号信息采集后经串口输出等功能。后续还有采集的数据经板载的WiFi模块上传至TCP Server 、阿里IOT平台的规划。 开发环境 硬件:ART-PI(STM32H750XB)、GPS模块、DHT11、0.96寸OLED屏、USB转串口模块 RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:RT-Thread Studio版本: 2.0.0 RT-Thread使用情况概述(1)内核部分:调度器,信号量等。 调度器:创建多个线程来实现不同的工作。 信号量:用来线程间的同步。 (2)组件部分:UART框架,SENSOR框架。 UART框架:使用了1个串口,用于采集GPS模块数据、同时用于串口输出数据。 II2C框架:使用了1路II2C接口用于连接OLED屏,进行采集温湿度数据的显示。 SENSOR框架:使用DHT11采集空气温湿度 (3)软件包:u8g2 netutils dht11gps_rmc 硬件框架软件框架说明软件模块说明主函数中执行了 wlan_autoconnect_init(); serial_init(); oled_init(); DHT11_init(); 创建了3个线程,其中 dht11_thread_entry()用于读取温湿度传感器数据; serial_thread_entry()用于读取串口1 RX引脚接收到的GPS模块数据; 演示效果比赛感悟首先笔者要表扬一下自己,能在工作之余、在下班后回家还要哄娃入睡之余,利用了一切可以利用的时间,进行STM32单片机的理论、RT-Thread Studio平台、II2C通讯、串口通讯理论知识的学习,然后小白一样的摸索着玩ART-Pi;笔者之前是Java程序员出身,在Java代码层面是打通过跟阿里IOT平台进行数据采集对接的,可是用STM32单片机来做,尤其是要熟悉STM32单片机的开发流程与技巧、RT-Thread 开发环境与编程规范等,作者实在是显得有点稚嫩,毕竟想要很快入行,是需要时间积累的。笔者还是5年前玩过AVR单片机,之后的工作主要是PLC、C#、JAVA相关,最近的工作是基于Go\Linux系统进行应用程序开发,讲真笔者对STM32单片机的知识了解还是相当欠缺的,Ubuntu系统用过半年左右,对于实时操作系统比如RTOS等,不曾了解;可是这些并不能阻止我对国产操作系统的关心与关注。当某次在论坛看到RT-Thread Smart发布会宣传时,笔者一下子就被深深吸引,在参会中看到了搭载RT-Thread Smart内核的板子启动很快,于是乎当时就萌发了了解一下RT-Thread的想法。后面也就有了参加此次RT-Thread全连接创意创客大赛的故事。 笔者的初心并不是参加比赛获得名次,而是通过参与,让自己去熟悉RT-Thread,熟悉RT-Thread跟STM32单片机的联姻;想着能不能基于RT-Thread操作系统、APT-Pi板子做些数据采集的实验测试;幸不辜负青春,通过此次尝试,笔者调通了APT-Pi 的板载串口1的收发控制、II2C通讯驱动OLED屏、采集单总线的温湿度传感器DHT11、板载WiFi模块进行参数配置联网、TCP通讯测试、GPS信号数据截取处理等;在整个边学习边码字的过程中也遇到了一些困难,比如调试II2C接口的气压传感器时,折腾了几天就是不出结果,还不知道问题出在哪,还有调试SPI接口液晶屏时,也是遇到困难,最后曲线救国,换成了II2C接口的OLED屏,还好调通了。主要是笔者时间上受限了,工作上几个项目要跟进,期间去出差了外省几次;下班后回家宝宝又会粘着我求抱抱。本来计划的是多接一些传感器采集数据,比如采集485接口传感器数据、通过调用我自己封装的dll文件去跟欧姆龙PLC进行通讯的测试、上传数据至阿里IOT平台,截止当前未完成,但后面我会继续把这个项目做下去,争取把这个数据采集器做得完善。最后感谢大赛举办方给我们提供了一个如此好的学习和锻炼的机会,我会尝试将RTT引入到自己研发的产品中去。
用户评论