Web Server con ESPertino

Web Server con ESPertino

ESPertino ha tra i suoi punti di forza la connettività, resa possibile grazie alla presenza del modulo Wroom32 integrato sulla scheda e capace di garantire la comunicazione wireless via WiFi e Bluetooth Low Energy. Nell’applicazione descritta nell’articolo (in pieno stile IoT), ESPertino implementerà un Web Server, a cui ci su potrà collegare tramite un comune browser per interrogare o comandare lo stato di led, relè, o altri sensori e attuatori collegati alla scheda.

Introduzione

La board ESPertino, visibile in Figura 1, rappresenta un’ottima soluzione per realizzare diversi tipi di applicazioni IoT. Tra le caratteristiche che la contraddistinguono, ricordiamo anzitutto la connettività wireless, con interfacce sia di tipo Bluetooth Low Energy (BLE), che WiFi. L’IoT (Internet of Things) immagina uno scenario in cui una moltitudine di dispositivi elettronici (con funzioni e caratteristiche differenti tra loro), sono tutti interconnessi a una rete, e in grado di scambiarsi informazioni in tempo reale.

Figura 1: la board di prototipazione rapida ESPertino, particolarmente indicata per le applicazioni IoT

Per supportare l’IoT, che a sua volta è stato prescelto come veicolo principale nel processo di attuazione dell’Industry 4.0, è quindi fondamentale e imprescindibile che il dispositivo sia dotato di un’interfaccia di comunicazione ad alta velocità, robusta, affidabile, e possibilmente dotata di un meccanismo di protezione (cifratura) per garantire la sicurezza dei dati trasmessi sulla rete. La board ESPertino possiede tutte queste caratteristiche, grazie alla presenza di un modulo integrato ESP32 (Figura 2).

Figura 2: il modulo ESP32-Wroom-32 integrato sulla board ESPertino

Il modulo ESP-32, progettato e prodotto da Espressif Systems, possiede delle caratteristiche hardware e funzionali di assoluto rilievo. Inoltre, il modulo possiede tutte le certificazioni necessarie alla sua operatività, per cui può immediatamente essere impiegato senza preoccuparsi di dover sottoporre il dispositivo a ulteriori test e verifiche di conformità. Ecco una breve sintesi delle caratteristiche tecniche del componente:

  • doppio microprocessore a basso assorbimento Xtensa® LX6 a 32 bit;
  • 448 Kb di memoria ROM per il boot e per le funzioni destinate al core;
  • 520 Kb di memoria SRAM integrata;
  • 8 Kb di memoria SRAM in RTC SLOW;
  • 8 Kb di memoria SRAM in RTC FAST;
  • 1 Kbit di memoria EFUSE, e 256 bit per il MAC;
  • interfaccia WiFi conforme a 802.11 b/g/n/d/e/i/k/r (802.11n fino a 150 Mbps);
  • interfaccia Bluetooth conforme alle specifiche v4.2 BR/EDR e BLE;
  • funzionamento Wi-Fi in modalità Station/softAP/SoftAP+station/P2P;
  • funzionalità per la sicurezza tramite WPA/WPA2/WPA2-Enterprise/WPS;
  • crittografia con algoritmi AES/RSA/ECC/SHA;
  • supporto ai protocolli IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT;
  • disponibilità di numerose interfacce e protocolli di comunicazione a livello hardware: scheda di memoria SD, UART, SPI, SDIO, I2C, PWM per pilotaggio di led, PWM per pilotaggio di motori, I2S, IR, GPIO, sensore touch capacitivo, ADC, DAC, sensore ad effetto Hall, sensore di temperatura;
  • temperatura operativa compresa tra -40 °C e +85 °C;
  • tensione operativa compresa tra 2,2 V e -3,6 V;
  • assorbimento: 80 mA (valore tipico);
  • dimensioni: 18 mm x 20 mm x 3 mm.

Oltre a queste caratteristiche tecniche di assoluto rispetto, il modulo presenta l’enorme vantaggio di essere programmabile utilizzando diversi linguaggi e ambienti di sviluppo integrati (Lua, Python, Arduino, ecc.). Sì, avete letto proprio bene, anche Arduino! Vista l’enorme diffusione e il successo riscontrati da Arduino (grazie anche alla sua semplicità di programmazione, che lo rende accessibili anche ai non “adepti”), alcuni appassionati hanno creato un plugin per l’IDE Arduino che permette di programmare il modulo Wroom-32 (e, di conseguenza, le board che lo integrano, come ESPertino). Per chi non avesse già installato questo plugin, ricordiamo che disponibile una descrizione esauriente sui passi da compiere.

L’applicazione oggetto di questo articolo prevede la creazione di un Web Server sulla board ESPertino, sfruttando le potenzialità messe a disposizione dal modulo Wroom-32. In particolare, vedremo come implementare un server a cui poter accedere via wireless (WiFi) da un dispositivo portatile (smartphone, tablet) o da un comune PC, utilizzando un comune browser di navigazione. Una volta collegati al web server, ESPertino ci invierà una pagina analoga a quella visualizzata in Figura 3.

Per questa applicazione (a cui ne seguiranno altre dello stesso tipo, ma più complesse e con l’utilizzo di ulteriori sensori ed attuatori), ci interessa verificare la funzionalità di web server utilizzando le risorse già disponibili sulla board, e più precisamente:

  • il led utente (user led), collegato al GPIO 5 del modulo. Per come è stato collegato sulla scheda ESPertino, questo led si accende quando l’uscita associata al pin 5 è bassa, e viceversa si spegne quando l’uscita associata al pin 5 è alta;
  • il relè 1, collegato al GPIO 12 del modulo. Per i relè, assumiamo che lo stato di uscita alta (HIGH) attivi il relè, mentre lo stato di uscita bassa (LOW) lo disattivi;
  • il relè 2, collegato al GPIO 14 del modulo. Valgono le stesse considerazioni fatte in pecedenza a proposito del relè 1.

La struttura della pagina web, visibile in Figura 3, ci permetterà di eseguire da remoto le seguenti operazioni:

  • modificare lo stato dell’uscita associata al GPIO 5, e quindi di accendere oppure spegnere il led utente;
  • monitorare lo stato (acceso oppure spento) del led utente;
  • modificare lo stato dell’uscita associata al GPIO 12, e quindi di attivare oppure disattivare il relè 1;
  • monitorare lo stato (attivato oppure disattivato) del relè 1;
  • modificare lo stato dell’uscita associata al GPIO 14, e quindi di attivare oppure disattivare il relè 2;
  • monitorare lo stato (attivato oppure disattivato) del relè 2.

Figura 3: struttura della pagina web attraverso cui interagire con il server residente su ESPertino

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2679 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

105 Commenti

  1. Avatar photo Adriano Gandolfo 7 Settembre 2017
  2. Avatar photo Giovanni Di Maria 7 Settembre 2017
  3. Avatar photo Daniele Valanzuolo 7 Settembre 2017
  4. Avatar photo Riccardo Ventrella 7 Settembre 2017
    • Avatar photo Davide Di Gesualdo 7 Settembre 2017
  5. Avatar photo Riccardo Ventrella 7 Settembre 2017
    • Avatar photo Davide Di Gesualdo 7 Settembre 2017
  6. Avatar photo Riccardo Ventrella 7 Settembre 2017
  7. Avatar photo Riccardo Ventrella 7 Settembre 2017
  8. Avatar photo Stefano Lovati 7 Settembre 2017
  9. Avatar photo Luca Giuliodori 7 Settembre 2017
    • Avatar photo Riccardo Ventrella 7 Settembre 2017
  10. Avatar photo stefanovarano 11 Settembre 2017
  11. Avatar photo BelMax 15 Settembre 2017
    • Avatar photo Stefano Lovati 16 Settembre 2017
  12. Avatar photo lorenzo55 18 Settembre 2017
    • Avatar photo Stefano Lovati 18 Settembre 2017
      • Avatar photo lorenzo55 18 Settembre 2017
      • Avatar photo lorenzo55 19 Settembre 2017
        • Avatar photo Stefano Lovati 19 Settembre 2017
  13. Avatar photo cavutotito 19 Settembre 2017
  14. Avatar photo Tito Cavuto 20 Settembre 2017
    • Avatar photo Stefano Lovati 20 Settembre 2017
      • Avatar photo Riccardo Ventrella 21 Settembre 2017
        • Avatar photo Stefano Lovati 21 Settembre 2017
          • Avatar photo Riccardo Ventrella 21 Settembre 2017
  15. Avatar photo ZioTo73 5 Ottobre 2017
    • Avatar photo Stefano Lovati 5 Ottobre 2017
  16. Avatar photo claudio51 12 Ottobre 2017
  17. Avatar photo Stefano Lovati 12 Ottobre 2017
    • Avatar photo Riccardo Ventrella 12 Ottobre 2017
      • Avatar photo Riccardo Ventrella 12 Ottobre 2017
  18. Avatar photo Stefano Lovati 12 Ottobre 2017
  19. Avatar photo Riccardo Ventrella 12 Ottobre 2017
    • Avatar photo Riccardo Ventrella 12 Ottobre 2017
  20. Avatar photo claudio51 12 Ottobre 2017
    • Avatar photo Stefano Lovati 12 Ottobre 2017
  21. Avatar photo Stefano Lovati 12 Ottobre 2017
    • Avatar photo Riccardo Ventrella 12 Ottobre 2017
      • Avatar photo Stefano Lovati 12 Ottobre 2017
        • Avatar photo Riccardo Ventrella 12 Ottobre 2017
  22. Avatar photo claudio51 13 Ottobre 2017
    • Avatar photo Stefano Lovati 13 Ottobre 2017
      • Avatar photo Stefano Lovati 13 Ottobre 2017
  23. Avatar photo ZioTo73 13 Ottobre 2017
  24. Avatar photo claudio51 14 Ottobre 2017
    • Avatar photo Riccardo Ventrella 14 Ottobre 2017
    • Avatar photo Riccardo Ventrella 14 Ottobre 2017
    • Avatar photo Stefano Lovati 21 Ottobre 2017
  25. Avatar photo claudio51 22 Ottobre 2017
    • Avatar photo Stefano Lovati 29 Ottobre 2017
  26. Avatar photo ZioTo73 23 Ottobre 2017
  27. Avatar photo claudio51 29 Ottobre 2017
  28. Avatar photo claudio51 7 Novembre 2017
  29. Avatar photo claudio51 11 Dicembre 2017
  30. Avatar photo Stefano Lovati 11 Dicembre 2017
  31. Avatar photo claudio51 11 Dicembre 2017
  32. Avatar photo claudio51 11 Dicembre 2017
  33. Avatar photo Stefano Lovati 11 Dicembre 2017
    • Avatar photo Riccardo Ventrella 11 Dicembre 2017
  34. Avatar photo claudio51 11 Dicembre 2017
    • Avatar photo Riccardo Ventrella 11 Dicembre 2017
  35. Avatar photo claudio51 11 Dicembre 2017
  36. Avatar photo Stefano Lovati 11 Dicembre 2017
  37. Avatar photo Antonio 21 Gennaio 2018
  38. Avatar photo Stefano Lovati 21 Gennaio 2018
  39. Avatar photo Raffaele97 28 Gennaio 2018
  40. Avatar photo Stefano Lovati 29 Gennaio 2018
    • Avatar photo Raffaele97 20 Maggio 2018
  41. Avatar photo Antonio 11 Febbraio 2018
  42. Avatar photo Stefano Lovati 11 Febbraio 2018
  43. Avatar photo Antonio 11 Febbraio 2018
  44. Avatar photo Stefano Lovati 11 Febbraio 2018
  45. Avatar photo skandy 1 Marzo 2018
    • Avatar photo Stefano Lovati 2 Marzo 2018
      • Avatar photo Stefano Lovati 2 Marzo 2018
  46. Avatar photo Antonio.Perrotta 24 Aprile 2018
    • Avatar photo Sara Ercolani 24 Aprile 2018
  47. Avatar photo murdok_elettronico 21 Maggio 2018
  48. Avatar photo Stefano Lovati 21 Maggio 2018
    • Avatar photo murdok_elettronico 23 Maggio 2018
      • Avatar photo Stefano Lovati 23 Maggio 2018
        • Avatar photo Stefano Lovati 23 Maggio 2018
          • Avatar photo murdok_elettronico 24 Maggio 2018
  49. Avatar photo Massimo Romeo 23 Agosto 2018
    • Avatar photo Stefano Lovati 25 Agosto 2018
  50. Avatar photo Massimo Romeo 31 Agosto 2018
  51. Avatar photo Stefano Lovati 31 Agosto 2018
  52. Avatar photo paolo98 22 Gennaio 2019
  53. Avatar photo Stefano Lovati 22 Gennaio 2019
  54. Avatar photo paolo98 23 Gennaio 2019
  55. Avatar photo paolo98 23 Gennaio 2019
  56. Avatar photo paolo98 23 Gennaio 2019
  57. Avatar photo paolo98 23 Gennaio 2019
  58. Avatar photo Stefano Lovati 23 Gennaio 2019
  59. Avatar photo Ugo Sisto 5 Febbraio 2019
  60. Avatar photo Stefano Lovati 5 Febbraio 2019
  61. Avatar photo Ugo Sisto 6 Febbraio 2019
  62. Avatar photo Stefano Bruscoli 5 Dicembre 2019
  63. Avatar photo Giordana Francesca Brescia 9 Dicembre 2019
    • Avatar photo Stefano Bruscoli 9 Dicembre 2019
      • Avatar photo Giordana Francesca Brescia 10 Dicembre 2019
        • Avatar photo Stefano Bruscoli 11 Dicembre 2019
  64. Avatar photo Stefano Lovati 11 Dicembre 2019

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend