Aloittaminen FreeRTOS: n ja ESP8266: n kanssa

Äskettäin ostin NodeMCU: n AliExpressiltä noin 4 dollaria. Syy, miksi tein tämän, oli selvittää, mistä ESP8266: n kanssa on kyse.

NodeMCU on avoimen lähdekoodin IoT-alusta. Se sisältää laiteohjelmiston, joka toimii ESP8266 Wi-Fi SoC: llä Espressif Systemsiltä, ​​ja laitteiston, joka perustuu ESP-12-moduuliin.

Verrattuna Arduino UNO -laitteeseen ESP8266-laitteeni kaataa sen kokonaan puistosta prosessorin tehon ja hinnan suhteen.

ESP8266 on 500% nopeampi ja 82% halvempi kuin Arduino. ESP8266: ssa on myös WiFi-yhteys.

Olin hyvin yllättynyt, kun vierailin ESP8266: n Espressif-verkkosivustolla. Voit käyttää paljon dokumentaatiota ja resursseja. Esimerkiksi on olemassa Android-sovellus, joka käskee ESP8266: ta muodostamaan yhteyden WiFi-verkkoon. Sovellus lähettää SSID: n ja salasanan paketteina, ESP8266 haistaa ne ja muodostaa yhteyden Wi-Fi-verkkoon. Tätä kutsutaan SmartConfigiksi, ja sen keksi Texas Instruments.

Tässä artikkelissa opastan sinua määrittämään ja suorittamaan Smart Config -esimerkin Espressif RTOS SDK: sta.

Tarvitset seuraavat asiat:

  • Moderni tietokone.
  • NodeMCU-kortti, jossa on ESP12-E
  • VirtualBox (//www.virtualbox.org/wiki/Downloads)
  • Ubuntu Server LTS (//www.ubuntu.com/download/server)

VirtualBoxin määrittäminen kehitystä varten

  1. Lataa VirtualBox ja asenna Ubuntu Server. Tämän pitäisi olla helppo tehdä, mutta jos et tiedä miten, google tai tutustu tähän grafiikkaan vaihe vaiheelta. Käyttöjärjestelmän asentaminen on mukava taito. (Vinkki: Kun VirtualBox kehottaa sinua valitsemaan levyn, tee siitä dynaamisesti varattu ja vähintään 50 Gt: n kokoinen. Tämä säästää päänsärkyä linjalla.)
  2. Varmista, että pääset Internetiin virtuaalikoneesta, ja määritä DNS-palvelin:

Määritä DNS-palvelin katsomalla tätä esimerkkiä.

Esimerkki: dns-nameservers 8.8.8.8 8.8.4.4Jos voit pingata Googlea, olet hyvä mennä!

3. (Valinnainen) Asenna OpenSSH ja Samba-palvelin. Tämä helpottaa elämääsi.

4. (Valinnainen) Ota portin edelleenlähetys käyttöön. SSH: n siirtämiseksi suoraan virtuaalikoneeseesi sinun on otettava käyttöön portin edelleenlähetys. Esimerkiksi kartoittaa porttiin 2222 oman isäntä koneeseen sen portin 22 oman virtuaalikoneen .

Jos olet ottanut portinsiirron käyttöön, voit nyt SSH: n virtuaalikoneeseesi isäntäkoneeltasi alla olevan kuvan mukaisesti.

Huomaa: Jos käytössäsi on Windows, tarvitset Puttyn , jotta SSH voidaan siirtää virtuaalikoneeseen.

5. Liitä NodeMCU ja suorita seuraava komento:

tail -f /var/log/kern.log

Tämän pitäisi paljastaa sinulle, että laite on tunnistettu nimellä / dev / ttyUSB0. Jos mitään ei tapahdu, sinun on lisättävä USB virtuaalikoneeseen. Kun olet lisännyt USB: n, irrota laite ja kytke se uudelleen.

Jos olet saavuttanut tämän pisteen ja kaikki asiat toimivat, onnittelut ! Olet nyt valmis kääntämään SDK: n ja suorittamaan SmartConfig-esimerkin. Voit jopa ampua minulle tweetin osoitteessa //twitter.com/metonymyqt

SDK: n kokoaminen ja levyn vilkkuminen

  1. Asenna vaaditut paketit (kuten alla). Nämä tiedot ovat saatavana myös SDK: n readme.md-tiedostosta.
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. Luo uusi kansio ja siirry siihen: mkdir Development && cd Development

3. Kloonaa avoin SDK: //github.com/pfalcon/esp-open-sdk

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

3. Suorita merkki: make

Varoitus: Tämä vaihe kestää jonkin aikaa, joten ole kärsivällinen. Virtuaalikoneellani se valmistui 50 minuutin kuluttua. Sinulla saattaa kestää enemmän tai vähemmän, mutta ennen kuin suoritat, varmista, että olet yhteydessä Internetiin ja DNS on määritetty oikein . Paras tapa tarkistaa tämä on suorittaa ping Googlelle tai muulle sivustolle, jos Google on estetty alueellasi.

Jos pingisi onnistuu, voit pienentää ikkunoita ja katsella suosikki TV-ohjelmasi jaksoa. Palaa takaisin noin 40 minuutin kuluttua (mutta varmista, että tietokone ei mene nukkumaan).

Kun SDK on rakennettu onnistuneesti, näet viestin, jossa sinua kehotetaan asettamaan jotain polulle. Suorita se seuraavasti:

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

Komento lisää merkkijonon ~ / .profile- tiedostoon. Suorita nyt seuraava komento:

xtensa-lx106-elf-gcc --version

Jos komento suoritetaan onnistuneesti, olet hyvä mennä!

4. Testaa lauta

Kytke NodeMCU ja suorita lsusb varmistaaksesi, että laitteesi on kytketty. Suorita sen jälkeen esptool.py chip_id . Sinun pitäisi nyt nähdä taulun sirutunnus.

5. Klooni ESP8266_RTOS_SDK

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

6. Vie SDK-polku ja SDK / BIN-polku alla olevien komentojen avulla.

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

7. Kokoa SmartConfig-esimerkki

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

Hyväksy nyt oletusarvot, kunnes sinua pyydetään SPI_SIZE_MAP. Täällä valitset 4, koska NodeMCU: n salaman koko on 32 Mbit ja tämä tarkoittaa 4 Mt. Voit myös valita SPI_SPEED 3 = 80Mhz

Näet jotain tällaista:

!!!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. Salama kortti

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

Jos nyt nollat ​​kortin, sinun ei pitäisi nähdä, että LED vilkkuu.

9. Käytä Puhelin-sovellusta

  • Android-sovellus
  • iPhone-sovellus

Avaa sovellus, varmista, että olet yhteydessä WiFi-tukiasemaan, kirjoita salasanasi ja paina vahvista. Muutaman sekunnin kuluttua ESP8266: n pitäisi muodostaa yhteys AP: hen. Se siitä. Onnittelut lopputuloksesta!

Jos haluat kehittää enemmän ESP8266-RTOS-SDK: n avulla, vieraile virallisilla verkkosivustoilla. Sieltä löydät paljon resursseja ja dokumentaatiota. Katso myös muita esimerkkejä SDK-kansiosta.

Paljon kiitoksia ajastasi lukea tätä. Jos haluat ottaa yhteyttä minuun, voit tehdä sen Twitterissä: MetonymyQT

Resurssit

  • ESP8266: n yleiskatsaus
  • ESP8266-resurssit
  • FreeRTOS-verkkosivusto