Bonjour !

Je me présente rapidement avant d'entrer dans la supplication J'ai 27 ans, je suis infographiste auto-entrepreneur et co-gérant d'une société de gestion technique événementielle, donc autant dire que je suis plutôt du côté hardware de la force... Si je me débrouille bien en maitrise des logiciels, je n'ai en revanche aucune base en codage si ce n'est les logiques simples (if then while or ...etc) que j'utilise dans certains soft. Ah si, j'ai fait du HTML et CSS à la Fac

En mai dernier je me suis lancé dans l'inconnu avec un projet en tête, celui de réaliser une sonde météo avec affichage en temps réel et une liaison WiFi avec gestion graphique des températures et de l'humidité via ThingSpeak ! L'idée était de pouvoir afficher différentes infos sur l'écran, et de passer de l'une à l'autre en basculant le bouzin, à l'aide donc d'un tilt-switch (par exemple : info 1 = Temp + HR + Heure, info 2 = Graph dernières 24h, info 3 = prévisions météo 5j)

Le matos que j'ai acheté (en avril) :
- Rasp Pi Zero Wifi
- Sonde température DS18B20
- Sonde humidité (et température) DHT22
- Un breadboard pour vérifier mon montage

J'ai donc assemblé mes 2 sondes en fouinant sur internet pour savoir sur quel port brancher, téléchargé les librairies correspondantes (c'est l'équivalent de drivers pour Raspberry ?)
Ensuite j'ai trouvé différents bouts de codes que j'ai arrangé à ma sauce afin de récupérer les 2 données de température, d'en faire une moyenne (tmoyenne) et d'afficher cette valeur avec l'humidité relative :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import sys
import Adafruit_DHT
import time


tempfile = open("/sys/bus/w1/devices/28-031652910aff/w1_slave")
thetext = tempfile.read()
tempfile.close()
tempdata = thetext.split("\n")[1].split(" ")[9]
temperature2 = float(tempdata[2:])
temperature2 = temperature2 / 1000

sensor = Adafruit_DHT.AM2302
pin = 5
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

tmoyenne = (temperature+temperature2*2)/3

print('Temperature Moyenne={0:0.1f}*C  Humidite={1:0.1f}%'.format(tmoyenne, humidity))
Bon j'ai passé une journée entière à faire ça, mais j'étais super content car ça marchais impecc !
Je suis ensuite passé à l'étape IoT...pareil, bout de code adapté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import sys
import Adafruit_DHT
from time import sleep
import urllib2

myAPI = "touchezpasàmonserveur"

def getSensorData():
    tempfile = open("/sys/bus/w1/devices/28-031652910aff/w1_slave")
    thetext = tempfile.read()
    tempfile.close()
    tempdata = thetext.split("\n")[1].split(" ")[9]
    temperature2 = float(tempdata[2:])
    temperature2 = temperature2 / 1000
    
    sensor = Adafruit_DHT.AM2302
    pin = 5
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

    tmoyenne = (temperature+temperature2*2)/3
    
    T = tmoyenne
    RH = humidity

    return (str(RH), str(T))

def main(): 
   print 'starting...' 
   baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI 

   while True: 
       try: 
           RH, T = getSensorData() 
           f = urllib2.urlopen(baseURL + 
                               "&field1=%s&field2=%s" % (RH, T)) 
           print f.read() 
           f.close() 
           sleep(60) 
       except: 
           print 'exiting.' 
           break 

# call main 
if __name__ == '__main__': 
   main()
Ça marchait ! (bien qu'au bout d'une heure ou deux, le script s'arrêtait sans que je comprenne pourquoi)
Nom : Screenshot_2017-12-14-09-36-46.png
Affichages : 4900
Taille : 232,7 Ko

J'ai ensuite eu un peu moins de temps et j'ai totalement laissé le projet de côté...pour reprendre il y a quelques jours en achetant l'écran et le switch.
Problème : plus rien ne marche.

J'ai remarqué (après avoir allumé) que ma sonde DS18B20 avait son cable GND cassé (mal rangé )...j'ai éteint, réparé, mais voici le message d'erreur que j'obtiens :
Nom : erreur.jpg
Affichages : 4964
Taille : 116,6 Ko

Dans un premier temps, j'aimerai que cela remarche comment avant...le hic c'est que je n'ai aucune idée de comment aborder la chose...

Ensuite, j'aimerai trouver une solution de câblage propre (j'utilise des fil de breadboard) pour le modèle final, et surtout comprendre comment ajouter à mon câblage l'écran et le switch...
Voici mon câblage actuel, avec celui recommandé pour le switch que je n'ai pas encore relié :
Nom : Cablage.jpg
Affichages : 5131
Taille : 865,8 Ko

Dans le genre bombe artisanale on est bien
Nom : 2017-12-14 08.50.57.jpg
Affichages : 5021
Taille : 409,6 Ko


Thanks ! et merci d'avance pour vos contributions