Page 27 sur 31

Re: [TUTO] Application web dynamique

Posté : ven. 11 déc. 2020 23:26
par prochefeuille
Bonsoir,
Merci Bud pour ta réponse,
en attendant j'étais parti avec un autre module (pigpio) et j'ai réussi à tout faire fonctionner
y compris l'action d'un bouton physique sur la led Eclairage cockpit qui allume et eteint la led
et met à jour en même temps la page web.

Re: [TUTO] Application web dynamique

Posté : mar. 15 déc. 2020 17:16
par Bud Spencer
prochefeuille a écrit :
ven. 11 déc. 2020 23:26
.. en attendant j'étais parti avec un autre module (pigpio) et j'ai réussi à tout faire fonctionner
Nikel :) . Je manque un peut de temps en ce moment pour jouer avec le PI, mais si tu t'en es sorti avec pigpio c'est très bien. Fondamentalement, la librairie utilisée n'a pas vraiment d'importance pourvue qu'elle sache faire ce que l'on attend d'elle. Perso j'utilise plus rpio parce que derrière c'est la bcm2835 et que je m'y était habitué avec d'autres langages (c, c++, c# et même quelques tests de wrap avec java). Je ferais quand même le portage de cette leçon 6 avec rpio parce que c'est vraie que c'est un bon point d'entré pour pour les débutants qui veulent commencer avec de simples entrés/sorties sur Pi avec NodeJS.

@drean : Oui, il me semble que l'on avait déjà parlé de ton projet de volet roulant. Les interrupts du mcp23s17 ne sont pas très compliqué à utiliser. Il faut juste bien faire le tours de tous les registres concernés pendant la phase d'initialisation du composant. De ce coté, j'avais trouvé que la datasheet manquait un peu de clarté et j'avais du passer par une phase d'expérimentation pour lever centaine ambiguïté.

Re: [TUTO] Application web dynamique

Posté : ven. 8 janv. 2021 21:47
par Ascii
Super tutoriel complet et interessant.
Merci à vous

Re: [TUTO] Application web dynamique

Posté : lun. 11 janv. 2021 18:13
par prochefeuille
Bonsoir Bud et tous mes voeux de bonne année ! ,
C'est désespérant mais je n'arrive pas à faire fonctionner le serveur COM : impossible de faire afficher Hello Da World
Sur la sortie, la partie COM est toujours [ ].
cela vient surement du programme client.js (manière d'envoyer le message ???)
C'est surement bête comme chou, mais je sèche
Merci

Re: [TUTO] Application web dynamique

Posté : mer. 13 janv. 2021 21:17
par Bud Spencer
Ascii a écrit :
ven. 8 janv. 2021 21:47
Super tutoriel complet et interessant.
Merci à vous
padkoi ;)

Re: [TUTO] Application web dynamique

Posté : mer. 13 janv. 2021 22:47
par Bud Spencer
prochefeuille a écrit :
lun. 11 janv. 2021 18:13
Bonsoir Bud et tous mes voeux de bonne année ! ,
C'est désespérant mais je n'arrive pas à faire fonctionner le serveur COM : impossible de faire afficher Hello Da World
Sur la sortie, la partie COM est toujours [ ].
cela vient surement du programme client.js (manière d'envoyer le message ???)
C'est surement bête comme chou, mais je sèche
Merci
Ca doit etre quand j'avais fait l'exemple avec un serveur udp, serie et un adc spi. Sauf erreur de ma part, le client que j'avais fait en nodejs en exemple envoyait uniquement des données vers le serveur udp, mais pas sur le serveur port serie. Pour le client serie, j'avais utilisé un terminal depuis un pc windows.

Re: [TUTO] Application web dynamique

Posté : sam. 16 janv. 2021 17:47
par prochefeuille
OK, mais comment faire en restant uniquement sur le RPi ?. j'ai essayé en ajoutant une fonction SendCom dans server.js, partie COM :
this.SendCom = function(data) {
srv.write(data);
}
et dans client.js, après cltudp.Send(..... :
cltcom.SendCom("Hello Da World");

mais COMData reste désespérement vide, ou est l'erreur ?

Re: [TUTO] Application web dynamique

Posté : sam. 16 janv. 2021 17:49
par prochefeuille
complément : je ne vois pas à quoi sert le parser ?

Re: [TUTO] Application web dynamique

Posté : lun. 18 janv. 2021 20:51
par Bud Spencer
C'est un peu particulier avec les ports serie. Pour envoyer ou recevoir des données, un port série doit etre ouvert et s'il est ouvert par un programme il ne peut l'etre par un autre programme. Le plus simple, c'est d'utiliser 2 ports série distinct (sur le meme appareil ou pas), un pour le serveur et un pour le client.
Autre solution de 'secours', c'est de programmer un client qui utilise le meme port série (dans le code du programme principale des serveurs par exemple) . Ensuite, Il suffit de shunter les broches RX et TX du port.
prochefeuille a écrit :
sam. 16 janv. 2021 17:49
complément : je ne vois pas à quoi sert le parser ?
lequel ?

Re: [TUTO] Application web dynamique

Posté : mar. 19 janv. 2021 15:27
par prochefeuille
dans server.js :
const Readline = SerialPort.parsers.Readline;
const parser = new Readline();
.....
srv.pipe(parser);
.....
parser.on('data', line => srvEvents.emit("data", line));

comme ces éléments ne sont utilisés nulle part dans application server ni client, on s'en sert pour quoi ?

j'ai modifié mes fichiers en utilisant /dev/ttyAMA0 dans appServer et /dev/ttyS0 dans client.js, mais pas d'erreurs ni de résultats !