Arduino IDE 1.8.1 setup voor ESP8266

Het probleem

De ‘Get started‘ aanwijzingen voor de WeMos D1 mini op de WeMos site werken niet voor Cellie.
De linker geeft vage foutmeldingen en er komt geen executable tevoorschijn.
Het lijkt dat de aanwijzingen toegespitst zijn op de nieuwe revisie met 16MB flash geheugen.
De linker lijkt te klagen over onvoldoende geheugen blablah…
Anyway,

De oplossing

  1. Installeer de Arduino IDE.
  2. Ga naar File>Preferences en in het veld ‘Additional Boards Manager URLs:‘ voer  de volgende URL in:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    en druk op ‘OK‘.
  3. Restart de Arduino IDE.

Should work now.

de links:

https://github.com/esp8266/Arduino#installing-with-boards-manager

ESP8266 – .softAP() en .softAPConfig in Arduino IDE

De config komt na de init. Dus:

WiFi.softAPConfig( myIPAdress, myGateway, mySubnet );
WiFi.softAP( "myAP" );

is fout en

WiFi.softAP( "myAP" );
WiFi.softAPConfig( myIPAdress, myGateway, mySubnet );

is goed.

Same goes for WiFi.config() en WiFi.begin().
Eerst de init dan de config.
https://github.com/esp8266/Arduino/issues/128#issuecomment-96787709

ESP8266 (4MB) met MicroPython flashen.

  1. Download de juiste esptool van GitHub:
    https://github.com/themadinventor/esptool/
    en pak deze uit.
  2. Wis het flashgeheugen.
    esptool.py --port /dev/ttyUSB0 erase_flash
  3. Download de MicroPython ESP8266 firmware en pak deze uit.
  4. Flash de firmware met:
    esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=32m 0 esp8266-2016-05-03-v1.8.bin

    Dus niet size=8m zoals in de documentatie van MicroPython staat maar size=32m. De optie size=8 is geschikt voor boards met 1MB flashgeheugen.
    Eventueel --baud 460800 aanpassen naar bv. --baud 115200 als er errors tijdens het flashen optreden.

Espruino WiFi setup.

var wifi = require("Wifi");
 
var WiFidata= { ssid:"XXXXXXXXXXX", key:"XXXXXXXXXX" };
var wifiConnection ;

function showIP(){
 console.log( "Got IP: " + wifiConnection.ip );
}

function onInit() {
 console.log("connecting to WiFi network '" + WiFidata.ssid +'"');
 wifi.connect(WiFidata.ssid, { password:WiFidata.key }, function(err){
 wifiConnection = wifi.getIP( showIP );
 });
}