Vai al contenuto

Esportare dati sul web da SlimLine (Usando Php)

Home Forum Discussioni su problematiche generali Esportare dati sul web da SlimLine (Usando Php)

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Autore
    Post
  • #35638
    Paolo
    Partecipante

    Avrei bisogno di un piccolo suggerimento per la famiglia SlimLine, ho bisogno di acquisire delle temperature (e fin qui, con modulo aggiuntivo tutto ok), ma poi di esportarle verso il web. Più precisamente passarle con GET o POST ad un form PHP che poi le memorizzi in un DB locale MySQL, è fattibile ?

    #38458
    Sergio Bertana
    Amministratore del forum

    La domanda non specifica se si tratta di server Web che gira in una rete locale o VPN, oppure se è distribuito geograficamente ed in tal caso come è connesso alla rete Internet. In ogni caso vediamo le possibili soluzioni.

    Rete locale, VPN, connessione con IP statico o DynDNS, il server sul cloud può con uno script PHP eseguito a tempo (Esempio cron di Linux) effettuare l’accesso ad una pagina web dello SlimLine. Nella pagina vi sono i TAG di visualizzazione variabili (Creazione di pagine dinamiche topics (1), (2), (3)). Eseguendo la richiesta della pagina come se fosse un browser lo script PHP riceve i valori e li memorizza nel database. Ipotizzando di avere nello SlimLine una pagina Values.htm nella directory Storage, per eseguirne la lettura lo script PHP utilizzerà la funzione file_get_contents nel modo:

    $Content=file_get_contents(“http://192.168.0.122/Storage/Values.htm);

    Ho preparato un semplice esempio con un programma SlimLine che gestisce 4 contatori, ed un programma PHP che ne esegue la lettura e li ritorna in echo. Naturalmente il programma PHP andrà eseguito a tempo ed andrà inserita tutta la gestione MySQL. Sullo SlimLine andrà caricato nella cartella Storage il file Values.htm (Download esempio completo).

    Se invece la connessione viene effettuata tramite un modem puoi vedere questo topic.

    #38459
    Paolo
    Partecipante

    Grazie per la risposta. Lo scenario è rovesciato : il server dove girano apache (php, autenticazione e form per inserimento dati in db) e mysql è su dominio ARUBA, mentre gli apparati sono in un locale tecnico con connettività adsl, probabile ip statico. Pensavo di far accedere lo SlimLine all’esterno, richiamando il form php es:

    http://www.miosito.it/log/logsave.php?id=98&ch=1&val=27,8 ( esempio con GET , ma anche fattible con POST )…

    Se non è possibile userò il metodo inverso, da un device in rete LOCALE ( LAN ), interrogherò come suggerito lo SlimLine e poi passerò i dati sul web come sopra descritto…

    #38460
    Sergio Bertana
    Amministratore del forum

    Se sul sito dove hai lo SlimLine hai un IP statico o un router ADSL che supporta DynDNS (L’importante è che il fornitore del servizio ti dia un IP pubblico) puoi usare la tecnica da me descritta. Naturalmente il server PHP dovrà attivare lo script ad intervalli regolari.

    Il fare richiedere la pagina web sul server dallo SlimLine con i parametri in GET (Come da tè indicato) è la tecnica che ho descritto nel caso di utilizzo del modem. In questo caso è il modem che gestisce l’invio dell’header http.

    Siccome lo SlimLine allo stato attuale non può agire come client TCP ma solo come server, per aprire la conessione in modo client puoi usare (Come hanno fatto alcuni clienti) un convertitore Ethernet/Seriale connesso alla seriale dello SlimLine e delegare al convertitore l’apertura della connessione TCP, mentre lo SlimLine invierà l’header http tramite la seriale.

    #38728
    Sergio Bertana
    Amministratore del forum

    Per soluzionare il problema proposto consiglio di dare una occhiata e questa nuova FB (Topic).

    #39026
    Fabio
    Partecipante

    I valori che dovrei recuperare dallo SlimLine vanno da un minimo di 100 variabili fino ad un massimo di 500 variabili. Pensa che con questo sistema sia fattibile/affidabile ?

    #39027
    Sergio Bertana
    Amministratore del forum

    Non vi sono particolari problemi sul numero di variabili da acquisire, se vuoi suddividerle puoi realizzare nello SlimLine più file htm con all’interno le variabili da acquisire. Il programma in php dovrà leggere i vari files è gestire le variabili di ognuno, esempio:

    $Content1=file_get_contents(“http://xxx.xxx.xxx.xxx/Storage/Values1.htm”);
    $Content2=file_get_contents(“http://xxx.xxx.xxx.xxx/Storage/Values2.htm”);

    Ti consiglio di dare una occhiata anche a questo topic dove trovi una classe php per gestire il protocollo modbus master. In questo modo potrai da server interrogare i vari sistemi SlimLine via modbus TCP/IP, in questo modo puoi leggere e scrivere variabili senza alcun limite.

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Devi essere connesso per rispondere a questo topic.