Kezdő lépések a FreeRTOS és az ESP8266 használatával

Nemrégiben vettem egy NodeMCU-t az AliExpress-től körülbelül 4 dollárért. Azért tettem ezt, hogy kiderítsem, mi a nagy felhajtás az ESP8266-mal.

A NodeMCU egy nyílt forráskódú IoT platform. Tartalmaz egy firmware-t, amely az ESP8266 Wi-Fi SoC-n fut az Espressif Systems-től, és az ESP-12 modulon alapuló hardvert.

Az Arduino UNO-hoz képest az ESP8266-os készülékem teljesen kiüti a parkból, amikor a processzor teljesítményéről és áráról van szó.

Az ESP8266 500% -kal gyorsabb és 82% -kal olcsóbb, mint az Arduino. Az ESP8266 rendelkezik WiFi kapcsolattal is.

Nagyon meglepődtem, amikor felkerestem az ESP8266 Espressif webhelyét. Rengeteg dokumentáció és erőforrás használható. Van például egy Android-alkalmazás, amely megmondja az ESP8266-nak, hogy csatlakozzon a WiFi-hez. Az alkalmazás csomagként küldi az SSID-t és a jelszót, az ESP8266 szimatolja őket, majd csatlakozik a WiFi-hez. Ezt SmartConfig-nek hívják, és a Texas Instruments találta fel.

Ebben a cikkben útmutatást adok az Espressif RTOS SDK Smart Config példájának beállításához és futtatásához.

A következőkre lesz szüksége:

  • Egy modern számítógép.
  • ESP12-E NodeMCU kártya
  • VirtualBox (//www.virtualbox.org/wiki/Downloads)
  • Ubuntu Server LTS (//www.ubuntu.com/download/server)

A VirtualBox konfigurálása a fejlesztéshez

  1. Töltse le a VirtualBox szoftvert és telepítse az Ubuntu Server alkalmazást. Ennek könnyen elvégezhetőnek kell lennie, de ha nem tudja, hogyan, akkor Google-on vagy nézze meg ezt a grafikát lépésről lépésre. Az operációs rendszer telepítése jó képesség. (Tipp: Amikor a VirtualBox felszólítja a lemez kiválasztására, tegye dinamikusan kiosztottá és legalább 50 GB méretűvé. Ez némi fejfájást takarít meg a sorban.)
  2. Győződjön meg arról, hogy hozzáférhet az internethez a virtuális gépen keresztül, és konfigurálja a DNS-kiszolgálót:

A DNS-kiszolgáló konfigurálásához tekintse meg ezt a példát.

Példa: dns-nameservers 8.8.8.8 8.8.4.4Ha tudsz pingelni a Google-on, akkor jó vagy!

3. (Opcionális) Telepítse az OpenSSH és a Samba szervert. Ez sokkal könnyebbé teszi az életedet.

4. (Opcionális) Engedélyezze a port továbbítását. Az SSH közvetlenül a virtuális gépbe történő bekapcsolásához engedélyeznie kell a port továbbítását. Például, hogy feltérképezzük a port 2222 a kiszolgáló gép a 22-es port a virtuális gép .

Ha engedélyezte a port-továbbítást, akkor az alábbi ábrán látható módon SSH-t adhat a virtuális gépbe a gazdagépéről.

Megjegyzés: Ha Windows operációs rendszert használ , akkor a Putty-ra van szüksége, hogy SSH-t tudjon adni a virtuális géphez.

5. Csatlakoztassa a NodeMCU egységet, és hajtsa végre a következő parancsot:

tail -f /var/log/kern.log

Ennek kiderülhet, hogy az eszközt / dev / ttyUSB0 néven azonosították. Ha semmi sem történik, akkor hozzá kell adnia az USB-t a virtuális géphez. Az USB hozzáadása után húzza ki és csatlakoztassa ismét a készüléket.

Ha elérted ezt a pontot, és minden működik, gratulálunk ! Most már készen áll az SDK összeállítására és a SmartConfig példa futtatására. Még egy tweetet is lőhet nekem a //twitter.com/metonymyqt címen

Az SDK összeállítása és a tábla villogása

  1. Telepítse a szükséges csomagokat (az alábbiak szerint). Ez az információ az SDK readme.md fájlján is elérhető.
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. Hozzon létre egy új mappát, és keresse meg azt: mkdir Development && cd Development

3. Klónozza az Open SDK-t: //github.com/pfalcon/esp-open-sdk

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

3. Futtassa a make: make

Figyelem: Ez a lépés eltart egy ideig, ezért legyen türelmes. A virtuális gépemen 50 perc múlva fejeződött be. A magáénak többé-kevésbé eltarthat, de a futtatás előtt ellenőrizze, hogy csatlakozik-e az internethez, és a DNS megfelelően van-e konfigurálva . Ennek ellenőrzésére a legjobb módja egy ping végrehajtása a Google-nak vagy más webhelynek, ha a Google le van tiltva az Ön régiójában.

Ha a pingelés sikeres, minimalizálhatja az ablakokat, és megnézheti kedvenc tévéműsorának egy epizódját. Térjen vissza körülbelül 40 perc múlva (de ellenőrizze, hogy a számítógép nem alszik).

Az SDK sikeres felépítése után megjelenik egy üzenet, amely arra kéri, hogy tegyen valamit az útjába. Ehhez hajtsa végre a következőket:

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

A parancs hozzáfűzi a karakterláncot a ~ / .profile fájlhoz. Most futtassa a következő parancsot:

xtensa-lx106-elf-gcc --version

Ha a parancs sikeresen végrehajtódik, akkor jó!

4. Tesztelje a tábláját

Csatlakoztassa a NodeMCU-t, és futtassa az lsusb-t annak ellenőrzéséhez, hogy az eszköz csatlakoztatva van-e. Ezt követően futtassa az esptool.py chip_id fájlt . Most látnia kell a tábla chip-azonosítóját.

5. ESP8266_RTOS_SDK klón

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

6. Exportálja az SDK elérési útját és az SDK / BIN elérési útját az alábbi parancsok használatával.

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

7. Fordítsa le a SmartConfig példát

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

Most fogadja el az alapértelmezett értékeket, amíg SPI_SIZE_MAP- t nem kér. Itt választja a 4-et, mert a NodeMCU vakumérete 32 MB, és ez 4 MB-ra változik. Kiválaszthatja a SPI_SPEED 3 = 80Mhz értéket is

Valami ilyesmit fog látni:

!!!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. Gyújtsa be a táblát

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

Now, if you reset the board, you should see no LED blinking.

9. Use the Phone Application

  • Android Application
  • iPhone Application

Open the Application, make sure that you’re connected to a WiFi AP, enter your password, and press confirm. After a few seconds the ESP8266 should connect to your AP. That’s it. Congratulations for reaching the end!

If you want to develop more using the ESP8266-RTOS-SDK, please visit the official websites. You’ll find a lot of resources and documentation there. Also, please take a look at the other examples found in the SDK folder.

Thank you very much for your time reading this. If you want to reach out to me, you can do so on Twitter: MetonymyQT

Resources

  • ESP8266 Overview
  • ESP8266 Resources
  • FreeRTOS Website