欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地

程序员文章站 2022-07-14 08:05:18
...

毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地

之前的帖子陆续实现了将采集的数据通过串口线保存到本地,详见毕设笔记05,这次使用两个2.4G无线通信模块,实现采集数据的无线传输并通过Python自动保存到本地;
1、2.4无线通信模块设置
新购买的2.4G无线通信模块为了方便用户使用,设置好了AT模式,默认波特率为9600,这里我们需要两个2.4G无线通信模块,并且电脑端还需要一个USB-TTL模块,USB-TTL与2.4G接线如下表:

USB-TTL模块 2.4G无线通信模块
+5V VDD
GND GND
RXD TXD
TXD RXD
3V3(悬空不接) CND(悬空不接)

将连接好的USB-TTL模块插入电脑的USB接口,打开设备管理器,点击其他设备,显示未识别设备,如下图所示,这时候需要安装驱动程序驱动程序网盘链接(提取码r9u4),下载解压安装即可(注:安装前务必移除USB-TTL模块,驱动安装成功之后再插入即可),然后重新插入USB-TTL模块,点击端口,查看端口号;
毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地2、Python代码

import time
import serial
ser = serial.Serial(
    port='COM4',                   #端口号
    baudrate=9600,
    parity=serial.PARITY_ODD,      # 校验位 
    stopbits=serial.STOPBITS_TWO,  # 停止位
    bytesize=serial.SEVENBITS      # 数据位
)
data = ''
while True:
    data = ser.readline()
    t = time.time()
    ct = time.ctime(t)
    print(ct, ':')
    print(data)
    f = open('D:/1.txt', 'a')#数据保存的路径,提前建立好文件
    f.writelines(ct)
    f.writelines(':\n')
    f.writelines(data.decode('utf-8'))
    f.close()

3、Arduino代码(先编译代码上传到Arduino后再接线):

#include <dht11.h>
#include <Arduino.h>
#define DHT11_PIN 2
unsigned int sensorValue = 0;
dht11 DHT;
void setup(){
    Serial.begin(9600);    
} 
void loop(){
    int chk;
    chk = DHT.read(DHT11_PIN); 
    Serial.print("HUM = ");
    Serial.print(DHT.humidity);
    Serial.println(" %RH");
    Serial.print("TEM = ");
    Serial.print(DHT.temperature);
    Serial.println(" ℃");
    delay(2000);
}

4、Arduino与2.4G接线
DHT11的DATA接口连接Arduino的数字2接口

Arduino 2.4G无线通信模块
RX TXD
TX RXD
GND GND
5V VDD、CMD

5、运行测试
接线完毕给Arduino通电,紧接着运行上边的python代码,运行结果如下图:
毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地
打开本地的1.txt文件,显示已经保存的数据:
毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地