1
我使用的傳感器連接到arduino並使用ser.readline()打印來自傳感器和成功的讀數。但是當我想使用ser.readline將讀取值發送到mysql。它只傳遞設備名稱和當前時間,並且在mysql中顯示的讀數值爲'0'。在這裏我的編碼。爲什麼ser.readline數據不會出現在mysql中?
import time
import serial
import smtplib
import datetime
import MySQLdb
db = MySQLdb.connect("192.168.0.103", "fyp", "123456", "system")
ser = serial.Serial('/dev/ttyACM0', 9600)
while True:
api = ser.readline()
current_time = datetime.datetime.now()
print (api)
sql = "INSERT INTO reading (series_no, time, api) VALUES ('test1', current_time, api)"
data = (current_time, api)
cur.execute(sql)
db.close()
使用%s也不行。先謝謝你。
它的工作原理,謝謝。但爲什麼起初它說'警告:數據從列'api'在第一行被截斷' – Hazim
@Hazim讓我們來看看「api」的值是什麼以及「api」表的列類型是什麼?謝謝。 – alecxe
我不太確定我的api價值。但它打印'25,28',所以我只是假設它是表列中的整數。 – Hazim