Domotique : Partie 5 – Implémenter un thermostat simple

Cet article fait partie de la série Domotique (18 articles au total)

Après les dernières aventures matérielles pour piloter nos chauffages électriques, je vous propose un épisode où l’on gardera les mains propres :) Aujourd’hui, on va implémenter un thermostat logiciel qui va permettre de maintenir une pièce à une température donnée. Pour cet épisode, vous n’aurez même besoin d’aucun matériel supplémentaire !

Cet article est le 6ème d’une série dédiée à la domotique dont vous pourrez trouver le sommaire au bas de cet article.

Le principe du thermostat de chauffage

Dans chacune de mes pièces, j’ai une sonde de température (cf Episode 2), ainsi qu’un chauffage électrique (cf Episode 4). L’objet de l’exercice du jour sera donc d’asservir le chauffage à cette sonde : on va donc l’allumer ou l’éteindre en fonction de la température mesurée dans la pièce ! Pour éviter que le chauffage passe son temps à s’allumer et à s’éteindre, on va ajouter une « marge d’erreur » (on appelle cette marge l’hystérésis). Concrètement, si l’on souhaite maintenir une pièce à une température de consigne de 20°C et que l’on choisit une hystérésis de 0.5°C, on va allumer le chauffage quand la température va passer en dessous de 19.5°C et l’éteindre au delà de 20.5°C.

L'évolution de la température d'une pièce avec une régulation par hystérésis. Ici on cible une température de 20°C avec une marge d'erreur de 1°C
L’évolution de la température d’une pièce avec une régulation par hystérésis. Ici on cible une température de 20°C avec une marge d’erreur de 1°C. (Crédits : domotique-store.fr)

Mon cahier des charges

J’ai choisi de commencer avec quelque chose de simple.

  • Un interrupteur virtuel pour chacune de mes pièces dans Domoticz.
  • Le thermostat de la pièce en question sera actif quand l’interrupteur virtuel sera en position ON.
  • La température de consigne n’est pas modifiable directement depuis l’interface de Domoticz
  • La techno utilisée ne supportant pas le retour d’état, je cherche un moyen de fiabiliser le système

La mise en oeuvre

Etape 1 : Créer l’interrupteur virtuel

Si vous ne l’avez pas déjà fait, dans la partie Configuration/Matériel de Domoticz, ajouter un périphérique de type « Dummy ». Tous nos interrupteurs virtuels y seront rattachés.

Périphérique virtuel auquel seront rattachés nos interrupteurs virtuels
Périphérique virtuel auquel seront rattachés nos interrupteurs virtuels

Dans l’onglet « Interrupteurs », cliquez sur « Ajout manuel » et ajoutez un interrupteur ON/OFF du type qui vous plaira (seul impératif : le rattacher au périphérique « Dummy » créé précédemment).

Création d'un interrupteur virtuel. Les valeurs sélectionnées (Type, Code...) n'ont pas d'importance.
Création d’un interrupteur virtuel. Les valeurs sélectionnées (Switch Type, Unit Code…) n’ont pas d’importance.

A partir de ce moment, vous avez un bel interrupteur, en l’occurrence « Thermostat salon », que vous pouvez allumer et éteindre à loisir ! Rajoutons un peu de magie derrière tout cela ;)

Interrupteur virtuel finalisé. Il ne reste plus qu'à animer tout cela !
Interrupteur virtuel finalisé. Il ne reste plus qu’à animer tout cela !

Etape 2 : Création du script

Domoticz permet d’écrire des scripts LUA pour exécuter de petits scénarios. Aujourd’hui on va justement s’en servir pour implémenter cette logique de thermostat ! Chaque script est à placer dans le répertoire scripts/lua de domoticz. Pour cet exemple, j’ai donc créé un fichier script_device_thermostat-salon.lua dans ce dossier (le nom du fichier doit impérativement commencer par « script_device_ » comme expliqué dans le wiki de domoticz).

Le contenu du fichier

-- Alexandre DUBOIS - 2014
-- Ce script permet de maintenir la température de salon entre 19°C et 21°C quand l'interrupteur
-- virtuel 'Thermostat salon' est activé.

--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = 20  --Température de consigne
local hysteresis = 0.5 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local sonde = 'Salon' --Nom de la sonde de température
local thermostat = 'Thermostat salon' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Radiateur salon' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------

commandArray = {}
--La sonde Oregon 'Salon' emet toutes les 40 secondes. Ce sera approximativement la fréquence 
-- d'exécution de ce script.
if (devicechanged[sonde]) then
	local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le salon
    --On n'agit que si le "Thermostat" est actif
    if (otherdevices[thermostat]=='On') then
        print('-- Gestion du thermostat pour le salon --')

    	if (temperature < (consigne - hysteresis) ) then
            print('Allumage du chauffage dans le salon')
            commandArray[radiateur]='Off'

	    elseif (temperature > (consigne + hysteresis)) then
	        print('Extinction du chauffage dans le salon')
            commandArray[radiateur]='On'

	    end
    end
end
return commandArray

Pour adapter ce script à votre installation, il suffit de modifier les quelques variables entre les lignes surlignées en jaune (8 à 12).

Comment le script fonctionne ?

Chaque fois qu’une nouvelle valeur est reçue de la part de la sonde du salon (et si l’interrupteur virtuel du thermostat est actif), on compare la température actuelle de la pièce à la température de consigne (+ ou – l’hystérésis). Si nécessaire on allume le radiateur (en coupant le signal sur le fil pilote) ou on lui demande de s’éteindre (en envoyant un signal sur le fil pilote).

Le fait que le script soit rattaché à un interrupteur est super pratique. Déjà cela permet de lancer le thermostat en 1 clic, mais surtout cela permet d’y associer des plannings, pour faire en sorte par exemple que le chauffage se coupe la nuit, qu’il se mette en route 1h avant votre retour du travail etc…

Quelles améliorations ?

Ce système a le mérite de fonctionner, je l’ai mis en œuvre tout cet hiver mais il existe plusieurs améliorations possibles :

  • utiliser un algorithme de régulation plus performant (thermostat à base de régulateur PID par exemple)
  • prendre en compte la gestion de plusieurs sondes/radiateurs par pièce (pour les grandes pièces)
  • fournir à l’utilisateur la possibilité de spécifier sa température souhaitée dans l’interface de Domoticz, plutôt que dans le script

Voilà, j’espère que cet article vous aura plu et vous donnera envie d’aller encore plus loin dans la domotique ! N’hésitez pas à partager vos pensées et questions dans les commentaires.

Domotique : Partie 4 – Piloter son chauffage électrique

Cet article fait partie de la série Domotique (18 articles au total)

Enfin ! Après des mois de silence me revoici :) Aujourd’hui au programme, un article qu’un bon nombre de personnes attendait : comment piloter son chauffage électrique ! Et quand je parle de chauffage, je désigne par là tout ce qui va du grille pain old-school au dernier radiateur à inertie solide, en passant par les panneaux rayonnants, les radiateurs à fluide etc, etc…

Cet article est le 5ème d’une série dédiée à la domotique dont vous pourrez trouver le sommaire au bas de cet article.

Une contrainte : la présence d’un « fil pilote »

La seule contrainte à respecter est la présence d’un « fil pilote ». Une invention franco-française qui permet normalement de contrôler le déclenchement du chauffage via un thermostat. Physiquement cela se traduit par un fil supplémentaire pour brancher le chauffage (généralement de couleur noire), en plus des habituels fils de phase et neutre (il n’y a souvent pas de prise de terre sur les convecteurs).

Les 3 fils du radiateur. On voit bien ici le fil pilote, en noir.
Les 3 fils du radiateur. On voit bien ici le fil pilote, en noir.

Si vous ignorez si vos radiateurs sont munis de fil pilote, une manière simple de le deviner est de regarder les « réglages » proposés par votre radiateur. Si en plus de la traditionnelle molette, vous avez un curseur avec des positions (« off », « on », …) dont une symbolisée par une petite horloge, alors c’est que votre radiateur possède un fil pilote :)

Si votre radiateur possède la position avec l'icône d'horloge, alors il a un fil pilote.
Si votre radiateur possède la position avec l’icône d’horloge, alors il a un fil pilote.

Attention cher lecteur

Dans l’article d’aujourd’hui, on va manipuler les branchements du radiateur, où circule du 220V ! Toutes ces manipulations doivent être effectuées avec le compteur électrique coupé ! Merci de ne te lancer dans l’aventure que si tu comprends ce que tu fais. Je ne saurais être tenu comme responsable de toute dégradation ou dommage, qu’ils soient matériels ou pas !

Un rappel de mes contraintes

Depuis le départ, je me suis imposé un certains nombres de règles dans la domotisation de mon appartement :

  • Le système domotique doit être le moins traumatisant possible : je suis locataire, pas question d’abîmer quoi que ce soit !
  • En cas de panne du système domotique, il doit être possible de continuer d’utiliser le chauffage manuellement

Bonne nouvelle, l’article d’aujourd’hui permet de respecter tout ça ;)

Un peu de théorie sur le fil pilote

Le fil pilote est un circuit de commande pour le chauffage. En fonction du signal qui circule sur ce fil, le chauffage peut-être allumé, arrêté, mis en mode hors gel, confort, etc… Il y a jusqu’à 6 modes différents. Voici un petit tableau qui récapitule les différents ordres possibles :

Les différents ordres existants sur fil pilote, avec le signal associé.
Les différents ordres existants sur fil pilote, avec le signal associé.

Le principe aujourd’hui, sera donc d’utiliser un module sans-fil branché sur le fil pilote, afin de pouvoir envoyer un signal dessus, et donc piloter le radiateur. On va faire simple puisqu’on ne va gérer que 2 ordres différents : le mode confort et l’arrêt du chauffage. Pour que le chauffage réagisse à ces ordres, il faudra positionner le curseur du radiateur sur la position « Horloge », sans quoi les ordres seraient ignorés. C’est là aussi tout l’avantage de ce procédé : en cas de dysfonctionnement du fil pilote (ou du système qui l’utilise), on pourra toujours utiliser les radiateurs manuellement en sélectionnant un autre mode que cette « position horloge ».

L’accessoire du jour : le module ON/OFF encastrable

Pour parvenir à cet objectif, nous allons utiliser un nouveau type de module sans-fil : les modules ON/OFF encastrables. On les installera derrière chaque chauffage, dans la boite d’encastrement existante, il n’y aura donc aucun fil à tirer ou mur à attaquer. Cette intervention sera complètement invisible une fois terminée.

Module encastrable sans-fil chacon
Module encastrable sans-fil chacon

La liste des courses

Pour l’opération du jour, nous aurons besoin  par radiateur des éléments suivants
Niveau matériel, je vous recommande d’avoir sous la main :

Après t’es grand, si tu préfères tenter le coup avec tes ciseaux « Maped » t’as le droit… Il n’empêche que les bons outils facilitent bien la vie ! Et en plus tu pourras t’en resservir !

Si en plus tu as choisi l’option « bricoleur fou », il te faudra un fer à souder, de l’étain, et un briquet (c’est pour la gaine thermo, mais s’il sert habituellement à allumer tes cigarettes ça marche aussi).

Pour les tests, je vous recommande d’avoir une télécommande compatible avec votre module. Moi j’ai celle-ci, mais n’importe quelle télécommande chacon ou DIO fera l’affaire.

Étape 1/6 : Préparer la diode (facultatif)

Cette étape ne concerne que les bricoleurs fous n’ayant pas choisi d’acheter la diode précablée.

L’opération est simple : on veut rallonger les pattes de la diode et sécuriser le tout. Concrètement, on va souder un bout de fil électrique de chaque côté (dans mon cas un fil de terre), et on va « emballer » le tout dans de la gaine thermo-retractable pour que ce soit propre et sans risque (bon là aussi, si tu préfères utiliser du ruban isolant électrique tu as le droit, ça fera la même chose).

Ici la diode a été soudée, il ne reste plus qu'à protéger le tout dans de la gaine thermo-retractable
Ici la diode a été soudée, il ne reste plus qu’à protéger le tout dans de la gaine thermo-retractable
Ici la diode a été isolée avec de la gaine thermo-retractable.
Ici la diode a été isolée avec de la gaine thermo-retractable.

Étape 2/6 : On coupe le courant !

cette étape est indispensable et concerne tout le monde ! On coupe le courant ! De préférence le disjoncteur général, comme ça on est sûr de ne pas écourter bêtement cette vie de geek.

Étape 3/6 : On débranche le radiateur

Déposer le radiateur et défaire ses branchements

Cette étape dépend du type de radiateur électrique installé. Pour les miens, il faut les incliner pour les décrocher du mur, laissant apparaitre un cadre métallique et le branchement mural du chauffage.

Le radiateur déposé laisse apparâitre son cadre de fixation et ses branchements
Le radiateur déposé laisse apparâitre son cadre de fixation et ses branchements

On décroche alors le cache de la prise (souvent il suffit de tirer sur les coins pour dévoiler les vis de maintien). On pourra alors accéder au câblage du radiateur. Normalement si votre installation électrique est aux normes, vous devez vous retrouver avec un fil rouge ou marron (phase ?), un bleu (neutre ?), un noir (le fil pilote), et un bicolore vert et jaune (la mise à la terre).

De base, il y a au moins 2 câbles (phase + neutre) du radiateur qui sont branchés, il faut tout débrancher !

Étape 4/6 : On installe le module sans-fil

Avant de vous lancer sur les câbles du radiateur, je vous conseille de préparer votre module en lui fixant la diode et de petits morceaux de fil électrique pour faciliter le branchement.

Le module chacon prêt à brancher ! Attention au sens de la diode (cf schéma)
Le module chacon prêt à brancher ! Attention au sens de la diode (cf schéma ci-dessous)

C’est l’étape la plus importante, car un mauvais branchement peut occasionner le décès du module, du radiateur, ou le vôtre suivant votre erreur… Donc encore une fois, ne faites ces manipulations que si vous comprenez ce que vous faites, et faites le toujours avec le courant coupé ! Le schéma suivant montre le câblage à réaliser !

Schéma de câblage pour connecter radiateur, diode et module sans-fil Chacon CH54555
Schéma de câblage pour connecter radiateur, diode et module sans-fil Chacon CH54555

Pour cette étape, les borniers WAGO sont utiles car très compacts et manipulables sans outils. Parfois, avec les câbles multibrins (c’était le cas sur mon radiateur), la flexibilité du câble peut poser soucis pour l’enficher dans le bornier. Une solution que j’ai trouvé pour ne pas me prendre la tête est d’étamer le bout du câble du radiateur, ce qui aura pour effet de le rigidifier !

Une fois terminé, si vous avez bien travaillé, vous ne devriez plus voir aucun morceau de câble dénudé !

Module chacon installé. Là vous devinez que le plus difficile ça va être de tout rentrer dans le mur !
Module chacon installé. Là vous devinez que le plus difficile ça va être de tout rentrer dans le mur !

Étape 5/6 : On teste

Pour cette étape il faut remettre le courant. Avant de le faire, vérifier que toutes les connexions sont isolées électriquement.

Avant de tout rentrer dans la boîte d’encastrement, il faut procéder à l’association du module avec votre télécommande. Cette étape dépend du module acheté, sur les miens il faut presser un petit bouton pour que le module passe en mode « association » et ensuite appuyer sur le bouton ON de la télécommande qui pilotera votre module.

Si vous avez réussi l’étape d’association, vous devriez être en mesure de piloter le module (et donc le radiateur) depuis votre télécommande. Un appui sur OFF va ALLUMER le radiateur, tandis qu’un appui sur ON va l’ETEINDRE. Ce n’est pas une erreur ! C’est le mode de fonctionnement du fil pilote : en l’absence de courant (OFF) sur le fil pilote, le radiateur s’allume. Pour nous le fil pilote se limite donc à ces deux ordres :

Sans courant, on sera en mode "Confort". Avec courant, la diode filtrera les demi-alternances négatives ce qui nous permettra de positionner le radiateur dans le mode "Arrêt".
Sans courant, on sera en mode « Confort ». Avec courant, la diode filtrera les demi-alternances négatives ce qui nous permettra de positionner le radiateur dans le mode « Arrêt ».
Une fois que le module réagit correctement, il est temps de tout ranger tout ça dans la boîte d’encastrement et de remettre le « capot ». Je vous conseille de couper le courant à nouveau le temps de cette opération.
Le module est enfin casé ! Notez que j'ai du lui couper ses "oreilles" pour le faire loger là !
Le module est enfin casé ! Notez que j’ai du lui couper ses « oreilles » pour le faire loger là !

 

Terminé ! Impossible de faire la différence avec l'installation précédente vu d'ici
Terminé ! Impossible de faire la différence avec l’installation précédente vu d’ici

Etape 6/6 : On règle dans Domoticz

Suite à vos essais avec la télécommande, Domoticz devrait avoir capté le signal émis par celle-ci et afficher un nouvel appareil inconnu dans la section « Périphérique ». Cliquez sur la flèche verte de la ligne correspondante, donnez un nom à votre radiateur (dans mon cas « Radiateur salon ») et tadaaaa ! Votre radiateur est maintenant pilotable en un clic !

Le radiateur est désormais visible dans Domoticz
Le radiateur est désormais visible dans Domoticz

Si vous avez bien respecté la procédure (d’abord l’association à la télécommande puis l’ajout dans Domoticz), vous devriez voir le statut du radiateur se mettre à jour même lorsque vous le changez d’état à l’aide de la télécommande. Ainsi, même en cas de panne de Domoticz, le radiateur est toujours contrôlable sans se lever du canapé ;)

En conclusion

On a vu aujourd’hui comment piloter proprement un radiateur électrique, et cela sans avoir à tirer le moindre câble et pour un budget très correct. Dans un prochain article (que j’espère ne pas mettre 6 mois à écrire), je vous présenterai comment j’ai asservi le déclenchement du radiateur en fonction de la température mesurée dans la pièce, ce qui permet de simuler un thermostat multi-zones… pour 0€.

Au niveau des contraintes initiales, le chauffage reste fonctionnel manuellement comme avant, et si l’on souhaite le gérer dans Domoticz, ou à l’aide de la télécommande, il suffit de passer le radiateur sur la position « fil pilote » (avec la petite horloge en picto). De la même manière, le jour où je déménage il me suffit d’enlever diode et module pour rétablir l’installation d’origine.

En attendant, libre à vous de profiter du déclenchement à distance ou des plannings de Domoticz pour retrouver votre chez-vous à température en rentrant du boulot, ou être sûr qu’il se coupe bien la nuit !

Time Capsule : La vie ne tient qu’à un condensateur (ou deux)

Mardi soir, comme beaucoup de mardis, je tentais de conquérir le monde j’allais au l@bx (le hackerspace de notre belle ville de Bordeaux) quand je suis tombé sur une benne d’où dépassait un boitier blanc arborant un logo caractéristique : une Time Caspsule d’Apple de première génération.

La Time Capsule est un périphérique original, une sorte de mariage entre un routeur et un NAS. Cet objet permet aux utilisateurs de périphériques Apple de faire des sauvegardes automatiques de leurs appareils (voir le discours marketing).

 

Mais pourquoi jeter une Time Capsule ?

Sûrement parce qu’elle est en panne. Mais en panne ça veut dire quoi ? Le disque dur a été récupéré, visiblement le problème ne venait pas de là. Etant donné qu’à cet instant j’ai tout « le reste » entre les mains, la panne doit affecter ce que j’ai devant moi.
La time capsule ouverte ! On distingue le disque dur sur la partie supérieur, la carte mère (en bleu) et l'alimentation (sous le plastique transparent)
Une Time Capsule ouverte ! On distingue le disque dur sur la partie supérieure, la carte mère (en bleu) et l’alimentation (sous le plastique transparent)

 

Pile ou face

Dans cette carcasse de Time Capsule il y a 2 parties bien distinctes. La carte mère, avec ses composants microscopiques, et l’alimentation protégée par un emballage fait de plastique plus ou moins souple. Si la panne vient de la carte mère c’est cuit : la taille des composants et la complexité du circuit m’empêcheront d’aller plus loin. Alors, au culot, j’arrache la protection de l’alimentation pour pouvoir jeter un œil à ses composants « à taille humaine ».
L'alimentation, débarrassée de sa protection
L’alimentation, débarrassée de sa protection

NDR : Toutes mes excuses pour la qualité des photos, je n’avais pas spécialement prévu cet « épisode » et j’ai donc dû me contenter de mon smartphone pour témoigner de mes avancées !

Un condensateur bombé est un condensateur mort.

Si vous ne deviez retenir qu’une chose de cet article, la voici : un condensateur dont la tête est bombée, voire pire, qui fuit, est un condensateur mort. Et c’est justement le cas de deux condensateurs sur cette alimentation.
Les deux condensateurs noirs sont HS (leur tête est bombée et il y en a même un qui fuit)
Les deux condensateurs noirs sont HS (leur tête est bombée et il y en a même un qui fuit)

Même capacité, et tension égale ou supérieure.

Me voici parti pour remplacer ces condensateurs, pour le sport ! Pour choisir un remplaçant d’un condensateur, il faut en trouver un de même capacité (unité : le Farad, F) et supportant une tension égale ou supérieure (exprimée en Volt, V). Dans le cas présent, mes condensateurs portent les valeurs suivantes : 1500µF et 6.3V. Après 10 minutes de recherches dans cette caverne d’alibaba qu’est le hacklab, j’ai réussi à mettre la main sur une carte mère de PC HS qui comporte plusieurs condensateurs « 1500µF / 6.3V », soit exactement les mêmes caractéristiques que mes composants malades.
Il sont beaux, ils sont neufs, voici nos condensateurs de remplacement !
Il sont beaux, ils sont neufs, voici nos condensateurs de remplacement !

 

Remplacement

C’est parti ! Je dessoude les condensateurs malades, puis ceux qui m’intéressent sur la carte mère de PC. A ce moment je me rends compte que je vais avoir un petit souci… Les pattes des condensateurs à remplacer avoisinent les 12mm de long, là où mes condensateurs sains s’arrêtent à 4mm. Il va me falloir faire des « rallonges ».
C'est pas très beau on est d'accord... Mais ça fait le job !
Les rallonges en question. C’est pas très beau on est d’accord…  Mais ça fait le job !
On soude les condensateurs sains.
Nos condensateurs sont prêt à reprendre du service !
Nos condensateurs sont prêts à reprendre du service !
On repositionne tant bien que mal le tout (Note pour plus tard : si c’était à refaire je mettrais des fils 5mm plus longs pour pouvoir caler les condensateurs bien à plat).
Là aussi c'est pas super clean... mais ça ne bouge pas.
Là aussi c’est pas super clean… mais ça ne bouge pas.

 

Moment critique

Ayant réduit en miettes la protection plastique de l’alimentation, j’emballe celle-ci avec un, très esthétique (n’est-ce pas), ruban adhésif orange, avant de la replacer dans son logement.
Histoire de se prendre une belle châtaigne...
Histoire de pas se prendre une belle châtaigne…
On replace l'alimentation à sa place et on rebranche les connecteurs
On replace l’alimentation à sa place et on rebranche les connecteurs
Je branche, et… ça démarre ! Après installation des outils adéquats sur mon PC, j’ai pu mettre à jour la Time Capsule et la configurer. Il ne manque plus qu’un disque dur dans la bête pour qu’elle retrouve toutes ses fonctions !

 

Une erreur de conception

Après quelques recherches, je me suis rendu compte que ce problème d’alimentation défaillante était très courant sur cette génération de Time Capsule (un site a même existé pour recenser les Time Capsule mortes ainsi). La faute à une erreur de conception : cet objet, très esthétique ne comporte aucune bouche d’aération, le refroidissement s’effectuant par convection.
Autant dire qu’avec une alimentation, un disque et une carte mère entassés dans un si petit boitier, ça chauffe ! L’alimentation étant la pièce la plus fragile face à la chaleur, c’est elle qui souffre le plus de ces hautes températures. Et si la Time Capsule possède bien un ventilateur, celui-ci ne se déclenche qu’en cas d’arrêt d’urgence lié à une surchauffe !

 

A chacun sa réparation

Plusieurs internautes ont constaté ces problèmes et j’ai vu ça et là diverses mises en œuvre  pour combler cette défaillance, notamment en créant (de manière plus ou moins esthétique) une aération, ainsi qu’en forçant le ventilateur interne à tourner en continu comme ici ou .

 

Et si je ne suis pas le seul à avoir opté pour un remplacement des condensateurs, d’autres sont partis sur des remèdes un peu plus extrêmes, supprimant l’alimentation interne ! En remplaçant cette dernière par une alimentation de PC ou de disque dur externe, ces hackers auront également contourné le problème de surchauffe (l’alim devenant externe ne réchauffe plus l’intérieur de la capsule). Au final, il n’y a pas qu’une seule manière de réparer cette petite bête, donc la prochaine fois… ne la jetez pas :)

 

Un beau boitier pour mon RaspberryPi
C’est la première réflexion qui m’est venue quand j’ai trouvé cette Time Capsule… Un de mes amis, Axel, souhaitait se monter une passerelle multimédia pour sa TV, et ce boitier me semblait parfait pour abriter un RaspberryPi et son disque dur. D’ailleurs plus tard, je suis tombé sur cet instructable qui présente un projet dans le même esprit

NAS : Création d’un boîtier sur mesure

Il y a quelques temps, je cherchais comment remplacer mon NAS actuel (un ReadyNas Duo de chez Netgear) par quelque chose d’un peu plus évolutif sans dépenser 500 euros. Très vite, la solution qui s’est imposée à moi a été d’assembler ce NAS plutôt que d’en acheter un tout fait.

Le choix du matériel

Ici j’ai fait dans le discret mais néanmoins efficace : une carte mère au format mini-ITX qui intègre un chipset graphique (Nvidia ION) et un processeur basse consommation : un Intel Atom i330 dual core. On ajoute 2GB de Ram, une alim 200W récupérée d’une vieille tour, et on a la base d’un NAS pas cher, qui consomme peu tout en étant performant (un intel core i7 pour gérer des transfert de fichier… c’est comment dire… ridicule).

Le choix du logiciel

Là aussi, si vous ne souhaitez pas réinventer la roue, il existe quelques distributions linux très bien pensées qui sont conçues pour cet usage et offrent toutes les fonctionnalités classiques d’un NAS. J’ai choisi pour ma part OpenMediaVault dont je suis super content mais il en existe d’autres comme FreeNAS ou NAS4Free par exemple.

La console d'administration d'OpenMediaVault
La console d’administration d’OpenMediaVault

La question du boitier

C’était la plus grande problématique. Mon NAS doit loger dans mon meuble TV qui n’est pas hyper grand. L’emplacement que je peux offrir à ce NAS mesure 40*16*40cm, et autant vous dire que des boitiers qui rentrent dans 16cm de haut tout en permettant de caser 4 disque 3,5pouces, ça ne court pas les rues… En fait, je n’ai trouvé aucun candidat, à part peut-être reconvertir un rack de serveur d’entreprise… Mais bonjour le bordel dans le salon…

La solution du pauvre WAF

Puisque je n’ai pas pu trouver un boitier dans le commerce, j’ai décidé de… me le fabriquer :) ça t’étonne hein ? L’avantage c’est que du coup je peux me faire quelque chose aux petits oignons, pour (vraiment) pas cher et que c’est plutôt fun. L’inconvénient c’est que jusqu’à ce jour je n’avais jamais fait quelque chose de ce genre, mes bricolages habituels étant plus orientés électricité/électronique que découpe et travail de matériaux…

Autant te le dire tout de suite, si t’as pas beaucoup de ronds, là on peut arriver à un coût imbattable (non mais vraiment).

La liste des courses

  • Des panneaux de MDF (vu les dimensions, j’ai pu acheter des chutes chez Merlin pour un total de… 3€)
  • Des visses / écrous / rondelles en 3mm : 1€
  • Une grille (récupérée sur un haut parleur HS)
  • Une cage de disque durs (récupérée sur une vielle tour de 1998 au hacklab)
  • De la peinture (j’avais un vieux pot de peinture noir mat pour bois « Carrefour Home » -ouais je sais-, ça fait le boulot. Neuf ça coûte dans les 9€)

Au niveau matériel j’ai pu profiter de l’atelier de beau papa où j’ai utilisé : scie circulaire, cutter, agrafeuse, colle à bois, lime à bois, papier à poncer, pinceaux, règles en tous genres, serres-joints etc… Au passage, je le remercie pour son aide, je n’aurais pas obtenu un résultat pareil sans lui !

Réalisation

Je ne peux pas vous faire un tuto étape par étape mais j’ai essayé de prendre quelques photos durant la réalisation.

Petite vérification de la future implantation des composants
Petite vérification de la future implantation des composants
Assemblage des côtés du boitier (à la colle pour ne pas voir de visses depuis l'extérieur)
Assemblage des côtés du boitier (à la colle pour ne pas voir de visses depuis l’extérieur)
Patron en carton pour le fond de la boîte
Patron en carton pour le fond de la boîte
Collage du fond
Collage du fond
Emplacement de la carte mère (grosse prise de tête pour l'alignement des 4 boulons)
Emplacement de la carte mère (grosse prise de tête pour l’alignement des 4 boulons)
Face arrière du boitier
Face arrière du boitier
Face avant
Face avant
Mise en peinture (ne pas oublier de poncer). 2 couches
Mise en peinture (ne pas oublier de poncer). 2 couches
Fixation de la cage de HDD récupérée (on voit le tapis d'isolant -vive la recup- qui vise à absorber une partie des vibrations). On voit également la grille de haut parleur agrafée (avec du carton devant pour eviter que les agrafes ne transpercent la façade)
Fixation de la cage de HDD récupérée (avec dessous le tapis d’isolant -vive la recup- qui vise à absorber une partie des vibrations).
On voit également la grille de haut parleur agrafée (avec du carton devant pour eviter que les agrafes ne transpercent la façade).
Tadaaaa ! Il n'y a plus qu'à ranger dans le meuble :)
Tadaaaa ! Il n’y a plus qu’à ranger dans le meuble :)

Le résultat

Rien d’extraordinaire mais le boitier est plutôt discret, il s’intègre bien dans mon meuble dans lequel il rentre à la perfection (normal). Pour éviter d’éventuels bruits de vibrations, un tapis en caoutchouc a été glissé sous la cage des disques avant de la visser. Dans le même but, des patins en feutre ont été collés sous le boitier. Niveau budget j’ai pu profiter de mes différents circuits de récup ce qui m’ont permis de descendre… à moins de 5euros pour le boitier ! En sachant que j’avais trouvé la carte mère avec ses 2 GB de Ram pour 30€ sur leboncoin, ça fait un NAS vraiment pas cher du tout…  Les disques à mettre dedans resteront  la partie la plus onéreuse :).

J’espère que cette modeste réalisation donnera des idées à quelques uns ! Mon NAS tourne maintenant depuis plusieurs mois et j’en suis enchanté !

ReelaPi : Petite mise à jour !

Cet article fait partie de la série Reelapi (2 articles au total)

Cela fait maintenant quelques mois que j’ai écris cet article montrant comment j’avais marié une radio des années 50 et un RaspberryPi. Depuis, j’ai effectué quelques petites modifications dessus et je me suis dis qu’il était temps de les partager ici !

Nouvelle alimentation

Souvenez-vous, j’avais commencé par utiliser une alimentation d’un kit pour disque dur, proposant à la fois du 5V (pour le RaspberryPi) et du 12V (pour l’ampli) avant de finalement tout brancher en 5V ! Du coup, utiliser une alim si particulière n’avait aucun intérêt ! J’ai donc changé mon fusil d’épaule et j’ai opté pour une alim 5V acheté 3,5€ sur Dealextreme (sont forts ces chinois).

Alimentation de chez DX capable de transformer du 220V AC en 5V DC (2A max)
Alimentation de chez DX capable de transformer du 220V AC en 5V DC (2A max)

En quelques minutes le remplacement aura été fait. Cette nouvelle alim est plus compacte, plus stable (un petit potentiomètre permet de régler à l’aide d’un tournevis la tension désirée en sortie) mais surtout elle ne vient plus parasiter le signal audio comme le faisait la précédente ! Que du bon donc !

La nouvelle alimentation en place à la place de l'ancienne (la noire)
La nouvelle alimentation en place à la place de l’ancienne (la noire)

Un ampli un peu trop puissant

Bien que mon ampli ne soit pas un monstre de puissance, le son était bien trop fort avec mon unique haut-parleur de 16cm. Au niveau ergonomie, cela se traduisait par un bouton de volume très sensible, et au final, je n’utilisais que 20% de la course disponible du bouton (je n’ai jamais essayé de le tourner à fond, de peur d’endommager le haut parleur).

La réponse à ce soucis se trouvait sur le schéma de l’amplificateur.

Schéma de l'amplificateur. On voit dans la bulle les 2 configurations possibles du jumper
Schéma de l’amplificateur. On voit dans la bulle les 2 configurations possibles du jumper JP1

On voit qu’un cavalier (jumper), JP1 de son petit nom, permet de modifier la puissance d’amplification (26dB ou 46dB). Par défaut il est en position 46dB et il faut donc l’enlever pour passer à 26dB.

Photo de l'ampli. Le jumper JP1 n'est autre que le petit cavalier noir à gauche des 4 condensateurs.
Photo de l’ampli. Le jumper JP1 n’est autre que le petit cavalier noir à gauche des 4 condensateurs.

Une fois le jumper retiré, je peux à nouveau utiliser toute la course de mon bouton de volume ! Je ne crains plus pour mon haut parleur et j’ai également l’impression d’avoir gagné en clarté du son !

Adieu MPD (Music Player Daemon)

Là je touche une corde sensible :) J’étais assez content de mpd, le logiciel de lecture de musique que j’avais présenté dans l’article d’origine. Malheureusement, il a quelques défauts qui m’ont incité à tester autre chose, notamment :

  • l’impossibilité de gérer nativement mes podcasts (j’en écoute de plus en plus)
  • l’obligation de devoir rajouter à la main mes webradios dans un fichier texte pour pouvoir les écouter
  • Des craquements disgracieux se faisaient entendre lors du passage d’une chanson à l’autre (assez agaçant)

Notez que ce dernier point est en partie dû à la sortie audio analogique du RaspberryPi qui est de piètre qualité (bien que suffisante pour mon usage). Le fait d’arrêter/reprendre le flux sonore engendre ce genre de craquement, quel que soit le logiciel.

Bonjour au couple LMS + Squeezelite

Logitech fabrique (ou plutôt fabriquait) une excellente série de radios connectées, les SqueezeBox. Ces radios internet avaient comme particularité d’être assez souples dans leur utilisation en permettant de lire podcasts, fichiers MP3/OGG/Flac/etc, webradios (avec plusieurs milliers de webradios pré-enregistrées). Pour cela, ces radios se connectaient soit à un serveur de chez Logitech, soit à un serveur local avec le logiciel qui va bien : Logitech Media Server.

Coup de bol N°1 pour moi, des fans de cette ligne de radios connectées ont créé un logiciel linux permettant de profiter de toutes les fonctionnalités des SqueezeBox : Squeezelite. Coup de bol N°2, un amateur du RaspberryPi a créé une distribution dédiée à cet usage : SqueezePlug. Grâce à tout ça, en 15 minutes j’ai pu remplacer mon installation MPD par le couple SqueezePlay + LMS.

L'interface web de Logitech media Server
L’interface web de Logitech media Server

Les avantages, pêle-mêle

  • Ma radio gagne en fonctionnalités (Réveil, lecture de podcasts, des milliers de radios web disponibles en un clic, etc…)
  • Fini les craquements ! (car le logiciel maintient un flux audio constant sur la sortie son du RaspberryPi)
  • Possibilité de configurer ma radio depuis mon smartphone (via l’appli officielle SqueezeBox), mais aussi depuis mon PC (via Logitech Media Server).
  • Possibilité de faire du « multi-room » : si j’ai plusieurs RaspberryPi/SqueezeBox chez moi, je peux faire lire au premier une webradio, au second un podcast, etc… ou la même chose à tout le monde de manière synchronisée.
  • Possibilité d’intégrer le fonctionnement de la radio à mon ensemble domotique (car les SqueezeBox sont contrôlables par des requêtes HTTP)

Encore plein de choses à améliorer

Je ne sais pas si un jour j’aurai vraiment terminé cette radio, à chaque fois que je me pose la question « comment pourrais-je l’améliorer » je trouve bien une dizaine de réponses !

Parmi celles-ci, il y aurait bien :

  • Permettre de faire « play/pause, précédent, suivant » avec un des boutons inutilisés de la façade, sûrement à l’aide d’un encodeur rotatif
  • Concevoir une façade arrière un peu sympa qui permette de déporter les ports inutilisés du RaspberryPi (RJ45, USB), quelques voyants de fonctionnement, interrupteurs, etc…
  • Ajouter une entrée audio auxiliaire (et pourquoi pas un dock Apple ?)

Quoi qu’il en soit, tout fonctionne très bien, et j’écoute tous les jours France Inter sur cette radio ! Allez je vous laisse, il faut que j’écoute le dernier épisode de La Grotte du Barbu.

Ma petite radio qui me sert quotidiennement... Quelle sera sa prochaine mise à jour ?
Ma petite radio qui me sert quotidiennement… Quelle sera sa prochaine mise à jour ?