Hello!
Ben on est clairement dedans.... L'avantage de la domotique c'est que plusieurs solutions sont possibles (exemple: je prévois de déclencher mon robot avec un émetteur IR connecté à mon serveur domotique). Car le robot peut aussi être piloté sans aucune connexion internet via une télécommande.
Mais si on pouvait intégrer une app (en l'occurence un plugin) spécifique dans un serveur domotique, ce serait le top (car l'IR c'est pas super fiable en terme de portée...)
Pour le moment, nos contacts avec le support Proscenic n'a pas donné grand chose (comprendre qu'on s'est gentiment fait envoyer promener...). Donc on creuse nous mêmes les différentes possibilités. A savoir que la "seule" option qui est proposée par Proscenic actuellement, c'est d'utiliser un skill Proscenic Robotics avec Alexa (dispo sur Amazon) pour commander le robot. Mais idem, impossible de mettre la main sur ce script (et il ne gère que le démarrage du robot, pas ses différents statuts)
Dans le détail du fonctionnement du bazar: Il faut obligatoirement utiliser une app dédiée (Android ou IOS) pour pouvoir:
- Envoyer la configuration de connexion au réseau wifi au robot
- Connecter le robot à l'application (donc créer un compte sur l'appli)
- Piloter le robot à distance (LAN ou WAN) et récupérer, au travers de l'appli, les statuts du robot dont je parle.
Pour le moment, de mes analyses des paquets Wireshark (dispo ici, qui ne sot pas les miens mais qui y ressemblent très fortement), il n'y a hélas par d'appel http. J'ai l'impression que la communication se fait en TCP (d'où ma demande) entre un server 47.91.67.181 et le robot.
CE que j'ai fait, c'est que j'ai sniffer mon smartphone lorsque je déclenche le robot par l'application. Dans les trames que j'ai sniffé avec NetCapture, il y a 2 transactions TCP. Une de 47.91.67.181 vers mon robot, et une autre du robot vers 47.91.67.181. Le flux retour (robot vers 47.91.67.181) est récurrent et contient toujours le même type d'info (niveau de batterie - "battery":"100"; type de buse d'apirateur - "brush":"1"; etc...).
Donc mon idée serait d'envoyer un trame à mon robot sur la même base que la première qui est envoyée, à savoir:
{"cmd":0,"control":{"authCode":"Authcod de l'appli?","deviceIp":"ipdurobot","devicePort":"portdurobot","targetId":"IDdurobot","targetType":"1"},"seq":0,"value":{"transitCmd":"100"}}
En espérant que le système embarqué réponde au serveur qui lui a balancé la requête (on sait jamais... Ils ont peut être prévu un mode failover de serveur pour pouvoir rediriger les communications si l'ip du serveur Proscenic venait à changer...)
Partager