python如何获取传感器数据_python实现读取传感器发送到串口的数据,并将读取的串口数据写入文件、数据库存储...

问题咨询及项目源码下载请加群:

群名:IT项目交流群

群号:245022761

说明:本代码经本人测试,stm89c51等开发板传感器采集数据发送到串口,实现读取并写入数据库,不懂之处大家留言,看见会及时回复大家。

1:读取串口数据写入csv文件:

#!/usr/bin/python3

from PyQt5.QtCore import QTimer, QByteArray, QIODevice

from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo

from PyQt5.QtWidgets import *

import sys

from SaveData import *

class SerialWidget(QWidget):

def __init__(self, parent=None):

super().__init__(parent)

self.__data = QByteArray()

self.__serial = QSerialPort()

self.__timer = QTimer(self)

for info in QSerialPortInfo.availablePorts():

if info.description() == "USB-SERIAL CH340":

self.__serial = QSerialPort(info)

print(self.__serial.portName())

break

self.__serial.readyRead.connect(self.__read_data)

self.__timer.timeout.connect(self.__timer_update_com)

self.__temperature = 0

self.__humidity = 0

self.__co2 = 0

self.__tvoc = 0

self.__pm25 = 0

self.__pm10 = 0

self.__o2 = 0

if self.__serial.open(QIODevice.ReadWrite):

print("open success")

else:

print("open fail")

self.__auto_save_thread = AutoSave(self)

self.__auto_save_thread.start()

def closeEvent(self, QCloseEvent):

self.__auto_save_thread.kill()

super().closeEvent(QCloseEvent)

def __read_data(self):

self.__timer.start(40)

self.__data.append(self.__serial.readAll())

def __timer_update_com(self):

self.__timer.stop()

length = self.__data.length()

i = 0

while i < length:

num = ord(self.__data[i])

if num =

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值