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

毕设笔记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实现将采集的数据无线传输并保存到本地_第1张图片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 
#include 
#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实现将采集的数据无线传输并保存到本地_第2张图片
打开本地的1.txt文件,显示已经保存的数据:
毕设笔记07-Arduino+dht11+2.4G实现将采集的数据无线传输并保存到本地_第3张图片

你可能感兴趣的:(Arduino,python)