Synless / SynLight

Main project 2 - Ambient lighting system for Windows using ESP8266/NodeMCU
14 stars 4 forks source link

No UDP message #11

Closed mkfrcp closed 3 years ago

mkfrcp commented 4 years ago

Bonjour,

Je suis tombé par hasard sur votre développement. Bravo !

Malheureusement, Synlight ne fonctionne pas. Ma carte nodeMCU ne reçoit pas d'information de Synlight. Pour tenter de trouver l'origine du problème, j'ai installé sur mon téléphone Android l'App UDP sender/receiver. AU message UDP n'est envoyé par Synlight alors que si je simule l'envoi d'un message UDP depuis le PC sur la même adresse IP et le même port, je reçois bien le message sur le téléphone. J'ai vérifié plusieurs fois le fichier txt de configuration mais ne vois aucune erreur. Pourriez-vous m'aider ? Pour information, j'ai suivi ce tuto : https://ambimod.jimdofree.com/2017/06/01/tuto-synlight-l-alternative-sans-fil-%C3%A0-ambibox-prismatik-et-les-autres/ Merci d'avance. param.txt

Synless commented 4 years ago

Bonjour :)

Le programme a un peu changé depuis que ce tuto a été réalisé (pas par moi).

Il faut tacher de savoir si c'est le programme qui n'envoie pas ou si c'est le NodeMCU qui ne reçoit pas.

Est-ce que le NodeMCU arrive bien à se connecter au réseau wifi ? Les LEDs s'allument en rouge (tentative) puis en vert (connecté) [ps : mon second message] Le NodeMCU doit écrire dans le terminal série au démarrage, quelque chose qui ressemble à ça :

12:06:49.137 -> *WM: AutoConnect
12:06:49.137 -> *WM: Connecting as wifi client...
12:06:49.137 -> *WM: Custom STA IP/GW/Subnet
12:06:49.137 -> *WM: 192.168.0.175
12:06:49.137 -> *WM: Status:
12:06:49.137 -> *WM: 6
12:06:49.137 -> *WM: Using last saved values, should be faster
12:06:52.240 -> *WM: Connection result: 
12:06:52.240 -> *WM: 3
12:06:52.240 -> *WM: IP Address:
12:06:52.240 -> *WM: 192.168.0.175

Premier test, un ping depuis le terminal Windows. Ça doit normalement fonctionnel sans problème. Une fois que c'est fait il faut regarder si l'envoi "manuel" d'un paquet fonctionne. Avec un logiciel de paquet UDP il faut essayer d'envoyer un ping. En string ça donne APing et en hexa 41 50 69 6e 67 Ça permet aussi de vérifier le port. Ensuite pourquoi pas essayer d'envoyer une couleur statique : 41 02 54 50 00

Si ça fonctionne alors le problème vient du C#. Pour vérifier que l'envoie se fait bien il faut mettre un point d’arrêt sur cette ligne : https://github.com/Synless/SynLight/blob/be2561916c7f4af493de42ffb414545459c66b33/SynLight/Model/AutoNodeMCU.cs#L140 pour regarder ce que vaut le endpoint edp. Si le programme ne passe jamais par là alors il faut remonter la source dans la fonction Tick et dans Send. Si le programme passe sur cette ligne alors il faut changer la configuration réseau du programme et regarder ce qui arrive sur un logiciel de paquet UDP, et à ce moment la le coupable est sans doute le programme du NodeMCU.

Synless commented 4 years ago

Un détail : Parfois, mon NodeMCU se connecte à un SSID qui n'existe pas. Mon routeur Xiaomi et le NodeMCU ne sont pas des flèches et je dois parfois changer le SSID Wifi pour que la connexion se fasse et soit fonctionnelle.

mkfrcp commented 4 years ago

Bonjour,

Merci pour cette réponse précise. J'ai entre temps avancé sur le problème et suis parvenu à faire fonctionner l'ensemble en revenant au port par défaut (8787) tant côté ESP que synless. J'avais initialement utilisé le port 1234 tel que suggéré dans le tuto. Je n'ai pas encore analysé les raisons de problème. L'analyseur UDP Android reçoit bien les trames et L'ESP fonctionne désormais.

Je vais maintenant tenter de faire fonctionner Synless avec Wled, que je trouve plus performant et agréable à utiliser.

Merci encore. J'espère que Synless évoluera :)

Le dim. 16 août 2020 à 12:42, Synless notifications@github.com a écrit :

Bonjour :)

Le programme a un peu changé depuis que ce tuto a été réalisé (pas par moi).

Il faut tacher de savoir si c'est le programme qui n'envoie pas ou si c'est le NodeMCU qui ne reçoit pas.

Est-ce que le NodeMCU arrive bien à se connecter au réseau wifi ? Les LEDs s'allument en rouge (tentative) puis en vert (connecté). Le NodeMCU doit écrire dans le terminal série au démarrage, quelque chose qui ressemble à ça :

12:06:49.137 -> *WM: AutoConnect

12:06:49.137 -> *WM: Connecting as wifi client...

12:06:49.137 -> *WM: Custom STA IP/GW/Subnet

12:06:49.137 -> *WM: 192.168.0.175

12:06:49.137 -> *WM: Status:

12:06:49.137 -> *WM: 6

12:06:49.137 -> *WM: Using last saved values, should be faster

12:06:52.240 -> *WM: Connection result:

12:06:52.240 -> *WM: 3

12:06:52.240 -> *WM: IP Address:

12:06:52.240 -> *WM: 192.168.0.175

Premier test, un ping depuis le terminal Windows. Ça doit normalement fonctionnel sans problème. Une fois que c'est fait il faut regarder si l'envoi "manuel" d'un paquet fonctionne. Avec un logiciel de paquet UDP il faut essayer d'envoyer un ping. En string ça donne APing et en hexa 41 50 69 6e 67 Ça permet aussi de vérifier le port. Ensuite pourquoi pas essayer d'envoyer une couleur statique : 41 02 54 50 00

Si ça fonctionne alors le problème vient du C#. Pour vérifier que l'envoie se fait bien il faut mettre un point d’arrêt sur cette ligne :

https://github.com/Synless/SynLight/blob/be2561916c7f4af493de42ffb414545459c66b33/SynLight/Model/AutoNodeMCU.cs#L140 pour regarder ce que vaut le endpoint edp. Si le programme ne passe jamais par là alors il faut remonter la source dans la fonction Tick https://github.com/Synless/SynLight/blob/be2561916c7f4af493de42ffb414545459c66b33/SynLight/Model/Process_SynLight.cs#L76 et dans Send https://github.com/Synless/SynLight/blob/be2561916c7f4af493de42ffb414545459c66b33/SynLight/Model/Process_SynLight.cs#L516 . Si le programme passe sur cette ligne alors il faut changer la configuration réseau du programme et regarder ce qui arrive sur un logiciel de paquet UDP, et à ce moment la le coupable est sans doute le programme du NodeMCU.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Synless/SynLight/issues/11#issuecomment-674510317, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVLRPZORFVL2ML2CMOGNWTSA6ZXZANCNFSM4QAW6EEQ .