torsdag 5. november 2015

Komme i gang med Arduino IDE sammen med NodeMCU

Mitt blogginnlegg om å komme i gang med NodeMCU hadde jeg trodd skulle fortsatt med koding i LUA-script. Men det var ikke så bra å kode i det språket. Jeg vurderte å teste Expressif også, men til syvende og sist fant jeg ut at jeg skulle teste Arduino IDE sammen med NodeMCU.

Årsaken for at jeg fant ut at jeg måtte gå videre var:

  • Merkelige feil i de få bibliotekene som eksisterer
  • Ikke like mange biblioteker som Arduino har
Det er egentlig ikke så "alvorlige" feil, men det er jo feil som gjør at man river seg i hodet.
Jeg prøvde til og med å gå over på DEV-firmware, men det hjalp ikke. Jeg kom meg litt videre, men fikk bare nye feil og merkeligheter :-P



Fremgangsmåte for å få NodeMCU DEV V2 til å virke i Arduino IDE

Først åpner du github / esp8266 / Arduino og kopier stien til board manager. Per i dag er den:
http://arduino.esp8266.com/stable/package_esp8266com_index.json , denne må legges inn i File>Preferences>Additional boards manager URL.
Her ser man boards manager med stien.

Når dette er gjort, tar man å trykker OK.

Søk etter ESP i Tools > Board > Boards manager, velg
så installer.

Når den er ferdig, slår du av Arduino IDE. Slå deretter på Arduino IDE, velg Tools> Board > NodeMcu V1 (ESP12E Module). Deretter tar du Tools > Programmer > "USBasp".

Nå kan du se om det virker, ta File > Example > DHT Sensor Library > DHT Tester.
Hold inne knappen "FLASH" på NodeMCU mens du laster opp fra Arduino IDE.

Hvis du får feilmelding med:
packages/esp8266/tools/xtensa-lx106-elf-gcc
Da må du laste ned en fil manuelt, se: https://github.com/esp8266/Arduino/issues/612.
På windows vil du laste ned libm.a og legge den inn i:
C:\Users\DITTBRUKERNAVN\AppData\Roaming\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9\xtensa-lx106-elf\lib

NB! Filen er pakket (to ganger), den kan pakkes ut med 7-zip.

Slå nå av Arduino IDE og slå den på igjen.
Prøv igjen å laste opp kode samtidig som at du holder inne "FLASH".

Hvis du nå har ingen problemer, er det tid for kaffe. Hvis ikke, må du mest sannsynlig legge inn følgende i boards.txt:

I Windows må du først åpne for eksempel notepad++ som administrator, deretter åpne filen, legge det inn på bunnen og lagre. Deretter restarter du Arduino IDE nok en gang og prøver igjen.

Nå bør det virke :-) Hvis ikke, må du selge PCen din på finn.

Last opp din første kode på NodeMCU med Arduino IDE!

Etter feilsøkingen ovenfor kan du laste opp din første kode,
hold inne flash-knappen på NodeMCU og trykk på last opp i Arduino IDE

Nå kan du åpne konsollet (Tools>Serial Monitor). Følg med på magien:


For at du skal få opp noe her, må du jo nødvendigvis ha en DHT22 eller en DHT11 sensor, samt du må velge riktig sensortype i koden og koble den riktig opp på NodeMCU. Jeg brukte DHT22 laget for Arduino (shield), den skal ha +5V, Jord og en IO-port. Jeg koblet jord på GND, +5V på SD2 og D4 brukte jeg som IO-pin.