ESP8266
ESP8266 este un microcontroller de tip SOC (System On a Chip) cu protocol TCP / IP integrat care îi poate da acces la rețeaua WiFi a oricărui alt microcontroler. ESP8266 poate funcționa în mod gazdă (hosting) pentru o aplicație, sau poate prelua funcțiile de rețea WiFi de la un alt procesor de aplicație. Modulurile cu ESP8266 vin, în general, pre-programate cu comenzi de tip AT. Din cauza flexibilității în utilizare și a funcționalităților de rețea suportate, ESP8266 a devenit în ultima vreme extrem de popular printre hobby-iști.
Microcontroller-ul ESP8266xx are un procesor RISC integrat, Tensilica L106. Acesta este un procesor proprietar Espressif, destul de vechi (lansat în 2013 cu un core din 2007). Pentru mai multe informații vezi secțiunea "Pagini externe". Utilizarea acestuia permite consum redus și o frecvență de tact maximă de 160 MHz. Sistemul de operare în timp real (Real-Time Operating System) și componenta Wi-Fi pun la dispoziția programatorului aprximativ 80% din puterea de procesare.
Mai multe informații se găsesc în link-urile din secțiunea Pagini Externe.
Dezvoltare
Drivere
În cazul în care dezvoltarea se face pe windows, pe un sistem prevăzut cu interfață USB-UART, e nevoie de drivere. De pildă, eu am un NodeMCU v3 - ESP8266 achiziționat de la BerryBase.de. Comunicarea cu PC-ul este asigurată printr-un convertor USB-UART CH340C, driverul fiind disponibil aici: CH341SER.EXE. Pentru mai multe informații legate de instalarea driver-ului, vezi link-urile externe.
Instalarea mediilor de dezvoltare (IDE)
Varianta cu mediul de dezvoltare Arduino
Pentru utilizarea mediului de dezvoltare Arduino. Etape:
- Descărcarea Arduino IDE 1 sau Arduino IDE 2 (recomandat), de la link-urile respective.
- Instalare IDE
- Instalare suport pentru ESP8266
- Testare
Instalarea suportului pentru ESP8266
Pentru asta, în setări, trebuie adăugat http://arduino.esp8266.com/stable/package_esp8266com_index.json
în lista URL-urilor. Imaginea de mai jos este din Arduino IDE 2:
Dacă există mai multe surse, se pot adăuga în listă una după alta, separate cu virgulă. De exemplu: https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
. Se repornește Arduino care va oferi, acum, suport pentru plăci cu ESP8266 (devin vizibile în secțiunea Boards). Se recomandă actualizarea aplicației și a bibliotecilor înainte de utilizare.
Pentru testare poate fi utilizat codul de mai jos
#include <Arduino.h>
#define LED 2
void setup() {
// codul de inițializare vine aici:
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
// codul care asigură execuția vine aici:
digitalWrite(LED, HIGH);
Serial.println("LED is on");
delay(200);
digitalWrite(LED, LOW);
Serial.println("LED is off");
delay(200);
}
Pentru mai multe informații, vezi link-urile externe de mai jos.
Varianta cu Visual Studio Code
Pentru utilizarea mediului de dezvoltare Visual Studio Code. Etape:
- Instalare Visual Studio Code
- Instalare Python din VS Code (preferabil versiuni 3.x)
- Instalarea extensiei PlatformIO
- Repornirea Visual Studio Code
- Testare
Instalarea extensiei PlatformIO
Extensia PlatformIO se regăsește în lista de extensii. Caută după "PlatformIO":
După instalare trebuie verificat dacă extensia este activată:
ATENȚIE !!! Procedura de mai sus presupune existența unui minim de experiență în utilizarea Visual Studio Code. Pentru mai multe informații, vezi link-urile din secțiunea "pagini externe"
Alte informații
Pagini externe
Specificații tehnice
- ESP8266EX Datasheet și Documentație tehnică diversă, inclusiv ghiduri de proiectare și comenzi AT.
- ESP8266 NURDspace — Una dintre cele mai complete resurse despre ESP8266, în afara documentației oficiale; conține inclusiv informații despre procesor, consum, schema electronică, specificațiile SPI.
- ElectroDragon — Informații technice detaliate, inclusiv mai multe scheme de noduri reunite sub categoria "HDK".
- Espressif AT Command Set
- ESP8266 AT Command Examples
- Hayes AT command set – Wikipedia.
- UART — Pagina despre UART (Universal Asynchronous Receiver-Transmiter) de pe Wikipedia.
Informații despre ESP8266
Drivere, suport pentru sistem
- CH340 Windows 10 driver download — O pagină cu informații detaliate despre descărcarea și instalarea driver-ului pentru CH34x.
- CH340 Drivers for Windows, Mac and Linux — O altă pagină cu informații detaliate despre descărcarea și instalarea driver-ului pentru CH34x.
Instalare și configurare medii de dezvoltare
- Install ESP8266 Add-on in Arduino IDE — O pagină cu informații detaliate despre instalarea ESP8266 în mediul de dezvoltare Arduino.
- Getting Started with VS Code and PlatformIO IDE for ESP32 and ESP8266 — Un ghid detaliat pentru instalarea și utilizarea Visual Studio Code pentru ESP32 și ESP8266.
Exemple, cod, tutoriale
- 150+ ESP8266 NodeMCU Projects, Tutorials and Guides with Arduino IDE — Cea mai bogată sursă de informații și proiecte pe care am descoperit-o până acum.
- Arduino ESP8266 in the Visual Studio IDE — Are inclusiv o secțiune de debugging
- ESP8266 NodeMCU Static/Fixed IP Address — Un exemplu simplu de aplicație web implementată în ESP8266
- ESP32 Remote Control with WebSocket — Un excelent tutorial despre implementarea unei aplicații bazate pe WebSocket