我是靠谱客的博主 听话唇彩,这篇文章主要介绍安信可NodeMCU-32S驱动Ra-01模组实现温湿度数据传输并显示在OLED上介绍1. 开发环境以及驱动库2. 硬件3 软件4. 工程效果联系我们,现在分享给大家,希望可以做个参考。
文章目录
- 介绍
- 1. 开发环境以及驱动库
- 1.1 开发环境
- 1.2 模块驱动库
- 2. 硬件
- 2.1 硬件准备
- 2.2 硬件接线
- 3 软件
- 3.1 程序流程图
- 3.2 代码分析
- 3.2.1 LoRa模块程序分析
- 3.2.2 OLED显示屏程序分析
- 3.3.3 SHT3x传感器程序分析
- 4. 工程效果
- 4.1 Gateway以及Node消息显示情况
- 4.2 演示效果
- 联系我们
介绍
本文主要介绍安信可NodeMCU-32S开发板驱动Ra-01模块实现LoRa信号传输温湿度数据,并显示到OLED显示屏上。其中LoRa通讯传输过程模拟网关与节点的单向传输方式,即:网关发送的数据只能被节点接收到,而节点发出的数据只能被网关接收到。
1. 开发环境以及驱动库
1.1 开发环境
基于ESP32的Arduino开发环境,版本号:1.8.12
ESP32 SDK版本号:2.0.0-alpha1
1.2 模块驱动库
- LoRa驱动库:arduino-LoRa
驱动库下载链接:https://github.com/sandeepmistry/arduino-LoRa - OLED显示屏(基于SSD1306芯片)驱动库:esp8266-oled-ssd1306(Version:4.2.0)
驱动库下载链接:https://github.com/ThingPulse/esp8266-oled-ssd1306 - SHT3X温湿度传感器驱动库:ClosedCube_SHT31D_Arduino
驱动库下载链接:https://github.com/closedcube/ClosedCube_SHT31D_Arduino
2. 硬件
2.1 硬件准备
- 开发板:NodeMCU-32S开发板
- Ra-01模块
- OLED显示屏:四线0.96寸OLED(SSD1306主控芯片)
- SHT3x温湿度传感器
- 安卓接口下载线
2.2 硬件接线
| NodeMCU-32S | OLED |
|---|---|
| V3.3 | V3.3 |
| GND | GND |
| IO21 | SDA |
| IO22 | SCL |
| NodeMCU-32S | SHT3X |
|---|---|
| V3.3 | V3.3 |
| GND | GND |
| IO21 | SDA |
| IO22 | SCL |
| NodeMCU-32S | Ra-01 |
|---|---|
| V3.3 | V3.3 |
| GND | GND |
| IO23 | MOSI |
| IO19 | MISO |
| IO18 | SCK |
| IO5 | CS |
| IO17 | DIO0 |
| IO16 | RST |
- LoRa Gateway

- LoRa Node

3 软件
工程代码下载链接:https://gitee.com/ritage/arduino-diy/tree/master
3.1 程序流程图
工程代码的流程图包含Gateway以及Node两个工程的代码
-
Gateway的工程代码

-
Node的工程代码

3.2 代码分析
3.2.1 LoRa模块程序分析
LoRa.setPins(csPin, resetPin, irqPin); //设置LoRa模块的选择引脚,复位引脚以及DI00中断引脚
LoRa.begin(frequency); //驱动LoRa模块,通讯频率设置为frequency
LoRa.onReceive(ReceiveCallBack); //启动接收中断,中断函数为ReceiveCallBack()
LoRa.onTxDone(onTxDone); //启动发送完成中断,中断函数为onTxDone()
LoRa.enableInvertIQ(); //开启信号转换
LoRa.disableInvertIQ(); //关闭信号转换
LoRa.receive(); //设置为接收模式
LoRa.idle(); //设置为闲时模式
/*以下三个函数的组合用于发送消息*/
LoRa.beginPacket(); // start packet
LoRa.print(message); // add payload
LoRa.endPacket(true); // end payload
3.2.2 OLED显示屏程序分析
display.init(); //初始化OLED显示屏
display.clear(); //清屏
display.drawString(0, 0, "Hello World"); //参数:x, y, text 指定x,y像素点显示text数据
display.display(); //完成显示动作(不可少)
3.3.3 SHT3x传感器程序分析
ClosedCube_SHT3XD sht3xd; //声明sht3xd对象
sht3xd.begin(0x44); //驱动地址为0x44的I2C从设备
sht3xd.readTempAndHumidity(repeatability, mode, timeout); //设置以repeatability重复模式,mode读取模式,timeout超时
sht3xd.periodicStart(repeatability, frequency); //设置以repeatability重复模式,frequency频率读取温湿度
4. 工程效果
4.1 Gateway以及Node消息显示情况

4.2 演示效果

联系我们
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,以上提供的驱动源码联系我们可以免费提供
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
商务合作:sales@aithinker.com
技术支持:support@aithinker.com
公司地址: 深圳市宝安区西乡固戍华丰智慧创新港C栋410
联系电话:0755-29162996
最后
以上就是听话唇彩最近收集整理的关于安信可NodeMCU-32S驱动Ra-01模组实现温湿度数据传输并显示在OLED上介绍1. 开发环境以及驱动库2. 硬件3 软件4. 工程效果联系我们的全部内容,更多相关安信可NodeMCU-32S驱动Ra-01模组实现温湿度数据传输并显示在OLED上介绍1.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复