Salve a tutti è il mio primo messaggio qui sul forum, per studio e facendo un po di pratica negli anni (qualcosa nel recente e qualcosa nel passato remoto) ho maneggiato linguaggi come come Assembly per z80(roba vecchia eh?!),Basic e C con gestione dell hardware, ultimamente ho fatto pratica con Arduino e ESP8266....comunque tutto indirizzato sempre ad un a programmazione molto "fisica"....detto brutalmente procedure che controllano pin di porte hardware, senza però tralasciare la conoscenza di come funzionano gli elaboratori, la gestione dei tipi di variabili, la gestione delle memorie.
Di recente ho studiato un po HTML e JavaScript e riesco a produrre una pagina con testo,input di vario tipo, assegnazione ID degli elementi e conseguente gestione e cose simili (credo sia proprio la base).
Vengo al punto.
Vorrei realizzare un sistema di lettura di più sensori contemporaneamente tramite uno smartphone.
Vi faccio un esempio: ho 6 termometri(ognuno su una scheda ESP8266) e devo inviare i loro dati in tempo reale allo schermo dello smartphone(un schermata scarna,che ne sò, divisa in sei parti e in ogni parte un numero relativo alla temperatura di un sensore).Come frequenza di aggiornamento dati sono indirizzato verso 0,5 secondi ma se più veloce va bene uguale.
In teoria ho già un sistema funzionante tramite protocollo MQTT (che se ho capito bene è l'ideale per queste cose rispetto HTTP ma accetto volentieri suggerimenti).
Il tutto funziona così: Accendo sullo smartphone l'hotspot WIFI, poi attivo una app("MQTTbroker") che fa da BrokerMQTT, le mie schede ESP8266 vi si collegano e vengono assegnati degli IP e inviano i dati al broker.Poi dalla stessa App c'è una sezione MQTT Client dove ricevere i dati(e anche inviarne).
Vorrei fare la stessa cosa con una pagina HTML/Javascript.OK la parte grafica che è molto semplice(visualizzare 6 campi di testo) ma non riesco proprio a capire come inserirci dentro l'attivazione di un broker MQTT.
In teoria questa dovrebbe essere la bibbia del sistema MQTT
https://github.com/moscajs/mosc ......ci sono esempi ma non capisco comandi come "npm" o come far funzionare quella riga dove dice " var mosca = require('mosca'); " cosa è la funzione/classe require??? è tipo l'include di C??
Riepilogo quello che voglio fare:
1.dal desktop di windows avvio un file HTML
2.questo file deve avviare un broker(locale...non di quelli in cloud o simili)
3.tramite richieste "subscribe" ricevo i valori dei termometri e li assegno a delle variabili
4.visualizzo le variabili nella pagina HTML con un aggiornamento relativamente rapido (max 0,5s)
sono bloccato al punto 2,inoltre sto rimandando il fatto di capire come aggiornare i campi di testo velocemente senza ricaricare tutta la pagina.
Parlo di file HTML perchè mi risulta un po più commestibile ed ho letto da qualche parte che ci sono convertitori da HTML/Javascript ad applicazione Android.(su cui non sono molto ferrato,ho provato a smanettare con AndroidStudio ma solo gran mal di testa)
Sono stato mooolto prolisso scusate,ci sto passando ste settimane di quarantena ma non esco fuori.AIUTOOO!!!