DIY: Automatisation de la cafetière

Ma cafetière a récemment arrêté de faire du café filtre : l’eau ne chauffait plus et ne passait du coup plus dans le filtre. La partie expresso fonctionnant toujours, j’avais pas super envie de la jeter du coup, car c’est une chouette cafetière qui fait du bon café.

Après une analyse technique, principalement un démontage de la cafetière pour réaliser que la résistance chauffante au fond n’était plus alimentée, j’ai trouvé que le relais commandé par le petit bouton était mort. J’ai commencé par brancher un fil électrique normal à la résistance, et vérifier que tout fonctionnait parfaitement quand on branchait ça.

Par contre, fallait pas oublier de débrancher la cafetière après usage, mon montage hyper simple étant, donc, « always on ».

Je me suis dit qu’en branchant la prise directement sur une prise domotique, j’avais moyen d’allumer et d’éteindre la cafetière sans débrancher la fiche, et même de déclencher l’allumage automatiquement à 7h du matin ! (j’ai commencé à domotiser la maison, j’en ferai un post à l’occasion).

Avantages :

  • Plus besoin de brancher/débrancher la prise du mur
  • Plus besoin de bricoler la cafetière, on pouvait la considérer suffisamment fonctionnelle
  • Le café automagique le matin !

Par contre il y avait aussi des inconvénients :

  • Déclenchement « magique » du café le matin,… même si on oublie de préparer le café le soir !
  • Obligation d’aller sur l’interface domotique (via smartphone ou sur le contrôleur du mur de l’entrée) pour allumer la cafetière à un autre moment de la journée
  • Obligation de penser à retourner l’éteindre par l’interface une fois le café coulé.

J’ai donc commencé à réfléchir à ce que je voulais pouvoir faire, et voici la liste des fonctionnalités voulues :

  • Allumage automatique du café le matin, mais seulement s’il est préparé
  • Extinction automatique une heure après l’allumage, pour éviter de l’oublier des heures et des heures
  • Utilisation aussi simple qu’avant : ne pas avoir besoin de dégainer une interface web pour refaire une cafetière pendant la journée

Pour cela, je me suis attelé au câblage et à la programmation d’un Arduino doté de :

  • Un adaptateur secteur USB démonté, pour alimenter l’Arduino
  • Un relais pour commander la cafetière
  • Un interrupteur pour commander l’allumage / extinction du relais
  • Une LED indicatrice de l’opération en cours
  • Un détecteur de niveau d’eau

Ce petit montage serait ensuite branché sur une prise domotique, allumable et éteignable sur commande ou à des heures pré-indiquées dans mon interface domotique.

L’algorithme de cet Arduino est assez simple, voici sa fonction principale :

  • Au démarrage (c’est à dire lorsque la prise domotique lui donne du courant)
    • il lance la fonction [essayer de faire du café]
  • Puis, tant que l’Arduino fonctionne :
    • Si on touche à l’interrupteur
      • si le café était en cours
        • il lance [arrêter de faire du café]
      • sinon
        • il lance [essayer de faire du café]
    • Sinon
      • si le café est en cours et que ça fait une heure
        • [arrêter de faire du café]

Ses sous-fonctions sont donc [essayer de faire du café], et [arrêter de faire du café].

La fonction [essayer de faire du café] doit juste :

  • Vérifier s’il y a de l’eau. Si oui,
    • allumer le relais pour alimenter la cafetière
    • allumer la LED pour indiquer qu’on fait du café
  • Sinon,
    • faire clignoter la LED quatre fois pour indiquer que ça ne sert à rien d’allumer la cafetière vide.

La fonction [arrêter de faire du café] est encore plus simple :

  • éteindre le relais pour arrêter d’alimenter la cafetière
  • éteindre la LED.

Les branchements électriques, eux aussi sont assez simples (à part qu’il faut pas mal de fil pour atteindre les différents endroits de la cafetière) :

  • Une prise électrique trois broches normale (phase, neutre et terre)
  • La phase et le neutre alimentent l’adaptateur USB, puis
  • Le neutre et la terre vont directement à la résistance chauffante de la cafetière, tandis que
  • La phase fait un détour par les broches NO (« Normalement Ouvert ») du relais, ce qui permet de couper le courant vers la cafetière
  • Et enfin, le côté USB (+5V) de l’adaptateur va aller alimenter l’Arduino ainsi que le relais et le capteur de niveau d’eau.

Il reste les branchements électroniques :

  • La patte « Signal » du capteur de niveau d’eau va sur une broche analogique de l’Arduino (A1 dans mon cas, configurée en INPUT)
  • La LED, en série avec une résistance de 220Ω est branchée à la masse et à une broche numérique de l’Arduino (D2, configurée en OUTPUT)
  • L’interrupteur est branché à la masse et à la broche D6 de l’Arduino, configurée en INPUT_PULLUP, ce qui évite d’avoir besoin d’utiliser une résistance et une alimentation
  •  La patte « Signal » du relais, sur la broche D10 de l’Arduino, configurée en OUTPUT aussi.

Le schéma de câblage

Vous pouvez retrouver le schéma de câblage au format Fritzing ici, et le code source Arduino là.

Après il ne restait plus qu’à souder, tester :

J’ai mis beaucoup plus de temps que je n’aurais voulu à souder, parce que je me suis gourré de soudure et j’ai pris la pourrie. C’est incroyable à quel point ça complique des choses qui sont censées être simples.

Bref, après un peu de travail supplémentaire d’assemblage, ça donne ça :

Vue de l’arrière

Vue de l’avant

Et voici une petite démonstration de l’allumage automatique (sans eau : ça clignote puis se rééteint) puis manuel (idem).

 

Ansible: Ajouter plusieurs utilisateurs avec plusieurs clés publiques

Vu que ça m’a pris un peu plus longtemps que je n’aurais voulu à trouver une syntaxe à peu près propre pour ajouter avec Ansible plusieurs utilisateurs sur un serveur, avec chacun plusieurs clés publiques SSH, voici comment j’ai fait:

dans login-vars.yml

users:
- login: "user1"
  pass_hash: "$6$G1Q........"
  pubkeys: 
    - "ssh-rsa AAAAB3N.....yBd1 user1@first-key"
    - "ssh-rsa AAAAB3N.....eWDp user1@second-key"
- login: "user2"
  pass_hash: "$6$G1A........"
  pubkeys: 
    - "ssh-rsa AAAAB3N.....yCDd1 user2@first-key"
    - "ssh-rsa AAAAB3N.....eaop user2@second-key"

dans roles/setup-users/main.yml

- name: configure user accounts
  user:
    name={{ item.login }} 
    append=yes
    password={{ item.pass_hash }}
  become: yes
  with_items:
    - "{{ shell_users }}"

- name: Add users public keys
  authorized_key:
    user={{ item.login }}
    key="{% for key in item.pubkeys %}{{ key ~ "\n" }}{% endfor %}"
  become: yes
  with_items:
    - "{{ shell_users }}"

DIY: Étagères à vernis/maquillage

Ma copine commençait à manquer de place pour ranger ses vernis à ongles et son maquillage, il a fallu passer à la taille supérieure d’étagère. Histoire d’avoir le temps de voir venir, on a préparé les plans d’un meuble le plus grand possible tout en restant esthétique.

On est donc partis sur une taille de 162cm x 85cm, avec 7 étagères de 5cm de profondeur. Le plan :

Hey Josh, ça faisait longtemps

J’ai commandé le bois prédécoupé (de l’aulne en 18mm d’épaisseur) chez La Boutique du Bois, car mon rail de scie plongeante ne fait qu’un mètre vingt de long et je voulais des étagères bien rectilignes. Pour les rebords en face avant ainsi que le fond, j’ai utilisé du contreplaqué peuplier de 5mm.

J’ai dû couper moi-même les rebords, car la Boutique du Bois ne découpe pas de bandes si étroites (3.5cm). En m’appliquant, malgré le rail trop court, c’est presque parfait.

Les étagères et bords du meuble sont collés plus vissés par le fond (une vis tous les 10cm pour les montants verticaux, une vis tous les 30cm pour les étagères horizontales).

Les rebords sont collés à la colle à bois.

Enfin, j’ai collé des chutes de contreplaqué derrière pour éviter que les 56 vis ne frottent la peinture du mur, puis nous avons accroché le meuble au mur à l’aide de six équerres chaise (4 en bas, 2 en haut) de façon à faire une fixation quasi-invisible.

Une bonne dose de vernis plus tard, voici le résultat :

Vu de profil

Et une fois commencé à remplir, ça donne ça :

Il en manque environ 30% là

Personnellement je suis content du résultat, et plus important, Abi l’utilisatrice finale aussi !

DIY: Étagères flottantes suspendues

Ce week-end, j’ai finalisé un projet qui me tenait à coeur pour la pièce à vivre de notre nouvelle maison (on a déménagé !) : de grandes étagères flottantes et suspendues.

Voici les grandes lignes du projet, réalisé de manière a rester dans un budget acceptable, pour celleux que cela pourrait inspirer.

Le plan, tout d’abord :

Cela sera composé de trois planches de 2.36m sur 32.5cm de profondeur et de six planches de 1.23m et de même profondeur. Le « meuble » fait au total environ 3.5m de large sur 1.8m de haut.

La liste de courses :

  • 3 plans de travail en hêtre, 2.50m x 65cm, épaisseur 2.6cm (Leroy-Merlin), 207€
  • 33 chevilles Strongfix (RegalRaum), 91€
  • 4 chevilles à bascule (Leroy-Merlin), 8€
  • 10m de câble inox ø 3mm (FassadenGrün), 8€
  • 4 serre-câbles olives (FassadenGrün), 12€
  • 22 arrêt-butoirs inox (FassadenGrün), 47€
  • 4 cosses cœur (Leroy-Merlin), 8€

J’ai eu besoin d’un peu de matériel qui me manquait (il manque toujours des outils) :

  • Une pince coupe-câble (FassadenGrün), 40€
  • Un foret bois de 12mm (Leroy-Merlin), 6€
  • Un foret béton de 12mm (Leroy-Merlin), 20€
  • et enfin j’ai choisi la facilité et fait faire les 10 traits de coupe des plans de travail chez Leroy-Merlin, pour éviter les problèmes de coupe que j’aurais forcément eu si j’avais essayé de couper droit sur 2.36m de long avec une scie plongeante d’entrée de gamme et un rail de guidage de 1,40m: 50€.

Total: 498€, ce qui est extrêmement raisonnable, je pense, pour ce genre de projet. Mes premières estimations avant de chercher des moyens de limiter le budget m’amenaient vers 1100, 1200€. La plus grosse économie se fait sur les planches, qui coûtent bien moins cher sous forme de plans de travail redécoupés. Il y a aussi des économies du simple au double à faire avec la quincaillerie inox pour les câbles.

Fun fact: chez FassadenGrün, le seul moyen de paiement international disponible est le virement bancaire… après la livraison. J’ai reçu ma commande, enregistré leur RIB puis payé la commande. Ce niveau de confiance ravit le Bisounours qui sommeille en moi !

La physique, ensuite

L’idée était d’utiliser les chevilles Strongfix pour fixer les étagères au mur, et de solidifier à l’avant avec des câbles accrochés au plafond. Les chevilles en question sont censées supporter une charge de 12.5kg pièce. Le bois massif étant lourd (7.5kg pour les étagères d’1.23m et 15kg pour celles de 2.36m), j’ai prévu trois chevilles pour chaque petite planche et cinq pour les grandes. Il y a d’autre part deux câbles pour chaque petite planche, et trois pour chaque grande.

Théoriquement (car en pratique chaque point ne supportera pas le même poids), cela divise le poids à supporter par cinq pour les petites planches (soit 1.5kg par point) et par huit pour les grandes (soit 1.8kg).

Les câbles, par contre, supporteront plusieurs étagères chacun (jusqu’à 7 pour les deux câbles centraux), ce qui peut représenter jusqu’à 14kg par câble. J’ai donc pris de grosses chevilles à bascule (et j’ai hésité avec du scellement chimique).

Il faut ensuite ne pas oublier qu’on va y mettre des choses, sur ces étagères. Bref, ma technique n’est sûrement pas la bonne pour un mur et/ou un plafond en placoplâtre, sous peine de refaire le mur après arrachage violent. Chez nous, c’est de la grosse brique, ça passe, à mon avis, largement.

La réalisation

J’ai commencé par utiliser une longue barre métallique pour me faire un gabarit. En effet, il faut correctement aligner les trous des planches avec ceux dans les murs, sous peine de ne pas pouvoir rentrer la partie dépassante des chevilles. Dans le gabarit, j’ai fait un trou à 5cm, puis tous les 56.5cm. Cela permet d’avoir le même écartement de chevilles et de câbles dans les planches de 1.23 comme de 2.36m : 5cm,  61.5cm, 118cm, 174.5cm, 231cm.

Puis j’ai percé les trous de 12mm dans les planches.

Pour les faire le plus droit possible, j’ai commencé chaque trou à la visseuse, légère et plus maniable, sur environ 1.5cm de profondeur, puis fini le trou (de 10cm de profondeur, quand même) au perforateur 1250W, sans percussion bien sûr. C’était assez impressionnant, de la fumée sortait des trous et le foret sortait brûlant. C’est là que j’ai commencé à me dire que c’était un projet qui risquait d’être physique.

Les trous des chevilles faits, ne pas oublier les trous pour passer les câbles. J’ai utilisé les mêmes repères pour les trous des câbles que pour ceux des chevilles, mais il n’y a, respectivement, que un et trois passages de câble pour les planches de 1.23m et de 2.36m.

J’ai ensuite testé l’insertion d’une cheville dans l’un des trous :

Ça coinçait. La partie de la cheville est dotée d’une empreinte hexagonale de 11 sur toute sa longueur, et ça ne passait pas dans les trous de 12. J’ai donc pris mon mal en patience et meulé les empreintes hexagonales sur 9 centimètres sur 10. (22 chevilles fois 6 arêtes fois environ 4 passages par arête). C’est là que j’ai commencé à me dire que c’était un projet qui risquait d’être un peu laborieux.

Puis j’ai commencé la pose en procédant planche par planche. J’ai ajouté deux trous « temporaires » à mon gabarit. Puis pour chaque planche, percé un trou de 6mm dans le mur pour fixer un côté du gabarit, à la bonne hauteur et au bon écartement, fait le niveau, percé un deuxième trou de 6 pour finir de fixer le gabarit, pris les repères des trous de cheville à faire.

À ce sujet : j’ai utilisé le gabarit sur les planches en posant le verso du gabarit sur la tranche de la planche ; et sur les murs, il faut poser le recto du gabarit. De cette manière, chaque trou de planche et chaque trou de cheville se trouve repéré par le même trou sur le gabarit. Si l’on utilise le même côté du gabarit contre la planche et contre le mur, le trou de gauche d’un côté se retrouve à droite de l’autre, et si le gabarit n’est pas parfaitement réalisé (narrateur : le gabarit n’est jamais parfait), ça correspondra mal.

Puis j’ai déposé le gabarit, et percé les trois ou cinq trous de 12 pour les chevilles. Il ne reste plus qu’à serrer les chevilles, à la visseuse puis à la clé de 11 (plus difficile pour certaines que pour d’autres, elles ne sont pas dotées d’ailettes anti-rotation, et c’est bien dommage pour des chevilles à presque 3€/pièce de devoir les coincer à coup de carton, de cure-dents et de galérer). Avant d’installer la planche, en haut, ne pas oublier de trouer le plafond aux endroits idoines (toujours avec le gabarit pour faire le bon écartement de câbles, mais cette fois sans fixation temporaire, c’est un peu plus compliqué), et d’insérer la cheville à bascule.

Puis présenter la planche et commencer l’insertion des chevilles une par une, en pivotant la planche après la première. Pour les planches de 2.36m, avec cinq chevilles, c’est un peu laborieux. Pour celle du haut, à 2.30m de haut, j’ai eu besoin de l’aide d’Abi.

Et enfin, pousser la planche contre le mur. Là aussi, la réalité vient contredire la théorie, et comme les chevilles – qui rentraient bien dans les planches en montage à blanc – n’étaient pas toutes pile poil à 90°, ou bien le perfo ayant ripé d’un tiers de millimètre sur le mur, ou bien tout ce que le vrai monde jette à la face des plans SketchUp… Eh bien ça forçait suffisamment pour que ce soit impossible à faire à la main sur plus de 2cm. C’est là que j’ai eu confirmation que ce projet était un peu physique et laborieux. Mais, c’est aussi là que j’ai eu confirmation que tout devrait tenir : les planches de 15kg, insérées d’à peine 2cm dans les chevilles, et donc avec un poids en sacré porte-à-faux, restaient suspendues sans souci et tirer dessus à la main  vers le bas n’occasionnait ni bruits inquiétants, ni fissures horribles.

J’ai donc résolu le souci de l’insertion à grands coups de massette (avec une cale martyre, bien sûr, ou plutôt quatre, car elles finissaient par éclater les unes après les autres.

À la fin, toutes les étagères n’attendaient plus que leurs câbles.

(Sur cette photo, il en manque encore une).

Réaliser les câbles était bien moins fatiguant. À part la mise en place de la cosse coeur et de l’olive serre-câble qui requiert trois mains (merci Abi !), c’est simple comme du Lego, et carrément agréable de « coudre » les étagères avec le câble en le passant de haut en bas. Régler les arrêts butoirs est un peu plus compliqué lorsque l’étagère pointe un peu vers le bas, car il faut mettre légèrement en tension le câble tout en soutenant l’étagère avec l’épaule.

Le résultat :

Ça m’a pris environ dix heures pour tout faire – il reste à vernir. Tout s’est bien passé, j’ai eu moins de souci d’alignement que je ne craignais. C’était une journée physiquement fatiguante mais très agréable !

La rage de la route

La société, les vendeurs de voitures passent leur temps à engrainer dans la tête des gens que voiture = liberté.

Happy man driving car, ©Shutterstock

Et au final tu prends ta voiture et au moindre grain de sable dans la circulation, tu te retrouves coincé, impuissant.

Not so happy people driving cars, ©Shutterstock

Tu t’arrêtes derrière la voiture de devant qui s’est arrêtée parce qu’un livreur livre, ou y’a un camion poubelle, ou d’autres voitures sont engagées dans un carrefour coincé. Ou alors deux personnes ont cru pouvoir croiser mais en fait non et maintenant elles peuvent plus reculer parce qu’il y a quelqu’un derrière.

Toi t’es coincé, tu peux pas reculer non plus, y’a des gens qui sont arrivés. Tu pourrais prendre à gauche dans vingt mètres… Mais à gauche c’est un sens interdit sauf pour les cyclistes.

Tu pourrais faire demi-tour, mais y’en a un qui a commencé ça trois voitures derrière toi et du coup la voie d’en face est pleine d’autre gens coincés.

À ta droite, sur le trottoir, y’a une mamie avec son cabas qui te dépasse, ça fait déjà trois fois qu’elle te dépasse sur cette rue. Y’a douze vélos qui sont passés, tu les as vu arriver dans ton rétro, tu les vois déjà plus devant.

Tu commences à fantasmer d’avoir des pales sur le toit pour t’arracher, de faire un strike dans ce tas de cons qui t’empêche d’avancer, ah si seulement t’avais un camion comme dans Mad Max.

Tu fais encore dix mètres. Y’a que de la merde à la radio, t’as oublié ta clé USB, c’est chiant. T’éteins la radio, t’entends plus que les klaxons. T’as des crampes à la jambe gauche à force de débrayer.

Encore vingt mètres, y’a enfin le petit raccourci malin qui part à droite, une toute petite rue qui te fait faire un détour mais y’a jamais personne dessus. Tu te jettes dedans, t’accélères, tu roules ENFIN à 40 ! Et t’as même pas atteint 50km/h qu’un petit bâtard d’écolo qui se balade sur son vélo à panier t’a forcé sa priorité au lieu d’attendre que tu passes.

Quel connard.

Il le sait pas, qu’il va moins vite à vélo ?

Et maintenant dans ta petite rue étroite qui était vide, voilà que ce crétin se met à un mètre des voitures stationnées. En plein milieu de la route ! Et toi tu poireautes derrière alors que t’as pas que ça à foutre.

Y’a moyen de le doubler, ça passe, en fait. Bon, c’est pas large mais s’il était pas au milieu, aussi ! Alors tu mets un grand coup d’accélérateur, les roues de gauche presque dans le caniveau, mais pas trop quand même, parce que ce serait chiant de rayer les jantes alu.

Et ce bobo de tes deux, au lieu de se remettre à droite, voilà qu’il gueule ! Ton sang ne fait qu’un tour. Ça fait déjà 40 minutes que t’es parti du boulot, à 5km de là, c’est pas un crétin qui doit même pas avoir le permis qui va t’apprendre à conduire !

Tu vas lui apprendre à partager la route, au cyclo-terroriste : un bon coup de frein, en travers pour le coincer, tu descends de la voiture, et tu défoules toute cette frustration, accumulée depuis des semaines, sur ce petit cycliste qui prend toute la place.

PS : je suis persuadé, quelque part, que la société du tout-voiture et les frustrations qu’elle engendre participe à l’intolérance, au rejet de l’autre, et à l'(extrême-)droitisation de notre société.

news for few, stuff no-one cares about