Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

LinuxFr.org : les journaux  -  Hacking d'une machine à pain

 -  Septembre 2022 - 

Sommaire

Bonsoir,

Voici un journal pour partager mon expérience de "hacking" d'une machine à pain.

Le problème (ma vie en 3D)

On a acheté une machine à pain il y a un peu plus d'un an. Comme on ne savait pas si on serait assez motivés et satisfaits du résultat, on a opté pour une machine assez basique (20 € d'occasion). Finalement, on s'en sert pas mal pour faire des pains et brioches avec notre levain maison. Le souci c'est que les programmes prédéfinis de la machine ne conviennent plus très bien à notre levain ces derniers temps. Il y a bien un programme spécifique pour le pain au levain, mais notre levain a tendance à monter un peu trop rapidement et le pain retombe avant la cuisson… Les autres programmes sont au contraire trop courts et la machine à pain ne permet pas de définir un programme personnalisé.

La solution temporaire qu'on a trouvé c'est de lancer un programme long et de l'arrêter avant la fin pour lancer la cuisson plus tôt (heureusement il y a un programme cuisson seule). Mais l'intérêt d'une machine à pain c'est de pouvoir mettre les ingrédients, lancer le programme et récupérer le pain à la fin… C'est moins pratique de devoir intervenir au milieu du programme.

L'idée utopique

J'ai ouvert une première fois la machine avec la naïveté d'espérer que :

  • il y ait une puce genre eeprom quelque part,
  • je réussisse à lire le contenu de la puce et extraire / décompiler le code,
  • je puisse modifier les recettes, recompiler et réécrire sur la puce.

Bon, c'est très naïf, je sais (même si j'aurais pu, en bonus, espérer trouver un port usb en ouvrant la machine et le code en open source sur le site du constructeur). Et pour être honnête, je n'y croyais pas beaucoup.

En ouvrant le capot, j'ai vu principalement deux puces (outre les résistances, condensateurs, etc.) :

  • Une puce avec l'inscription "74HC164", qui semble être un composant assez standard. C'est visiblement un registre à décalage SIPO (serial-in/parallel-out shift register). Si j'ai bien compris ça permet de réduire le nombre de câblages dans le circuit en utilisant une seule liaison série plutôt que 8 liaisons en parallèle. Ce n'est donc probablement pas ce que je cherchais.
  • Une puce avec l'inscription "RD8P01BS1008". Pour celle-la mes recherches internet n'ont rien donné. Je suppose que c'est le cerveau de la machine mais c'est probablement une puce sur mesure, donc encore plus difficile à bidouiller…

Bref, j'ai vite abandonné l'idée de reprogrammer la machine. Une autre possibilité aurait été d'enlever complètement la carte de contrôle de la machine et de tout refaire moi-même. Mais ça me semblait assez complexe à mettre en place et j'ai finalement opté pour une solution un peu moche mais plus facile à réaliser…

L'idée moins élégante mais qui marche

J'ai donc décidé de hacker la machine simplement en me greffant sur les boutons. L'idée est d'avoir une carte programmable (genre arduino) qui simule un appui sur un bouton de la machine à pain en faisant contact entre les deux bornes de l'interrupteur correspondant. Avec ça on peut lancer/arrêter un programme de la machine à pain quand on veut, ce qui est largement suffisant pour notre problème puisqu'en combinant les différents programmes déjà existants on peut choisir l'enchaînement de mélange, fermentation et cuisson pour faire la recette qu'on veut.

J'ai recyclé une carte teensy 3.1 que j'avais sous la main (mais n'importe quelle carte arduino aurait probablement fait l'affaire). J'ai investi dans deux commutateurs analogiques (analog switches) HEF4016B (44 centimes l'unité). En vrai, quitte à payer les frais de port, j'en ai acheté 5, en me disant que ça pourrait me resservir plus tard, et je ne l'ai pas regretté… Chacun de ces composants peut contrôler quatre interrupteurs et la machine à pain a 6 boutons (j'en ai mis 3 sur chaque commutateurs).

Le montage est ensuite relativement simple (dans la théorie du moins). La première chose à faire est d'alimenter le teensy et les commutateurs en 5V. Petit coup de bol, j'ai rapidement vu avec mon multimètre que la carte de contrôle de la machine à pain était elle-même alimentée en 5V et j'ai identifié les bornes ground et Vcc que j'ai reliées aux bornes correspondantes de mes puces. Ensuite pour chaque bouton qu'on veut contrôler, le commutateur analogique à trois bornes : les deux bornes à mettre en contact et la borne de contrôle. Lorsque la tension de la borne de contrôle est proche de 0, l'interrupteur est ouvert (pas de contact). Lorsque la tension de la borne de contrôle est proche de Vcc, l'interrupteur est fermé (contact). J'ai donc relié les bornes de contrôle des commutateurs à des broches du teensy et les bornes de contact aux bornes des boutons de la machine à pain.

C'est relativement simple dans l'idée, mais les commutateurs analogiques font à peu près 8mm x 4mm et ont 14 pattes. Et je ne suis pas particulièrement doué de mes mains. J'ai donc bien bien galéré avec les soudures… J'ai bousillé un des commutateurs à force d'enchaîner les fausses manips (j'étais content d'avoir pris du rab). Et à un moment, j'ai même cru avoir flingué la machine à pain. Mais j'ai fini par réussir à faire tout le montage à peu près correctement :

schéma int.

schéma ext.

Avec ce montage le teensy peut être programmé pour envoyer le signal aux commutateurs au bon moment pour simuler des appuis sur les boutons de la machine à pain. J'ai défini différentes "recettes" personnalisées, qui sont en fait des successions d'actions du type "appuyer sur tel bouton", "attendre x heures"… J'ai ensuite installé de nouveaux boutons (capacitifs) sur le capot de la machine à pain qui sont reliés au teensy et qui permettent de lancer les recettes personnalisées (et aussi de les arrêter si besoin).

Pour les curieux, j'ai mis le code (pas super propre mais qui marche) sur framagit. Et voilà une petite vidéo pour voir ce que ça donne en pratique.

Conclusion

C'est moche mais ça marche :-)

Et vous, vous auriez fait comment ? Je précise si besoin que des réponses comme "je serais allé à la boulangerie" ou "j'aurais acheté une nouvelle machine avec l'option programme personnalisé" ne sont pas acceptées.

Je vous laisse avec une photo du premier pain obtenu grâce à ce hack :

pain

Commentaires : voir le flux Atom ouvrir dans le navigateur

par jbd

LinuxFr.org : les journaux

LinuxFr.org : Journaux

décrire une une image avec une iA locale

 -  8 mai - 

Aujourd'hui c'est fourien™, petit tuto sans prétention!Pour décrire des images en utilisant une iA localement j'utilise LLaVA qui fait partie de (...)


antistress adventure in Flatpak land

 -  30 avril - 

Hello nal, ça faisait un bail !Certain (il se reconnaîtra) m'a demandé de le tenir au courant lorsque j'aurai basculé sur un usage de Firefox (...)


Téléphone sous Linux ?

 -  25 avril - 

Aujourd'hui, avoir un téléphone avec un Android libéré, c'est possible, on pense en particulier à Murena.Avoir un téléphone sous GNU/Linux, c'est (...)


Quand votre voiture vous espionne… et vous le fait payer

 -  23 avril - 

Ceci se passe aux États-Unis, pour l’instant, aucune preuve qu’une telle fuite existe en Europe. Mais… si votre assurance augmente brutalement, (...)


firefox, nouvelle fenêtre dans une session isolée

 -  15 avril - 

Les fenêtres de navigation privées de firefox partagent leurs cookies de session or je souhaitais avoir des fenêtres de navigation isolées, (qui ne (...)