Din varukorg är för närvarande tom!
Tekniker som hjälper dig skapa ett smartare och tryggare hem.
Guide: Så installerar du Ubuntu Server för Hemautomation
Kategori:
– Taggar:
Vi har tidigare gjort en guide för Raspberry Pi som hemautomationskontroller, där visade vi hur installation av bland annat Home Assistant, Node-Red, Grafana mm görs. Tyvärr var allt inte guld och gröna skogar med att köra Raspberry pi… Mycket beror på begränsad livslängd på minneskort.. Även det gick att lösa genom att bota från en hårddisk eller undvika att skriva en massa data lokalt (Vilket är halva nöjet, hade idag 8,226,271 rader med information)
Började därför fundera på om jag inte hade någon skrotad dator liggandes… Och mycket riktigt fanns det en gammal bärbar dator, tyvärr med trasig skärm och hårddisk! Men prestandan i den var bättre än det en Raspberry Pi. Efter byte av hårddisk och ha fixat ett USB minne att installera från var den igång med Ubuntu Server!
Jag passar på att göra en guide som visar hur installationen av gratis operativet Ubuntu server(extern länk) görs. Chansen är stor att det finns gamla datorer som klarar att agera hemautomationskontrollers! Eftersom jag hittade just en bärbar fick jag Bluetooth, Wifi och ”UPS” på köpet. Min tanke är att nyttja Ubuntu Server som ett nav framöver, är du intresserad av att testa själv så är den enda hårdvara extra som behövs en DVD-Skriva eller ett USB minne. I höst kommer guider och tips på Home Assistant, Grafana, Node-Red, Mosquitto och Tasker. Dessa bygger på information från den här guiden, så är du intresserad av någon av dessa kan du utgå ifrån den här guiden eller RPI guiden för att själv testa och förbereda.
Vad kan du förvänta dig av guiden:
- Hur skapar man ett USB minne som det går att installera från (extern länk)
- Hur installerar du Ubuntu server
- Hur du Installerar och konfigurerar
- Grafana, InfluxDB, Node-Red, Home Assistant, Mosquitto
- Jag kommer att uppdatera med mer information under hösten i andra guider som refererar hit.
Nu är inte jag någon expert på Linux, så jag tar gärna emot tips eller saker som går att förbättra! Men som sagt med informationen nedan fick jag igång min egna bärbara dator som nu agerar Hemautomationskontroller. Uppskatta verkligen alla tips jag kan få på vad som går att göra bättre.
Ladda hem och skapa media att installera från
Börja med identifiera vilken processortyp datorn har, dvs om du har X64 eller X86 processor i datorn (jag hade X64), börja med att ladda hem Ubuntu Server. För att sedan göra en usb sticka som datorn kan installera från följer du den här guiden (create a usb stick on windows), finns inte någon orsak att jag ska skriva en ny guide på det steget eftersom guiden var perfekt, jag använde Rufus som dom rekommenderade i guiden, fungerade bra för mig.
Installation Ubuntu Server
När detta är klart är det bara att koppla in USB minnet i datorn, alternativt skivan. Jag valde att ta bilder på skärmen och lägger in dessa i kronologisk ordning. När du startar datorn kan du behöva ändra vilken ordning enheterna bootar från, välj att skivan eller USB minnet ska vara det första.
Nu kanske du undra varför jag inte kör med Debian? jo tanken är att man med hjälp av den här guiden även ska kunna sätta upp en server i Azure, Amazon eller Google där Ubuntu server finns med som standard. Det är även möjligt att installera det i Hyper-v och Vmware. Det kan hjälpa dom som inte har möjlighet till publik ip eller har enheter uppkopplade på många olika platser. Men mer om detta senare i höst 🙂
*** om du öppnar en bild så kommer den automatiskt att gå bild för bild neröver.
Om allt gått vägen så har du nu installerat Ubuntu server på din dator / bärbara dator. Nu fortsätter jag att göra installationen av de komponenter jag kommer att använda mig av i höst.
Konfiguration av Ubuntu Server
Nu är det läge att verifiera att allt är uppdaterat, detta görs med följande två kommandon:
# Uppdatering av Ubuntu sudo bash apt-get update && apt-get upgrade -y # jag passade även på att installera Htop, vilket är ett verktyg för att se hur mycket resurser som nyttjas apt-get install htop
Installation Node-Red
# att installera node red fungerade bra på följande sätt: sudo apt-get install nodejs-legacy sudo apt-get install npm sudo npm install -g --unsafe-perm node-red node-red-admin sudo ufw allow 1880 ## testa nu om det fungerar genom att köra node-red
Nu är inte Node-Red uppsatt att starta som tjänst, men det görs enkelt med följande steg:
# börja med att skapa och editera node-red.service med kommondot nedan. sudo nano /etc/systemd/system/node-red.service # i den filen lägger du till: [Unit] Description=Node-RED After=syslog.target network.target [Service] ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v Restart=on-failure KillSignal=SIGINT # log output to syslog as 'node-red' SyslogIdentifier=node-red StandardOutput=syslog # non-root user to run as (((( Välj här samma namn som ditt konto, så vida du inte skapar ett annat ( de tre raderna med texten "noden" ändras till ditt anvid ) WorkingDirectory=/home/noden/ User=noden Group=noden [Install] WantedBy=multi-user.target ### tryck sedan ctrl+x och Y skriv sedan följande för att lägga till det som tjänst och sedan starta det: sudo systemctl enable node-red sudo systemctl start node-red
Nu går det att surfa till Http://dittIP:1880, du kanske inte möts av alla flöden som på bilden, men nu kan du börja bygga egna! 🙂
Jag fick problem att kontot inte hade behörigheter i mappen, fick därför gå till:
/home/ispep/.node-red och köra kommandot (obs tänk på att ispep motsvarar ditt anvid!):
chown ispep:ispep *
Installation av InfluxDB
InfluxDB (extern länk) är en ”time series database”, vilket är en typ av databas optimerad för grafer och händelser, har tidigare använt och skrivit om den i mina Raspberry PI guider, troligen är det InfluxDB som skrivit sönder mina minneskort på löpande band tillsammans med strömavbrott… Till saken hör att jag loggar LITE mer än man borde, sedan 2016-12-03 har jag skrivit mer än 8.226.271 rader med sensorinformation.
InfluxDB används sedan som en datorkälla till Grafana, vilket presenterar datat i snygga grafer.
För att undvika att gå ifrån min Raspberry PI guide allt för mycket så väljer jag att göra samma konfiguration även på Ubuntu servern, då går det att nyttja framtida guider oavsett om du valt att göra installationen på en Raspberry pi eller Ubuntu.
### Börja med att installera InfuxDB curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add - echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt-get update && sudo apt-get install influxdb ## öppna nu och konfigurera din Installation med: sudo nano /etc/influxdb/influxdb.conf
Nu lägger du in följande text i filen:
# editera följande tre rader genom att ta bort "#" tecknet. # [http] # Determines whether HTTP endpoint is enabled. enabled = true # The bind address used by the HTTP service. bind-address = ":8086" # Determines whether HTTP authentication is enabled. auth-enabled = false # The default realm sent back when issuing a basic auth challenge. # realm = "InfluxDB" # Determines whether HTTP request logging is enable.d # log-enabled = true # För att sedan spara tryck ctrl+x och sedan J och enter
Nu är grundkonfigurationen gjord, för att starta om tjänsten så den läses skriver du:
service influxd restart
Konfiguration av en databas i InfluxDB
Nu är det läge att göra en databas som sedan kommer att nyttjas genom serien, jag kommer att döpa den till ”db_automatiserar” det är fritt att döpa den till vad som helst. Men tänk på att alla mina script och guider kommer att peka på namnet ovan i framtiden.
### börja med att starta verktyget med kommandot nedan sudo influx ### skriv sedan EXAKT samma som nedan (förutom databasnamnet db_automatierar, det kan du välja ett eget om du vill CREATE DATABASE db_automatiserar show databases exit # Nu har du en databas klar.
För att testa om allt gått som tänkt kan du öppna en webbläsare och surfa till ip adressen servern har (vet du inte adressen kan du skriva: ip addr | grep inet
Genom att sedan surfa in till adressen samt http://IpadressenDuJustFick:8086 borde du få en sida med ett fel, vilket den här gången är helt ok
För att skicka in data till databasen från Ubuntu prompten kan du skriva:
### # Följande rad skickar in ett värde till din databas, tänk på att db_automatiserar behöver ändras om du bytt namn på databasen curl -i -XPOST "http://localhost:8086/write?db=db_automatiserar&precision=s" --data-binary 'test,sensornamn=Demo temperatur=50 ' # för att sedan se om detta är lagrat i databasen skriver du influx -execute 'SELECT * FROM test' -database db_automatiserar #
Detta var allt du behövde göra för att få en standardinstallation av influxdb, i min powershellmodul för hemautomation har jag gjort en enkel funktion för att skicka data till influxDB från Windows
https://www.automatiserar.se/powershell-modul-for-hemautomation/
Installation av Grafana
Grafana är en Open Source produkt för att visa grafer från olika datorkällor, jag har valt att koppla min implementation mot just InfluxDB. Det finns många fler datorkällor att välja mellan, men jag kommer att fokusera på just InfluxDB.
# Börja med följande två kommandon för att gå till mappen "opt" samt ladda # ner grafana binären cd /opt sudo wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.4.3_amd64.deb #
När detta är gjort är det dags att installera komponenter som behövs.
# för att sedan utföra själva installationen och utföra de krav som behövs körs följande: sudo apt-get install -y adduser libfontconfig sudo dpkg -i grafana_4.4.3_amd64.deb # Sedan startade jag den med: sudo /bin/systemctl start grafana-server # För att lägga till så den autostartar vid omstart sudo systemctl enable grafana-server.service # Klart! nu bör du kunna surfa till http://dinIpAdress:3000 # login och lösenord är admin / admin
När du väl fått in data i grafana går det att få grafer som ovan med ytterst lite arbete. Men mer om det kommer i guider under hösten 🙂
Installation av Mosquitto
Mosquitto är en kö hanterare som jobbar enligt Publish / subscribe, dvs en enhet kan skicka eller ta emot ett meddelande under en specifik kö. Det som gör att jag valde MQTT från Mosquitto är dels att den är Open Source, men även att den är sjukt snabb och skalar bra! Använder den tillsammans med Home Assistant, Node-red
# Börja att Installera komponenterna sudo apt-get install mosquitto mosquitto-clients # skapa konfigurationsfilen och öppna den för editering med raderna nedan sudo touch /etc/mosquitto/conf.d/mosquitto.conf sudo nano /etc/mosquitto/conf.d/mosquitto.conf # fyll på med följande info: # --- start ---- # Config file for mosquitto user mosquitto max_queued_messages 200 message_size_limit 0 allow_zero_length_clientid true allow_duplicate_messages false listener 1883 autosave_interval 900 autosave_on_changes false persistence true persistence_file mosquitto.db allow_anonymous false password_file /etc/mosquitto/passwd ## avsluta och spara genom att trycka CTRL+X sedan Y och Enter
Nu är installationen gjord och det är dags att sätta ett lösenord för att få skicka och ta emot på kön.
# Jag väljer att skapa en användare som heter hemautomation, om du väljer att # ändra till något annat tänk då på att ändra i script och annat i mina guider framöver sudo mosquitto_passwd -c /etc/mosquitto/passwd hemautomation # sätt ett bra lösenord... # ta sedan bort den gamla loggfilen sudo rm /var/log/mosquitto/mosquitto.log # starta sedan om tjänsten sudo systemctl restart mosquitto # KLART!
Installation Home Assistant
Nu börjar vi komma till det roliga! Home Assistant är ett ”nav” som kopplar ihop olika hemautomationslösningar. Jag använder den själv tillsammans med Vera, Ikeas Trådfri och många andra system. Den största fördelen med just Home Assistant (hass) är att den körs i Python, vilket är ett språk som finns till både Windows, Linux och Mac. Vilket gör att man kan installera den där man har möjlighet. Utöver det så integrerar och fungerar den med otroligt många system. med några få rader konfiguration aktivera funktioner. Jag kommer att uppdatera och utöka min guide på Home Assistant inom en snar framtid med allt roligt jag gjort med min lösning på Ubuntu servern.
Installationen:
# nu ska det bara vara att klistra in all kod rakt av och göra en installation så # Jag har valt att göra installationen i Virtualenv för att undvika störningar från andra system som kör python sudo mkdir /srv cd /srv sudo apt-get install python3 python3-venv python3-pip sudo mkdir homeassistant sudo chown homeassistant:homeassistant homeassistant sudo su -s /bin/bash homeassistant cd /srv/homeassistant python3 -m venv homeassistant_venv source /srv/homeassistant/homeassistant_venv/bin/activate pip3 install homeassistant pip install --upgrade pip exit # Klart med första delen
För att nu få den att automatiskt starta när Ubuntu server startar om kör du in följande konfiguration
# Gå in i rätt mapp och skapa filen som ska få HASS att starta automatiskt cd /etc/systemd/system sudo touch homeassistant.service sudo nano homeassistant.service # Nu står du med en öppen fil, följande information ska ingå i den: ### klistra in detta (hoppa över ### raderna): [Unit] Description=Home Assistant After=network.target [Service] Type=simple User=homeassistant ExecStartPre=source /srv/homeassistant/homeassistant_venv/bin/activate ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant" Restart=on-failure [Install] WantedBy=multi-user.target Alias=homeassistant.service ### SLUT ### för att sedan spara trycker du CTRL+X och sedan "Y" för att spara. ### Nu kan du testa att köra följande två rader för att ladda om det som en tjänst sudo systemctl --system daemon-reload sudo systemctl start homeassistant.service # om allt gått vägen kan du surfa till http://dittIP:8123
TRÅDFRI
För att sedan få tillgång till Trådfri i min installation av Home Assistant behövde jag göra följande
sudo apt-get install libtool ### Källa: https://home-assistant.io/components/tradfri/ sudo apt-get install autoconf git clone --depth 1 --recursive -b dtls https://github.com/home-assistant/libcoap.git cd libcoap ./autogen.sh ./configure --disable-documentation --disable-shared --without-debug CFLAGS="-D COAP_DEBUG_FD=stderr" Make sudo make install # nu borde det vara möjligt att starta om Home Assistant tjänsten och skriva lösenord till trådfi
Powershell
Jag har tidigare lagt en hel del jobb på hemautomationsmodulen jag nämner en bit upp därför passar jag på att även installera Powershell 6.X beta
Detta görs på följande sätt:
# lägg till så det går att använda Apt-get för att hämta Powershell. curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list apt-get update apt-get install -y powershell ### Mer än så behövdes inte ### Starta powershell med följande rad: Powershell # Skriv sedan raden nedan för att installera modulen jag skrivit som finns på # https://www.powershellgallery.com/packages/AutomatiserarSE/ Install-module automatiserarse # Klart nu är du förberedd med Powershell med!
I dagsläget använder jag inte modulen allt för frekvent på Linux, det mesta som körs där går via Node-Red, men det kan bli aktuellt i framtiden.
Gilla vår sida och dela den till fler. Ge tips på vad som kan göras bättre eller vad mer som borde finnas i guiden.
Som vanligt gör vi detta för att det är roligt att dela med sig och att man lär sig nya saker, vi har snart hållit på i 3 år, så passa på att kolla in arkivet vi skapat. https://www.automatiserar.se/arkiv/
Är du intresserad av att veta när guiden uppdateras, välja att prenumerera på ändringar i just den här guiden en bit ner på sidan.
// Ispep
I mer än 10 år har Markus Jakobsson delat med sig av erfarenhet inom smarta hem på bloggen. Markus har testa det mesta och lärt sig massor på vägen, kunskaper och erfarenheter han delat med dig här på bloggen.
Favoriter inom smarta hem just nu:
Xiaomi Mi Flora
Raspberry Pi 5
Homey
Home Assistant
Displayen LYWSD03MMC
Hoppas du uppskattade innehållet och fick nytta kunskapen vi delat med oss på Automatiserar.se.
Stort tack för att du tog dig tid att läsa vårt inlägg.
Med vänliga hälsningar Markus Jakobsson
Allt går att automatisera!
Har du precis börjat med smarta hem eller redan kommit en bit på resan? Läs mina dedikerade guider om smarta hem. Dom ger dig kunskaper och insikter som hjälper dig fatta rätt beslut i din resa.
Kommentarer
15 svar till ”Guide: Så installerar du Ubuntu Server för Hemautomation”
Mycket spännande!
Jag har idag en Ubuntu-server igång som primärt lagrar video från övervakningskameror. Antar att Home Assistant etc inte kräver så mycket för att kunna köra detta på samma server?
Har en Vera Plus för Hemautomationen, samt IKEA Trådfri. Kan man integrera dessa mha Home Assistant? Funkar det även att hantera Apple Homekit?Home Assistant drar inte mycket alls och är nog perfekt att installera där. Jag har integrerat både Vera och Trådfri till min Home assisntat på Ubuntu server. Kan starkt rekommendera det.
// Ispep
Tack för en bra guide!
Stötte på ett problem med autostart av HA.
I ”/etc/systemd/system/homeassistant.service” bör följade rad
”ExecStartPre=source /srv/homeassistant/homeassistant_venv/bin/activate”
ändras till
”ExecStartPre=source /home/homeassistant/.homeassistant”Tackar!
Blev ju tvungen att kontrollera, och helt rätt den har inte startat upp automatiskt! (Startar ju aldrig om den tydligen)
Ska korrigera det där steget i guiden, stort tack för att du såg det och skrev vad som löste felet.// Ispep
Väldans klyftigt och öppnar nya spännande möjligheter! Testar just på en Nuc enl ovan (+Home Assistant guiden), går som tåget! Har dessutom tryckt in Domoticz på samma burk med gott resultat. Lurar nu på att även lägga in ”HA Bridge” för flexiblare Alexa integrering, har det i dag på en Pi3 och styr enkelt rätt kul saker med rösten. Någon som fått Vera integrationen till Home Assistant att fungera? På alla Vera sensorerna får jag bara ”Unknown” som värde på allt från temperatur till energiförbrukning. Switchar och PIR funkar klockrent.
Hej och tackar!
Tror den där buggen dök upp i version 0.53.0, uppdaterade nyss min till senaste versionen 0.55.0, då försvann problemet med dom där ikonerna står som ”Unknown”.
Om du har lust får du gärna dela med dig med hur du gör de där stegen med Alexa, vi kör ju som en tävling om Somfy One och det där låter som ett bra bidrag 🙂*** Verkar som att den slutade fungera med Trådfri istället tyvärr :/
okt 08 19:10:29 XXXX XXX[1447]: 2017-10-08 19:10:29 ERROR (MainThread) [homeassistant.components.tradfri] Looks like something isn’t installed!// Ispep
Hej och tack för bra guider! Gör det så mycket lättare att komma igång.
Hittade följande som löste problemet med Trådfri för mig:
https://community.home-assistant.io/t/upgrade-to-0-55-0-ikea-tradfri-not-working-anymore/28976/33?u=rubyanTack och jag kolla in den så fort jag hinner, har som inte hunnit med mig på den senaste tiden..
Och stort tack för tipset, uppskattas verkligen!// Ispep
Hej!
Får inte Node-Red att fungera med websockets.
Gjort precis som i din tutorial men får ”Error: invalid url” när den körs automatiskt.
Startar jag den med ”node-red” från ssh så fungerar det….Hej
vad får du för meddelande om du enbart kör:
sudo systemctl start node-redAntar att du testat att starta om ett varv med?
// Ispep
[…] Node-Red på ubuntu server, En bit ner på sidan återfinns […]
[…] Guide: Så installerar du Ubuntuserver med Grafana, node-red, mosquitto […]
Hej
Har följt denna guide och den var ju kanon som vanligt när det gäller dina guider 🙂
Jag får dock inte Mosquitto att autostarta, måste varje gång skriva ”Mosquitto” i terminalfönstret för att den ska starta, har du ev någon lösning på det? Har uppgraderat till 18.04.
Har du någon lösning på hur man släcker skärmen på laptopen som ubuntu är installerat på? Har så jag kan stänga skärmen utan att datorn går ner i sleep, men skärmen fortsätter vara igång.Tackar! Har planer på att gå upp till version 18.04 med, i sambamd med det tänkte jag uppdatera den här guiden med. Ska kolla på om jag skrivit något fel i guiden så fort jag hinner med. I annat fall blir det när jag uppdaterar guiden för nästa version
// IspepEtt litet varning, när jag uppgraderade från 16.04 med ”sudo do-release-upgrade” så tog installationen bort grafana av någon anledning, jag hade dock version ”grafana_5.2.4_amd64.deb.”
Intressanta sensorer på bloggen
Jag har testat många sensorer på bloggen, här ser du några av dom. Är du intresserad av att veta vad vi tycker om respektive sensor så klicka på bilden för att få veta mer.
Vill du lära dig mer om smarta hem
och inte riskera missa några nyheter?
prenumerera då på bloggen via mail.
Gör ditt hem Smartare med några av dessa tillbehör
Jag har testat många enheter som gör min vardag lite enklare och smartare, vissa bra och vissa mindre bra. Många är helt vanliga enheter som fått smarta funktioner eller tekniker installerad. Något som jag sedan försöker använda för att göra familjens vardag enklare och vårt hem smartare. Är du intresserad av att se vad du kan göra med dessa enheter så klicka på bilden för att läsa mer om hur vi upplever den.
Gateway / Kontrollers & mjukvaror
Det finns idag en uppsjö tekniker och enheter på marknaden, tyvärr så finns det inte någon perfekt lösning ännu, utan varje lösning har sina styrkor och svagheter. För att du lättare ska kunna välja vilket spår som passar dig så har jag samlat alla tekniker jag testat och en bra sammanfattning om dom. Utifrån det kan du själv avgöra vad du anser mest lämpat. Är du osäker på vart du ska börja så kolla in min nybörjarguide om smarta hem, där får du tips på vad du ska leta efter och fundera över innan du kör igång.
Lämna ett svar