[TUTO] Application web dynamique
Modérateur : Francois
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
L’explication est donnée sur la page de la doc du npm serialport que j’avais utilisé ( https://serialport.io/docs/api-serialport en bas de la page).
A chaque fois que des données arrive sur le port serie, c’est l’évènement parser.on(…) (ligne 75 sur l’image de server.js qui traite le port COM) qui est levé et les données reçues se trouve dans ‘line’. Le srvEvents.emit(‘’data’’,line) de la même ligne déclenche l’évènement srvcom.Events.on(‘’data’’…) dans index.js et fournit les données dans la variable data.
Je suis encore en plein déménagement et tout mon boxon de bricoloux est encore dans les cartons. Je vais essayer de trouvez un PI dans tout ce bazar et voir pour ajouter un petit exemple de bouclage sur le port série ou une autre combine qui permettrait de tester.
Tu as quoi comme Pi et quelle version de raspbian ?
A chaque fois que des données arrive sur le port serie, c’est l’évènement parser.on(…) (ligne 75 sur l’image de server.js qui traite le port COM) qui est levé et les données reçues se trouve dans ‘line’. Le srvEvents.emit(‘’data’’,line) de la même ligne déclenche l’évènement srvcom.Events.on(‘’data’’…) dans index.js et fournit les données dans la variable data.
Je suis encore en plein déménagement et tout mon boxon de bricoloux est encore dans les cartons. Je vais essayer de trouvez un PI dans tout ce bazar et voir pour ajouter un petit exemple de bouclage sur le port série ou une autre combine qui permettrait de tester.
Tu as quoi comme Pi et quelle version de raspbian ?
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
-
- Messages : 9
- Enregistré le : sam. 5 déc. 2020 21:29
Re: [TUTO] Application web dynamique
OK
j'ai un RPi 4 avec buster.
prends ton temps il y a pas le feu
merci
j'ai un RPi 4 avec buster.
prends ton temps il y a pas le feu
merci
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
Bon, j'ai fais l'essais vite fait ce matin avec un PI 4 (4go).
Dans le code server.js
Il faut effectivement remplacer "/dev/ttyAMA0" par "/dev/ttyS0" ou "/dev/serial0"
ensuite , toujours dans le code server.js tu ajoutes une fonction pour ecrire sur le port série
ensuite dans index.js tu créer un timer qui envois toutes les secondes des données sur le port série par cette fonction Send que l'on vient d'ecrire dans le code serveur :
Tu relies ensemble les broche RX et TX du PI (la 8 et la 10 ) et tu démarres le serveur.
Voila, ca te permet de valider le fonctionnement du port série en plus d'avoir ajouté une fonction qui permet à l'objet MyServer.COM d'envoyer des données.
Dans le code server.js
Il faut effectivement remplacer "/dev/ttyAMA0" par "/dev/ttyS0" ou "/dev/serial0"
ensuite , toujours dans le code server.js tu ajoutes une fonction pour ecrire sur le port série
Code : Tout sélectionner
this.Send = function (s) {
srv.write(s);
}
ensuite dans index.js tu créer un timer qui envois toutes les secondes des données sur le port série par cette fonction Send que l'on vient d'ecrire dans le code serveur :
Code : Tout sélectionner
setInterval(() => {
srvcom.Send("Hello Da World " + Date.now() + "\n");
}, 1000);
Tu relies ensemble les broche RX et TX du PI (la 8 et la 10 ) et tu démarres le serveur.
Voila, ca te permet de valider le fonctionnement du port série en plus d'avoir ajouté une fonction qui permet à l'objet MyServer.COM d'envoyer des données.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
-
- Messages : 9
- Enregistré le : sam. 5 déc. 2020 21:29
Re: [TUTO] Application web dynamique
J'ai réussi à faire fonctionner avec le message "Hello Da World\n" , mais avec des bizareries :
tout d'abord modifier la vitesse du port série de 115200 à 9600 bauds, sinon j'obtiens que des petits bouts du message genre 'he'
de temps en temps erreur au lancement de index.js : [Error: EIO: i/o error, write]
et enfin si ça marche normalement quelques surprises :
UDP Server Open
COM Server Open
[ '\r' ]
[ '\r' ]
'Hello', 'Da', 'World' ]
[ 'Hello', 'Da', 'World' ]
[ 'Login', 'incorrect' ] // d'ou ca vient mystère !!!!!
[ 'Hello', 'Da', 'World' ]
[ 'Hello', 'Da', 'World' ]
[ 'Login', 'incorrect' ]
[ 'Hello', 'Da', 'World' ]
tout d'abord modifier la vitesse du port série de 115200 à 9600 bauds, sinon j'obtiens que des petits bouts du message genre 'he'
de temps en temps erreur au lancement de index.js : [Error: EIO: i/o error, write]
et enfin si ça marche normalement quelques surprises :
UDP Server Open
COM Server Open
[ '\r' ]
[ '\r' ]
'Hello', 'Da', 'World' ]
[ 'Hello', 'Da', 'World' ]
[ 'Login', 'incorrect' ] // d'ou ca vient mystère !!!!!
[ 'Hello', 'Da', 'World' ]
[ 'Hello', 'Da', 'World' ]
[ 'Login', 'incorrect' ]
[ 'Hello', 'Da', 'World' ]
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
Je pense que c'est parce que le shell par port serie est activé sur ton PI. Il faut désactiver cette option si tu veux destiner le port série à d'autres usages (sudo raspi-config -> options interfaces -> serial ...)
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
-
- Messages : 9
- Enregistré le : sam. 5 déc. 2020 21:29
Re: [TUTO] Application web dynamique
OK c'était bien ça maintenant tout fonctionne parfaitement.
comme tu l'a dit sur un autre tuto le port série sur RPi c'est pas simple !
merci
comme tu l'a dit sur un autre tuto le port série sur RPi c'est pas simple !
merci
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
Bravo Bud \o/ , nous avons encore gagnéprochefeuille a écrit : ↑jeu. 28 janv. 2021 17:28OK c'était bien ça maintenant tout fonctionne parfaitement.
![Rire :lol:](./images/smilies/icon_lol.gif)
Amuse toi bien avec tout ca
![Clin d’œil ;)](./images/smilies/icon_e_wink.gif)
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
Juste un p’tit code tout bête pour inclure le contrôle de la temperature du cpu dans un programme nodejs en utilisant le npm systeminformation
La fonction cpuchaud() est appelée à chaque fois que la temperature cpu depasse 50° (vous pouvez mettre moins pour tester si votre pi est au frais).
Ici j’ai juste mis une ligne de sortie console, mais avec quelques lignes de plus on pourrait par exemple très facilement piloter la vitesse d’un ventillo. Comme pour tout le reste, c’est totalement asynchrone et sans multithreading, ça ne consomme quedal en ressource, ça laisse le reste du programme se dérouler normalement …
La fonction cpuchaud() est appelée à chaque fois que la temperature cpu depasse 50° (vous pouvez mettre moins pour tester si votre pi est au frais).
Ici j’ai juste mis une ligne de sortie console, mais avec quelques lignes de plus on pourrait par exemple très facilement piloter la vitesse d’un ventillo. Comme pour tout le reste, c’est totalement asynchrone et sans multithreading, ça ne consomme quedal en ressource, ça laisse le reste du programme se dérouler normalement …
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: [TUTO] Application web dynamique
100000 vues passées, bravo NodeJs ![Très content :D](./images/smilies/icon_e_biggrin.gif)
![Très content :D](./images/smilies/icon_e_biggrin.gif)
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
Re: [TUTO] Application web dynamique
Bravo à toi surtout ! Et merci !