2017-08-14 2 views
0

Je travaille actuellement avec framboise pi et en utilisant DHT11 pour lire les valeurs de température et d'humidité chaque seconde. Je dois sauvegarder ces valeurs dans une base de données en temps réel. voici mon code qui montre des données de capteur chaque seconde, je ne sais pas comment et où puis-je insérer des lignes de connexion à la base de données.enregistrer les données de capteur framboise pi à la base de données

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) 

Répondre

0

d'abord installer MySQL db sur votre système puis utilisez PyMySQL ou toute autre bibliothèque pour la connexion à MySQL à partir de Python si vous utilisez PyMySQL passer par ce DOC

bibliothèque d'installation en utilisant

pip install PyMySQL 

connexion Marque une fois ainsi mettre les codes de connexion sur votre boucle while

db = PyMySQL.connect("localhost:port","username","password","database_name") 
    cursor = db.cursor() 
    while True: 

utiliser le curseur pour l'exécution SQL QUERY dans while où vous obtenez des résultats valides à stocker

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() 

changer le nom de la table des champs et des informations de connexion comme dans la base de données et remplacer les valeurs dans instruction INSERT à vos valeurs capteur

+0

cela fonctionne merci :) – Developper