Datasheet: esp8266ex_datasheet_en.pdf
Voeding: +3V t/m +3,6V GPIO pin: -0.3V t/m Vcc+0,3V
Elke GPIO pin kan de volgende maximale stromen hebben:
De ESP8266 staat bekend om z´n stroomverbruik. Het is niet een voor de hand liggende chip om langdurig met een batterij te voeden, maar het kan wel: https://tzapu.com/minimalist-battery-powered-esp8266-wifi-temperature-logger/ Om te flashen is een voeding met een minimum van 300mA nodig.
Voor de deep sleep is een externe reset nodig, die gestuurd wordt door de WAKE (D0/GPIO16) pin. Tussen deze twee pinnen moet een draadje gelegd worden. Dit is bij de NodeMCU en de ESP-12S goed te doen. http://www.esp8266.com/wiki/doku.php?id=esp8266_power_usage#deep_sleep_mode
Voor de ESP-01 is een print wijziging nodig, zie hier: https://tzapu.com/minimalist-battery-powered-esp8266-wifi-temperature-logger/
Created donderdag 07 februari 2019
Dit zijn de nivo´s waaraan voldaan moet worden om in de flash modus te komen.
| GPIO15 | GPIO0 | GPIO2 | Mode |
|---|---|---|---|
| Low | Low | High | Serial programming |
| Low | High | High | Boot from flash |
| High | * | * | Boot from SD card |
Het schema wat ik gebruik om te programmeren is deze. In het voorbeeld is het voor de ESP-01 of de ESP-01S, maar werkt ook voor de ESP-12
Extra
Om te flashen doe het volgende:
Om de geflashte code te runnen doe het volgende:
De blauwe LED op de ESP-01S gaat branden als GPIO2=0
Met wat elektronica hoeft je de Flash en de Reset knop niet meer in te drukken. Zie hier voor meer details hierover: https://tttapa.github.io/ESP8266/Chap06 - Uploading.html
Soms is het niet duidelijk hoeveel MB flash er nu in de ESP8266 zit. Met een eenvoudig programma in de Examples is dit goed te bepalen.
Start Arduino IDe en maak alles klaar om de ESP8266 te flashen.
Bij mijn ESP-12S was de flash grootte was bij aankoop niet gespecificeerd, maar blijkt 4MB.
Serial terminal output:
Flash real id: 001640E0
Flash real size: 4194304
Flash ide size: 524288
Flash ide speed: 40000000
Flash ide mode: DIO
Flash Chip configuration wrong!
Daarna Flash size goed gezet in menu: Tools->Flash Size->4MB (1MB SPIFFS)
Serial terminal output:
Flash real id: 001640E0
Flash real size: 4194304
Flash ide size: 4194304
Flash ide speed: 40000000
Flash ide mode: DIO
Flash Chip configuration ok.
Created dinsdag 06 februari 2018
Goed document om te lezen is de PDF van Ai-thinker: esp8266-esp-01-specs.pdf

Created donderdag 08 februari 2018
Deze sensor leest de DS18B20 temp sensor uit met:
# include <DallasTemperature.h>
https://github.com/milesburton/Arduino-Temperature-Control-Library
En verzendt de gegevens via MQTT met
# include <PubSubClient.h>
https://github.com/knolleary/pubsubclient
BEIDE libraries zijn gewoon via de ArduinoIDE lib manager te downloaden en te updaten.
De voorbeelden in ArduinoIDE van pubsubclient zijn zeer goed en ook gebruikt als template. http://www.instructables.com/id/Remote-Temperature-Monitoring-Using-MQTT-and-ESP82/
Als voorbeeld van deepsleep, batterij status en JSON kan dit genomen worden: https://tzapu.com/minimalist-battery-powered-esp8266-wifi-temperature-logger/ https://github.com/tzapu/DeepSleepDHT22/blob/master/DeepSleepDHT22.ino
Created donderdag 07 februari 2019
Achtergrond info: esp8266-esp12s-specs.pdf
Heb ik hier gekocht: https://www.aliexpress.com/item/1PCS-ESP-12S-ESP-12F-upgrade-ESP8266-remote-serial-Port-WIFI-wireless-module-2016-New-version/32798087835.html
Deze ESP is een SMD versie, om deze op een experimenteer board te kunnen solderen heb je deze nodig: https://www.aliexpress.com/item/ESP8266-serial-WIFI-module-adapter-plate-Applies-to-ESP-07-ESP-08-ESP-12/32350499870.html
Opmerkingen bij pinnen:

Gekocht voor $0,17: https://www.aliexpress.com/item/ESP8266-serial-WIFI-module-adapter-plate-Applies-to-ESP-07-ESP-08-ESP-12/32845959767.html Om de ESP-12S SMD behuizing op te solderen, hier zitten al weerstanden op van 10k op de CH_PD (naar VCC) en de op de GPIO15 pin naar GND. Volgens een verkoper op Aliexpress zou de middelste weerstand weggehaald moeten worden als de 5V regelaar niet gebruikt wordt op de achterkant. Bron: https://www.esp8266.com/viewtopic.php?f=13&t=6505


Created zaterdag 26 januari 2019
Heb ik hier gekocht: https://www.aliexpress.com/item/V2-4M-4FLASH-NodeMcu-Lua-WIFI-Networking-development-board-Based-ESP8266/32647690484.html Gebruikt de CH340G USB-TTL chip
Opmerking: Deze supergoedkope NodeMCU´s (rond 2 euro incl verzendkosten) worden blijkbaar niet heel grondig getest. Het duurde even voordat ik het doorhad, de print functioneerde namelijk redelijk normaal, alleen bij uploaden van firmware kreeg ik een timeout. Na controle bleken er 2 soldeerfouten in te zitten. Namelijk 2 pins maakten contact met elkaar en een andere pin zat met een grote kloder soldeer vast aan een nabijgelegen SMD weerstand. SMD is goed gesoldeerd, de headers zijn handmatig gesoldeerd. Na reparatie werkte de print goed.
Bron: https://www.teachmemicro.com/nodemcu-pinout/

Op GPIO2 (D4) zit een blauwe led. Als deze pin ´0´ gemaakt wordt, gaat de led aan. Aan deze pin zit overigens ook de TXD1 (zie pinout hierboven)
Op de NodeMCU zit een Flash (FLASH) en een Reset (RST) knop. Tijdens het flashen van de firmware hoeft je niets te doen. Via USB worden de RS232 signalen DTR en RTS geschakeld:
De NodeMCU kan gevoed worden via uUSB of via de Vin pin.
Op de NodeMCU zijn naast [Arduino IDE met C](#Index:HuisAutomatisering:ESP8266:NodeMCU:NodeMCU met Arduino IDE) ook interpreters beschikbaar met:
Erg handig bij de interpreters is dat je direct op de hardware pins en andere zaken aan kan sturen. Handig bij prototypen van hardware. Misschien dat ik bij het prototypen iets van Lua of MicroPython gebruik om direct pinnen aan te sturen en uiteindelijk het programma te schrijven in C.
Van de Python en LUA IDE´s is misschien de LuaLoader wel het meest volwassen, het lijkt nog een beetje in de kinderschoenen te staan. Persoonlijk maakt mij LUA of MicroPython niet zoveel uit.
Omdat ik ongeveer alles (JeeNodes, ESP01S) gebruik met de Arduino, en daar ook veel software al bij heb, blijf ik toch bij de [Arduino IDE](#Index:HuisAutomatisering:ESP8266:NodeMCU:NodeMCU met Arduino IDE) om de NodeMCU te programmeren. De IDE´s bij Python en LUA
Bron:
De NodeMCU is voor meerdere programmeertalen te flashen, zie hier https://nodemcu.readthedocs.io/en/master/en/getting-started/ In deze howto ga ik voor de methode om te programmeren met de Arduino IDE in C.
Net als bij de ESP-01S moet het ESP8266 board toegevoegd worden. Omdat ik de ESP-01S al gebruik was dit al ingesteld. Als dit al ingesteld is, ga naar stap 3.
Open in Arduino IDE de ¨Boards manager¨:
Dit is een voorbeeld programma om het blauwe ledje te laten knippperen.
Kopieër en plak dit stukje code in Arduino IDE en druk op Ctrl-U om te compileren en te uploaden naar de NodeMCU
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Created zaterdag 26 januari 2019
Bronnen:
GitHub: https://github.com/nodemcu/nodemcu-firmware
Maak de image. Er is een build server: https://nodemcu-build.com/
Je krijgt een email als de build start en als deze klaar is.
Bronnen:
Download de NodeMCU Firmware Programmer flasher: https://github.com/nodemcu/nodemcu-flasher/raw/master/Win64/Release/ESP8266Flasher.exe
Download de image file vanaf de email als de build klaar is.
Start de ESP8266Flasher.exe (is portable en hoeft niet geïnstalleerd te worden)
Testen Evt is het resultaat te testen om RealTerm de starten op Baudrate: 115200 en je krijgt een LUA prompt.
Alternatieven voor flashen Windows/Linux/Mac
Grafisch: PyFlasher
Commandline: esptool.py
pip install esptool esptool.py —port COM4 write_flash -fm qio 0x00000 nodemcu-1.5.4.1-final-7-modules-2019-01-26-16-11-15-float.bin
Grafisch, gebruikt esptool.py en wxPython: NodeMCU PyFlasher
Bron: https://github.com/4refr0nt/ESPlorer
Download ESPlorer: https://esp8266.ru/esplorer/#download
Pak de ZIP file uit en start ESPlorer.bat om op te starten
Selecteer de goede COM port en klik op Open, het groene lampje ¨open¨ gaat branden
Op mijn NodeMCU V3 zit op GPIO2 (D4) een blauw led, die als test geschakeld kan worden:
gpio.mode(4, gpio.OUTPUT)
print(gpio.read(4),"\n")
gpio.write(4, gpio.LOW)
print(gpio.read(4),"\n")
tmr.delay(1000000)
gpio.write(4, gpio.HIGH)
print(gpio.read(4),"\n")
Hier staat een leidraad om met ESPlorer te werken: https://bigdanzblog.wordpress.com/2015/04/21/esp8266-nodemculua-saving-executing-and-compiling-script-files/
Bron: http://benlo.com/esp8266/index.html#LuaLoader
Download de zip file hier: http://benlo.com/esp8266/index.html#
Pak deze uit, ga naar folder version 0.XX en start LuaLoader.exe
Hier staat een QuickStart guide: http://benlo.com/esp8266/esp8266QuickStart.html
Created zondag 27 januari 2019
Bron:
Download hier de laatste stable firmware bin file: http://micropython.org/download#esp8266
Bron: https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html
Open een Cmd-Terminal in Windows met admin rechten en:
pip install esptool
esptool.py --port COM4 erase_flash
esptool.py --port COM4 --baud 460800 write_flash --flash_size=detect 0 esp8266-20190125-v1.10.bin
Test via Serial terminal
Start een serial terminal en type het volgende en het werkt als een normale Python interpreter:
>>> import machine
>>> pin = machine.Pin(2, machine.Pin.OUT)
>>> pin.on()
>>> pin.off()
Er zijn verschillende IDE´s voor MicroPython, een aantal mogelijkheden zijn hieronder beschreven.
Installeer de package Pymakr in Atom en vul bij de instellingen het volgende in:
https://github.com/jungervin/EsPy
Bron: https://randomnerdtutorials.com/install-upycraft-ide-windows-pc-instructions/
Download hier de laatste versie van uPyCraft: https://github.com/DFRobot/uPyCraft En start deze executable.