概述随着物联网技术的广泛推广,产生了农业物联网。做智慧农业物联网项目,首先要解决的是农业数据的采集问题;比如空气的温湿度、土壤的温湿度、二氧化碳浓度、水培溶液的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引入到自己研发的产品中去。
1
RealThread.RT-Thread.3.1.3.zip
2021-04-22 20:00:50 1.91MB rt_threadkeil5
1
串口1作为控制台,串口2作为用户控制台
2021-04-22 16:00:53 63.96MB RT-Thread
1
私有 WPF 构建版本 当前的 WPF 在 [https://github.com/dotnet/wpf](https://github.com/dotnet/wpf) 完全开源,使用友好的 MIT 协议,意味着允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。在仓库里面包含了完全的构建逻辑,只需要本地的网络足够好(因为需要下载一堆构建工具),即可进行本地构建
2021-04-17 11:02:08 36.87MB WPF
1
Thread
2021-04-16 22:03:07 672B Thread类
1
请使用继承Thread类的方式定义两个线程,一个线程可以计算1--100所有数字的累加和,另一个线程可以计算1--1000所有数字的累加和,每个线程计算完毕后各自打印计算结果,格式例如:”xxx线程计算1--100的累加和,结果:xxxx”
2021-04-16 22:03:06 746B 继承Thread类
1
请使用“匿名Thread”子类的方式实现线程,线程中计算1--100所有数字的累加和,并打印计算结果。
2021-04-16 22:03:05 361B 匿名Thread”
1
本数采系统以STM32单片机作为处理核心,使用RT-thread操作系统,实现功能有:通过自带的ADC模块以一定的频率采集数据,对采集到的数据进行FFT变换,并将变换后的结果和原始数据保存在TF卡中。此数采系统运用到的内核对象有邮箱和信号量,用到的中断有定时器中断、DMA中断和外部中断。同时,该系统使用了finsh、内存池以及串口通信。
2021-04-15 22:43:06 27.77MB RT-thread STM32
1
Android实现网络多线程下载,断点续传,压缩包内有两个项目: downloadDemo:多线程下载 MulThreadDownloader:断点续传(网上别人的项目)
2021-04-13 14:41:31 1.49MB 多线程下载 Thread 断点续传 Random
1
根据狂神视频所学知识
2021-04-13 13:02:04 2.32MB java 狂神