从Arduino到Raspberry pi获取读数时出错

问题描述 投票:0回答:1

我有以下代码试图从连接到Raspberry PI的Arduino Uno获取温度:

import mysql.connector as mariadb
import serial

mariadb_connection = mariadb.connect(user='IOT', password='12345678', database='iotstorage')
ser = serial.Serial('/dev/ttyACM0', 9600)
cursor = mariadb_connection.cursor()
cursor = mariadb_connection.cursor(buffered=True)


while 1:
    t = ser.readline()
    t = str(t)

    sql = "INSERT INTO example (temperature) VALUES (%s)" %(t)

    cursor.execute(sql)
    mariadb_connection.commit()
    cursor.execute("SHOW DATABASES")

它给我以下错误:

追踪(最近通话):在第25行的“ /home/pi/Desktop/procedure/sketch_dec03.py”文件中cursor.execute(sql)在执行文件“ /usr/lib/python3/dist-packages/mysql/connector/cursor.py”,行569self._handle_result(self._connection.cmd_query(stmt))在cmd_query中的文件“ /usr/lib/python3/dist-packages/mysql/connector/connection.py”,第553行结果= self._handle_result(self._send_cmd(ServerCmd.QUERY,查询))_handle_result中的文件“ /usr/lib/python3/dist-packages/mysql/connector/connection.py”,第442行引发错误。get_exception(数据包)mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第1行的'b'5.19 \ r \ n')'附近使用正确的语法]

我将如何解决这个问题?

我有以下代码试图从连接到Raspberry PI的Arduino Uno获得温度:以mariadb形式导入mysql.connector导入串行mariadb_connection = mariadb.connect(user ='IOT'...

sql syntax mariadb mysql-connector
1个回答
0
投票
您正在尝试插入数字,而串行设备中的值不是数字。
© www.soinside.com 2019 - 2024. All rights reserved.