Re: [TUTO] Application web dynamique
Posté : dim. 22 avr. 2018 01:02
Aller, comme il ni a rien de plus reposant qu’un peu de code après une dure journée à glander au soleil je mis suis remis pour finir ca
C’est donc un bon petit pi datalogger qui a les caractéristiques suivantes :
- 8 entrées analogique 12 bits 0 à 5 volts avec niveau d’alarme programmable sur sortie TTL (5v).
- 8 Entrée TTL (5v).
- Paramètres des entrés/sortie configurables par un fichier json (sensor.json).
- Fréquence d’acquisition ajustable à chaud (100, 250, 500, 1000, 2000, 5000 ms). Mode Pause.
- Buffer tournant de 72000 lignes de données (Une ligne = timestamp + 8 analogiques + 8 entrées + 8 sorties). Le buffer peut être vidé ou exporté pendant l’acquisition.
- Export de fichier horodaté au format CSV avec entête de colonnes.
- IHM WEB Temps réel avec accès par user/password.
- Affichage graphique des entrées (analogiques et digitales).
- Leds de visualisation des états entrés/sortie.
- Affichage des valeurs analogiques et des états entrés/sortie.
- Vitesse de défilement des graphique ajustable de 1 à 10 px/data.
- Affichage de l’état du buffer (%, valeurs et barre de progression).
- Affichage d’évènement système (connexions, température cpu, évènement de commande....)
Commandes disponible depuis l'IHM:
- Ajustement de la vitesse des graphiques ( + - ).
- Masquage individuel de courbe graphique pour chaque entrés.
- Téléchargement et effacement du buffer.
- Ajustement de la fréquence d’acquisition ( + - )
- Pause/reprise d’acquisition.
- Commande Reboot et shutdown du système.
Petits plus :
- Statuts complet en temps réel au format json (Web Service REST).
- Hardware : Conforme au schéma de la page précédente (il n’a pas changé).
Le programme est tout à fait fonctionnel meme si vous n’avez pas fabriqué ou câblé l’interface hardware (voir page précédente). Les I/o seront simplement toutes à 0. Le code est un peu plus rêche que pour le reste du tuto mais comme je l’ai dit au départ, ce n’est pas un cours de programmation et il appartient à chacun de se documenter sur le langage s’il y trouve son compte. Ceci dit, je reste dispo pour expliquer ce qui peut sembler nébuleux pour ceux qui ne comprendraient pas tout.
J’ai arrêté là, mais comme vous pouvez le voir sur la GUI, je trouve de nouvelles idées à chaque fois que je me remets dessus et j’en ai encore plein d’autre sous le coude. Qui sait, il y aura peut-être une version 0.0.2
Une petite vidéo pour voir ce que cela donne en vrai
https://www.dailymotion.com/video/x6iq4r0
Installation : il suffit de dézipper le zip (...) dans un répertoire 'datalogger'. Ensuite, lancer la commande npm install depuis la racine du projet pour installer les dépendances npm.
Commande sudo node index.js pour démarrer le serveur (port 8080).
Pour accéder la page graphique : http://adressedupi:8080
Pour récupérer le statut en temps réel au format json (web service REST) : http://adressedupi:8080/statut
Pour télécharger le contenu du buffer au format csv : http://adressedupi:8080/logfile
pour l'accès web : utilisateur : bud , password : spencer
(vous pouvez changer ca dans le fichier index.js)
Update 11 Nov 2019 (nodejs 12.13.0 et npm 6.13.0) -> viewtopic.php?f=44&t=3033&p=32920#p32920
C’est donc un bon petit pi datalogger qui a les caractéristiques suivantes :
- 8 entrées analogique 12 bits 0 à 5 volts avec niveau d’alarme programmable sur sortie TTL (5v).
- 8 Entrée TTL (5v).
- Paramètres des entrés/sortie configurables par un fichier json (sensor.json).
- Fréquence d’acquisition ajustable à chaud (100, 250, 500, 1000, 2000, 5000 ms). Mode Pause.
- Buffer tournant de 72000 lignes de données (Une ligne = timestamp + 8 analogiques + 8 entrées + 8 sorties). Le buffer peut être vidé ou exporté pendant l’acquisition.
- Export de fichier horodaté au format CSV avec entête de colonnes.
- IHM WEB Temps réel avec accès par user/password.
- Affichage graphique des entrées (analogiques et digitales).
- Leds de visualisation des états entrés/sortie.
- Affichage des valeurs analogiques et des états entrés/sortie.
- Vitesse de défilement des graphique ajustable de 1 à 10 px/data.
- Affichage de l’état du buffer (%, valeurs et barre de progression).
- Affichage d’évènement système (connexions, température cpu, évènement de commande....)
Commandes disponible depuis l'IHM:
- Ajustement de la vitesse des graphiques ( + - ).
- Masquage individuel de courbe graphique pour chaque entrés.
- Téléchargement et effacement du buffer.
- Ajustement de la fréquence d’acquisition ( + - )
- Pause/reprise d’acquisition.
- Commande Reboot et shutdown du système.
Petits plus :
- Statuts complet en temps réel au format json (Web Service REST).
- Hardware : Conforme au schéma de la page précédente (il n’a pas changé).
Le programme est tout à fait fonctionnel meme si vous n’avez pas fabriqué ou câblé l’interface hardware (voir page précédente). Les I/o seront simplement toutes à 0. Le code est un peu plus rêche que pour le reste du tuto mais comme je l’ai dit au départ, ce n’est pas un cours de programmation et il appartient à chacun de se documenter sur le langage s’il y trouve son compte. Ceci dit, je reste dispo pour expliquer ce qui peut sembler nébuleux pour ceux qui ne comprendraient pas tout.
J’ai arrêté là, mais comme vous pouvez le voir sur la GUI, je trouve de nouvelles idées à chaque fois que je me remets dessus et j’en ai encore plein d’autre sous le coude. Qui sait, il y aura peut-être une version 0.0.2
Une petite vidéo pour voir ce que cela donne en vrai
https://www.dailymotion.com/video/x6iq4r0
Installation : il suffit de dézipper le zip (...) dans un répertoire 'datalogger'. Ensuite, lancer la commande npm install depuis la racine du projet pour installer les dépendances npm.
Commande sudo node index.js pour démarrer le serveur (port 8080).
Pour accéder la page graphique : http://adressedupi:8080
Pour récupérer le statut en temps réel au format json (web service REST) : http://adressedupi:8080/statut
Pour télécharger le contenu du buffer au format csv : http://adressedupi:8080/logfile
pour l'accès web : utilisateur : bud , password : spencer
(vous pouvez changer ca dans le fichier index.js)
Update 11 Nov 2019 (nodejs 12.13.0 et npm 6.13.0) -> viewtopic.php?f=44&t=3033&p=32920#p32920