Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #Python 2.7.9
- #Ce programme recupere les valeurs de temperatures d'humidite depuis le capteur AM2302 et les envoie vers le script
- #PHP qui stockera ces valeurs dans la base de donnee
- from time import sleep #import de la lib permettant l'usage de sleep
- import requests #import de la lib permettant d'effectuer des requetes POST
- import json #import de la lib json
- import Adafruit_DHT #import de la lib de control du capteur
- sensor = Adafruit_DHT.AM2302 #on definit le type de capteur, ici un AM2302
- pin = 4 #on definit le pin sur lequel est branche le cpateur
- #-----fonction permettant de recuperer la temperature-----#
- def get_temp():
- humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) #on stock ce que nous retourne la lecture du capteur dans une variable pour l'hum et la temp
- if temperature is not None: #securite permettant de verifier si nous avons bien une valeur
- return('{0:0.1f}'.format(temperature)) #on retourne la variable de temperature sous la forme d'un float avec un seul nombre apres la virgule
- #-----fin de la fonction permettant de recuperer la temperature-----#
- #-----fonction permettant de recuperer l'humidite-----#
- def get_hum():
- humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) #on stock ce que nous retourne la lecture du capteur dans une variable pour l'hum et la temp
- if humidity is not None: #securite permettant de verifier si nous avons bien une valeur
- return('{0:0.1f}'.format(humidity)) #on retourne la variable d'humidite sous la forme d'un float avec un seul nombre apres la virgule
- #----fin de la fonction permettant de recuperer l'humidite-----#
- #-----fonction principale qui appele les fonction get_temp() et get_hum() puis envoie les valeurs obtenues sur le serveur-----#
- def main():
- temp = get_temp() #on stock ce que nous retourne la fonction get_temp() dans la variable temp
- hum = get_hum() #on stock ce que nous retourne la fonction get_hum() dans la variable hum
- headers = {'Content-Type': 'application/json'} #on set les headers pour envoyer des donnees en JSON
- requests.post('http://localhost/submit_final.php?temp=' +str(temp) + '&hum=' +str(hum), headers=headers) #requette POST qui envoie les donnees stocke au serveur
- #check si la temperature est superieure a 25*C, la led s'allume
- if float(temp) > 25.0:
- requests.post('http://localhost/switch.php?gpio22on=on', headers=headers) #la requete sur switch.php avec l'argument ?gpio22on=on allume la led
- #check si la temperature est inferieure a 25*C, la led s'eteint
- if float(temp) < 25.0:
- requests.post('http://localhost/switch.php?gpio22off=off', headers=headers)#la requete sur switch.php avec l'argument ?gpio22off=off eteint la led
- print ("Temperature : " +temp +"*C") #on affiche la variable temp dans la console pour le debug
- print ("Humidite : " +hum +"%") #on affiche la variable hum dans la console pour le debug
- #-----Boucle infine permettant de recuper et d'envoyer une nouvelle valeur toutes les 5 secondes-----#
- while True:
- if __name__ == '__main__': #securitee permettant de verifier si le scipt est appele (import) ou execute, si il est appele, __name__ /= '__main__' et le code
- #ne s'executera pas, si il est execute, __name__ = '__main__' et le code sera execute
- main() #on apelle la fonction metier qui contient tout notre programme
- sleep(5) #on attenc 5 secondes avant de poursuivre l'execution du code, et donc de la boucle infinie
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement