MySQL安裝
- MySQL 8.0.19安裝教程(windows 64位) (教程近40萬訪問量忒牛了)。
- 使用Navicat修改初始密碼、新建一個你要用到的數據庫備用。(Navicat Premium 15 永久激活版安裝教程)
- MySQL安裝過程中出現的vcruntime140_1.dll缺失,運行如下軟件完美解決。
微軟常用運行庫合集_2019.07.20_X64 ---提取碼:0ovs
- 重要提醒:儘可能的使用管理員方式打開你的CMD命令行。
Python獲取串口數據存入本地數據庫
- 主要安裝serial包、pymysql包
- 安裝完成後直接上代碼運行,注意如果沒有串口設備提供數據可以利用虛擬串口發送一些假數(“012345678”)據測試。
虛擬串口使用:VSPD虛擬串口工具——從此告別硬件串口調試
import serial # 導入serial包
import time # 導入time包
import pymysql # 導入pymysql包
log = 0 # 設一個log變量用於記錄單次接收次數
s = serial.Serial('com5', 115200, timeout=6) # 打開串口,配置串口參數和你設備通訊參數一致。
db = pymysql.connect("localhost", "root", "你的數據庫密碼", "你的數據庫名") # 打開數據庫,配置數據庫
cursor = db.cursor() # 數據庫操作
cursor.execute("DROP TABLE IF EXISTS Monitor_Data") # 如果存在表則重新創建
creatTab = """CREATE TABLE Monitor_Data( # 創建表
LOG_ID INT NOT NULL,
D_ID CHAR(20) NOT NULL,
TIME CHAR(50),
T_DATA INT ,
H_DATA INT ,
L_DATA FLOAT )"""
cursor.execute(creatTab) # 執行數據庫語句
while True: # 無限循環讀取數據
localtime = time.asctime(time.localtime(time.time())) # time包操作,打印本地時間
n = s.readline() # 讀取串口一行數據
print(n) # 打印結果在控制檯
log += 1 # 傳輸次數記錄+1
data_pre = str(n) # 強制用字符串格式
data = data_pre[2:-5] # 取部分數據
local_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 規整本地時間的格式
did = data[0:4] # 分類取有效數據
td = int(data[4:6])
hd = int(data[6:8])
ld = float(data[8:])/10.0
print(local_time, did, td, hd, ld) # 打印結果在控制檯
sql = "INSERT INTO Monitor_Data(LOG_ID,D_ID,TIME,T_DATA,H_DATA,L_DATA)VALUES('%d','%s','%s','%d','%d','%.1f')" % (
log, did, local_time, td, hd, ld) # 存入數據庫
cursor.execute(sql) # 執行數據庫語句
db.commit() # 提交
cursor.close()
db.close()