NODE MCU & DOMÒTICA

Engegar i apagar el meu ordinador amb un robot de Telegram.

Què és?

El principal objectiu d'aquest projecte era de poder engegar, apagar i comprovar l'estat (si es troba encès o apagat) del meu ordinador a través de missatges de Telegram a un robot.

El robot esta allotjat a una Raspberry Pi 4 que he situat al costat del router, i que sempre està encesa. D'aquesta manera el robot es troba sempre connectat. Però com que el meu ordinador no es troba a la mateixa habitació que la Raspberry, necessitava alguna manera de comunicar els dos aparells entre ells.

Després de descartar l'opció de foradar les parets de casa per a passar cables i l'opció de Wake on LAN que tenen els ordinadors (no ho volia ja que només el podria encendre si hi té connexió a internet i està endollat, i vull tenir l'ordinador desendollat), totes les solucions apuntaven a la placa Node MCU: les dues plaques es comunicarien entre elles mitjançant la connexió WiFi de casa.

Aquesta placa funciona (i es programa) com si fós un Arduino, però també té una antena WiFi. Després de mirar la documentació i algun tutorial, vaig veure que fent que la placa es comportés com un servidor web (responent peticions) em seria molt més fàcil i ràpid de programar que si hagués de crear un protocol mqtt a casa.

Fent servir relés, díodes i fotocopladors, vaig connectar els cables d'encesa i d'alimentació del meu ordinador als pins de la placa MCU. Com haureu pogut veure a la foto principal, he soldat els components en una petita placa, per a deixar el circuit final més polit i segur.

Situació actual

Actualment tinc aquest projecte una mica aparcat. Des del dia del "llançament", he tingut problemes amb un fotocoplador. Com que em feia mandra d'arreglar-ho, ja que potser em portaria hores (o dies) de reconstrucció del circuit, vaig canviar alguns paràmetres de la BIOS del meu ordinador, de tal manera que segueixo podent encendre el meu ordinador, però no el puc apagar remotament. Com que, de moment, no he tingut la necessitat d'apagar-lo amb el robot de Telegram, el robot em funciona a la perfecció. He afegit, fins i tot, algunes funcionalitats addicionals.

He fet el robot més "segur", demanant permisos (com contrassenyes) per a poder fer funcions com engegar i apagar l'ordinador. També l'he fet fàcil de traduir (i algun dia el traduiré), ja que totes les respostes que envia per Telegram es troben guardades dintre d'un fitxer de format .json .

I durant l'estiu passat vaig connectar 3 webcams (una mitjançant la connexió WiFi i el sistema de MotionEyeOS) i les vaig configurar per a enregistrar qualssevol tipus de moviment detectat. Però la relació que tenen les webcams amb aquest projecte és que podia demanar a través de Telegram una fotografia instantània de qualsevol càmera.

Podeu veure alguns dels dissenys bàsics i tot el codi font del projecte dintre del seu propi repositori de GitHub.

Futures millores

Es poden millorar moltes coses en aquest projecte. Primer de tot, podríem arreglar el problema actual que m'impedeix apagar el meu ordenador. I es podrien afegir funcionalitats extres, com un manual, un instal·lador, una GUI, un selector d'idioma, ... tot per a fer el programa més personalitzable.

Una cosa que també tinc planejada de fer (però no quan ho tinc pensat fer) és de poder controlar els altaveus de la Raspberry Pi (en vaig connectar uns antics) també per mitjà del robot de Telegram. D'aquesta manera, també es podria programar uns horaris on estaria sonant música, etc.

En aquest projecte he utilitzat...PythonLlibreria de TelepotProgramació en ArduinoLlibreria WiFi del Node MCUDisseny de circuitsPrimera versió acabada pelMaig de 2020

Més Projectes