Je suis un étudiant de niveau complètement inexpérimenté qui essaie de se familiariser avec python pour effectuer une tâche. On m'a donné une semaine pour le terminer - j'ai très peu de connaissances sur ce qu'il faut faire et je n'ai aucune expérience du codage - je suis vraiment bloqué et je vais probablement avoir l'air très stupide avec les gens sur son forum.Aide pour créer un script d'humidité de la température
Je dois créer un enregistreur de température et d'humidité avec un capteur de framboise pi et DHT22. Je dois écrire un script qui produit une boucle qui dort pendant 10 secondes - je vais exécuter le script pendant deux jours pour recueillir suffisamment de données pour produire des graphiques. Jusqu'à présent, le code que j'ai est celui-ci et il ne fonctionne pas - probablement pour des raisons évidentes - Les données doivent sortir dans deux colonnes sur un fichier leafpad.
# Assign header details to STRING variables - change manually
txt_studentid = '999'
txt_pi_location = '999.99999'
txt_pi_latitude = '999.99999'
txt_pi_longitude = '999.99999'
import Adafruit_DHT
pin = 4
sensor = Adafruit_DHT.DHT22
# Import Time module import time
# open file to write
f = open('/home/pi/y_data.txt','w')
f.write(txt_studentid)
f.write('\n')
f.write(txt_pi_location)
f.write('\n')
f.write(txt_pi_latitude)
f.write('\n')
f.write(txt_pi_longitude)
f.write('\n')
f.close()
while True:
# store off the date and time details for this
sample num_month = time.localtime().tm_mon
num_day = time.localtime().tm_mday
num_hour = time.localtime().tm_hour
num_min = time.localtime().tm_min
num_sec = time.localtime().tm_sec
num_humidity, num_temperature = Adafruit_DHT.read_retry(sensor, pin)
txt_month = str(num_month)
txt_day = str(num_day)
txt_hour = str(num_hour)
txt_min = str(num_min)
txt_sec = str(num_sec)
txt_humidity = str(num_humidity)
txt_temperature = str(num_temperature)
f = open('('/home/pi/my_data.txt','a')
f.write(txt_month)
f.write(',')
f.write(txt_day)
f.write(',')
f.write(txt_hour)
f.write(',')
f.write(txt_min)
f.write(',')
f.write(txt_sec)
f.write(',')
# write the temperature and humidity to file
f,write(txt_humidity)
f.write(',')
f,write(txt_temperature)
f.write(',')
# write new line
f.write('\n')
# close the file
f.close()
# wait for ten seconds
time.sleep(10)
juste dire que je tape dans my_script.py python sudo et il n'y a pas de message d'erreur, il – codingnewbie
Les 'f = déclarations open' peut utiliser quelques corrections. Dans la première, vous ouvrez un fichier appelé 'y_data.txt' et dans la seconde vous ajoutez un fichier appelé' my_data.txt'. Aussi dans la deuxième déclaration 'f = open' vous avez un' ('' à beaucoup.) –
Votre boucle while est incorrecte, elle tombe dans une boucle infinie. – Rishav