luni, 5 septembrie 2016

Placa de retea wifi (shield) cu ESP8266MOD

english version: Revival and use the Arduino ESP8266 Wifi Shield Version 1.0 by Wang Tongze 👽

   Acum un an am achizitionat o placa de retea cu ESP8266MOD pe care scrie "Arduino ESP8266 Wifi Shield Version 1.0 by Wang Tongze" care nu avea nici un fel de documentatie, acum am gasit ceva un articol numit ESP8266 WangTongze Arduino Uno Shield, dar amvazut ca se afla la vanzare si e bine sa se cunoasca cate ceva despre el.
   Pentru ca are pinii Rx-Tx conectati direct la cei ai unei placi Arduino Uno, am folosit o placa Arduino Mega indoind cei 2 pini pe care i-am conectat la Rx2-Tx2.
   Modul de utilizare este cum arata in poza de mai jos (pini 1 si 2 in pozitia de sus care cupleaza pini Rx si Tx prin intermediul unor interfete logice 3.3V/5V, iar 3 si 4 in jos, care decupleaza pinii de programare):
   Modul de rescriere al firmware-ului (partea care il face sa recunoasca comenzi, un fel de bios si un sistem de operarare minimal) este simplu si se poate intra usor in el, stergand ce e acolo, cum am facut si eu :)) adica pinii 1 si 2 in jos decupland pinii de comunicatie Rx-Tx, iar 3 si 4 in sus care conecteaza ESP-ul in schema de programare, dupa care se apasa butonul RST-ESP (ca idee, pinii 1 si 2 pot fi si in pozitia de sus, cand e sa se stearga ce e scrie pe el):
   Daca am sters din greseala firmware-le modulul nu mai reactioneaza la nimic, nu recunoaste comenzi, asa ca trebuie neaparat pus un now firmware si asta se face cum e prezentat in articolul ESP8266: Reflash Dance! pentru un ESP8266 clasic:
   Shiled-ul intra in modul de programare prin trecerea comutatorului SW3 in pozitia de sus (DFU), iar SW4 e pentru aprinderea unui led rosu pe placa.
   Pentru inceput se descarca programul esp8266_flasher.exe si fisierul bin.
   Se conecteaza o interfata USB-FTDI cu nivel logic 3.3V la pinii laterali disponibili ca in schema de mai sus (Rx la Tx si Tx la Rx si GND, placa de retea wifi ramanand pe Arduino Mega pentru alimentare, altfel putand parea erori de programare datorita conumului maricel al ESP-ului.
   Se trec comutatorele in pozitia de programare recomandata
si se apasa butonul ESP-RST...
   Se deschide programul ESP8266_flasher:
   Se cauta portul alocat interfetei USB-FTDI, in cazul de fata este COM7
   Se modifica COM1 in COM7
   Se incarca fisierul bin (butonul BIN)
   Se apasa buton de incarcare in ESP (butonul DOWNLOAD)
si se asteapta pana apare mesajul ca s-a terminat (ca idee, apare mesaj dupa 99% ca  nu se poate parasi modul de programare...
   Se trec comutatoarele in pozitia de lucru, functionare normala:
   Se deschide programul Arduino IDE si se incarca sketch-ul ESP8266_mega_serialtest.ino doar ca se schimba viteza de transfer din 9600 in 115200bps.
   Se deschide ecranul de monitorizare seriala si se modifica astfel incat sa vedem si ce trimitem si ce se primeste, corectand si viteza la 115200bps:
si se scriu comenzi de baza, pentru a vedea cum reactioneaza, in cazul de fata prima comnda este At si trebuie sa apara raspuns de OK, apoi se da restartare soft AT+RST si apar informatii despre memorie, viteza, versiune firmware...
   Se da un reset de pe placa:
se verifica in ce mod de lucru e cu comanda AT+CWMODE? si aflam ca e 2, adica e ca server de net (AP mode), trecem in 1 pentru clinet (sau 3 care e si client is server) prin comanda AT+CWMODE=1 si apoi cautam retele wifi din zona cu comanda AT+CWLAP, dupa care intram in reteau casei cu comanda AT+CWJAP="retea","parola" si dupa primirea confirmarii cu OK se cauta IP-ul alocat de router-ul wifi, cu comanda AT+CIFSR si gasim 192.168.2.202.
   Acum suntem siguri ca putem folosi placa de retea wifi ca una noua...
   Bun, am facut 2 filmulete cu ce am explicat mai inainte:



   Cupland placa de retea wifi la un Arduino Mega se pot face diferite proiecte, cum am testat si eu acum un an:


Bibliografie:
5) firmware: Firmware For ESP8266

Un comentariu:

  1. Salutari din Mediterana ! Pe unele placi , level shifter-ul are tranzistori bipolari in loc de MOSFET ( cod y3j si nu 1jn ) , dupa ce i-am inlocuit cu BSS138 , surpriza : functioneaza !

    RăspundețiȘtergere