| Ligne 1 : | Ligne 1 : | ||
{{Tuto Details | {{Tuto Details | ||
| + | |Main_Picture=POCL_Neige_en_station_Pingouin2.png | ||
|Licences=Attribution (CC-BY) | |Licences=Attribution (CC-BY) | ||
|Description=Création d’un petit objet connecté qui va chercher la météo sur internet et indique en temps réel s’il neige dans ta station de ski préférée. | |Description=Création d’un petit objet connecté qui va chercher la météo sur internet et indique en temps réel s’il neige dans ta station de ski préférée. | ||
| Ligne 33 : | Ligne 34 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=Réunir le matériel | |Step_Title=Réunir le matériel | ||
| + | |Step_Picture_00=POCL_Neige_en_station_materiel_POCL2.png | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
Auteur
CarolineCO | Dernière modification 3/12/2025 par CarolineCO
ESP32, POCL, Open Data, Découpeuse laser, IOT POCL_Neige_en_station_Pingouin2.png
⚠️ Attention, ton ESP32 doit avoir été flashé avec micropython !
Tutoriel pour le faire : Installation de micropython
ou directement
⚠️ Cela fonctionne uniquement sur Google Chrome et Microsoft Edge.
Rendez-vous en bas de la page d'accueil :
https://dblocadata.debrouillonet.org/~test/#flash
# Programme boot.py :
from machine import Pin
import time
try:
import urequests as requests
except:
import requests
try:
import ujson as json
except:
import json
import network
import neopixel
import esp
esp.osdebug(None)
import gc
gc.collect()
ssid = 'Nom_Wifi'
password = 'Mot_de_passe_wifi'
valeur_main = None
NB_LED = 2
np=neopixel.NeoPixel(Pin(15),NB_LED)
np[0] = (10, 0, 0)
np.write()
bleu = (248, 248, 255)
noir = (0, 0, 0)
rouge = (255, 0, 0)
def allumer_couleur(couleur):
for i in range(NB_LED):
np[i]=couleur
np.write()
station = network.WLAN(network.STA_IF)
# se connecte
station.active(True)
station.connect(ssid, password)
while not station.isconnected() :
allumer_couleur(rouge)
time.sleep(1)
print('Non connecté')
print('Connection successful')
#écrit les configurations de la connection
#print(station.ifconfig())
#Ville : Station Autrans 45°13'49.1"N 5°34'55.9"E
lat = '45.2302778'
long = '5.58194'
# Récupération données
api_key = '1e3c7b8ac112252a6250d681373bc7ed'
#https://api.openweathermap.org/data/2.5/weather?lat=44.866669&lon=-0.61667&appid=1e3c7b8ac112252a6250d681373bc7ed
weather_url = 'https://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + long + '&appid=' + api_key
#va chercher main dans la première case du tableau weather
json_path = ['weather', 0, 'main']
# Weather Description
#weather = extract_Weather(json_path, weather_url)
#description = 'Description: ' + weather
#print(description)
#Programme main.py :
def extract_Weather(list, url) :
weather_data = requests.get(url)
#print(weather_data.json())
#transforme tout le json en dictionnaire
data = json.loads(weather_data.text)
# pour n qui parcourt chaque élément de list soit json_path dans le code avec n qui prendra main puis pressure
for n in list:
if(n != ""):
data = data[n]
return str(data)
valeur_main = extract_Weather(json_path, weather_url)
print("Temps actuel : " + valeur_main)
if valeur_main == "Snow":
print("ca marche")
allumer_couleur(bleu)
else :
allumer_couleur(noir)
time.sleep(7)Dernière modification 3/12/2025 par user:CarolineCO.
Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #