1) Network : Access Point import network wlan=network.WLAN(network.AP_IF) wlan.active(True) # Sans la ligne qui suit, le réseau ne fonctionne pas. wlan.config(txpower=5) wlan.config(ssid="ESPTest",password="12345678",authmode=network.AUTH_WPA2_PSK) # Retourne l'adresse IP (adr, mask, gw, dns) wlan.ifconfig() 2) Network : Station import network wlan=network.WLAN(network.STA_IF) wlan.active(True) # Sans la ligne qui suit, le réseau ne fonctionne pas. wlan.config(txpower=5) wlan.connect("MonReseau","MonPassword") # Retourne l'adresse IP (adr, mask, gw, dns) wlan.ifconfig() # Retourne l'état de connexion wlan.status() # STAT_IDLE 1000 # STAT_CONNECTING 1001 # STAT_GOT_IP 1010 # Erreurs : # STAT_NO_AP_FOUND 200 # STAT_WRONG_PASSWORD 202 # Aussi si txpower oublié # STAT_CONNECT_FAIL 203 # Déconnecter du réseau (nécessaire avant d'essayer de se reconnecter) wlan.disconnect() 3) Ecran OLED from machine import Pin, SoftI2C import ssd1306 i2c = SoftI2C(scl=Pin(6), sda=Pin(5)) oled = ssd1306.SSD1306_I2C(72,40,i2c) # Effacer l'écran oled.fill(0) # Tracer du texte oled.text("HW",0,0) # Afficher sur l'écran (en fin de tracés) oled.show() # Plus de détails au niveau du module framebuf pour les instructions de # tracé (pixel, hline, vline, line, rect, ellipse, poly, scroll, blit 4) Brochage Broches 0, 1, 2, 3, 4, 5 (I2C:sda), 6 (I2C:scl), 7, 8 (Led), 9 (Bouton), 10 RX/TX = 20/21 (Serial0) USB = 18/19 (Serial) 5) Flash MicroPython esptool erase_flash esptool write_flash 0 Fichier_MicroPython.bin On peut avoir à ajouter une option --port ... pour indiquer le port série. 6) Serveur Web micropyserver.py + utils.py server = MicroPyServer([port = 80]) server.add_route("/path/to/page",handler,method="GET") ... server.start() # Handler : def page_XXX(request): server.send("texte") # request contient TOUTE la requête (inclus GET/POST + path +..., # Headers, body) lines = request.split("\r\n") sépare les lignes. server.stop() # Arrête le serveur # Extra Handlers server.on_request(handler) # si retourne False, traitement arrêté. Reçoit # request et address en paramètre server.on_not_found(handler) # route not found,request en paramètre server.on_error(handler) # Erreur 500, exception en paramètre # utils # Envoie un code d'erreur + texte (response). extend_header = liste/tuple # headers supplémentaires send_response(server, response, http_code, content_type, extend_header) # Récupère la méthode get_request_method(request) => GET/POST/... # Récupère la Query String (après le ?) get_request_query_string(request) # Crée un dictionnaire clé:valeurs à partir de la query string/body parse_query_string(str) # récupère paramètres GET/POST get_request_query_params(request) get_request_post_params(request) # Déquote un paramètre (%20 => espace, ...) unquote(str) #récupère cookies (dictionnaire name:valeur) get_cookies(request) # Crée un header Cookie (on peut ajouter path/domain/expires pour # persistant au lieu de session) create_cookie(name,value) 7) Contrôle des broches de sortie p=Pin(numéro, mode= Pin.IN/OUT/OPEN_DRAIN/ANALOG, pull=None/Pin.PULL_UP/Pin.PULL_DOWN) a=p.value() p.value(0/1) a=p() p(0/1) p.toggle() p.on() p.high() p.off() p.low()