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