ESP8266: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
 
(Nu s-au afișat 27 de versiuni intermediare efectuate de același utilizator)
Linia 2: Linia 2:
ESP8266 este un microcontroller de tip ''SOC'' ([https://en.wikipedia.org/wiki/System_on_a_chip 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 [https://en.wikipedia.org/wiki/Hayes_AT_command_set 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.
ESP8266 este un microcontroller de tip ''SOC'' ([https://en.wikipedia.org/wiki/System_on_a_chip 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 [https://en.wikipedia.org/wiki/Hayes_AT_command_set 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. Utilizarea acestuia permite consum redus și o frecvență de tact maximă de 160 MHz. Sistemul de operare în timp real ([https://ro.wikipedia.org/wiki/Sistem_de_operare_%C3%AEn_timp_real Real-Time Operating System]) și componenta Wi-Fi pun la dispoziția programatorului aprximativ 80% din puterea de procesare.
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 ([https://ro.wikipedia.org/wiki/Sistem_de_operare_%C3%AEn_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 [http://www.yo3iti.ro/index.php/ESP8266#Pagini_externe Pagini Externe].
Mai multe informații se găsesc în link-urile din secțiunea [http://www.yo3iti.ro/index.php/ESP8266#Pagini_externe Pagini Externe].
Linia 20: Linia 20:
Pentru asta, în setări, trebuie adăugat <code>http://arduino.esp8266.com/stable/package_esp8266com_index.json</code> în lista URL-urilor. Imaginea de mai jos este din [https://docs.arduino.cc/software/ide-v2 Arduino IDE 2]:
Pentru asta, în setări, trebuie adăugat <code>http://arduino.esp8266.com/stable/package_esp8266com_index.json</code> în lista URL-urilor. Imaginea de mai jos este din [https://docs.arduino.cc/software/ide-v2 Arduino IDE 2]:


[[Fișier:Arduino ESP8266.png|480px|Arduino și ESP8266]]
[[Fișier:Arduino ESP8266.png|1024px|Arduino și ESP8266]]


Dacă există mai multe surse, se pot adăuga în listă una după alta, separate cu virgulă. De exemplu: <code>https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json</code>. 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.
Dacă există mai multe surse, se pot adăuga în listă una după alta, separate cu virgulă. De exemplu: <code>https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json</code>. 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.
Linia 31: Linia 31:


void setup() {
void setup() {
   // put your setup code here, to run once:
   // codul de inițializare vine aici:
   Serial.begin(115200);
   Serial.begin(115200);
   pinMode(LED, OUTPUT);
   pinMode(LED, OUTPUT);
Linia 37: Linia 37:


void loop() {
void loop() {
   // put your main code here, to run repeatedly:
   // codul care asigură execuția vine aici:
   digitalWrite(LED, HIGH);
   digitalWrite(LED, HIGH);
   Serial.println("LED is on");
   Serial.println("LED is on");
Linia 50: Linia 50:


===Varianta cu Visual Studio Code===
===Varianta cu Visual Studio Code===
Și cu modulul PlatformIO, pentru dezvoltarea de aplicații în Visual Studio Code.
Pentru utilizarea mediului de dezvoltare [https://code.visualstudio.com/ Visual Studio Code]. Etape:
# Instalare [https://code.visualstudio.com/ Visual Studio Code]
# Instalare Python din VS Code (preferabil versiuni 3.x)
# Instalarea extensiei PlatformIO
# Repornirea [https://code.visualstudio.com/ Visual Studio Code]
# Testare
====Instalarea extensiei PlatformIO====
Extensia PlatformIO se regăsește în lista de extensii. Caută după "PlatformIO":
 
[[Fișier:VSC PlatformIO.png|1024px|alt=Extensia Platform IO în Visual Studio Code|Extensia Platform IO în Visual Studio Code]]
 
După instalare trebuie verificat dacă extensia este activată:
 
[[Fișier:VSC PlatformIO enabled.png|480px|alt=Visual Studio Code - verificare dacă PlatformIO este activată|Visual Studio Code - verificare dacă PlatformIO este activată]]
 
'''ATENȚIE !!!''' Procedura de mai sus presupune existența unui minim de experiență în utilizarea [https://code.visualstudio.com/ Visual Studio Code]. Pentru mai multe informații, vezi link-urile din secțiunea "pagini externe"


=Alte informații=
=Alte informații=
==Pagini externe==
==Pagini externe==
===Specificații tehnice===
* [https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf ESP8266EX Datasheet] și [https://www.espressif.com/en/support/documents/technical-documents?keys=&field_type_tid%5B%5D=14 Documentație tehnică diversă], inclusiv ghiduri de proiectare și comenzi AT.
* [https://nurdspace.nl/ESP8266 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.
* [https://w.electrodragon.com/w/Category:ESP8266 ElectroDragon] — Informații technice detaliate, inclusiv mai multe scheme de noduri reunite sub categoria "HDK".
* [https://docs.espressif.com/projects/esp-at/en/release-v2.2.0.0_esp8266/AT_Command_Set/index.html Espressif AT Command Set]
* [https://www.makerfabs.com/desfile/files/esp8266_at_command_examples_en.pdf ESP8266 AT Command Examples]
* [https://en.wikipedia.org/wiki/Hayes_AT_command_set Hayes AT command set] – Wikipedia.
* [https://en.wikipedia.org/wiki/Hayes_AT_command_set Hayes AT command set] – Wikipedia.
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter UART] — Pagina despre [[UART]] (Universal Asynchronous Receiver-Transmiter) de pe Wikipedia.
===Informații despre ESP8266===
* [https://www.espressif.com/en/products/socs/esp8266 ESP8266 pe site-ul producătorului]
* [https://www.espressif.com/en/products/socs/esp8266 ESP8266 pe site-ul producătorului]
* [https://en.wikipedia.org/wiki/Tensilica Tensilica]
===Drivere, suport pentru sistem===
* [https://www.arduined.eu/ch340-windows-10-driver-download/ CH340 Windows 10 driver download] — O pagină cu informații detaliate despre descărcarea și instalarea driver-ului pentru CH34x.
* [https://www.arduined.eu/ch340-windows-10-driver-download/ CH340 Windows 10 driver download] — O pagină cu informații detaliate despre descărcarea și instalarea driver-ului pentru CH34x.
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter UART] — Pagina despre [[UART]] (Universal Asynchronous Receiver-Transmiter) de pe Wikipedia.
* [https://sparks.gogo.co.nz/ch340.html CH340 Drivers for Windows, Mac and Linux] — O altă pagină cu informații detaliate despre descărcarea și instalarea driver-ului pentru CH34x.
* [https://sparks.gogo.co.nz/ch340.html 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===
* [https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/ Install ESP8266 Add-on in Arduino IDE] — O pagină cu informații detaliate despre instalarea ESP8266 în mediul de dezvoltare Arduino.
* [https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/ Install ESP8266 Add-on in Arduino IDE] — O pagină cu informații detaliate despre instalarea ESP8266 în mediul de dezvoltare Arduino.
* [https://randomnerdtutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/ Getting Started with VS Code and PlatformIO IDE for ESP32 and ESP8266] — Un ghid detaliat pentru instalarea și utilizarea [https://code.visualstudio.com/ Visual Studio Code] pentru ESP32 și ESP8266.
===Exemple, cod, tutoriale===
* [https://randomnerdtutorials.com/projects-esp8266/ 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.
* [https://www.visualmicro.com/page/esp8266.aspx Arduino ESP8266 in the Visual Studio IDE] — Are inclusiv o secțiune de debugging
* [https://randomnerdtutorials.com/esp8266-nodemcu-static-fixed-ip-address-arduino/ ESP8266 NodeMCU Static/Fixed IP Address] — Un exemplu simplu de aplicație web implementată în ESP8266
* [https://m1cr0lab-esp32.github.io/remote-control-with-websocket/ ESP32 Remote Control with WebSocket] — Un excelent tutorial despre implementarea unei aplicații bazate pe [https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API WebSocket]

Versiunea curentă din 10 martie 2023 11:40

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:

  1. Descărcarea Arduino IDE 1 sau Arduino IDE 2 (recomandat), de la link-urile respective.
  2. Instalare IDE
  3. Instalare suport pentru ESP8266
  4. 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:

Arduino și ESP8266

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:

  1. Instalare Visual Studio Code
  2. Instalare Python din VS Code (preferabil versiuni 3.x)
  3. Instalarea extensiei PlatformIO
  4. Repornirea Visual Studio Code
  5. Testare

Instalarea extensiei PlatformIO

Extensia PlatformIO se regăsește în lista de extensii. Caută după "PlatformIO":

Extensia Platform IO în Visual Studio Code

După instalare trebuie verificat dacă extensia este activată:

Visual Studio Code - verificare dacă PlatformIO 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

Informații despre ESP8266

Drivere, suport pentru sistem

Instalare și configurare medii de dezvoltare

Exemple, cod, tutoriale