Arduino to znane i lubiane środowisko. Integruje w sobie wszystko, co niezbędne do programowania mikrokontrolerów Atmel w prosty i przyjazny sposób. Swoją popularność zawdzięcza przede wszystkim łatwemu do opanowania IDE oraz wielu dostępny bibliotekom i rozszerzeniom sprzętowym (shield). Nic więc dziwnego, że powstał projekt umożliwiający bezpośrednie programowanie układów ESP8266 w taki sposób, jakby to były kolejne wersje układów Arduino. W tym artykule dostosujemy Nasze ArduinoIDE do współpracy z układami ESP8266.

Pierwsze, co należy zrobić to zainstalować Pakiet Arduino w wersji nie niższej niż 1.6.4. Jeżeli mamy zainstalowane środowisko Arduino, to sprawdzamy tylko wersję... Wersja środowiska znajduje się na belce okna programu (zrzut poniżej), ja mam zainstalowaną wersję 1.8.1.

Oczywiście, jeżeli mamy zainstalowaną starą wersję środowiska, to pobieramy najnowsze ze strony arduino.cc

Następnym krokiem jest instalacja odpowiednich bibliotek. Po uruchomieniu środowiska programistycznego Arduino przechodzimy do menu Preferencje (Plik->Preferencje) i w opcji  "Dodatkowe adresy URL do menedżera płytek" wklejamy adres:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Następnie przechodzimy do Menedżera płytek (Narzędzia->Płytka->Menedżer płytek),

odnajdujemy na liście "esp8266 by ESP8266 Community" i instalujemy paczkę.

Po tej operacji powinniśmy mieć zainstalowaną dostępną rodzinę płytek ESP8266 (lista poniżej układów Arduino)

Po tych kilku operacjach mamy gotowe środowisko Arduino, które możemy wykorzystać do pisania i wgrywania programów do układu ESP8266. Nie pozostaje nam nic innego, jak sprawdzić, czy wszystko funkcjonuje prawidłowo. Skompilujemy i uruchomimy typowy program typu "Hello world", co w przypadku mikrokontrolerów sprowadza się do mrugania diodką...;) W tym celu napiszemy prosty program, który skopiujemy z działu "Arduino"...

const int ledPin =  2; 
// numer pinu LED w układzie ESP-12E

void setup()
   {
      pinMode(ledPin, OUTPUT); 
   }

void loop()
   {
      digitalWrite(ledPin, HIGH);     
          //stan wysoki
      delay(500);                        
          //czekaj 0,5s (500ms) 
      digitalWrite(ledPin, LOW);     
          //stan niski
      delay(500);                        
          //czekaj 0,5s (500ms)
   }

 Kompilujemy program i wgrywamy go do układu ESP8266. Oczywiście przed kompilacją i wgrywaniem należy wybrać odpowiednią wersję układu ESP8266, częstotliwość pracy procesora ilość pamięci i port do którego został podłączony okład ESP. Wszystkie udostępnione na naszej stronie programy będą testowane z wykorzystaniem układy ESP-12E, a dokładniej płytki uruchomieniowej NodeMcu czyli ESP-12E z dobudowanym konwerterem RS-USB i pinami w rozstawie 2,54mm co umożliwia stosowanie płytki stykowej w prototypach.  Jeżeli wszystko zostało wykonane prawidłowo nasz układ powinien zacząć migać wbudowaną diodą.