Close

27 september 2016

MicroPython installeren op Huzzah Feather ESP8266

Tutorial voor het installeren van MicroPython op de Huzzah Feather (speciale uitvoering van de ESP8266 microboard). MicroPython is een versie gebaseerd op Python bedoeld voor IoT devices zoals microcontrollers. MicroPython heeft dezelfde basis functionaliteit als Python, maar dan in vereenvoudigde vorm.

Links:

Installatie:

De Huzzah Feather draait standaard op C++ (de taal van Arduino). Je moet de hardware eerst flashen met een firmware versie van MicroPython op http://micropython.org/download/#esp8266
Installeer de firmware met pip op Python 2.7.

sudo easy_install pip

sudo pip install esptool

Vervolgens moet je controleren of je de CP210x USB to UART Bridge VCP Driver hebt geïnstalleerd, anders hier downloaden: https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx Hiermee maak je een seriële verbinding

Flash de Huzzah:

esptool.py --port /dev/cu.SLAB_USBtoUART erase_flash.

Let op dat de bestandslocatie /dev/cu.SLAB_USBtoUART anders kan zijn. Zoek eerst op wat je seriële port is door in terminal de commando ls /dev/cu.* in te voeren (met USB aangesloten).

Start het flashen met:

esptool.py --port /dev/cu.SLAB_USBtoUART --baud 460800 write_flash --flash_size=8m 0 
~path_to/esp8266-20160909-v1.8.4.bin.

Let op dat hier /dev/cu.SLAB_USBtoUART de locatie van het .bin bestand anders kan zijn.
USB seriele verbinding REPL

Open de verbinding in Terminal met:

 screen /dev/cu.SLAB_USBtoUART 115200

Stop de sessie met ctrl-a dan k dan y

Gebruikt ctrl-c om de >>> prompt te krijgen (als je die niet te zien krijgt)
Nu is alles klaar om code te kloppen, begin maar met print(“Hello World”)

Wifi verbinding WebREPL

[EDIT] As of the latest 1.8.6 MicroPython releases the WebREPL is not enabled by default and must be switched on with a one time command run through the serial port (screen).

import webrepl_setup

You will be prompted to enable or disable the WebREPL, and to set a password. Enter your choices (enabled) for both prompts then press y when prompted to save and reboot.

The ESSID is of the form MicroPython-xxxxxx where the x’s are replaced with part of the MAC address of your device (so will be the same everytime, and most likely different for all ESP8266 chips). The password for the WiFi is micropythoN (note the upper-case N). Its IP address will be 192.168.4.1 once you connect to its network. WiFi configuration will be discussed in more detail later in the tutorial.

Je kan zelf een server maken of voor de luie mensen onder ons naar http://micropython.org/webrepl/ gaan en connecten met ws://192.168.4.1:8266/ (wel wifi verbinding met de AP van de HUZZAH maken!)
Tips en Trucks:

  • Ctrl-E = speciale knip en plak modus om grote stukken tekst te knippen en te plakken.
  • Ctrl-A on a blank line will enter raw REPL mode. This is like a permanent paste mode, except that characters are not echoed back.
  • Ctrl-B on a blank like goes to normal REPL mode.
  • Ctrl-C cancels any input, or interrupts the currently running code.
  • Ctrl-D on a blank line will do a soft reset.

Wifi van AP naar IF Access WebREPL From Other WiFi Networks

Ok, we hebben gezien dat je kunt connecten door van de Huzzah een AP te maken. Niet handig als je tegelijkertijd ook wil internet.

Start een seriële screen sessie en voer het volgende in:

import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('ssid', 'password')

Controleer de verbinding met wlan.ifconfig() (Hier zie je ook het ip-adres van de board)
Goed om te onthouden is dat de HUZZAH de internetgegevens onthoudt. Je zou ervoor kunnen kiezen om de board een vast ip adres te geven.

Ga nu naar http://micropython.org/webrepl/ vul het juiste ip-adres in en je kunt los. (Let op dat je op hetzelfde wifi netwerk zit.)

One Comment on “MicroPython installeren op Huzzah Feather ESP8266

[…] the Feather Huzzah ESP8266 board is really easy if you follow this tutorial or my previous post […]

Beantwoorden

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *