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

毕设笔记05-使用python读取Arduino端口温湿度数据并保存到本地

程序员文章站 2022-03-22 12:43:16
...

今天来实践将串口数据保存到本地,通过串口读取DHT11温湿度传感器所检测的值,方便之后上传数据。
1、Arduino代码
该代码已经预先装好了DHT11所需要的库文件,如果不会装库文件可以参考之前发的帖子毕设笔记04

#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4
void setup(){
    Serial.begin(9600);
    Serial.println("DHT TEST PROGRAM ");
    Serial.print("LIBRARY VERSION: ");
    Serial.println(DHT11LIB_VERSION);
    Serial.println();
    Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
} 
void loop(){
    int chk;
    Serial.print("DHT11, \t");
    chk = DHT.read(DHT11_PIN); 
    switch (chk){
        case DHTLIB_OK: 
        Serial.print("OK,\t"); 
        break;
        case DHTLIB_ERROR_CHECKSUM: 
        Serial.print("Checksum error,\t"); 
        break;
        case DHTLIB_ERROR_TIMEOUT: 
        Serial.print("Time out error,\t"); 
        break;
        default: 
        Serial.print("Unknown error,\t"); 
        break;
   }
    Serial.print(DHT.humidity,1);
    Serial.print(",\t");
     Serial.println(DHT.temperature,1);
    delay(1000);
}

将代码编译并下载到Arduino开发板,DHT11温湿度传感器与Arduino接线如下表:

DHT11 Arduino
VCC 3.3V
DATA DIGITAL 4
GND GND

2、安装 pyserial模块
pyserial模块封装了对串口的访问,系统要求:python 2.3及以上版本。
在电脑命令提示符窗口切换到python的安装路径,执行如下命令:

pip install pyserial

自动安装等待即可,如下图就表明安装成功:
毕设笔记05-使用python读取Arduino端口温湿度数据并保存到本地
3、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:/test.txt', 'a')#数据保存的路径
    f.writelines(ct)
    f.writelines(':\n')
    f.writelines(data.decode('utf-8'))
    f.close()

注:端口号在Arduino连接电脑后在设备管理器中查看,自己的是COM几就修 改为COM几
在自己想要保存数据的文件夹新建 .txt文件,命令随意,在代码上修改数据保存的路径
在python自身提供的IDLE集成开发环境执行如上代码,或者直接在命令提示符窗口下执行,执行结果如下(cmd中运行):
毕设笔记05-使用python读取Arduino端口温湿度数据并保存到本地
打开保存数据的 test.txt 文件,即可看到温湿度数据已经保存到文件之中。
毕设笔记05-使用python读取Arduino端口温湿度数据并保存到本地

相关标签: Arduino