Modulele Esp8266

ESP8266 este un modul ieftin dar foarte util care se conectează la microcontroler prin interfața UART și adaugă funcția de conexiune WiFi la acesta.

conexiune

În conexiunea ESP8266, nu este nimic complicat, dar există 2 puncte importante legate de putere:

  • ESP8266 necesită 3.3 volți. Nu o alimentați cu 5 volți - acest lucru va provoca o supraexpunere!
  • Modulul ESP8266 nu are contacte rezistente la 5 volți. și utilizează 3.3 volți pentru comunicație serială. Prin urmare, pentru comunicarea cu microcontrolere cu 5 tensiuni, cum ar fi Arduino, este necesar un convertor de logică volt.

Cu toate acestea, dacă simțiți în tine o dorință de experimentare și nu vă este frică să stricați ESP8266. atunci a doua cerință poate fi ignorată. Dar fii pregătit pentru consecințe neprevăzute! :)

Punctul de conectare al ESP8266 este după cum urmează:

Modulele Esp8266

Dacă conectați alimentarea la ESP8266, acesta va deveni roșu, iar LED-ul albastru (responsabil pentru comunicarea serială) va lumina intermitent.

Conectarea la o placă Serial-USB (securizată)

Dacă aveți o placă Serial-USB de 3.3 volți (de la FTDI), aceasta poate fi utilizată în siguranță împreună cu ESP8266. nu-ți fie frică să strici ceva sau să doare. Dar observați că pe multe placi FTDI, un jumper este sudat, convertirea de 3,3 volți la 5 volți. Asigurați-vă că placa dvs. este setată la 3,3 volți.

Pentru a stabili o comunicare serială între placa FTDI și modulul ESP8266. acestea trebuie să fie conectate între ele după cum urmează:

Modulele Esp8266

Conectarea la placa Arduino Uno R3 (rapidă, dar nu foarte sigură)

NU ESTE RECOMANDAT. Puteți distruge fie Arduino. sau ESP8266 în sine.

De ce să folosiți Arduino cu ESP8266 este o idee proastă:

  • Contactele de intrare ale modulului ESP8266 nu sunt rezistente la 5 volți - acest lucru poate deteriora modulul
  • Modul ESP8266. probabil va atrage mai mult curent decât regulatorul de 3,3 V de la Arduino poate oferi - acest lucru poate deteriora Arduino
  • Dacă tensiunea depășește 3.3 volți, modulul ESP8266. poate începe să funcționeze instabilă și imprevizibilă - poate dăuna sănătății tale mintale: D

Această metodă are totuși un plus evident:

  • Dacă aveți deja Arduino UNO R3. apoi pentru a lucra în continuare cu ESP8266 va necesita un set minim de setări suplimentare. În plus, personal, în cazul meu, în cele mai multe cazuri totul funcționează bine.

În acest caz, Arduino va fi folosit ca sursă de alimentare și convertor USB-Serial. astfel încât trebuie să vă asigurați că Arduino nu are o schiță încărcată care interferează cu o comunicare consistentă. Există două moduri de a face acest lucru:

  • Descărcați la Arduino o schiță "goală" care nu utilizează o conexiune serială. De exemplu, schița "BareMinimum" - pentru ao deschide, faceți clic pe IDE Arduino pe fișierul> Probele> 01.Basics> BareMinimum (Fișier> Exemple> 01.Basics> BareMinimum)
  • Scoateți microcontrolerul de pe placa Arduino (dar numai dacă se află în cazul DIP, dacă este atașat la placă prin montare pe suprafață, atunci nu este necesar să o lipiți)

Pentru a stabili o comunicare serială între placa Arduino și modulul ESP8266. acestea trebuie să fie conectate între ele după cum urmează:

Modulele Esp8266

Comunicare serială

Acum, când este configurată comunicarea serială, puteți lucra cu modulul WiFi prin terminal (de exemplu prin portul de monitor IDE Arduino).

Folosind monitorul portului IDE Arduino

În primul rând, puteți utiliza monitorul port încorporat în IDE Arduino pentru a comunica cu ESP8266.

  1. Conectați modulul WiFi la computer
  2. Faceți clic pe IDE Arduino pe Instrumente> Port (Instrumente> Port). Pentru a selecta portul la care este conectat modulul WiFi
  3. Deschideți monitorul portului. Acest lucru se poate face în 3 moduri. 1. faceți clic pe ID-ul Arduino pe Instrumente> Port Monitor (Instrumente> Monitor serial); 2 - apăsați tastele rapide Ctrl + ⇧ Shift + M; Al treilea clic pe butonul de lupă din colțul din dreapta sus al IDE Arduino
  4. Dacă aveți ESP8266. la care este instalat firmware-ul implicit (001609901), selectați elementul "Carriage Return" din meniul derulant din colțul din dreapta jos al monitorului portului. Dacă aveți cea mai recentă versiune de firmware, selectați "NL" din acest meniu CR "(" Ambele NL CR ")
  5. În colțul din dreapta jos al monitorului portului există un alt meniu, în care este setată rata de transfer a datelor. Dacă utilizați firmware-ul implicit, setați valoarea "115200" acolo. și dacă ultima versiune firmware sau un firmware modificat, atunci "9600"

Asta este, monitorul portului este gata să trimită comenzi!

Utilizarea utilitarului de ecran GNU

Dacă versiunea firmware implicită (00160901) este instalată pe ESP8266, care așteaptă ca șirul să se încheie numai cu retur de carriage ("\ r"), ecranul GNU poate fi utilizat fără setări suplimentare. Aceasta este, de exemplu, pe OS X. puteți introduce imediat această comandă:

ecranul / dev / tty.usbserial-AB12345 115200

Din nefericire, în versiunile recente, firmware-ul ESP8266 necesită ca linia să se încheie nu numai cu caracterul de returnare a carului ("\ r"), dar și cu un caracter nou ("\ n"). Dar pentru a configura comanda ecranului astfel încât să trimită ambele caractere la atingerea unui buton, se pare că este imposibil. Trebuie să apăsați ↵ Enter sau Ctrl + M. și apoi Ctrl + J.

Prin urmare, este posibil să folosiți utilitare precum minicom sau picocom pentru a lucra cu versiunile ulterioare ale firmware-ului.

Asta e tot, poți trimite prima echipă!

Primele echipe

  • Verificați dacă comenzile AT sunt trimise după cum este necesar (comenzile AT s-ar părea că nu sunt sensibile la minuscule, dar restul este da). Pentru a face acest lucru, introduceți în terminal:

Răspunsul ar trebui să fie:

Dacă nu ați primit acest răspuns, verificați următoarele:

  1. Corect, totul este conectat (LED-ul albastru ar trebui să clipească pe panou). Încercați să schimbați liniile RX și TX.
  2. Rata de date este corectă? Pentru firmware-ul implicit ESP8266 (00160901), acesta ar trebui să fie 115200 baud.
  3. Caracterele corecte sunt la sfârșitul liniei. Pentru firmware-ul implicit ESP8266, este necesar doar caracterul de returnare a caroseriei ("\ r")
  • Verificați dacă ESP8266 este în starea normală introducând o comandă de resetare:

Răspunsul ar trebui să fie:

resetare wdt
încărcătură 0x40100000, len 24444. cameră 16
coada 12
chksum 0xe0
ho 0 coada 12 cameră 4
încărcare 0x3ffe8000, len 3168. cameră 12
coada 4
chksum 0x93
încărcare 0x3ffe8c60, len 4956. cameră 4
coada 8
chksum 0xbd
csum 0xbd

Sau ceva de genul asta. Cea mai importantă parte este cuvântul gata. situat pe ultima linie.

  • Verificați versiunea firmware introducând următoarele:

Dacă ESP8266 are instalat firmware-ul implicit, răspunsul este:

  • Configurați ESP8266 astfel încât să funcționeze simultan atât în ​​modul stație, cât și în modul punct de acces:

Cum se configurează ESP8266 în modul punct de acces

Modulul ESP8266 nu se poate conecta numai la punctele de acces, ci poate fi de asemenea un punct de acces. Aceasta înseamnă că puteți conecta dispozitivele la ESP8266 fără cabluri. Acest lucru este minunat, de exemplu, pentru a crea o casetă locală privată.

  • Modulul are deja un punct de acces predefinit (numele rețelei va fi "ESP_". Dar, de asemenea, puteți specifica propriile date:

AT + CWSAP = "NoWorriESSID". „Parola“. 3. 0

Primul parametru este SSID. a doua este parola SSID. Al treilea este numărul canalului, iar al patrulea este tipul de criptare. Numărul "0" în acest caz înseamnă că criptarea este dezactivată și parola va fi ignorată, dar nu ar trebui să fie o valoare goală. De fapt, niciodată nu am reușit să configurez criptarea (întotdeauna creez o rețea necriptată), dar ești mai norocoasă decât mine.

  • Pentru a crea o rețea, trebuie să setați modul WiFi al modulului fie la AP (2 înseamnă un punct de acces), fie la ambele (3 înseamnă un punct de acces + client).

Ca răspuns, ar trebui să se emită următoarele:

192.168.4.100, # 91;. # 93;

Firmware Upgrade

Vă recomandăm să descărcați una dintre aceste versiuni:

  • Actualizare ESP8266_flasher_V00170901_00_Cloud Ready.zi p
  • ESP8266_AT_V00180902_02_baudrate watchdog added.zip

Fiți atenți la numerele din versiuni. Numărul versiunii 00160901 este format din două părți: "0016" este versiunea SDK. și "0901" este versiunea setului de comandă AT.

Instrumente pentru actualizarea firmware-ului

Puteți actualiza firmware-ul cu diferite instrumente, dar în acest articol voi folosi esptool - este un utilitar cross-platform cu licență GPL.

Pentru a le descărca ca script Python, faceți clic aici.

Conectarea și actualizarea firmware-ului

Mai întâi, pentru a actualiza firmware-ul ESP8266. acesta trebuie să fie pus în modul de descărcare a firmware-ului. Pentru a face acest lucru, procedați în felul următor:

  • Deconectați ESP8266 de la calculator
  • Conectați terminalul 0 GPIO la masă (0 volți). pentru a activa modul de descărcare a firmware-ului
  • Conectați din nou modulul la computer

Acum, ESP8266 ar trebui să fie în modul de descărcare a firmware-ului.

Modulele Esp8266

Notă: Documentația pentru esptool spune că "al doilea contact GPIO trebuie să fie HIGH". dar experiența mea arată că acest lucru nu este necesar.

Pentru a actualiza firmware-ul, introduceți următoarea comandă în terminal (fișierul formatului "* .bin" este un fișier din arhiva "ESP8266_AT_V00180902_02_baudrate watchdog added.zip"):

python esptool.py - port / dev / tty.usbserial-ABC12345 write_flash 0x000000 "v0.9.2.2 AT Firmware.bin"

În timpul actualizării firmware-ului, mesajele ar trebui să fie afișate în terminal informând despre progresul procesului de actualizare:

Conectarea.
Ștergerea blițului.
Scrierea la 0x0007ec00. # 40; 100% # 41;

Dacă utilizați monitorul portului Arduino IDE. și aveți probleme de conectivitate, nu încercați să actualizați când monitorul portului este deschis (nu mă întrebați nici măcar cum am aflat despre el).

Când actualizarea este completă, procedați în felul următor:

  1. Deconectați ESP8266 de la calculator
  2. Deconectați contactul GPIO 0 și contactul de împământare
  3. Reconectați ESP8266 la computer

Gata! Acum, dacă totul se face corect, firmware-ul trebuie instalat și gata de utilizare.

  • Acum, la pornire, componentele de ieșire ale modulului se vor comporta diferit
  • Acum, viteza de transfer a datelor a modulului va fi 9600 baud în mod implicit
  • Acum modulul se așteaptă ca fiecare linie să se încheie cu caractere de retur și o linie nouă
  • Unele bug-uri vor fi rezolvate și vor fi adăugate noi AT-comenzi

Arduino și ESP8266

Până acum, ați reușit manual ESP8266, folosind consola, dar o puteți gestiona programabil folosind schița Arduino. Schițe de bază utilizând funcția ESP8266. pot fi găsite în mod liber în rețea. Deși este de remarcat faptul că în momentul în care comunitatea ESP8266 nu a decis încă ce bibliotecă Arduino ar trebui utilizată pentru funcția ESP8266.

SDK pentru ESP8266 și firmware personalizat

Pentru controlerul SoC (de la "sistem pe chip", înseamnă "sistem pe chip"), modulul ESP8266 WiFi are un SDK oficial (din "kitul de dezvoltare software", ceea ce înseamnă "kit de dezvoltare software"). Datorită acestui SDK puteți adăuga la firmware, controlat de AT-comenzi. noi caracteristici sau chiar să vă creați propriul firmware.

Iată câteva exemple de firmware personalizat.

Acesta este un firmware bazat pe limba LUA pentru modulul WiFi ESP8266. Depozitul său GitHub este aici. O alegere excelentă pentru cei care încep să lucreze cu ESP8266.

Pentru a descărca pachetul de instalare NodeMCU. scrieți următoarele:

wget https: // github.com / nodemcu / nodemcu-firmware / raw / master / 0.9.2 / 512k-flas h / nodemcu_512k.bin

Pentru a scrie NodeMCU la ESP8266. scrieți următoarele:

python esptool.py - port / dev / tty.usbserial-ABC123456 write_flash 0x000000 nodemcu_512k.bin

Pentru a vă conecta la modul.

Articole similare