ESP8266 Web server con telemetria

Da raspibo.
Jump to navigation Jump to search

Introduzione

Il presente progetto è un'estensione di ESP8266 Web server touch e si prefigge di aggiungere al progetto citato la restituzione su Display touch di dati misurati da Arduino. In questa estensione si mostra come si possano ottenere sul display touch di un cellulare o di un tablet valori 'prelevati' da Arduino. Per estensione si potrebbe usare, con modifiche 'leggere', questa applicazione in ambito domotico sia per visualizzare lo stato di sensori che per azionare switch o relays.

Il circuito usato per lo scambio dati

La figura mostra come sono stati connessi tra loro ESP8266 ed Arduino.

Oltre a questo sono mostrate le connessioni con il driver motori del Robottino che verrà usato e il collegamento dei sensori con Arduino.

Il progetto illustrato qui è stato ricavato dal modello Ruschino, con piccole variazioni del SW e dell'HW nell'utilizzo del driver motori. In particolare qui si fa uso del ponte H del driver per motori DC del tipo L298N interfacciato con integrato Inverter tipo 4069 che consente di utilizzare solo due segnali PWM per 'governare' i motori. i valori PWM variano da 127 a 255 per il moto in avanti e da 127 a 0 per il moto all'indietro.

Connessioni

1) Sono visibili le connessioni all'alimentazione 6-12v per Arduino (verso pin VIN), 3.3v per ESP8266.

2) Arduino Nano e scheda ESP8266 connessi serialmente su pin 6,7 di Arduino

3) Connessione (di esempio) di un Sensore di Temperatura NTC e misura della Tensione Batteria di Arduino. Dati inviati in telemetria al display touch.

4) Connessione tra ESP e convertitore FTDI USB-Seriale per programmare ESP

5) E' mostrata a parte l'immagine di L298N con 4096 e le relative connessioni.

Modifiche al Software di ESP8266

i file del progetto Ruschino web_sern.lua, init_lua, e index.htm hanno mantenuto lo stesso nome e sono stati modificati come illustrato qui:

init.lua

<source lang=lua> tmr.alarm(0, 3000, 0, function() dofile('web_serv.lua') end ); print(""); uart.setup(0,57600,8,0,1,0); <source> Unica modifica la velocità di trasmissione dati da 115200 a 57600. Si riscontrava qualche errore di ricezione da parte di Arduino, utilizzando la velocità più alta, non è escluso che si possa far funzionare anche a 115200 bisognerebbe fare altre prove.