NODE MCU & DOMOTIQUE
Allumer/éteindre mon ordinateur avec un robot de Telegram.
Qu'est-ce que c'est?
L'objectif principal de ce projet était de pouvoir démarrer, arrêter, et vérifier si mon ordinateur était allumé ou éteint à distance avec des messages via un robot de Telegram.
Le bot est hébergé dans une Raspberry Pi 4 que j'ai à côté de mon routeur. De cette façon, le robot est toujours en ligne. Mais comme mon PC n'est pas dans la même pièce que la Raspberry, j'ai dû réfléchir à une solution pour communiquer les deux appareils.
Après avoir mis de côté l'idée de faire passer des fils dans toute la maison et la fonction de Wake on LAN de mon ordinateur (car je veux que mon PC soit complètement déconnecté de l'alimentation lorsque je l'éteins), toutes les solutions possibles visaient vers la plaque Node MCU: le deux plaques se communiqueraient entre elles en utilisant le réseau WiFi.
Cette plaque fonctionne (et peut être programmée) comme un Arduino, mais elle dispose également d'une antenne WiFi. Après avoir lu quelques documents, j'ai découvert que faire en sorte que le MCU se comporte comme un serveur web serait beaucoup plus facile à gérer que démarrer un système de communication mqtt.
En utilisant des relais, des diodes et des photocoupleurs, mon PC écoutait en toute sécurité les instructions du MCU. Comme vous pouvez le voir sur la photo principale, j'ai soudé les composants dans une petite plaque, pour mieux les conserver et les sécuriser.
Situation actuelle
Le projet est actuellement en écart. Depuis le jour du «lancement», j'ai eu quelques problèmes avec un photocoupleur. Comme j'étais pressé, au lieu de le réparer correctement, j'ai modifié certains paramètres de la BIOS de mon ordinateur, afin que je puisse toujours allumer mon ordinateur avec le robot, mais, à cause de cela, je ne peux plus l'éteindre par Telegram. Mais malgré cela, le robot fonctionne parfaitement, et même avec quelques fonctionnalités supplémentaires.
J'ai sécurisé le robot avec quelques options d'administrateur, des connexions/déconnexions très faciles, etc. et je l'ai fait facile à traduire, en mettant tous les messages que l'utilisateur peut voir dans un fichier .json.
Et l'été dernier, j'ai connecté 3 webcams et je les ai configurées pour qu'elles enregistrent lorsqu'elles détectent un mouvement. Mais la relation avec les webcams et ce projet était qu'une capture d'écran de n'importe quelle webcam pouvait être envoyée à tout moment via Telegram en utilisant le robot.
Vous pouvez vérifier certaines conceptions de base et l'intégralité du code source dans le repositoire de GitHub.
Améliorations futures
Nous pouvons faire beaucoup d'améliorations sur le projet. Tout d'abord, nous pourrions résoudre le problème de la plaque avec le photocoupleur. Et puis nous pourrions commencer par ajouter quelques fonctionnalités simples, comme un installateur, un manuel, une interface graphique, un sélecteur de langue, ... juste pour rendre le programme très personnalisable.
Une chose que j'ai également prévu de faire (mais encore une fois, je n'ai pas prévu quand la faire) c'est de contrôler les haut-parleurs Raspberry à l'aide du robot de Telegram, et de les programmer, de sorte que de la musique soit joué pendant un horaire souhaitée.