Last active
June 2, 2020 20:57
-
-
Save EspaceRaspberryFrancais/93094e32d5318b3018b16c0784666746 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
from flask import Flask, render_template | |
import RPi.GPIO as GPIO | |
from datetime import datetime, timedelta | |
import os | |
GPIO.setmode(GPIO.BOARD) | |
GPIO.setwarnings(False) | |
app = Flask(__name__) | |
# Entree : statut de sauvegarde; Fonction : Retourner la temperature actuelle et ordonner ou non son enregistrement | |
def getTemp(sauvegardeStatus): | |
# On ouvre le fichier de la sonde. Remplacer les X par le numero de la sonde | |
fichSonde = open("/sys/bus/w1/devices/28-XXXXXXXXXXXX/w1_slave") | |
contenu = fichSonde.read() | |
fichSonde.close() | |
# On 'nettoie' le contenu pour recuperer que la temperature | |
secondeLigne = contenu.split("\n")[1] | |
temperatureData = secondeLigne.split(" ")[9] | |
temperature = float(temperatureData[2:]) | |
temperature = temperature / 1000 | |
# sauvegardeStatus = 1 => on enregistre la temperature | |
if sauvegardeStatus == True : | |
enregistrement(temperature) | |
return temperature | |
def enregistrement(temperature): | |
d = datetime.now() | |
# On recupere de datetime.now l'annee & le jour et on le stocke | |
annee = str(d)[:4] | |
jour = str(d)[:10] | |
repertoire = '/home/pi/ProjetGraphTemp/temperatures/' + annee + '/' | |
# On verifie que le repertoire existe. S'il n'existe pas : on le cree | |
if not os.path.isdir(repertoire): | |
os.makedirs(repertoire) | |
fich_Temp = repertoire + jour + '.txt' | |
# On ouvre le fichier ayant pour nom la date_du_jour.txt en fonction de s'il existe ou pas : en add ou en write | |
if os.path.exists(fich_Temp): | |
# Le fichier existe, on l'ouvre en mode ajout | |
f = open(fich_Temp, "a") | |
else: | |
# Le fichier n'existe pas, on le cree et on l'ouvre | |
f = open(fich_Temp, "w") | |
# Enfin, on ajoute une ligne dans le fichier au format : HH:MM Temp _ Exemple : 10:15 27.02 | |
time = d.strftime("%H:%M") | |
print(str(time) + " " + str(temperature), file=f) | |
f.close() | |
@app.route("/getTemp") | |
def affTemp(): | |
return render_template('index.html', temp=getTemp(True)) | |
app.run(debug=True, host='0.0.0.0', port=5000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment