bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


iot_django_aproximacio_un_dashboard_sobre_raspberry_pi

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
iot_django_aproximacio_un_dashboard_sobre_raspberry_pi [2023/06/24 16:40]
jordi_gual_purti
iot_django_aproximacio_un_dashboard_sobre_raspberry_pi [2023/06/25 06:36] (actual)
jordi_gual_purti
Línia 97: Línia 97:
         return self.sensor.location_desc + " - " + valor + "ºC - " + self.timestamp.strftime("%Y/%m/%d %H:%M:%S")         return self.sensor.location_desc + " - " + valor + "ºC - " + self.timestamp.strftime("%Y/%m/%d %H:%M:%S")
 </code> </code>
 +
 +<WRAP info>
 +Cal dir que l'aplicació que presentem no facilita cap mecanisme per a la creació de nous objectes de tipus ''TemperatureSensor''. És per això que hem activat la possibilitat de gestionar-los a través de l'admin panel i hem inserit un parell de sensors d'exemple que els trobareu a la base de dades SQLite que s'adjunta en el repositori GitHub. També s'ha activtat l'edició d'objectes ''TemperatureSample'' per poder fer proves de funcionament en cas que no disposem de la possibilitat de muntar físicament un sensor de la forma que s'explica a l'apartat de captura de dades.
 +</WRAP>
  
 ==== Instal·lació de la biblioteca FusionCharts ===== ==== Instal·lació de la biblioteca FusionCharts =====
Línia 311: Línia 315:
 $ crontab crontab.cfg $ crontab crontab.cfg
 </code> </code>
 +
 +==== Algunes imatges ====
 +
 +Per tenir una idea més detallada dels resultats obtinguts es faciliten algunes imatges del muntatge del hardware i de la visualització de la gràfica com a mostra del que hem d'acabar tenint un cop implementat tot el que s'ha explicat:
 +
 +''Vista global del muntatge hardware''
 +{{ :06.hardware.png?600 |}}
 +
 +''Vista de detall de la connexió del sensor''
 +{{ :04.hardware.png?600 |}}
 +
 +''Visualització de la gràfica''
 +{{ :02.grafica.png?600 |}}
 +
 +===== Consideracions finals =====
 +
 +Per acabar, es fan constar algunes consideracions importants que cal tenir presents sobre aquest material, tenint en compte la seva naturalesa didàctica:
 +
 +  * Es tracta, com hem dit, d'un material que té un objectiu didàctic. Per tant, no contempla molts dels aspectes que caldria tenir presents si es tractés d'un projecte orientat a la posada en producció real.
 +  * No s'ha dedicat cap esforç a fer-lo bonic aplicant, per exemple, estils CSS.
 +  * Els mecanismes de control d'errors són molt millorables (caldria afegir bastant codi en aquest sentit).
 +  * No es toca la qüestió de la posada en producció del sistema.
 +
 +
 +Aquest projecte s'ha implementat, tot ell, sobre un SBC Raspberry Pi amb l'objectiu de posar un exemple d'implantació de Django en un entorn poc habitual. La lògica del sentit comú, però, ens diria que per a un cas real en el que es volgués gestionar un conjunt més o menys gran de sensors, l'arquitectura més adequada seria:
 +  * Tenir els sensors associats a un hardware més senzill i barat (Arduino, ESP32, etc.), amb capacitat de connexió a xarxa.
 +  * Tenir la base de dades en un sistema més potent que SQLite: MySQL, PostgresQL, Oracle, etc.
 +  * Tenir el servidor Django en un hardware més potent que no pas un Raspberry Pi.
 +  * Establir les passarel·les adients d'intercanvi de dades entre els diferents components del sistema (sensors, servidor de BD i servidor Django) amb els mecanismes de seguretat adients.
 +
 +{{tag> #FpInfor #DamMp09 #DawMp07 django iot raspberry fusioncharts }}
 +
iot_django_aproximacio_un_dashboard_sobre_raspberry_pi.1687624824.txt.gz · Darrera modificació: 2023/06/24 16:40 per jordi_gual_purti