mercoledì 25 ottobre 2017

Controllo Remoto di NodeMCU con RemoteXY - Accensione Led










In questo post descrivo un modo semplice ed intuitivo per controllare un nodeMCU da un applicazione mobile per iOS ed Android.

In dettaglio faccio vedere come pilotare un led da remoto tramite l'applicazione RemoteXY


RemoteXY

RemoteXY e' composto da

  • un applicazione Web che permette di disegnare un interfaccia grafica e di generare il codice da far girare sulla scheda di controllo (ESP8266, Arduino, ...)
  • un applicazione mobile per iOS e Android che permette di controllare da remoto tramite bluetooth, wifi la scheda di controllo


Per creare un'applicazione completa con RemoteXY bisogna eseguire 4 semplici passi:

Passo #1 : Interfaccia Grafica

Disegnare l'interfaccia grafica con una comodo editor drag&drop disponibile qui







Passo #2: Configurazione Codice Sorgente

Configurare e generare il codice sorgente da caricare sul modulo di controllo (ESP8266, Arduino)




Passo #3: Upload Sketch

Compilare e caricare il codice sulla scheda di controllo (ESP8266,Arduino) tramite l'IDE Arduino (o tramite gli altri IDE supportati)

Passo #4: Download App mobile

Scaricare l'applicazione mobile ed installarla sul dispositivo client (iOS, Android)














Configurazione

Dopo aver disegnato l'interfaccia grafica della propria applicazione e' necessario configurare il tool per generare il codice in maniera corretta




Ci sono 4 aspetti da configurare:

  • La Connessione (Connection)
Sono supportate 4 tipi diversi di connessioni

Nota: l'applicazione per iOS supporta solo Bluetooth a bassa energia (BLE)

  • Il Device (la scheda di controllo)

Sono supportate le seguenti piattaforme


  • Il Modulo di Comunicazione usato
Sono supportati i seguenti moduli di comunicazione da accoppiare con le piattaforme supportate


Quindi per esempio e' supportato Arduino Uno con Bluetooth HC-05, oppure Arduino con ESP8266, oppure nodeMCU con ESP8266


  • L'IDE che si utilizza
Sono supportati 3 diversi ambienti di sviluppo







Accensione LED con nodeMCU

Vediamo ora un semplice esempio di come controllare lo stato di un LED tramite una semplice applicazione mobile e nodeMCU

GUI

Disegniamo tramite l'editor online una semplicissima interfaccia con una label e con uno switch





Ora cliccando sullo switch (ON/OFF) e' possibile configurare alcuni semplici parametri ad esso correlati nella sezione Element



Per semplicita' lasciamo i valori di default che vanno benissimo

Configurazione

Configuriamo il codice nel seguente modo






In questo modo stiamo dicendo a RemoteXY che vogliamo usare una scheda nodeMCU con ESP8266 per controllare il nostro led e che la vogliamo programmare con l'IDE Arduino. 

La connessione e' di tipi Wi-Fi access point e quindi stiamo dicendo a RemoteXY che vogliamo che il nostro nodeMCU si comporti come un WiFi Access Point

Quindi e' necessario anche configurare la sezione Module Interface inserendo lo SSID  della rete WiFi che verra' implementata da nodeMCU

Specifichiamo anche la porta su cui il nostro server,1 che gira su nodeMCU, rimarra' in ascolto.

Infine per semplicita' impostiamo il tutto come un Open point cioe' senza autenticazione e senza password







Codice

Premendo ora il pulsante




siamo rediretti ad una pagina in cui e' visualizzato il codice per nodeMCU e dove e' possibile scaricare il codice come file zip e anche la libreria RemoteXY in formato zip





A questo punto scarichiamo la libreria ed installiamola nell'IDE Arduino tramite l'apposito menu'.
Poi scarichiamo il codice




Come possiamo vedere nel codice generato ci sono le informazioni che abbiamo inserito in fase di configurazione:
  • SSID del AP WiFI
  • Porta del server

La sezione RemoteXY_CONF[] contiene una descrizione dell'interfaccia grafica che verra' inviata all'applicazione mobile una volta stabilita la connessione tra device mobile ed il nodeMCU



Circuito

Ora creiamo il semplicissimo circuito andando ad connettere un LED sul pin D4 del nodeMCU tramite una resistenza da 100-220 Ohm





Test

Ora compiliamo e carichiamo lo sketch sul nodeMCU tramite l'IDE Arduino





Ora tramite il vostro dispositivo mobile (smartphone o tablet) collegatevi alla nuova rete WiFi chiamata LedWiFi




A questo punto lanciate l'app RemoteXY e cliccate sul segno + in alto a destra. 





Poi selezionate l'opzione WiFi point










Ora premete su Connect e l'applicazione si connettera' al vostro nodeMCU e scarichera' la definizione dell'interfaccia







Ora potete pilotare il led dal vostro telefono/tablet