我目前正在使用raspberry pi并使用DHT11每秒读取温度和湿度值。我必须将这些值实时保存到数据库中。 这是我的代码每秒显示传感器数据,我不知道如何以及在何处插入数据库连接线。
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 7
instance = dht11.DHT11(pin=4)
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
#print("Temperature: %d F" % ((result.temperature * 9/5) + 32))
print("Humidity: %d %%" % result.humidity)
time.sleep(1)
答案 0 :(得分:0)
首先在你的系统上安装MySQL数据库,然后使用PyMySQL或任何其他库从python连接到MySQL,如果使用PyMySQL则通过这个DOC
使用
安装库pip install PyMySQL
连接一次,将连接代码放在while循环上
db = PyMySQL.connect("localhost:port","username","password","database_name" )
cursor = db.cursor()
while True:
在while循环中使用cursor进行SQL-QUERY执行,在其中获得要存储的有效结果
sql = "insert into table_name(id,feild1,feild2) values (1,value1,value2);"
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
更改数据库中的字段表名和连接信息,并将INSERT语句中的值替换为传感器值