-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrasperry.py
87 lines (66 loc) · 2.33 KB
/
rasperry.py
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import network # Importation des fonctionnalités liées au WiFi
import urequests # Importation des fonctionnalités liées aux requêtes HTTP
import utime # Importation des fonctionnalités liées au temps
import ujson # Importation des fonctionnalités liées à la conversion en JSON
from machine import Pin, PWM
wlan = network.WLAN(network.STA_IF) # Met la raspberry pi en mode client wifi
wlan.active(True) # Active le mode client wifi
# Infos pour connexion WiFi
ssid = 'iPhone de Stacy'
password = 'stacy1810'
wlan.connect(ssid, password)
url = "http://172.20.10.3:3000/"
# Initialisation des pins
pwm_ledR = PWM(Pin(0, mode=Pin.OUT))
pwm_ledR.freq(1_000)
pwm_ledV = PWM(Pin(1, mode=Pin.OUT))
pwm_ledV.freq(1_000)
pwm_ledB = PWM(Pin(2, mode=Pin.OUT))
pwm_ledB.freq(1_000)
leds = [pwm_ledR ,pwm_ledV, pwm_ledB]
# Dictionnaire des maisons avec couleur de LEDs qui correspond
houses = {
"Gryffindor": [30000, 5, 5],
"Slytherin": [5, 30000, 5],
"Ravenclaw": [5, 5, 30000],
"Hufflepuff": [30000, 30000, 5],
"Nothing": [30000, 5, 30000]
}
# Attente de la connexion au réseau WiFi
while not wlan.isconnected():
print("Pas encore connecté...")
utime.sleep(1)
if wlan.isconnected():
print("Connexion établie")
def resetColor():
for led in leds:
led.duty_u16(0)
# Boucle
while True:
try:
print("GET")
print(url)
# Requête GET pour accéder à la maison du personnage
reponse = urequests.get(url)
print(reponse)
print("DONE")
# Récupération de la maison
house = reponse.json()["lastHouseVisited"]
print(house)
reponse.close()
# Fermeture de la requête
# Attribution des valeurs de LED correspondantes à la maison
i = 0
for led in leds:
led.duty_u16(houses[house][i])
i+=1
#pwm_ledR.duty_u16(houses[house][0])
#pwm_ledV.duty_u16(houses[house][1])
#pwm_ledB.duty_u16(houses[house][2])
# Stop avant réinitialisation
utime.sleep(2)
# Réinitialisation
resetColor()
except Exception as erreur:
print("Erreur:", erreur)
utime.sleep(1)