Nu har jag även jag gett mig in i hemautomatiserings-branschen med Tellstick Duo, Raspberry Pi och OpenNetHome.
Vi har ett mobilt bredband från 3 hemma, som fungerar jättebra. Vi har alltid 25 megabit nedladdning och detta räcker gott och väl för familjen. Men någon gång lite då och då så tappar modemet uppkopplingen. När detta händer är den enda lösningen att gå upp till modemet och starta om det.
Men inte längre! Med min nya hemautomatiserings-lösning så har jag löst detta så att systemet startar om av sig självt, en minut efter att uppkopplingen försvinner! Läs vidare för att se hur jag gjorde.
Tell-vaddå, Rasp-vaddå, Open-vaddå?
OK, farfar, det här stycket är för dig. Ni som redan vet vad jag pratar om kan hoppa vidare till nästa stycke.
Raspberry Pi
Raspberry Pi är en liten dator som är superbillig men ändå ganska kraftfull. Den klarar bland annat av att köra olika versioner av ett operativsystem som heter Linux. Linux är ungefär som Windows, men man måste vara extremt datanördig om man ska förstå någonting över huvud taget. I gengäld kan man konfigurera systemet nästan hur man vill. Linux är dessutom gratis. Som min gode vän David uttryckte det: Linux är till för dem som har noll pengar men oändligt med tid.
Raspberry Pi kostar typ 400 spänn att köpa, och kan användas till mediacenter, spelstation eller surfstation. Allt som en lite långsammare dator klarar av, fixar den galant.
Tellstick Duo
Tellstick är en produkt som tillverkas av det svenska företaget Telldus. Det är en sändare som skickar data över 433 MHz-bandet, alltså det frekvensområde där de flesta fjärrkontroller till eluttag opererar. Man kan ju köpa fjärrkontroll till det mesta idag. Det vanligaste är eluttag, som man kan styra från soffan. Det finns även ringklockor, termometrar, väderstationer och så vidare som opererar på 433 MHz-bandet. Med hjälp av Tellstick kan man skicka och samla ihop information om vad som händer på dessa frekvenser. Man kan med andra ord sätta på eller stänga av lampan med hjälp av sin dator.
Jag köpte Tellstick Duo som man helt enkelt kopplar in till sin Raspberry Pi via USB-porten.
OpenNetHome
OpenNetHome är en opensource-programvara genom vilken man kan styra sin Tellstick. Man säger åt programmet vilka enheter man har, och sedan får man knappar där man kan stänga av alla lampor i huset via ett webb-interface, en hemsida.
Telldus har någon egen programvara för detta, tror jag. Det fina med OpenNetHome är att det har ett Rest-API så att man kan prata med den via internet. Man skickar alltså en förfrågan online för att stänga på eller sätta av lampan, utan att använda sig av hemsidan. Man kan alltså använda sitt eget program för att prata med Tellsticken.
Slut på förklaringen.
Tellstick Duo, Raspberry Pi
Det första jag gjorde var att installera Linux-operativsystemet Ubuntu Mate på min Raspberry Pi. Jag använde mig av installationsbeskrivningarna hos Ubuntu Mate.
När det var klart var jag tvungen att aktivera SSH på min Raspberry Pi. Det gjorde jag enligt den här beskrivningen.
Efter det kunde jag installera OpenNetHome, enligt beskrivningsfilmen på deras hemsida. Jag följde även beskrivningen för att lägga till Tellsticken och den fjärrstyrda kontakten till min router. När allt detta var klart hade jag följande layout på min OpenNetHome-sida.
Mono
När hårdvaran var på plats var det dags att börja med mjukvaran. Jag installerade utvecklingsmiljön Mono på min Raspberry Pi. Med Mono kan man skriva C#-kod på Linux. C#-kod är det jag kan bäst, så valet föll på det. Man kan såklart använda sig av andra utvecklingsspråk om man hellre vill det.
Jag tänkte först testa dotnet core, men jag fick det faktiskt aldrig att fungera på den korta tid jag lade ner på det. Mono var däremot enkelt att installera. Man gick ut i command-prompten och skrev:
sudo apt-get install mono-runtime
sudo apt-get install monodevelop
Sedan startade man programmet som vanligt från Ubuntu-menyn under Programming.
I Mono startade jag sedan ett nytt projekt och skrev ett litet program som gör det jag ville. Sedan gick jag in i Ubuntu Mate Control Center och under Autostart lade jag till mitt program så att det startas automatiskt varje gång jag startar upp min Raspberry Pi. Lägg märke till att man behöver anropa exe-filen via Mono.
mono path/program.exe
Så nu har jag övervakning av mitt nätverk hemma med en minuts omstarts-tid när nätverket går ner!
Koden
Här är min kod, varsågod att använda den om ni vill. Jag har förklätt den till en .js-fil så att WordPress vill visa den.