Sådan kommer du i gang med FreeRTOS og ESP8266

For nylig købte jeg en NodeMCU fra AliExpress til omkring $ 4. Grunden til, at jeg gjorde dette, var for at finde ud af, hvad alt det drejer sig om med ESP8266.

NodeMCU er en open source IoT-platform. Det inkluderer firmware, der kører på ESP8266 Wi-Fi SoC fra Espressif Systems, og hardware, der er baseret på ESP-12-modulet.

Sammenlignet med Arduino UNO slår min ESP8266 det helt ud af parken, når det kommer til CPU-strøm og pris.

ESP8266 er 500% hurtigere og 82% billigere end Arduino. ESP8266 har også WiFi-forbindelse.

Jeg var meget overrasket, da jeg besøgte Espressif-webstedet til ESP8266. Der er masser af dokumentation og ressourcer, som du kan bruge. For eksempel er der en Android-applikation, der fortæller din ESP8266 at oprette forbindelse til din WiFi. Appen sender SSID og adgangskode som pakker, ESP8266 sniffer dem, og derefter opretter den forbindelse til din WiFi. Dette kaldes SmartConfig og blev opfundet af Texas Instruments.

I denne artikel vil jeg guide dig til opsætning og kørsel af Smart Config-eksemplet fra Espressif RTOS SDK.

Her er de ting, du har brug for:

  • En moderne computer.
  • Et NodeMCU-kort med ESP12-E
  • VirtualBox (//www.virtualbox.org/wiki/Downloads)
  • Ubuntu Server LTS (//www.ubuntu.com/download/server)

Konfiguration af VirtualBox til udvikling

  1. Download VirtualBox og installer Ubuntu Server. Dette burde være let at gøre, men hvis du ikke ved hvordan, google det eller se på denne grafiske trin for trin vejledning. Installation af et operativsystem er en god færdighed at have. (Tip: Når VirtualBox beder dig om at vælge disken, skal du gøre den dynamisk tildelt og mindst 50 GB i størrelse. Dette sparer dig hovedpine længere nede på linjen.)
  2. Sørg for, at du kan få adgang til internettet fra den virtuelle maskine og konfigurere DNS-serveren:

Se dette eksempel for at konfigurere DNS-serveren.

Eksempel: dns-nameservers 8.8.8.8 8.8.4.4Hvis du kan pinge Google, er du klar til at gå!

3. (Valgfrit) Installer OpenSSH- og Samba-serveren. Dette vil gøre dit liv meget lettere.

4. (Valgfrit) Aktiver portvideresendelse. For at SSH direkte på din virtuelle maskine skal du aktivere portvideresendelse. For eksempel at kortlægge port 2222 på din værtsmaskine til port 22 på din virtuelle maskine .

Hvis du har aktiveret portvideresendelse, kan du nu SSH ind på din virtuelle maskine fra din værtsmaskine som i nedenstående figur.

Bemærk: Hvis du bruger Windows, skal du bruge Putty for at SSH på den virtuelle maskine.

5. Sæt din NodeMCU i, og udfør følgende kommando:

tail -f /var/log/kern.log

Dette skulle afsløre for dig, at enheden er blevet identificeret som / dev / ttyUSB0. Hvis der ikke sker noget, skal du tilføje USB til den virtuelle maskine. Når du har tilføjet USB, skal du trække stikket ud og tilslutte enheden igen.

Hvis du har nået dette punkt, og alle ting fungerer, tillykke ! Du er nu klar til at kompilere SDK og køre SmartConfig-eksemplet. Du kan endda skyde en tweet til mig på //twitter.com/metonymyqt

Kompilering af SDK og blinkende kort

  1. Installer de nødvendige pakker (som nedenfor). Denne info er også tilgængelig på SDK's readme.md.
sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2 libtool-bin

2. Opret en ny mappe, og naviger ind i den: mkdir Development && cd Development

3. Klon Open SDK: //github.com/pfalcon/esp-open-sdk

git clone --recursive //github.com/pfalcon/esp-open-sdk.git

3. Kør mærke: make

Advarsel: Dette trin vil tage et stykke tid at afslutte, så vær tålmodig. På min virtuelle maskine afsluttede den efter 50 minutter. På din kan det tage mere eller mindre, men inden du kører, skal du sørge for at du har forbindelse til internettet, og DNS er korrekt konfigureret . Den bedste måde at kontrollere dette på er at udføre en ping til Google eller et andet websted, hvis Google er blokeret i din region.

Hvis din ping er vellykket, kan du minimere vinduerne og se en episode af dit yndlings-tv-show. Kom tilbage efter cirka 40 minutter (men sørg for, at din computer ikke går i dvale).

Når SDK er bygget med succes, vil du se en besked, der fortæller dig, at du skal lægge noget på din vej. For at gøre dette skal du udføre følgende:

echo 'export PATH=/home/denis/Development/esp-open-sdk/xtensa-lx106-elf/bin:$PATH' >> ~/.profile

Kommandoen tilføjer strengen til ~ / .profile- filen. Kør nu følgende kommando:

xtensa-lx106-elf-gcc --version

Hvis kommandoen udføres med succes, er du klar til at gå!

4. Test dit tavle

Sæt din NodeMCU, og kør lsusb for at kontrollere, at din enhed er tilsluttet. Kør derefter esptool.py chip_id . Du skal nu se bestyrelsens chip-id.

5. Klon ESP8266_RTOS_SDK

git clone //github.com/espressif/ESP8266_RTOS_SDK.git

6. Eksporter SDK-stien og SDK / BIN-stien ved hjælp af nedenstående kommandoer.

echo 'export SDK_PATH=/home/denis/Development/ESP8266_RTOS_SDK' >> ~/.profile
echo 'export BIN_PATH=/home/denis/Development/ESP8266_RTOS_SDK/bin' >> ~/.profile

7. Kompiler SmartConfig-eksemplet

cd /home/denis/Development/ESP8266_RTOS_SDK/examples/smart_config/
chmod +x ./gen_misc.sh
./gen_misc.sh

Accepter nu standardværdierne, indtil du bliver bedt om SPI_SIZE_MAP. Det er her, du vælger 4, fordi NodeMCU har en flashstørrelse på 32Mbit, og dette oversættes til 4MB. Du kan også vælge SPI_SPEED 3 = 80Mhz

Du kan se noget som dette:

!!!SDK_PATH: /home/denis/Development/ESP8266_RTOS_SDKBIN_PATH: /home/denis/Development/ESP8266_RTOS_SDK/bin
No boot needed.Generate eagle.flash.bin and eagle.irom0text.bin successully in BIN_PATHeagle.flash.bin — — — →0x00000eagle.irom0text.bin — →0x20000!!!

8. Blink brættet

cd $BIN_PATH
esptool.py erase_flash
esptool.py write_flash 0x00000 $BIN_PATH/eagle.flash.bin 0x20000 $BIN_PATH/eagle.irom0text.bin 0x3FC000 $BIN_PATH/esp_init_data_default.bin

Nu, hvis du nulstiller tavlen, skal du ikke se, at nogen LED blinker.

9. Brug telefonapplikationen

  • Android-applikation
  • iPhone-applikation

Åbn applikationen, sørg for at du har forbindelse til en WiFi-AP, indtast din adgangskode, og tryk på bekræft. Efter et par sekunder skal ESP8266 oprette forbindelse til din AP. Det er det. Tillykke med slutningen!

Hvis du vil udvikle mere ved hjælp af ESP8266-RTOS-SDK, skal du besøge de officielle websteder. Du finder mange ressourcer og dokumentation der. Se også de andre eksempler, der findes i SDK-mappen.

Mange tak for din tid til at læse dette. Hvis du vil kontakte mig, kan du gøre det på Twitter: MetonymyQT

Ressourcer

  • ESP8266 Oversigt
  • ESP8266 Ressourcer
  • FreeRTOS-websted