stefanomalda
Posts: 5
Joined: Mon Mar 05, 2018 5:30 pm

PHP (Dati dal Python in una web page)

Mon Mar 05, 2018 9:12 pm

Ciao a tutti e grazie in anticipo per l'attenzione.
Ho un "piccolo" problema ... Ottengo dati da Python tramite il modulo AdafruitDHT,quindi temperatura ed umidità.
Li vorrei includere in una pagina web.
Cosa devo fare ?
Ho installato Apache e PHP e tutto gira ... ora dovrei creare una pagina dove poter visualizzare i dati del sensore.

Un'aiutino ?
:D

Grazie comunque per l'eventuale risposta.
Stefano

willy_pinguino
Posts: 687
Joined: Sun Jan 22, 2017 9:11 pm

Re: PHP (Dati dal Python in una web page)

Wed Mar 14, 2018 9:15 pm

in soldoni dovresti avere una routine che ogni tot va a leggere i dati dove vengono scritti e li metta in una pagina html

ora probabilmente hai già una routine che fa qualche cosa del genere ma che scrive i dati rilevati in un file di log o quantomeno in un buffer.

non conosco il modulo né la gestione dello stesso con il software di adafruit ma sicuramente c'è un comando da shell che ti fa apparire nella shell stessa i valori che in quel momento i sensori rilevano, quindi quello che devi fare, molto sporco e poco raffinato è creare una pagina html tramite php, dove metterai una variabile che corrisponda al risultato della chiamata del comando di cui sopra da shell

in tutti i linguaggi di scripting c'è qualche comando tipo "do" o "execute" a cui passi come stringa quello che scriveresti nella shell e questo comando di solito restituisce una variabile che riporta quello che verrebbe scritto nella shell dopo quel comando, quindi nella pagina html che andrai a creare metti il comando (a te scoprire quale esso sia) per eseguire la chiamata alla shell, poi metti la variabile nell'output della pagina ed hai fatto. ogni volta che la pagina verrà ricaricata, il comando verrà eseguito e avrai dei dati freschi stampati sul monitor.

se vuoi essere più raffinato, fai in modo che la pagina si ricarichi da sola ogni x secondi così avrai un aggiornamento costante senza dover ricaricare la pagina manualmente.

se tu invece avessi già un file di log con tutte le misurazioni, basterebbe far leggere allo script della pagina quel file di log o anche solo l'ultima riga di log scritta, per avere il dato fresco


non arrabbiarti se non ti do pezzi di codice da copiare, se non usi questa occasione per imparare qualche cosa di nuovo, allora il raspberry non è l'oggetto che fa al caso tuo, perchè è uno strumento didattico, non un facilitatore di vita :-P

stefanomalda
Posts: 5
Joined: Mon Mar 05, 2018 5:30 pm

Re: PHP (Dati dal Python in una web page)

Thu Mar 15, 2018 9:54 am

Grazie Willy , non volevo codici "copia e incolla" tranquillo,quelli si trovano in rete ... volevo solo riuscire a iniziare a capire la logica e da dove iniziare.
Qualcosa sto in effetti facendo,con risultati apprezzabili per un neofita .. :D
Grazie mille per la risposta .

S.

;)

Massi
Posts: 1691
Joined: Fri May 02, 2014 1:52 pm
Location: Italy

Re: PHP (Dati dal Python in una web page)

Thu Mar 15, 2018 10:54 am

Se usi sta cosa solo da rete locale, puoi mettere l'utente che esegue apache tra i sudoers e far eseguire direttamente a php il comando.
Brutto codice, brutto concetto, nessuna sicurezza, ma funziona.

Oppure puoi fare sì che lo script che legge dal DHT (tra l'altro usi già un pessimo codice: quello adafruit per questo sensore) venga eseguito periodicamente, anche solo da cron, e salvi l'output su file (anche su questo tanti modi più o meno belli). A php lasci leggere questo file.
Altro brutto codice, altro brutto concetto, ma almeno un po' più sicuro

Oppure puoi avere un servizio che periodicamente legge i dati dal sensore e li salva in un posto figo, che può essere un DB - se hai bisogno dello storico - o un broker MQTT se vuoi avere sempre l'ultima lettura disponibile da ogni parte. A php lasci leggere il dato da questa base dati.
Codice medio, concetto medio.

Tutto quanto sopra, ovviamente puoi renderlo un po' più guardabile se non esegui PHP per creare la pagina, bensì lo lasci chiamare dal JS della pagina in asincrono.

Oppure fai il figo: fai il solito servizio qui sopra, usi un broker MQTT (se hai bisogno dello storico, fai un altro servizio che salva i dati su DB) e utilizzi websockets per mandare i dati alla pagina appena vengono generati. PHP non ti serve, è tutto javascript. Mosquitto in versione mediamente recente ha websockets.
Bel codice, bel concetto, impari un sacco di cose.

Buon divertimento

stefanomalda
Posts: 5
Joined: Mon Mar 05, 2018 5:30 pm

Re: PHP (Dati dal Python in una web page)

Thu Mar 15, 2018 2:28 pm

Massi wrote:
Thu Mar 15, 2018 10:54 am


Oppure puoi fare sì che lo script che legge dal DHT (tra l'altro usi già un pessimo codice: quello adafruit per questo sensore) venga eseguito periodicamente, anche solo da cron, e salvi l'output su file (anche su questo tanti modi più o meno belli).

E qui casca l'asino ... l'aternativa ad adafruit ?
:P
Massi wrote:
Thu Mar 15, 2018 10:54 am

Oppure fai il figo: fai il solito servizio qui sopra, usi un broker MQTT (se hai bisogno dello storico, fai un altro servizio che salva i dati su DB) e utilizzi websockets per mandare i dati alla pagina appena vengono generati. PHP non ti serve, è tutto javascript. Mosquitto in versione mediamente recente ha websockets.

Miravo a questo,in effetti .... grazie mille !

Massi
Posts: 1691
Joined: Fri May 02, 2014 1:52 pm
Location: Italy

Re: PHP (Dati dal Python in una web page)

Thu Mar 15, 2018 2:44 pm

stefanomalda wrote:
Thu Mar 15, 2018 2:28 pm
E qui casca l'asino ... l'aternativa ad adafruit ?
:P
adafruit ha quel codice terribile che si basa tutto sul tempo "ipotizzato" di lettura dei cambi di stato della linea dati.
Tanto che se cambi modello di raspi, un po' va e un po' no.
molto (molto) meglio questo:
http://abyz.me.uk/rpi/pigpio/
che, tra l'altro, negli esempi già ha uno script per i DHT
http://abyz.me.uk/rpi/pigpio/examples.html

stefanomalda
Posts: 5
Joined: Mon Mar 05, 2018 5:30 pm

Re: PHP (Dati dal Python in una web page)

Thu Mar 15, 2018 3:05 pm

Grazie !
Stanotte studio !!!

Return to “Italiano”