Ovdje se nalaze osnovne upute kako programirati pločice bazirane na ESP8266 mikrokontroleru pomoću Arduino razvojnog okruženja. Demonstrirat ćemo to kroz jednostavni IoT blink primjer (web server). Upute su namijenjene početnicima i nastale su u sklopu radionice IoT.
ESP8266 mikrokontroler kineskog proizvođača pažnju je privukao 2014. godine zbog svoje izrazito niske cijene i specifikacija poput mogućnosti spajanja na mrežu putem WiFi-a. Moduli imaju Xtensa 32-bitni CPU sličan MIPS-u, par MB flash memorije i antenu. Postoji nezavisna podrška za Arduino core preko slobodnog softwarea na githubu tako da ESP8266 modul može biti programiran iz Arduino razvojne okoline i služiti kao Arduino mikrokontroler, a usput i biti wifi internet klijent ili server.
Predradnje:
File > Preferences > Additional Boards Manager
paste-ati: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Tools > Boards > Boards manager
upisati esp8266
i instalirati podršku za ESP pločice CH340 USB to UART driver http://www.wch.cn/download/CH341SER_ZIP.html ili https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver/blob/master/CH34x_Install_V1.4.zip
Tools > Boards
izabrati WeMos R2 & mini
Tools > Port
izabrati port koji mu je dodjeljenFile > Examples > ESP8266 > Blink
probati Blink primjerSketch > Upload
. Ako LED-ica blinka idemo dalje:Sketch > Upload
Tools > Serial Monitor
gdje bi se trebala ispisati IP adresa našeg ESP-a (ako se ispisuju čudni karakteri kao brzinu treba odabrati 115200
)Dolazi sa CH340 USB-to-UART chipom za koji je potrebno instalirati odgovarajuće drivere za Windows i OSX. Podrška za neke verzije OSX-a je loša i možda ga uopće neće biti moguće osposobiti.
Tools > Boards
izabrati NodeMCU 0.9
Tools > Port
izabrati port koji mu je dodjeljenFile > Examples > ESP8266 > Blink
probati Blink primjerSketch > Upload
. Ako LED-ica blinka idemo dalje:Sketch > Upload
Tools > Serial Monitor
gdje bi se trebala ispisati IP adresa našeg ESP-a (ako se ispisuju čudni karakteri kao brzinu treba odabrati 115200
)Dolazi sa CH340 ili CP2102 USB to UART chipom. CP2102 je kvadratnog oblika (kao na slici iznad) i za njega nije potrebno instalirati drivere (Win, Linux, OSX). U slučaju CH340 na Windowsima i OSX-u, potrebno je instalirati odgovarajuće drivere: http://www.wch.cn/download/CH341SER_ZIP.html
Za programiranje ove pločice potrebno je imati USB to Serial/TTL adapter. Takvi adapteri koštaju oko 1.5–5$, a omogućavaju nam serijsku komunikaciju putem USB porta. Spajanje treba napraviti prema slijedećoj shemi:
Kod ove varijante pločice ugrađena LED-ica se nalazi na istom pinu preko kojeg ide i serijska komunikacija, pa ćemo za sljedeće primjere trebati spojiti dodatnu LED-icu (prema shemi gore), a u kȏdu izmjeniti sva pojavljivanja BUILTIN_LED
(defaultni pin LED-ice) u 2
.
Važno!!! IO0
s GND
-om treba biti povezan samo za vrijeme spajanja esp-a s napajanjem. Prije kompajliranja i upladanja s Adruino IDE-om potrebno je IO0
odspojiti s GND
-a. U protivnom su moguće greške (npr. warning: espcomm_sync failed, error: espcomm_open failed). To treba napraviti pri svakom slijedećem uploadanju koda.
IO0
s GND
-aTools > Boards
izabrati Generic ESP8266
Tools > Port
izabrati port koji mu je dodjeljenFile > Examples > ESP8266 > Blink
probati Blink primjer. Izmjeniti sva pojavljivanja BUILTIN_LED
u 2
)Sketch > Upload
. Ako LED-ica blinka idemo dalje:BUILTIN_LED
u 2
Sketch > Upload
Tools > Serial Monitor
gdje bi se trebala ispisati IP adresa našeg ESP-a (ako se ispisuju čudni karakteri kao brzinu treba odabrati 115200
)
Za programiranje potrebno je ESP spojiti putem USB to serial adapter-a prateći tablicu u nastavku. VCC treba biti 3.3V. Detaljnije ovdje
USBSERIAL | wire | ESP-12 | ESP-201 |
---|---|---|---|
GND | black | GND | GND |
GND | 1k | GPIO15 | 1015 |
VCC | 1k | EN or CH_PD | CHIP_EX |
VCC | red | VCC 3.3V | 3.3V |
RXD | orange | TXD | TX |
TXD | white | RXD | RX |
DTR | green | GPIO0 | 100 |
RTS | yellow | REST | RST |