| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【嵌入式Linux应用开发】设计温湿度采集MCU子系统 -> 正文阅读 |
|
[嵌入式]【嵌入式Linux应用开发】设计温湿度采集MCU子系统 |
1. 概述? 本篇主要是使用百问网的100ASK_STM32F103_PRO开发板加上ESP8266和DHT11设计一个采集环境温湿度的子系统,将温湿度数据上云,让阿里云服务器转发给订阅了该温湿度数据主体的MQTT客户端,也就是之前做的基于STM32MP157开发板的温湿度监控系统。 温湿度监控系统应用开发所有文章
适用开发板? 适用于百问网的100ASK_STM32F103_PRO开发板。 2. 软件平台? 这个温湿度采集子系统是基于RT-Thread操作系统,使用的ide是RTT的studio,因为可以用它的生态软件包快速实现我们的需求。 3. 配置软件包? 新建rt-thread studio的STM32F103的工程就不介绍了,依照官方文档做很简单的,下面开始添加和配置软件包。 3.1 配置DHT11? 如果再RT-Thread Settings的软件包里面搜索不到DHT11的软件包的话,可以去官网的软件包中查看一下分类,然后再去软件包中设置: 在这里面找到DHT11的软件包: 这里油两种,都可以使用,如果不清楚使用的引脚序号是多少的话可以暂时不设置。 3.2 配置MQTT? mqtt在RT-Thread Settings软件包的IoT-物联网中的: 这里选择的是其中一种,也是前面几篇文章用的mqtt库paho mqtt,使能了示例。 3.3 配置AT设备? 因为我们的方案是使用的ESP8266连接WiFi入网然后再去和阿里云服务器建立连接的,因而就需要使用到ESP8266的库,在RT-Thread Settings里面ESP8266的应用是在AT设备里面设置的,而AT设备也是在IoT-物联网里面的: 我们需要设置连接的WiFi名称和密码,然后和ESP8266连接的串口是哪个也需要指定。 ? 当DHT11、MQTT、AT设备都配置到之后就选择保存,将配置生效生成代码到工程里面去。 4. 温湿度数据上云4.1 修改DHT11示例代码? 在DHT11的示例代码中,使用的引脚是用引脚序号来定义的,如果不熟悉这种用法可以将源码注释掉,改成使用
修改后的代码: 可以看到这里添加了一个驱动层的头文件,这是因为 ? DHT的源码是将读取数据的app注册放到了终端去输入指令调用的,我们期望的是每隔固定周期自动读取,因而可以自己创建一个线程:
这样F103就会每隔大约5s的时间读取一次温湿度数据: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dAKCcSwu-1657613242193)(LinuxApp-7-TempHumiSubSystem/image-20220706103704730.png)] 可以看到数据是放大了10倍的,如果没有精度需求的哈,可以只保留整数位也就是将数据除以10:
4.2 添加MQTT线程? MQTT使用的AT设备是使用UART3连接的ESP8266,但是我们的源码里面是没有使能和定义UART3及其引脚的,因而我们需要去 然后再去MQTT的示例里面修改登录服务器的地址、客户端ID等信息: 接着定义一个静态全局变量
随后去 最后创建线程,等待DHT线程传来数据,线程传输数据我们使用rtt的消息队列,我们在mqtt的线程中初始化一个消息队列,mqtt的线程读取队列,dht的线程发送队列,所以这个消息队列应该没定义成一个全局变量,好让两个不同的源文件调用:
4.3 dht线程发送消息队列? 将在mqtt示例源码中定义的消息队列放到dht示例源码中声明,然后在线程中使用:
5. 编译烧写运行? 将程序改好之后直接编译,然后使用ST-Link烧录到板子里面运行,然后让STM32MP157开发板也运行前面编译好的那个demo,就可以看到温湿度数据在Linux开发板上的屏幕上,显示出来了。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:49:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |