ESP8266 er en prisgunstig 32-bit-mikrokontroller med lavt strømforbruk fra det kinesiske selskapet espressif. Det åpne designet gjør det mulig å bygge opp WLAN-kontrollerte aktuatorer og sensorer. Blant de fri utviklingsverktøyene er GNU Compiler Collection inkl. Toolchain tilgjengelig.

ESP8266-IC
En ESP8266-modul i vanlig handel med prosessorbrikke (til venstre) og eksternt flashminne for fastvaren (til høyre). I den øvre delen av bildet ses den trykte WLAN-antennen
BILDE AV ESP8266 halvlederchip

Arkitektur rediger

32-bit-Prosessorkjernen av typen Xtensa LX106 fra Tensilica har en Systemklokke med 80 MHz – 160 MHz, har 64 kb RAM programminne, 96 kB RAM som dataminne og et internt ROM, som inkluderer en uforanderlig boot-loader. Som særlig kjennetegn og av kostnadsårsaker har ikke ESP8266 noe internt, ikke-flyktig og programmerbart flashminne for applikasjonsspesifikk fastvare. Fastvaren er fullstendig lagret i et eksternt, serielt flashminne, og lastes blokk for blokk inn i det interne RAM-minnet for utførelse og blir utført der.[1] For periferi er blant annet et SPI-grensesnitt og et integrert trådløst lokalt datanett (WLAN etter IEEE 802.11 b / g / n) tilgjengelig.

Mikrokontrolleren er også å få sammen med en minimalkrets med kvartsoscillator og flashminne i form av ulike moduler for direkte bruk. Alt etter modultype er opptil tolv I/O-porter, et I²C-grensesnitt, et I²S-grensesnitt, et SPI-grensesnitt, et asynkront serielt grensesnitt (UART) og en 10-bit analog-til-digital omformer tilgjengelig utenfra. Alle I/Os blir drevet med 3.3 V.

Koding rediger

Ved siden av GCC og direkte programmering i C finnes forskjellige fastvarevarianter :

  • Lua-basert interaktiv programmering under betegnelsen NodeMCU.
  • Micropython (Python-basert interaktiv programmering)
  • Circuitpython Python-basert interaktiv programmering)
  • Arduino-/C++-basert programmering.[2]
  • At-Command for bruk som et serielt til WLAN grensesnitt
  • ESP Easy for styring av sensorer / aktuatorer via WLAN
  • ESP BASIC

Fastvarevariantene NodeMCU og Micropython støtter interaktiv programmering av ESP8266. Programmene lagres i det eksterne flashminnet, og den kompliserte minnehåndteringen, for eksempel den nødvendige blokk-for-blokk-omlasting av eksterne programdata i det interne RAM-minnet, blir abstrahert av utvikleren ved hjelp av passende programvarefunksjoner, noe som i stor grad forenkler programmeringen av ESP8266.

Som etterfølger av ESP8266 har espressif utviklet mikrokontrolleren ESP32 med noen forbedringer som bluetooth og en Hallsensor.

Litteratur rediger

  • Erik Bartmann: Das ESP8266 Praxsisbuch: Mit NodeMCU und ESPlorer. Elektor-Verlag, 2016, ISBN 978-3-89576-321-2.
  • Neil Kolban: Kolban's Book on the ESP32 & ESP8266. Leanpub (english)

Lenker rediger

Referanser rediger