python 串口读取数据及下发数据

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值