(Page créée avec « {{Tuto Details |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 n... ») |
(Aucune différence)
|
Auteur
CarolineCO | Dernière modification 3/12/2025 par CarolineCO
Pas encore d'image
ESP32, POCL, Open Data, Découpeuse laser, IOT
⚠️ 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
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_du_wifi'
password = 'mot_de_passe_du wifi'
valeur_main = None
led_ = None
np=neopixel.NeoPixel(Pin(15),2)
led_ = 0
station = network.WLAN(network.STA_IF)
# se connecte
station.active(True)
station.connect(ssid, password)
while not station.isconnected() :
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'
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)
def allumer_bleu():
global led_
led_ = 0
for count in range(2):
np[led_]=(248,248,255)
led_ = 1 + led_
np.write()
def allumer_noir():
global led_
led_ = 0
for count in range(2):
np[led_]=(0,0,0)
led_ = 1 + led_
np.write()
# 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)
while True:
valeur_main = extract_Weather(json_path, weather_url)
print(valeur_main)
if valeur_main == "Snow":
print("ca marche")
allumer_bleu()
else valeur_main != "Snow" :
allumer_noir()
time.sleep(20)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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #