This is an old revision of the document!
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 https://www.wemos.cc/downloads ili http://www.wch.cn/download/CH341SER_ZIP.html
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
)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 ne treba instalirati nikakve drivere (Win, Linux, OSX). Za CH340 podršku na Windowsima i OSX-u, treba 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 |