Kaip pradėti naudotis „FreeRTOS“ ir „ESP8266“

Neseniai įsigijau „NodeMCU“ iš „AliExpress“ už maždaug 4 USD. Priežastis, kodėl aš tai padariau, buvo išsiaiškinti, koks yra ESP8266 triukšmas.

„NodeMCU“ yra atvirojo kodo IoT platforma. Tai apima programinę aparatinę įrangą, veikiančią „ESP8266 Wi-Fi SoC“ iš „Espressif Systems“, ir aparatinę įrangą, pagrįstą ESP-12 moduliu.

Palyginti su „Arduino UNO“, mano ESP8266 visiškai išmuša jį iš parko, kai kalbama apie procesoriaus galią ir kainą.

ESP8266 yra 500% greitesnis ir 82% pigesnis nei „Arduino“. ESP8266 taip pat turi „WiFi“ ryšį.

Buvau labai nustebęs apsilankęs „Espressif“ svetainėje ESP8266. Yra daugybė dokumentų ir išteklių, kuriuos galite naudoti. Pvz., Yra „Android“ programa, nurodanti ESP8266 prisijungti prie jūsų „WiFi“. Programa siunčia SSID ir slaptažodį kaip paketus, ESP8266 juos nufotografuoja ir prisijungia prie jūsų „WiFi“. Tai vadinama „SmartConfig“ ir išrado „Texas Instruments“.

Šiame straipsnyje aš jums padėsiu nustatyti ir paleisti „Smart Config“ pavyzdį iš „Espressif RTOS SDK“.

Štai ko jums reikės:

  • Šiuolaikinis kompiuteris.
  • „NodeMCU“ plokštė su ESP12-E
  • „VirtualBox“ (//www.virtualbox.org/wiki/Downloads)
  • „Ubuntu Server LTS“ (//www.ubuntu.com/download/server)

„VirtualBox“ konfigūravimas plėtrai

  1. Atsisiųskite „VirtualBox“ ir įdiekite „Ubuntu Server“. Tai turėtų būti lengva padaryti, bet jei nežinote, kaip tai padaryti, „Google“ arba peržiūrėkite šį grafinį žingsnis po žingsnio vadovą. OS įdiegimas yra puikus įgūdis. (Patarimas: kai „VirtualBox“ paragins pasirinkti diską, padarykite jį dinamiškai paskirstytą ir mažiausiai 50 GB dydžio. Tai padės jums sutaupyti šiek tiek galvos skausmo toliau.)
  2. Įsitikinkite, kad galite prisijungti prie interneto naudodamiesi virtualia mašina, ir sukonfigūruokite DNS serverį:

Norėdami sukonfigūruoti DNS serverį, pažiūrėkite į šį pavyzdį.

Pavyzdys: dns-nameservers 8.8.8.8 8.8.4.4jei galite pinguoti „Google“, tada jums tereikia!

3. (Pasirenkama) Įdiekite „OpenSSH“ ir „Samba“ serverį. Tai palengvins jūsų gyvenimą.

4. (Pasirenkama) Įgalinti prievado persiuntimą. Norėdami SSH tiesiogiai į savo virtualią mašiną, turite įgalinti uosto persiuntimą. Pavyzdžiui, į žemėlapį į uostą 2222 jūsų mašiną į uostą 22 savo virtualios mašinos .

Jei įgalinote uosto persiuntimą, dabar galite SSH į virtualiąją mašiną iš pagrindinio kompiuterio, kaip parodyta žemiau.

Pastaba: jei naudojate „Windows“, jums reikia „ Putty“ , kad galėtumėte SSH prisijungti prie virtualiosios mašinos.

5. Prijunkite „NodeMCU“ ir vykdykite šią komandą:

tail -f /var/log/kern.log

Tai turėtų jums parodyti, kad įrenginys buvo identifikuotas kaip / dev / ttyUSB0. Jei nieko neįvyks, turite pridėti USB prie virtualiosios mašinos. Pridėję USB, atjunkite ir vėl prijunkite įrenginį.

Jei pasiekėte šį tašką ir visi dalykai veikia, sveikiname ! Dabar esate pasirengę kompiliuoti SDK ir paleisti „SmartConfig“ pavyzdį. Jūs netgi galite nušauti man tweet'ą adresu //twitter.com/metonymyqt

SDK sudarymas ir lentos mirksėjimas

  1. Įdiekite reikiamus paketus (kaip nurodyta toliau). Ši informacija taip pat yra SDK 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. Sukurkite naują aplanką ir eikite į jį: mkdir Development && cd Development

3. Klonuokite „Open SDK“: //github.com/pfalcon/esp-open-sdk

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

3. Paleiskite „make“: make

Įspėjimas: Šis veiksmas užtruks šiek tiek laiko, todėl būkite kantrūs. Mano virtualioje mašinoje jis baigėsi po 50 minučių. Jums gali prireikti daugiau ar mažiau, tačiau prieš paleisdami įsitikinkite, kad esate prisijungę prie interneto ir tinkamai sukonfigūruotas DNS . Geriausias būdas tai patikrinti yra atlikti „Google“ ar kitos svetainės ping, jei „Google“ yra užblokuota jūsų regione.

Jei jūsų pingas yra sėkmingas, galite sumažinti langus ir žiūrėti mėgstamos TV laidos seriją. Grįžkite po maždaug 40 minučių (tačiau įsitikinkite, kad kompiuteris neužmiega).

Sėkmingai sukūrus SDK, pamatysite pranešimą, kuriame nurodoma ką nors įdėti į savo kelią. Norėdami tai padaryti, atlikite šiuos veiksmus:

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

Komanda pridės eilutę prie failo ~ / .profile . Dabar paleiskite šią komandą:

xtensa-lx106-elf-gcc --version

Jei komanda sėkmingai vykdoma, tada jūs gerai einate!

4. Išbandykite savo lentą

Prijunkite „NodeMCU“ ir paleiskite „ lsusb“, kad patikrintumėte, ar jūsų įrenginys prijungtas. Po to paleiskite esptool.py chip_id . Dabar turėtumėte pamatyti lentos lusto ID.

5. Klonas ESP8266_RTOS_SDK

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

6. Eksportuokite SDK kelią ir SDK / BIN kelią naudodami toliau pateiktas komandas.

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

7. Sudarykite „SmartConfig“ pavyzdį

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

Dabar sutikite su numatytosiomis vertėmis, kol jūsų paprašys SPI_SIZE_MAP. Čia pasirenkate 4, nes „NodeMCU“ blykstės dydis yra 32 MB, o tai reiškia 4 MB. Taip pat galite pasirinkti SPI_SPEED 3 = 80Mhz

Pamatysite maždaug taip:

!!!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. Uždenkite lentą

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

Dabar, jei iš naujo nustatysite lentą, neturėtumėte matyti, kad mirksi šviesos diodas.

9. Naudokitės telefono programa

  • „Android“ programa
  • „iPhone“ programa

Atidarykite programą, įsitikinkite, kad esate prisijungę prie „WiFi“ AP, įveskite slaptažodį ir paspauskite patvirtinti. Po kelių sekundžių ESP8266 turėtų prisijungti prie jūsų AP. Viskas. Sveikiname pasiekus pabaigą!

Jei norite daugiau tobulėti naudodami ESP8266-RTOS-SDK, apsilankykite oficialiose svetainėse. Čia rasite daug išteklių ir dokumentų. Taip pat pažiūrėkite į kitus SDK aplanke esančius pavyzdžius.

Labai ačiū už sugaištą laiką. Jei norite susisiekti su manimi, galite tai padaryti „Twitter“: MetonymyQT

Ištekliai

  • ESP8266 apžvalga
  • ESP8266 ištekliai
  • „FreeRTOS“ svetainė