NodeMCU jest to mikrokontroler oparty o układ WiFi ESP8266 można go programować w dwóch językach programowania LUA oraz C. Zdecydowanie polecam programowanie w języku C za pomocą Arduino IDE ponieważ społeczność jest zdecydowanie bardziej rozwinięta, możemy używać większej ilości dostępnych bibliotek oraz tutoriali.
Przygotowanie środowiska Arduino IDE
Środowisko programistyczne możemy ściągnąć ze strony https://www.arduino.cc/en/software wybierając swój system operacyjny. Po pobraniu oraz instalacji przyszedł czas na uruchomienie.
Po uruchomieniu środowisko jest gotowe do pracy z płytkami Arduino, aby móc programować NodeMCU, musimy zrobić dodatkowe kroki.
Na początku należy przejść do ustawień (Arduino -> preferences). W polu Dodatkowe adresy URL do menadżera płytek musimy wkleić URL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Po czym należy kliknąć OK.
Kolejnym krokiem jest zainstalowanie płytek, aby to zrobić należy przejść do Menadżera płytek (Narzędzia -> Płytka: … -> Menadżer płytek…). W wyszukiwarce należy wpisać esp8266 po czym Instaluj.

Gdy instalacja przebiegnie pomyślnie możemy spróbować zaprogramować naszą płytkę NodeMCU. Aby to zrobić należy podłączyć płytkę za pomocą kabla USB do komputera.
Po podłączeniu należy wybrać odpowiednią płytkę (Narzędzia -> Płytka: … -> ESP8266 Boards -> NodeMCU 0.9 (ESP-12 Module))

Po wybraniu płytki należy jeszcze wybrać port do którego jest podłączona nasza płytka. Najłatwiej jest to zrobić odłączając i podłączając mikrokontroler do komputera i sprawdzanie, który port się pojawi w (Narzędzia -> Port: …). W moim przypadku jest to /dev/cu.usbserial-1430.

Wgrywanie testowego programu
Większość poradników bazuje na programie Blink (czyli mruganie diodą wbudowaną w płytkę). My spróbujemy zrobić to w inny sposób mianowicie wpisywanie cyklicznie frazy na port szeregowy i zczytywanie tego za pomocą monitora portu szeregowego.
W polu tekstowym wpisujemy poniższy kod:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Ailve");
delay(2000);
}
Po upewnieniu się, że mamy wybraną dobrą płytkę oraz wrzuceniu kodu w pole tekstowe możemy spróbować zaprogramować mikrokontroler za pomocą strzałki w prawo na górnym pasku aplikacji.

Po pomyślnym programowaniu dostaniemy informację Ładowanie zakończone.

Monitorowanie portu szeregowego
Aby odczytać informacje jakie są wysyłane przez mikrokontroler przez port szeregowy należy wejść (Narzędzia -> Monitor portu szeregowego).
U dołu należy wybrać odpowiednią prędkość, w naszym przypadku jest to 9600 bodów. Po wybraniu odpowiedniej prędkości co dwie sekundy powinniśmy otrzymywać wiadomość Alive.
Co dalej?
W kolejnym wpisie przedstawię jak podłączyć do NodeMCU do sieci WiFi. Kolejnymi krokami będą podłączenie czujnika temperatury oraz wilgotności DHT22 i dodanie odczytów do Domoticza.