我正在尝试完成一个项目,其中ESP8266将DHT22数据发送到Raspberry Pi,然后Pi通过Python脚本将数据实现到sqlite数据库。然后,脚本从数据库中提取数据,并将其插入HTML网页,然后该网页成为Web服务器。我正在使用本教程:https://randomnerdtutorials.com/esp8266-publishing-dht22-readings-to-sqlite-database/#comment-355609
ESP成功将DHT数据发送到PI,因为我可以在输出中看到它。此外,HTML网页显示手动输入的SQLite数据,但Python无法将任何数据插入数据库。
(由于格式问题,无法粘贴代码。我是这个网站的新手。) 谢谢。
答案 0 :(得分:1)
我已经通过命令行创建了表格。
c.execute("""INSERT INTO dhtreadings (temperature,
humidity, currentdate, currentime, device) VALUES((?), (?), date('now'),
time('now'), (?))""", (dhtreadings_json['temperature'],
dhtreadings_json['humidity'], 'esp8266') )
,并使用currenttime代替原始代码中显示的currentime。我真不敢相信这么小的细节毁了我一整天。我也认为currenttime是正确的版本,因为它是正确的英语版本。
答案 1 :(得分:0)
conn.commit()。 信息= 0 测试并编辑我的代码:
c.execute("SELECT * FROM dhtreadings")
c.execute("INSERT INTO dhtreadings(temperature,humidity,currentdate,currentime,device)VALUES(?,?,?,?,?);",(info,info,info,info,info))
conn.commit()
通过个人的方式创建数据库也必须来自代码,这还因为,例如,如果使用sqladmin.exe来创建数据库,则可能会给出错误或只是不写入文件。
c.execute("CREATE TABLE dhtreadings(temperature,humidity,currentdate,currentime,device)")
conn.commit()