« POCL Neige en station » : différence entre les versions

CarolineCO (discussion | contributions)
Aucun résumé des modifications
CarolineCO (discussion | contributions)
Aucun résumé des modifications
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

Version du 27 novembre 2025 à 10:52

Auteur avatarCarolineCO | Dernière modification 27/11/2025 par CarolineCO

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.
Licence : Attribution (CC-BY)

  • Fichiers

Étape 1 - Réunir le matériel




Étape 2 - Préparer l'ESP 32

⚠️ 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

Étape 3 - Raccorder la bande de LED à l'esp32

Étape 4 - Utiliser Thonny pour déposer les programmes sur l'ESP32

Étape 5 - Tester le programme

Étape 6 - Découper l'objet

Étape 7 - Assembler l'objet et l'électronique

Éléments pédagogiques


Sources et ressources

# 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 27/11/2025 par user:CarolineCO.

Commentaires

Draft