Re: [Python] suggerimenti applicazione python
Ciao Andrea, On Thu, Apr 02, 2020 at 06:12:58PM +0200, Andrea D'alessandro wrote: > Bella la tua soluzione ma i sensori comunicano via mail, e non c'e' verso > di cambiare cio' Ok! > Per quanto riguardo i database a grafo devo studiare perche' non sapevo > neanche che esistevano fino a quando non e' arrivata la tua mail. Prendi quello che segue come suggerimento, in realtà come avrai capito ci sono molteplici soluzioni altrettanto valide, che ti permettono di spaziare e studiare tutto quello che più ti aggrada. Inoltre ciascuno ha il proprio stack tecnologico ben rodato e di cui conosce i minimi dettagli. Pure io ti suggerisco un database specifico per i dati: quelle con cui hai a che fare sono serie temporali, per cui la base di dati che userei io è un TSDB (time series database). L'ultima volta che in questa lista ho indicato semplicemente una lista di tool, mi è stato giustamente fatto notare (con un volo un po' pindarico), che non è di grossa utilità una lista di cose che non conosce per chi deve già affrontare un problema, ed è effettivamente vero! Per cui quello che segue e un suggerimento che va più nel dettaglio. :) Quindi ti direi di usare InfluxDB[¹] poiché pensato anche per l'IoT, e puoi tranquillamente farne il deploy su un raspberry pi. La parte web, come ti dicevo, non la scriverei proprio perché mi limiterei a usare Grafana[²]. Trovi qui un esempio di dashboard per farti un'idea del risultato che puoi ottenere qui: https://play.grafana.org/ Quello che ti rimarrebbe da scrivere è la parte dell'inserimento dei dati in InfluxDB. A seconda che tu voglia o meno interfacciarti col database, potresti addirittura demandare l'inserimento in InfluxDB ad un terzo tool: Telegraf[³]. Quest'ultimo è semplicemente un tool per collezionare metriche da diverse fonti, processarle e riscriverle nel formato richiesto dalla destinazione (oltre InfluxDB supporta anche altri database). Nel tuo caso ti permetterebbe di evitare del tutto di dover vedere come scrivere i dati su InfluxDB, ti basterebbe estrarre dalle email le due serie temporali e scrivere un singolo file di log (con 2 topic) o due file di log da dare in pasto a telegraf. Quest'ultimo li scriverebbe in InfluxDB e ti basterebbe poi fruirli con Grafana. Quindi, ricapitolando, avresti l'architettura che segue: +--+ +--+ +--+ +-+ | | | | | | | | | mail +-->+ Telegraf +-->+ InfluxDB +-->+ Grafana | | | | | | | | | +--+ +--+ +--+ +-+ Dove il blocco "mail" rappresenta il tuo tool/demone per prendere i dati e scrivere il/i log da dare in pasto a telegraf. Questo dovrebbe prendere le email coi tuoi dati, per esempio, nel caso in cui tu stia usando IMAP dovresti usare il modulo imaplib[⁴] ed estrare poi gli allegati col modulo email[⁵]. Nel caso in cui tu volessi scrivere direttamente su InfluxDB per eliminare telegraf, puoi usare: https://github.com/influxdata/influxdb-python Il tutto gira tranquillamente in un raspberry pi. Il vantaggio di questa soluzione è che hai meno codice da mantenere, ma se il tuo è un progetto di studio su come realizzare una soluzione del genere, certo 3 blocchi su 4 te li ritrovi pronti e si tratterebbe di studiare solo come si usano. Vedi un po' tu, tutto dipende da cosa vuoi studiare, quanto tempo hai a disposizione, ecc... Per completezza, scritto in Python, ci sarebbe Graphite[⁶] che ti realizza nel diagramma che ho disegnato sopra i blocchi da telegraf a grafana, ma non l'ho mai usato. Chiudo con un articolo da cui potresti trarre spunto, nel caso decidessi di seguire questa strada: https://www.influxdata.com/blog/how-to-use-grafana-with-influxdb-to-monitor-time-series-data/ Ciao, [¹] https://en.wikipedia.org/wiki/InfluxDB https://www.influxdata.com/products/influxdb-overview/ [²] https://en.wikipedia.org/wiki/Grafana https://grafana.com/ [³] https://www.influxdata.com/time-series-platform/telegraf/ [⁴] https://docs.python.org/3/library/imaplib.html [⁵] https://docs.python.org/3/library/email.html [⁶] https://en.wikipedia.org/wiki/Graphite_(software) P.S. Però evita MongoDB, davvero! :) -- Daniele Tricoli 'eriol' https://mornie.org signature.asc Description: PGP signature ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
El jue., 2 abr. 2020 18:13, Andrea D'alessandro escribió: > Ciao Giorgio, > Bella la tua soluzione ma i sensori comunicano via mail, e non c'e' verso > di cambiare cio'. > Via mail? > ... > Per quanto riguardo i database a grafo devo studiare perche' non sapevo > neanche che esistevano fino a quando non e' arrivata la tua mail > RedisGraph > Andrea > > Il giorno gio 2 apr 2020 alle ore 17:44 Giorgio Zoppi < > giorgio.zo...@gmail.com> ha scritto: > >> Ciao, >> io userei react.js a lato cliente e a lato server flask con una api e dai >> sensori una websocket. Io useri un database a grafo. >> Saluti, >> Giorgio. >> >> El jue., 2 abr. 2020 a las 17:20, Andrea D'alessandro (< >> andrea.dalessan...@ingv.it>) escribió: >> >>> Salve a tutti, >>> Avrei bisogno di qualche suggerimento. >>> Ho dei sensori installati in alcuni pozzi che ogni giorno inviano una >>> mail con i dati in allegato. >>> Sono 2 file, in uno si trova data, ora, pressione, temperatura, e >>> conducibilità dell' acqua, ed in un altro data ora pressione e temperatura >>> del sensore che si trova all esterno del pozzo. >>> Volevo fare un applicazione che si scarica gli allegati, si prende i >>> dati, li mette su un database e consentire la visualizzazione di grafici >>> via web. >>> Programmo in python sostanzialmente per raspberry e di competenze sulla >>> programmazione web ne ho poche. >>> Se qualcuno avesse suggerimenti e mi indicasse una via, in modo da non >>> farmi andare a ficcare in un vicolo cieco gli sarei veramente grato. >>> Volevo provare mongoDB come database e Django come framework, ma credo >>> che per questo tipo di dati sia meglio un db sql. >>> >>> >>> Saluti >>> Andrea >>> ___ >>> Python mailing list >>> Python@lists.python.it >>> https://lists.python.it/mailman/listinfo/python >>> >> >> >> -- >> Life is a chess game - Anonymous. >> ___ >> Python mailing list >> Python@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
On Thu, Apr 2, 2020 at 5:56 PM Andrea D'alessandro < andrea.dalessan...@ingv.it> wrote: > Grazie Marco, > adesso scarico postgres e gli do un occhiata. > Come modulo per dialogare utilizzo psycopg2? > Yes! :-) ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
Ciao Giorgio, Bella la tua soluzione ma i sensori comunicano via mail, e non c'e' verso di cambiare cio' Per quanto riguardo i database a grafo devo studiare perche' non sapevo neanche che esistevano fino a quando non e' arrivata la tua mail. Saluti Andrea Il giorno gio 2 apr 2020 alle ore 17:44 Giorgio Zoppi < giorgio.zo...@gmail.com> ha scritto: > Ciao, > io userei react.js a lato cliente e a lato server flask con una api e dai > sensori una websocket. Io useri un database a grafo. > Saluti, > Giorgio. > > El jue., 2 abr. 2020 a las 17:20, Andrea D'alessandro (< > andrea.dalessan...@ingv.it>) escribió: > >> Salve a tutti, >> Avrei bisogno di qualche suggerimento. >> Ho dei sensori installati in alcuni pozzi che ogni giorno inviano una >> mail con i dati in allegato. >> Sono 2 file, in uno si trova data, ora, pressione, temperatura, e >> conducibilità dell' acqua, ed in un altro data ora pressione e temperatura >> del sensore che si trova all esterno del pozzo. >> Volevo fare un applicazione che si scarica gli allegati, si prende i >> dati, li mette su un database e consentire la visualizzazione di grafici >> via web. >> Programmo in python sostanzialmente per raspberry e di competenze sulla >> programmazione web ne ho poche. >> Se qualcuno avesse suggerimenti e mi indicasse una via, in modo da non >> farmi andare a ficcare in un vicolo cieco gli sarei veramente grato. >> Volevo provare mongoDB come database e Django come framework, ma credo >> che per questo tipo di dati sia meglio un db sql. >> >> >> Saluti >> Andrea >> ___ >> Python mailing list >> Python@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > > > -- > Life is a chess game - Anonymous. > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
Grazie Marco, adesso scarico postgres e gli do un occhiata. Come modulo per dialogare utilizzo psycopg2? Il giorno gio 2 apr 2020 alle ore 17:34 Marco Beri ha scritto: > On Thu, Apr 2, 2020 at 5:21 PM Andrea D'alessandro < > andrea.dalessan...@ingv.it> wrote: > >> Volevo provare mongoDB come database e Django come framework, ma credo >> che per questo tipo di dati sia meglio un db sql. >> > > Unico consiglio: dimenticati mongoDB. > > Postgresql tutta la vita. Sempre. > > Ciao. > Marco. > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
Ciao, io userei react.js a lato cliente e a lato server flask con una api e dai sensori una websocket. Io useri un database a grafo. Saluti, Giorgio. El jue., 2 abr. 2020 a las 17:20, Andrea D'alessandro (< andrea.dalessan...@ingv.it>) escribió: > Salve a tutti, > Avrei bisogno di qualche suggerimento. > Ho dei sensori installati in alcuni pozzi che ogni giorno inviano una mail > con i dati in allegato. > Sono 2 file, in uno si trova data, ora, pressione, temperatura, e > conducibilità dell' acqua, ed in un altro data ora pressione e temperatura > del sensore che si trova all esterno del pozzo. > Volevo fare un applicazione che si scarica gli allegati, si prende i dati, > li mette su un database e consentire la visualizzazione di grafici via web. > Programmo in python sostanzialmente per raspberry e di competenze sulla > programmazione web ne ho poche. > Se qualcuno avesse suggerimenti e mi indicasse una via, in modo da non > farmi andare a ficcare in un vicolo cieco gli sarei veramente grato. > Volevo provare mongoDB come database e Django come framework, ma credo che > per questo tipo di dati sia meglio un db sql. > > > Saluti > Andrea > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- Life is a chess game - Anonymous. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] suggerimenti applicazione python
On Thu, Apr 2, 2020 at 5:21 PM Andrea D'alessandro < andrea.dalessan...@ingv.it> wrote: > Volevo provare mongoDB come database e Django come framework, ma credo che > per questo tipo di dati sia meglio un db sql. > Unico consiglio: dimenticati mongoDB. Postgresql tutta la vita. Sempre. Ciao. Marco. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] suggerimenti applicazione python
Salve a tutti, Avrei bisogno di qualche suggerimento. Ho dei sensori installati in alcuni pozzi che ogni giorno inviano una mail con i dati in allegato. Sono 2 file, in uno si trova data, ora, pressione, temperatura, e conducibilità dell' acqua, ed in un altro data ora pressione e temperatura del sensore che si trova all esterno del pozzo. Volevo fare un applicazione che si scarica gli allegati, si prende i dati, li mette su un database e consentire la visualizzazione di grafici via web. Programmo in python sostanzialmente per raspberry e di competenze sulla programmazione web ne ho poche. Se qualcuno avesse suggerimenti e mi indicasse una via, in modo da non farmi andare a ficcare in un vicolo cieco gli sarei veramente grato. Volevo provare mongoDB come database e Django come framework, ma credo che per questo tipo di dati sia meglio un db sql. Saluti Andrea Data file for DataLogger. == COMPANY : COMP. STATUS: Do DATE: 01-04-2020 TIME: 06:02:03 FILENAME: T4796_VEI_T4796_202003310600_till_202004010500.MON CREATED BY : SWS Wallmount modem 35821635 HW 2 SW R2.1S ==BEGINNING OF DATA ="" [Logger settings] Instrument type =CTD-Diver=17 Status =Started =0 Serial number =..15-T4796 317. Instrument number = =0 Location=VEI_T4796 Sample period =M60 Sample method =T Number of channels =3 [Channel 1] Identification =PRESSURE Reference level =400.0 cmH2O Range =1750.0cmH2O Master level=0.0 cmH2O Altitude=0 m [Channel 2] Identification =TEMPERATURE Reference level =-20.00°C Range =100.00°C [Channel 3] Identification =2:Spec.cond. Reference level =0.00 mS/cm Range =120.00mS/cm [Series settings] Serial number =..19-T4796 317. Instrument number = Location=VEI_T4796 Sample period =00 01:00:00 0 Sample method =T Start date / time =00:00:06 31/03/20 End date / time =00:00:05 01/04/20 [Channel 1 from header] Identification =PRESSURE Reference level =400.0 cmH2O Range =1750.0cmH2O Master level=0.0 cmH2O Altitude=400.0 m [Channel 2 from header] Identification =TEMPERATURE Reference level =-20.00°C Range =100.00°C [Channel 3 from header] Identification =2:Spec.cond. Reference level =0.00 mS/cm Range =120.00mS/cm [Data] 24 2020/03/31 06:00:00.0 1406.2 26.562.86 2020/03/31 07:00:00.0 1406.5 26.562.68 2020/03/31 08:00:00.0 1406.8 26.572.40 2020/03/31 09:00:00.0 1407.1 26.592.70 2020/03/31 10:00:00.0 1407.3 26.552.38 2020/03/31 11:00:00.0 1407.2 26.562.24 2020/03/31 12:00:00.0 1406.7 26.542.58 2020/03/31 13:00:00.0 1406.7 26.572.96 2020/03/31 14:00:00.0 1406.4 26.572.92 2020/03/31 15:00:00.0 1406.2 26.582.84 2020/03/31 16:00:00.0 1406.4 26.572.57 2020/03/31 17:00:00.0 1406.2 26.562.34 2020/03/31 18:00:00.0 1406.5 26.562.55 2020/03/31 19:00:00.0 1407.0 26.562.53 2020/03/31 20:00:00.0 1407.0 26.582.32 2020/03/31 21:00:00.0 1407.2 26.582.86 2020/03/31 22:00:00.0 1407.3 26.572.66 2020/03/31 23:00:00.0 1407.1 26.572.52 2020/04/01 00:00:00.0 1408.1 26.562.21 2020/04/01 01:00:00.0 1415.4 26.562.91 2020/04/01 02:00:00.0 1420.0 26.592.84 2020/04/01 03:00:00.0 1418.4 26.542.60 2020/04/01 04:00:00.0 1415.0 26.562.57 2020/04/01 05:00:00.0 1412.8 26.592.79 END OF DATA FILE OF DATALOGGER FOR WINDOWSData file for DataLogger. == COMPANY : COMP. STATUS: Not appl. DATE: 01-04-2020 TIME: 06:02:03 FILENAME: 00192_Eijkelkamp_Giesbeek_202003310700_till_202004010601.MON CREATED BY : SWS Wallmount modem 35821635 HW 2 SW R2.1S ==BEGINNING OF DATA ="" [Logger settings] Instrument type =e+_2_Chn