MicroPython avec ESP8266 ou ESP32
Les cartes ESP8266 et ESP32 sont compatibles avec l’environnement Arduino, mais peuvent également être programmées en MicroPython, un portage de Python pour les Microcontrôleurs.
Il existe plusieurs IDE permettant de programmer un ESP en micropython :
Thonny
Voir tuto : https://microcontrollerslab.com/getting-started-thonny-micropython-ide-esp32-esp8266/
uPyCraft
Installation
Télécharger l’IDE uPyCraft
Flasher le firmware MicroPython
Il faut commencer par charger le firmware MicroPython dans l’ESP :
Choisir le type de carte (ici ESP32)
Choisir le port sur lequel est connecté la carte. Appuyer sur le bouton boot de la carte et relâcher le après avoir cliqué sur le port COM.
Si le firmware MicroPython n’est pas installé sur la carte, uPyCraft se propose de l’installer.
Choisir l’adresse de base de la carte (cela dépend des cartes !).
On peut laisser uPyCraft télécharger le firmware ou choisir un fichier télécharger sur le site officiel : http://micropython.org/download
Il faut effacer la mémoire flash si on veut effacer complètement la mémoire (pas utile donc pour une mise à jour du firmware si on veut conserver les fichiers enregistrés dans la mémoire flash).
Sur les cartes ESP32 il faut appuyer sur le bouton boot pour pouvoir flasher le firmware.
Programmation avec uPyCraft
Créer un nouveau document
Taper votre code
import machine, ssd1306 from time import sleep_ms import network i2c = machine.I2C(scl=machine.Pin(4), sda=machine.Pin(5)) oled = ssd1306.SSD1306_I2C(128, 64, i2c) oled.fill(0) oled.text('Wifi hors ligne',10,10) oled.show() station = network.WLAN(network.STA_IF) station.active(True) station.connect("SSID", "cleWPA") while not station.isconnected(): sleep_ms(100) wifi=station.ifconfig() oled = ssd1306.SSD1306_I2C(128, 64, i2c) oled.fill(0) oled.text('MicroPython', 10, 10) oled.text('sur ESP32', 10, 30) oled.show() sleep_ms(10000) oled.fill(0) oled.text('IP : ', 10, 10) oled.text(wifi[0], 10, 30) oled.show() station.disconnect()
Sauvegarder et lancer le code sur la cible
Références
Guide de référence pour ESP32 : http://docs.micropython.org/en/latest/esp32/quickref.html
Guide de référence pour ESP8266 : http://docs.micropython.org/en/latest/esp8266/quickref.html