import sqlite3 import threading from datetime import datetime import serial import time def dh(): t=threading.Timer(1, run) t.start() def run(): dh() serialport = serial.Serial() serialport.port = 'COM4' serialport.baudrate = 115200 serialport.bytesize = 8 serialport.parity = serial.PARITY_NONE serialport.stopbits = 1 serialport.timeout = 20 serialport.close() if not serialport.is_open: serialport.open() time.sleep(0.5) # 时间设置参考串口传输速率 num = serialport.inWaiting() if num > 0: data = serialport.read(num)# 读取数据解析数据插入sqlite 数据库 print( data.decode().strip().split(",")[0]) sql = "insert into t_table (code,weight,feedIntake,time)values(?,?,?,?)" conn = sqlite3.connect("test.db") c = conn.cursor() try: c.execute(sql, data.decode().strip().split(",")) conn.commit() print("数据插入成功") except Exception as e: print("数据插入失败", e) finally: code = data.decode().strip().split(",")[0] gg = tuple([code]) #searchcode(gg) conn.close() return "数据插入成功" dh() # 串口发送数据
def FeedComposia(a,b,c): serialport = serial.Serial() serialport.port = 'COM3' serialport.baudrate = 115200 serialport.bytesize = 8 serialport.parity = serial.PARITY_NONE serialport.stopbits = 1 serialport.timeout = 20 serialport.close() if not serialport.is_open: serialport.open() time.sleep(0.5) # 时间设置参考串口传输速率 t=a,b,c #数据要转换一下,才能接受 v = json.dumps(t, ensure_ascii=False) serialport.write(v.encode()) print("a", a) print("b", b) return a, b