Récemment [nibbler]Le réfrigérateur de véhicule Evakool 55L de a commencé à se comporter étrangement, signalant des erreurs de température folles et n'avait aucune chance de réguler. Il a été déterminé que la thermistance NTC était grillée et que plutôt que d'essayer de retirer et de remplacer cette pièce, il était beaucoup plus facile d'en ajouter une nouvelle à un endroit approprié.
Un simple échange aurait été ennuyeux, c'était donc une excuse parfaite pour un hack par-dessus bord. L'ingénierie inverse du contrôleur ne serait pas facile, car les données n'étaient pas disponibles, comme c'est souvent le cas pour de nombreux produits de cette nature.
En effectuant une greffe de cerveau, à la manière d'un hacker, nous pouvons aller trop loin et ajouter les bases d'un système de contrôle et de surveillance IoT. À cette fin, [nibbler] J'ai appris le plus possible sur le compresseur ZH25G disponible dans le commerce et le tableau de commande du compresseur associé. L'objectif était de jeter l'interface utilisateur/carte de contrôle d'origine et de la remplacer par un Raspberry Pi Pico W exécutant CircuitPython.
Pour l'affichage, ils ont utilisé l'une des unités OLED monochromes SH1106 omniprésentes, disponibles à un prix inférieur au prix d'un cheeseburger McDonald's chez les fournisseurs habituels d'appareils électroniques chinois bon marché. Une brève distraction a été d'essayer d'utiliser une sonde de thermomètre étanche DS18B20, dont ils ont découvert qu'elle ne fonctionnait pas, ils sont donc revenus à une technologie éprouvée et fiable : une simple thermistance NTC.
La dernière pièce du puzzle consistait à interfacer le Pico au contrôleur du compresseur. Le contrôleur s'attendait à une résistance variable pour contrôler la vitesse, pour laquelle il aurait pu utiliser un potentiomètre à commande numérique. Cependant, après avoir échoué à apprivoiser cette bête particulière, une solution plus simple consistait à construire un petit PCB avec quelques relais et quelques résistances fixes et à appeler cela un hack.
Un inconvénient était le manque de prise en charge des interruptions dans CircuitPython. Cela signifiait que l’interprétation des codes d’erreur du contrôleur serait un peu délicate. La solution consistait à insérer un autre microcontrôleur, un petit Arduino. Son travail consiste à rester là, à écouter les commandes sur le port série, à contrôler la carte relais pour piloter le compresseur, à écouter les codes d'erreur et à les renvoyer au Pico. Bien sûr, tout cela aurait pu être fait directement sur le Pico, mais pas avec CircuitPython, et beaucoup plus d'apprentissage aurait été nécessaire.
Bien sûr, vous devez posséder un réfrigérateur fonctionnel pour le pirater, mais vous pouvez facilement le construire à partir de zéro. Même avec un budget serré, vous pouvez faire refroidir vos bières. Les besoins doivent!