- Què és ESP8266?
- Conceptes bàsics de la teoria del WiFi:
- Tipus de programació amb ESP8266:
- Maquinari per programar el mòdul ESP8266:
- Materials necessaris:
- Explicació del circuit:
- Junta directiva del programa ESP8266:
Internet de les coses i l’automatització domèstica han estat realment un tema publicitari en els darrers dies. Construir alguna cosa pel nostre compte que pugui comunicar-se amb la World Wide Web i es pugui accedir des de qualsevol lloc del món, realment sona genial, no?
Però espera!!! També sona complicat ???….
Així ho va fer per mi, vaig pensar que necessitaria un temps i una habilitat immensos per construir coses que puguin interactuar amb Internet. NO, em vaig equivocar completament, gràcies a aquest fantàstic mòdul anomenat ESP8266 d'Espressif Systems. Ara, podeu obrir fàcilment les vostres portes per a Projectes IoT amb l’ajut d’aquest mòdul. Aquest mòdul de mida reduïda i de baix cost pot fer meravelles i és realment senzill i fàcil d’utilitzar, sempre que seguim els passos adequats.
Aquest tutorial té com a objectiu presentar-vos aquest mòdul ESP8266-01 i ajudar-vos a començar -hi. Potser ja heu portat el vostre mòdul i us heu quedat atrapats mentre proveu d’utilitzar-lo. Aleshores, no esteu sols, no us preocupeu, a molta gent els costa molt començar amb el mòdul perquè no hi ha guia ni documentació adequada per a aquest mòdul. Aquesta és la raó per fer aquest tutorial. Seguiu les instruccions aquí i hauríeu de poder posar en marxa el vostre mòdul ESP8266-01 en poc temps, aquí farem servir el mòdul d’adaptador sèrie USB a TTL FTDI per programar l’ESP8266. Consulteu el vídeo detallat al final del tutorial.
Abans d’entrar en el tema, tractem alguns aspectes bàsics sobre el mòdul ESP8266-01.
Què és ESP8266?
La majoria de la gent truca ESP8266 com a mòdul WIFI, però en realitat és un microcontrolador. ESP8266 és el nom del microcontrolador desenvolupat per Espressif Systems, que és una empresa amb seu a Xangai. Aquest microcontrolador té la capacitat de realitzar activitats relacionades amb WIFI, de manera que s’utilitza àmpliament com a mòdul WIFI.

Hi ha molts tipus de mòduls ESP8266 disponibles que van des de l’ESP8266-01 fins a l’ESP8266-12. El que estem utilitzant al tutorial és l’ESP8266-01 perquè és el més barat i fàcilment disponible. Tanmateix, tots els mòduls ESP només tenen un tipus de processador ESP, el que es diferencia només és el tipus de bard breakout utilitzat. El tauler de ruptura de l’ESP8266-01 només tindrà 2 pins GPIO mentre que en altres taules serà més alt.
L'especificació completa del mòdul es dóna a la taula següent
|
Voltatge |
3,3V |
|
Consum actual |
10uA-170mA |
|
Consum màxim de corrent durant el parpelleig |
800 mA |
|
Memòria flash |
16 MB (512 K normals) |
|
Processador |
Tensilica L106 de 32 bits |
|
Velocitat del processador |
80-160 MHz |
|
RAM |
32K + 80K |
|
GPIO |
17 (però la majoria estan multiplexats) |
|
Convertidor analògic a digital |
1 (10 bits) |
|
Connexions TCP màximes |
5 |
D’acord, algunes de les coses que us podrien haver sorprès de l’especificació és que, SÍ, el mòdul ESP8266 ve amb un convertidor ADC i consumeix un corrent molt alt de 0,8A durant el parpelleig del vostre dispositiu.
Consulteu també els nostres diversos projectes IoT interessants basats en ESP8266.
Conceptes bàsics de la teoria del WiFi:
Protocol de control de transferència (TCP), protocol d’Internet (IP), protocol de datagrama d’usuari (UDP), punt d’accés (AP), estació (Sta), identificador de conjunt de serveis (SSID), interfície de programació d’aplicacions (API), servidor web….
Tenen sentit tots els termes anteriors?
En cas afirmatiu. Després, BINGO podeu saltar aquesta part i passar a la secció següent.
Si no, no. Aleshores, heu de ser un dels molts estudiants d’electricitat que va parpellejar la majoria d’aquests termes, tal com ho vaig fer quan em van introduir per primera vegada totes aquestes coses. Per tant, revisem tots aquests termes ràpidament perquè només així podríem entrar al món de l’IOT.
Protocol de control de transferència (TCP):
La majoria de nosaltres sabríem què significa això. Sí, aquestes són les regles basades en les quals funciona Internet. Atès que ESP8266 té la possibilitat de configurar connexions WIFI. A un nivell alt, el Wi-Fi és la possibilitat de participar en les connexions TCP / IP mitjançant un enllaç sense fils. Podeu fer que el vostre ESP funcioni al protocol TCP / IP o al protocol UDP.
Protocol de datagrames d’usuari (UDP):
UDP és també un altre tipus de protocol d’Internet. Aquest tipus de comunicació és més ràpida que TCP, però és menys precisa. La raó és que TCP utilitza un agraïment durant la seva comunicació, però UDP no. TCP s'utilitza principalment en xarxes on es requereix una alta fiabilitat. UDP s’utilitza en llocs on la velocitat té una prioritat elevada que la fiabilitat. Per exemple, s'utilitza UDP en videoconferència, perquè fins i tot si no es transmeten alguns píxels no afectarà tant la qualitat del vídeo, però la velocitat és molt important.
La majoria dels projectes i codis ESP8266 funcionen al voltant de TCP / IP, UDP serà el que menys molestarà.
Punt d'accés (AP) i estació (STA):
Un cop comenceu a treballar amb el mòdul ESP, trobareu aquests dos termes amb freqüència. Digueu-nos que a vosaltres i al vostre amic us agradaria navegar per Internet amb els vostres telèfons intel·ligents, però com que no té una connexió a Internet activa, decidiu activar el vostre punt d'accés i el vostre amic s'hi connecta. Aquí el vostre telèfon que prové de la connexió a Internet és el punt d’accés (AP) i el telèfon del vostre amic que utilitza Internet s’anomena Station (STA).
El mòdul ESP8266 es pot utilitzar en tres modes, mode AP, mode STA o en mode STA i AP (combinat).
Identificador de conjunt de serveis (SSID):
Aquest és un terme bastant senzill. Gairebé tots hem utilitzat WIFI. El nom de la xarxa Wi-Fi s’anomena SSID. Quan tenim diversos punts d’accés per connectar una estació, l’estació hauria de saber a quin punt d’accés s’hauria de connectar, per tant, cada punt d’accés (AP) té una identitat que s’anomena SSID.
Interfície de programació d'aplicacions (API):
Per simplificar-ho, una API és un missatger que atén les vostres sol·licituds, les processa i retorna al vostre sistema el resultat desitjat. La majoria de les activitats que fem a Internet utilitzen API, com ara quan reserveu un vol, feu una compra en línia, etc. Tots els llocs web us enllacen a una API on es fa part de la feina, com ara registrar-vos, fer pagaments, etc. allà.
ESP8266 utilitza l'API per parlar amb el món d'Internet. Per exemple, si vol saber l'hora, el clima o qualsevol cosa que sol·liciti en forma d'API al lloc web corresponent. Aquest lloc web rebrà la sol·licitud i retornarà el resultat desitjat al nostre mòdul ESP.
Servidor web:
Un servidor web és el responsable de mostrar els continguts d’un lloc web. Tots els continguts d’aquest lloc web concret es carregaran al seu servidor web. Hi ha equips dedicats el treball dels quals només actua com a servidor web. També podem programar el nostre ESP8266 perquè funcioni com a servidor web i ens hi connectem des de qualsevol part del món.
D’acord, amb això ja n’hi ha prou per començar. Ara, posem les mans al maquinari.
Tipus de programació amb ESP8266:
Hi ha dues maneres de treballar amb el mòdul ESP8266. Aquest tutorial us ajudarà a començar amb tots dos. Una manera és utilitzar les ordres AT. L’altra manera és mitjançant l’IDE Arduino. Entenguem el que significa.
Tots els mòduls ESP8266 que s’envien de fàbrica tindran carregat un firmware per defecte (SDK + API). Aquest firmware us ajudarà a programar el mòdul ESP8266 mitjançant ordres AT.
L'altra manera és programant directament el mòdul ESP8266 mitjançant l'IDE Arduino (placa no necessària) i les seves biblioteques. Tots els projectes es poden fer amb els dos mètodes. Però, si comenceu a fer servir l'IDE Arduino per programar el vostre ESP8266, és possible que no pugueu utilitzar les ordres AT perquè l'SDK per defecte pot estar malmès. En aquest cas, haureu de fer flash el vostre ESP amb la configuració predeterminada. Ho tractarem en un altre tutorial.
Maquinari per programar el mòdul ESP8266:
ESP8266 és un mòdul de 8 terminals. El pin del mateix es mostra a continuació.


Malauradament, aquest mòdul no és apte per a taulers de suport i, per tant, no el podem muntar directament a la nostra taula de treball. A diferència d’Arduino, no té un controlador USB a sèrie incorporat; per tant, hem de fer servir el “FTDI USB to TTL Serial Adapter Module” per comunicar-nos-hi. Assegureu-vos que la placa FTDI també pot funcionar a 3,3V; la que estem fent servir en aquest tutorial es mostra a continuació.

Ara, com sabem, hauríem d’encendre l’ESP8266 amb 3,3V. Però el consum actual és de 0,8 A, de manera que podria no funcionar com s’esperava si s’alimenta del nostre tauler de ruptura FTDI. Per tant, hem de construir el nostre propi circuit d’alimentació. Aquí hem utilitzat LM317 per al propòsit d’alimentació; els detalls per fer el maquinari complet es donen a les seccions posteriors.
Materials necessaris:
- Perf Board
- ESP8266-01
- Tauler de ruptura FTDI
- LM317
- Condensador de 0,1uf
- Condensador de 10uf
- Barrel Jack
- Bergstik masculí i femení
- Polsador
- Connexió de cables
- Adaptador de 12V per alimentar la placa.
Explicació del circuit:
A continuació es mostren els esquemes del tauler

Alguns poden haver intentat alimentar el vostre ESP directament des del vostre FTDI i fer-lo funcionar, però els següents són els motius per construir el vostre propi tauler amb pocs components addicionals:
- Només poques plaques FTDI poden obtenir prou corrent per al mòdul ESP. Pocs mòduls ESP poden consumir un corrent elevat que l’altre durant el parpelleig. Per tant, sempre és segur tenir la vostra pròpia font d’alimentació i serà més fàcil integrar el circuit d’alimentació a Dot Board en lloc de la placa de suport.
- Sempre hauríem de restablir el mòdul ESP abans de penjar el codi, la creació del nostre propi tauler ens ajudarà a restablir el mòdul fàcilment. Hem utilitzat el botó per restablir ESP8266.
- El pin GPIO0 s’ha de connectar a terra quan es programa amb Arduino i s’ha de deixar lliure quan s’utilitzen ordres AT, això es pot canviar fàcilment si construïm la nostra pròpia placa. Hem utilitzat un Jumper per canviar entre el mode d’ordres AT i el mode de programació IDE Arduino.
- Tota la programació es fa mitjançant la comunicació serial , si utilitzeu una placa de verificació, alguns terminals solts poden provocar un error a la meitat i obligar-nos a parpellejar el mòdul per tornar a treballar.
Dit això, podeu seleccionar entre utilitzar una taula de treball i crear la vostra pròpia placa per programar el mòdul. Si encara voleu utilitzar el tauler de revisió, es pot construir el mateix circuit que es mostra a la part superior mitjançant la vostra taula de treball. Només l’aspecte serà diferent, totes les altres instruccions d’aquest tutorial s’aplicaran igual.
Junta directiva del programa ESP8266:
Així doncs, aquí estem construint la placa per programar el mòdul ESP8266 que té el seu propi circuit d’alimentació per encendre l’ESP8266.
Com hem dit, el nostre mòdul requerirà uns 800 mA durant la programació. Per tant, hem construït el nostre propi mòdul d’alimentació mitjançant un regulador de tensió variable LM317, ja que el corrent font de LM317 és de gairebé 1,2A. La tensió d'entrada del LM317 serà de 12V, que es donarà mitjançant un adaptador de muntatge de paret de 12V 2A. La sortida del LM317 es regularà a 3,3V constantment mitjançant l'ús de resistències de 220ohm i 360ohm. Consulteu també el nostre circuit de carregador de bateria mitjançant LM317 per obtenir més informació sobre LM317.
Les fórmules per calcular el voltatge de sortida de LM317 es donen a continuació:
Vout = 1,25 * (1+ (R2 / R1))
On, R1 és 220ohm i R2 és 360ohms.
El mòdul ESP8266 està connectat segons els pins que es mostren a la taula següent.
|
Pin núm. |
Nom del pin ESP |
Connectat a |
|
1 |
Terra |
Terra del mòdul FTDI |
|
2 |
GPIO2 |
Es deixa lliure o està connectat al berg stick per a un ús futur |
|
3 |
GPIO0 |
Canvia per alternar entre modes de programació |
|
4 |
Rx |
Tx del mòdul FTDI |
|
5 |
Tx |
Rx del mòdul FTDI |
|
6 |
CH_PH |
3,3 V des de LM317 |
|
7 |
Restableix |
Polsador per reiniciar el mòdul |
|
8 |
Vcc |
3,3 V des de LM317 |
Per alternar fàcilment entre el mode d’ordres AT i el mode de programació Arduino, he col·locat un commutador (pont) que estirarà el GPIO 0 a terra quan s’utilitza Arduino IDE i el deixarà flotant quan s’utilitzen les ordres AT.
Hi ha un polsador que, quan es prem, restablirà el mòdul ESP. Això es fa simplement connectant el pin RST del mòdul ESP al rail de terra mitjançant el polsador. Cada cop abans de programar el nostre mòdul ESP, hauríem de restablir-lo.
Un cop muntat el circuit, hauria de semblar a continuació.

He utilitzat una placa Perf, però també podeu fer servir una taula si esteu interessat (com es va esmentar anteriorment). La versió completa i l'explicació es mostren al vídeo següent.
Un cop fet amb les connexions. Enceneu la placa sense les plaques ESP & FTDI i comproveu si obtenim 3.3V correctament als terminals Vcc i Ground de la posició dels mòduls ESP. Ara assegureu-vos que la vostra placa FTDI estigui en mode 3.3V i connecteu els mòduls FTDI i ESP a la vostra placa.
Enceneu l'adaptador i connecteu-lo a la placa, el mòdul ESP s'hauria d'il·luminar amb un color vermell.

A continuació, connecteu la placa FTDI a l'ordinador mitjançant un cable mini-USB a USB i aneu al Gestor de dispositius de l'ordinador i hauríeu de trobar la placa FTDI connectada al vostre port COM, com es mostra a continuació:

Ara és hora de programar el mòdul ESP8266. Podeu començar utilitzant les ordres AT i després passar a utilitzar l'IDE Arduino. No oblideu consultar els nostres altres projectes basats en ESP8266.
