Maak je Domoticz systeem zomerproof
Een vakantiebestendig smarthome (deel 2)
Update 29 januari 2024
Al weten we deze zomer niet waar we terechtkomen, met de vakantie voor de deur begint het toch weer te kriebelen: is mijn smarthome echt wel zomerbestendig? Eerder schreef ik over het vakantieproof maken van je systeem: door in te zetten op stabiliteit en betrouwbaarheid en geen risico’s te nemen terwijl je van huis bent. Daarin nemen we nu stap 2.
De Raspberry Pi waarop Domoticz draait is nog steeds een vrij kwetsbare computer, afhankelijk van de kwaliteit van je voeding, de kwaliteit van de SD-kaart, de stabiliteit van de netstroom en de toestand van het weer (onweersbuien!).
De drang ontstond al snel om de volgende stap te zetten naar een nog stabieler systeem. Zeker als Domoticz een steeds grotere rol speelt in de beveiliging van je huis (toegangscontrole, bewakingscamera’s, rookdetectoren, etc.).
Daarvoor is het nodig om de Raspberry Pi minder afhankelijk te maken van stroomschommelingen en storingsgevoelige SD-kaarten. Zonder daarbij te verzanden in stapels printplaten in plastic behuizingen, die met losse draadjes en afstandsbussen aan elkaar hangen, maar niet bestand zijn tegen een omgestoten glas cola. Het kan een stuk robuuster.
Dus ging ik in eerste instantie op zoek naar een professionele behuizing voor mijn smarthome systeem. Al gauw merkte ik dat die er nauwelijks zijn. Zeker niet als je je systeem wilt uitbreiden met een harddisk en een noodvoeding die overschakelt op accu’s als de netspanning wegvalt, dat meldt en veilig afsluit als de accu’s leeg raken.
Wat het meest in de buurt kwam was een X825/X735 set met metalen kast. Die heb ik besteld en opgebouwd. In dit artikel beschrijf ik mijn ervaringen.
De combinatie X825/X735 Geekworm is momenteel het meest compleet om je Raspberry Pi een professionele upgrade te geven. Je hebt dan een fraaie zwart gecoate metalen kast met uitsparingen voor externe aansluitingen en een robuust uitgevoerde aan/uit knop, een zware voeding van 5.25V/4A, een X825 print voor het aansluiten van een harddisk/SSD, een X735 print met ingebouwde temperatuurgeregelde ventilator en alle losse onderdelen die nodig zijn om het geheel op te bouwen, behalve de gebruiksaanwijzing. Deze onderdelen zijn momenteel alleen los verkrijgbaar.
X825 behuizing
X825 uitbreidingsprint voor SSD
X735 Power Management board
Voor de gebruiksaanwijzing moet je op internet kijken. In dit geval is er wel een uitgebreide website en een Youtube video die je laat zien hoe je een en ander opbouwt. In diverse varianten. En dat is meteen het probleem: als je de handleiding stap voor stap volgt, bouw je eerst de ene versie, en moet je die vervolgens weer afbreken om vanalles aan te passen. Daarom lijkt het me handig én tijdsbesparend als ik hier laat zien wat mijn ervaringen zijn.
Als eerste is het belangrijk om een backup te maken van je SD-card en deze 1 op 1 te kopiëren naar de SSD. Op die kaart staat namelijk alles: Raspbian, je Domoticz installatie, je scripts, je instellingen, je uitbreidingen, je database, etc. Complete backups maken is nooit een slecht idee.
Stap 1:
Als allereerste gaan we de nieuwste bootloader op de RPi installeren. Die maakt het mogelijk om van verschillende bronnen op te starten, net zoals we gewend zijn van de pc. Voer zoals altijd eerst een update en upgrade uit om er zeker van te zijn dat je de nieuwste software gebruikt:
sudo apt update
sudo apt full-upgrade
Stap 2:
Pas de gegevens aan in het bestand rpi-eeprom update:
sudo nano /etc/default/rpi-eeprom-update
Daarin staat maar één regel: FIRMWARE_RELEASE_STATUS="critical"
, Verander “critical
” in “stable
“. Sla op met ^O
(ctrl-O) en sluit af met ^X
(ctrl-X).
Stap 3:
Update de nieuwe bootloader met:
sudo rpi-eeprom-update -d -a
Je krijg het volgende resultaat:
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTFS /boot
*** INSTALLING EEPROM UPDATES ***
BOOTLOADER: update required
CURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
LATEST: Mon 15 Jun 13:36:19 UTC 2020 (1592228179)
FW DIR: /lib/firmware/raspberrypi/bootloader/stable
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad
BOOTFS /boot
EEPROM updates pending. Please reboot to apply the update.
Stap 4:
Reboot, zoals je RPi vraagt:
sudo reboot
Stap 5:
Controleer of de juiste versie van de bootloader nu in gebruik is:
vcgencmd bootloader_version
De firmware-datum moet van 15 juni 2020 of later zijn (de eerste stabiele release die USB booten ondersteunt), zoals je hebt gezien in stap 3.
Met de nieuwe bootloader krijgt de RPi net als een Windows machine diverse boot-opties, al is de volgorde hier niet aan te passen. Als eerste wordt de SD-kaart geprobeerd. Als die niet aanwezig is, kijkt de RPi naar een via USB aangesloten schijf. En dat is wat we willen.
Stap 6:
Als volgende gaan we de SD-kaart exact kopiëren naar de SDD. Schakel de RPi softwarematig uit (sudo shutdown
en dan even wachten…) en haal de micro SD kaart eruit.
Stap 7:
Installeer op je pc/laptop het programma Win32DiskImager. Dat is een tool waarmee je IMG-bestanden op je SD-card kunt schrijven. Als je in het verleden ooit Raspbian hebt geïnstalleerd, ken je het misschien daarvan. Maar anders dan soortgelijke tools (zoals Balena Etcher en de nieuwere Raspberry Pi Imager), kun je met Win32DiskImager ook SD-kaarten inlezen en een exacte kopie opslaan als IMG-bestand. Ideaal voor backups dus! Het programma is gratis en te downloaden van SourceForge: https://sourceforge.net/projects/win32diskimager/
Stap 8:
Doe de SD-kaart met het RPi besturingssysteeem in je laptop (eventueel dmv een sd-kaart adaptertje zoals vaak met micro-SD cards wordt meegeleverd).
Stap 9:
Start Win32Diskimager en navigeer daarin via het folder-icoontje naar de map op je laptop waar de backup moet komen. Geef er een naam aan, bijvoorbeeld RPi4_20200710.img
. Klik op Oké en je gaat terug naar het scherm waar nu Read
te selecteren is (en Write niet).
Stap 10:
Klik op Read
en je SD-card wordt gekopieerd. Op mijn laptop duurt het kopiëren van een 64GB geheugenkaart 15-20 minuten.
Stap 11:
Als je zeker wilt zijn van een perfecte kopie en je hebt nog eens 15-20 minuten geduld, klik dan nu op Verify
. Ga anders door met stap 12.
Stap 12:
Haal de SD-card uit de laptop. Bewaar hem als extra backup voor het geval je ooit nog zonder harddisk wil/moet opstarten. Zet hem NIET terug in de RPi, want dan start die straks alsnog van SD-kaart, zonder dat je daarvan een melding krijgt.
Stap 13:
Sluit via USB een 2.5″ harddisk (SSD) aan. Die kan iedere willekeurige omvang zijn, maar voor Domoticz heb je niet de allergrootste nodig. Stabiliteit en snelheid zijn het belangrijkst. Ik heb dus een goedkope kleine (240GB) SSD gebruikt, maar wel van een goed merk (in dit geval een Kingston).
Kingston SSD 240GB
USB-SSD kabel
Stap 14:
Kies in Win31DiskImager het zojuist gemaakt backupbestand en klik op Write. Schrijven naar een SSD gaat 3 of 4 maal sneller dan lezen van een SD-kaart, waardoor je in 5 minuten klaar bent.
Stap 15:
Optioneel kun je ook deze kopie verifiëren. Dat gaat ook lekker snel.
Inbouwen
Nu is het tijd om e.e.a. in de behuizing te zetten. Maar waar te beginnen? Online staat een video voor de installatie. Die is echter voor verschillende combinaties van printplaten bestemd en als je die klakkeloos volgt, bezorgt het je dubbel werk: schroeven die eerst moeten worden geplaatst en later moeten worden vervangen door andere types, etc.
De RPi wordt in deze installatie gesandwicht tussen de uitbreidingen in deze set. Van onder naar boven: een 2.5″ harde schijf, de aansturing voor HDD, de RPi4B zelf en de voedingsprint met ingebouwde temperatuurgeregelde ventilator.
Stap 16:
We beginnen dus met de voedingsprint. Pak 4 van de dunste zwarte schroefjes en steek ze aan de onderkant van de X825 printplaat in de gaatjes waar staat aangegeven dat er een schroefje in moet. Forceer niks, als de schroefjes er niet in 1x doorheen gaan, heb je de verkeerde (te grote) schroefjes te pakken. Schoef aan de andere kant 4 van de langste koperkleurige afstandsbussen erin (die vind je in de verpakking van de behuizing!).
Stap 17:
Pak nu 4 van de grotere zwarte schroefjes en duw die door 4 van de gaatjes aan de kant waar al de koperkleurige busjes zitten, en schroef aan de onderzijde van de printplaat de 4 iets langere koperkleurige afstandsbusjes op deze schroefjes vast.
Stap 18:
Schuif nu de harde schijf of SSD op de connector aan de onderzijde, draai de printplaat om en schroef de schrijf vast met 2 zwarte schroefjes in de chroomkleurige busjes. Gebruik hiervoor niet de wat grotere zwarte schroefjes. Ze zijn nauwelijks langer dan de busjes, maar zijn net lang genoeg.
Stap 19:
Neem de RPi4B erbij. In mijn geval betekende het dat ik hem uit de bestaande behuizing moest halen. Schroef deze aan de bovenzijde van de printplaat vast met 4 koperkleurige afstandsbusjes die je vindt in de verpakking van de X735.
Stap 20:
Pak de X735 print erbij. Deze bevat aansluitingen voor 2 jumpers. Pin 1 & 2 moeten worden doorverbonden voor de Auto Power On functie. Dit betekent dat de RPi opstart zodra er stroom beschikbaar is. Het lijkt me voor de hand liggend dat je hier een jumper plaatst.
Pin 3 & 4 moeten worden doorverbonden als je de kleine aan/uit schakelaar op de printplaat wilt gebruiken voor het aan en uit zetten van de RPi. Omdat we de bijgeleverde momentschakelaar willen gebruiken (die heeft ook meer slimme mogelijkheden), laten we deze jumper weg.
Stap 21:
Prik vervolgens de X735 op de GPIO header van de RPi en schroef hem vast met 4 zwarte schroefjes.
Stap 22:
Verbind de 5V stroomkabel van de onderste printplaat (de linker of de rechter connector maakt niet uit) aan de X735 print (meest rechtse connector). Zo krijgt de X825 harddisk controller stroom vanuit het X735 power management board.
Stap 23:
Bevestig de sandwich van printplaten aan de zwarte behuizing door aan de onderkant 4 zwarte schroeven in de afstandsbussen bij de SSD te schroeven. Dit lukt het beste als je eerst 2 van de 4 rubber voetjes van de onderkant losschroeft, omdat deze gedeeltelijk over de bevestigingsschroeven voor de afstandsbussen heen vallen.
Let overigens op dat je hiervoor de juiste schroefjes gebruikt, niet de alledunste en ook niet de allerlangste. Weer losschroeven kan lastig zijn als de koperen afstandsbusjes dan gaan meedraaien.
Stap 24:
Zet de grote momentschakelaar vast in het gat aan de voorzijde. Het kan wat lastig zijn als je stevige vingers hebt, aangezien er weinig ruimte meer in de behuizing is…
Stap 25:
Klik de kabel vast op de 3e connector van de voorkant van de X735 print (de voorlaatste van de achterzijde gezien. Let weer op de polariteit; de stekker past er maar op 1 manier in, dus forceer niets.
Stap 26:
Plaats het deksel weer op de stalen behuizing en zet dit vast. Zet de USB-brug over de onderste 2 USB ingangen, zodanig dat de tekst te lezen is (dus niet ondersteboven).
Stap 27:
Steek de voedingsstekker alleen in de bovenste aansluiting aan de zijkant, niet die aan de achterkant.
Als het goed is heb je nu het volgende aan materiaal over: 4 middellange afstandsbussen, 4 korte afstandsbussen, een korte afstandsbus met uitstekende schroefdraad, een ventilator, 4 lange schroefjes, 9 korte schroefjes en een brugje, een kabeltje met zwarte en rode kabel en een printje voor plaatsing op de GPIO, en een Engelse stekker voor de voeding.
Je bent klaar! Steek de stekker van de netvoeding in het stopcontact en de Raspberry Pi start automatisch op. Met de grote schakelaar kun je verschillende dingen doen:
- Als de RPi uit staat: druk 1x kort op de knop om hem aan te zetten.
- Houd de knop 1 tot 2 seconden ingedrukt om de RPi opnieuw op te starten (komt neer op sudo reboot).
- Houd de knop 3-7 seconden ingedrukt om de RPi veilig af te sluiten (komt neer op sudo shutdown).
- Houd de knop langer dan 8 seconden ingedrukt om abrupt af te sluiten (komt neer op de stekker eruit trekken, dus alleen gebruiken als je systeem nergens anders meer op reageert).
Het systeem oogt nu prachtig en professioneel. Een glas cola er overheen gooien, zou ik nog steeds niet doen vanwege de vele (ventilatie-)openingen in de behuizing. En de aanwezigheid van een zee aan opslagcapaciteit op de SSD nodigt uit om je RPi nu, behalve voor het draaien van Domoticz, tevens te gaan gebruiken voor bijvoorbeeld FTP-opslag. Denk aan het opslaan van beelden van je beveiligingscamera’s!
In het volgende artikel in deze reeks ga ik het systeem verder tweaken met de installatie van de nieuwe X728 UPS: een zogeheten Uninterruptable Power Supply, ofwel een stroomvoorziening met backup-accu’s, waarmee je stroomstoringen moeiteloos overbrugt.
X728 UPS: altijd stroom
Lees ook:
6 reacties
Bert · 24 oktober 2020 op 17:15
Bedankt voor deze heldere uitleg. Ik heb hem ook zo opgebouwd en vooralsnog is het systeem stabiel.
Ik mis alleen de software die nodig is om de RPI op de schakelaar te laten reageren.
Of lees ik er overheen?
Met vriendelijke groet,
Bert
Robot One · 28 oktober 2020 op 12:37
Deze software is ingebouwd in de X735 print, maar ook in de X728 UPS.
Bert · 28 oktober 2020 op 17:21
De software zit inderdaad in de X735, maar zonder programma in de RPI, gebeurde er bij mij in ieder geval niets. Hier https://raspberrypiwiki.com/index.php/X735 is een verwijzing naar een script.
Robot One · 1 november 2020 op 16:23
Weet je zeker dat je de jumpers op je X735 goed hebt staan? Zowel de “L-SW” als “Auto On” jumper caps moeten worden verwijderd bij het gebruik van de meegeleverde drukknop. Het script waarnaar wordt verwezen is voor het sofwarematig schakelen van de voeding.
Bert · 1 november 2020 op 19:35
Ik weet heel zeker dat de jumpers goed staan.
De switch deed niets, totdat ik het script in de RPI had geladen.
Spoelstra · 5 januari 2021 op 11:19
Bedankt voor de duidelijke beschrijving, ik heb nu een prachtig systeem.
Rest mij de vraag hoe ik regelmatig een betrouwbare backup kan maken.
Via duplicati? Of een image schrijven naar een sd-kaart ?