Ghettomotica deel 2 - laptop klaarmaken voor domotica server

Door R3m3d7 op vrijdag 11 augustus 2017 20:24 - Reacties (5)
Categorie: Domotica, Views: 1.031

In deel 1 van deze ghettomotica serie onderbouw ik mijn keuze voor een laptop als domotica server die meer doet dan alleen Domoticz draaien en feitelijk al mijn thuisserver taken op zich neemt die mijn NAS niet of niet goed genoeg aankan.

Stap 2 is het OS op het het systeem installeren en klaarmaken om als Domoticz en KVM server te fungeren.

Nog even een kleine disclaimer.
Alle Ubuntu/Domoticz dingen die ik beschrijf zijn op het internet te vinden. Ik claim niets te hebben uitgevonden. Ik pak overal stukjes vandaan en puzzel die aan elkaar tot het iets is wat werkt voor mij. De credits gaan naar de geweldige Linux/Ubuntu/Domoticz community's, ik ben niet meer dan een tevreden gebruiker die ervaringen deelt in de hoop andere te inspireren/helpen met het opzetten van hun Domotica systemen.


Ubuntu

Voor mij is de keuze voor het OS gevallen op Ubuntu Server LTS.

Deels heb ik deze keuze gemaakt omdat betaalde Windows niet past in het ghettomotica thema van deze serie maar het is zeker niet de belangrijkste reden, ik geloof namelijk niet echt in de waarde die vaak wordt gehangen aan het kosten argument in de hele Windows vs Linux discussie.
Ik ben sinds 1997 gebruiker van Linux en hoewel er vele hier zijn die er meer van weten dan ik kan ik er redelijk mee uit de voeten.
Ik gebruik het niet op mijn desktop, daarop wil ik namelijk fatsoenlijk kunnen gamen maar voor servers thuis is het een geliefde oplossing.

Dan de keuze voor Ubuntu.
De redenen zijn eigenlijk vrij simpel.

1.Er is een procedure op het wiki van Domoticz voor Ubuntu installaties
2.Ik ben een liefhebber van apt-get package management
3.Ik weet de long term support releases van Ubuntu te waarderen
4.Documentatie van Ubuntu is redelijk tot goed op orde

De long term support releases van Ubuntu krijgen lange tijd support in de vorm van updates (van je stoel gevallen?). De LTS versie die je vandaag de dag kan downloaden (16.04.3) verzekerd je tot april 2021 van updates en daarmee voor langere tijd een grotere kans op een veilig en stabiel systeem.
Ik verwacht niet zo lang op het systeem te draaien zonder upgrades naar nieuwe LTS versies of het vervangen van de hardware maar het idee dat het kan als het zo even uitkomt is prettig en aangezien ik SSH daemon via port forwarding direct aan het internet koppel is het idee dat deze up-to-date is wel zo prettig.


Domoticz

Er zijn tegenwoordig aardig wat opties met betrekking tot domotica software en ik moet toegeven dat ik mij maar beperkt hierin heb ingelezen. Ik heb enkele tientallen uren ge´nvesteerd in Domoticz kennis en ben prima tevreden over wat het kan, tot ik tegen serieuze beperkingen aanloop heb ik dan ook geen reden om veel tijd in een ander pakket te investeren, de software is geen doel op zich.
Ik heb namelijk ook met de gevreesde WAF te maken wat de mogelijkheid tot experimenteren "wat" verminderd (wellicht leest ze mee, you never know).
Als je de verlichting gaat aansturen in je huis en je alarmsysteem (met takkeherrie als hij afgaat) op domotica bouwt dan speelt de WAF ineens een rol die ze weerga niet kent...en terecht hoor, schat!
In het kort, met domotica zit je echt vol in de WAF-redzone.

BIOS settings

Zo, nog even voor de installatie enkele bios settings nalopen. Er is hier niet zoveel bijzonders aan de hand. Zorg wel dat VT spul enabled is voor het gebruik van KVM.


code:
1
2
3
4
5
6
7
8
9
10
11
12
Intel speedstep tech - enabled
Mode for AC - max perf
Adaptive thermal management  for AC - Maximize perf
CPU Power management - Enabled
PCI Express Power management - Enabled
Power On With AC attach - Enabled (default is disabled) (lijkt een optie dat hij vanzelf weer aangaat als de stroom er lang vanaf is geweest en het systeem was uitgevallen)

Core Multi Processing - Enabled
Hyper-Threading - Enabled 

Intel Virtualization Technology - Enabled (default is disabled, nodig voor KVM)
Intel VT-d feature - Enabled (default is disabled, nodig voor KVM)



Ubuntu install voorbereiden

We zetten alleen Ubuntu op onze "server", de hele 250GB SSD mag leeg.
Ik download de iso van de Ubuntu site en gebruik Rufus om de ISO file op mijn USB stick te zetten waarmee ik de installatie uitvoer.

Ubuntu install packages

Ik stop de met met Rufus gemaakte USB stick in de laptop, koppel de laptop hem aan de voeding, en druk op de thinkvantage knop bij het opstarten, dan komt er een soort pre-bios menu waarin je een one-time boot device kan kiezen, ik koos de USB stick en daarna start de Ubuntu installer van USB.

Hieronder wat foto's van de installatie van Ubuntu, zou kunnen dat je screenshots kan maken tijdens de installatie maar ik heb het even met de telefoon gedaan, de foto's zijn niet in z'n geheel te zien maar alle relevante dingen staan erop, de volgende keer zal ik beter resizen.

http://i.imgur.com/B1SX0dv.jpg
http://i.imgur.com/J1B3G6u.jpg
http://i.imgur.com/431h1Ff.jpg
http://i.imgur.com/oQVOq2V.jpg
http://i.imgur.com/JjNYaqB.jpg
http://i.imgur.com/XMX9Cr1.jpg
http://i.imgur.com/OVRuoKJ.jpg
http://i.imgur.com/MjBnH4b.jpg
http://i.imgur.com/ZbHVkpC.jpg
http://i.imgur.com/qWN7dNX.jpg

Op de laatste foto zie je dat de laptop via DHCP een IP heeft gekregen op mijn 192.168.10.xxx netwerk, via dit netwerk kan ik nu met putty inloggen op de server.


SSH daemon testen


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
login as: domoticz
domoticz@192.168.10.61's password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

8 packages can be updated.
8 updates are security updates.


Last login: Fri Aug 11 18:54:39 2017 from 192.168.10.53
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

domoticz@jarvis:~$ sudo su -
[sudo] password for domoticz:
root@jarvis:~#



Ja, ik weet het, de meeste doen alles via sudo.
Ik kan daar niet meer aan wennen dus ik doe een sudo su -.
En voor de mensen die hier issues mee hebben


Ubuntu lid close setting

We willen de laptop in gesloten toestand door laten draaien en niet laten slapen, dat kan je onder Linux eenvoudig instellen.


code:
1
vi /etc/systemd/logind.conf



zoek naar "#HandleLidSwitch=suspend"
Pas de regel #HandleLidSwitch=suspend aan in "HandleLidSwitch=ignore"


en sla de file op
run daarna nog even:


code:
1
service systemd-logind restart



En daarna zal het systeem niet meer gaan slapen bij het dichtklappen van het scherm.

IP van DHCP naar fixed

Servers via DHCP is wat mij betreft not done, ook al stel je DHCP zo in dat systeem altijd hetzelfde adres krijgt ben je ineens afhankelijk van je DHCP service, het is een extra afhankelijkheid en naar mijn mening voegt het niets toe, vandaar een fixed IP adres.


code:
1
root@jarvis:/# vi /etc/network/interfaces



Bij mij heet de adapter enp0s25, die zal bij jou waarschijnlijk een andere naam hebben.

Pas dit deel aan:


code:
1
iface enp0s25 inet dhcp



In:

code:
1
2
3
4
5
6
7
iface enp0s25 inet static
        address 192.168.10.21
        netmask 255.255.255.0
        broadcast 192.168.10.255
        gateway 192.168.10.254
        dns-nameservers 84.116.46.23
        dns-nameservers 84.116.46.22



Daarna nog even de netwerk service herstarten:


code:
1
root@jarvis:/# ifdown enp0s25 ; sudo ifup enp0s25



Zoals Pilovali als reactie bij mijn vorige blog al aangaf kan je niet zomaar een laptop neerzetten en 24/7 laten draaien, de standaard laptop koeling zal dit niet lang volhouden.
Ik heb er zelf nog niets mee gesloopt maar mijn huidige systeem kreeg het wel warm en zou over tijd zeer waarschijnlijk kapot zijn gegaan als ik geen koeling had toegevoegd.

Ik raad ook af om de laptop constant onder hoge load te laten draaien, mijn laptop is 95% van de tijd 98% of meer idle. Domoticz vraagt bijna niets van een "moderne" cpu.

De oplossing voor mij was vrij simpel en in lijn met het ghettomotica thema.
Ik spaar oude AC->DC adapters, 9/10 keer gaat het bijbehorende apparaat stuk of vervang ik het met iets anders en blijft de adapter over welke vervolgens in een grote bak beland.
Net als elke andere tweaker heb ik ook wat oudere fans liggen.
Dan ben je er al bijna, nog een paar latjes om een klein frame mee te maken om de laptop op te zetten die hoger zijn dan de fan en klaar ben je.
De laptop staat op de latjes met de fan eronder welke naar boven blaast.
Ik denk dat het hoger "zweven" van de laptop in plaats van op een vlakke ondergrond staan ook helpt.
Ik stuur de fan aan met een 6 volt adapter en hoor er niets van, de laptop blijft hiermee koel onder de load die ik genereer op de server.
Ik hoor je al roepen "ja maar airflow dit en dat!!"
Ik weet het, maar het werkt, en ik ben in de hobby vooral van het "dingen die werken en niet zoveel kosten zijn mijn soort dingen"
Denk dat je hem zelfs via z'n eigen USB verbinding kan koelen als je de 5v van een USB kabel pakt, helemaal makkelijk, denk ik nu pas aan!

Hierbij het bewijs dat de koeling werkt, dit systeem staat nu al enkele weken aan, ik heb de high en crit waardes nog niet gezet dus dit zijn de defaults.


code:
1
2
3
4
5
6
7
8
9
domoticz@kvmhost1:~$ uptime
 10:08:16 up 20 days,  1:57,  2 users,  load average: 0.02, 0.01, 0.00
domoticz@kvmhost1:~$ sensors |grep -i core
coretemp-isa-0000
Core 0:       +40.0░C  (high = +105.0░C, crit = +105.0░C)
Core 1:       +42.0░C  (high = +105.0░C, crit = +105.0░C)
domoticz@kvmhost1:~$ date
Sat Aug 12 10:08:54 CEST 2017
domoticz@kvmhost1:~$



De cpu zit met de extra fan op 40/42 graden na 20 dagen draaien, prima dus.

Hierna is het systeem wat mij betreft klaar om te gebruiken met Domoticz.

In het volgende deel gaan we Domoticz installeren en in het kort de belangrijkste zaken van een schone Domoticz installatie doornemen als introductie.

Ghettomotica deel 1 - Een oude laptop als domotica server

Door R3m3d7 op woensdag 9 augustus 2017 17:19 - Reacties (18)
Categorie: Domotica, Views: 2.705

In deze blogpost wil ik mijn voorkeur voor oude laptops als servers voor thuis met jullie delen en onderbouwen, het is mijn eerste post in een serie waarin in de laptop ga opzetten als Domoticz server in combinatie met onder andere een zelf gemaakt RFLINK oplossing voor de "budget-minded domotica gebruiker" :)

Mijn oplossing is op zo ongeveer elk gebied het tegenovergestelde van wat Femme heeft gebouwd.
https://tweakers.net/vide...kers-oprichter-femme.html

Goed, ik gebruik dus een laptop als server in mijn huis en ik denk dat het een goed idee is.

http://i.imgur.com/WHeUe8K.jpg

Ik heb net zoals vele hier een NAS, ik gebruik momenteel een Synology en ben daar tevreden over.
Op dit NAS kan je via een package manager additionele software op je NAS laten draaien waaronder Domoticz dus waarom een laptop ernaast als server?

Nou, mijn NAS is oud en heeft weinig intern geheugen, het beestje slaapt een groot deel van de tijd (wellicht omdat hij op leeftijd is) en heeft qua CPU niet de mogelijkheid om alles te draaien en zeker niet op de snelheid die ik zou willen, maar als NAS is hij nog prima en niet aan vervanging toe.

Ik draai de voor mij "belangrijke" applicatie Domoticz op mijn laptop server waarbij ik absoluut niet wil dat hij uit gaat als de stroom er even vanaf gaat maar een UPS neerzetten gaat mij wat ver, deels door de toch redelijk grote verliezen ervan.

Stroom van deze server eraf en een groot deel van de lampen gaan niet meer automatisch aan of uit maar belangrijker nog, ik kan niet meer vanaf afstand mijn espresso machine aanzetten (of automatisch aan laten zetten) zodat hij opgewarmd is wanneer ik thuis kom, en dat zijn natuurlijk barbaarse omstandigheden.

Daarnaast ben ik met Domoticz op mijn NAS afhankelijk van degene die de Synology packages maakt ten eerste dat hij deze blijft maken, maar ook waarneer hij een nieuwe maakt en welke build hij kiest, ik heb daar dus zelf geen controle over en geen controle over <vul maar iets technisch in> frustreert een echte tweaker natuurlijk.

Tevens wil ik graag KVM virtualisatie gebruiken voor kleine test omgevingen zodat ik dingen kan uitproberen, dit kan al helemaal niet op mijn NAS of op een Raspberry Pi.
Dan wil ik voor mijn zoontje en zijn vriendjes ook wil ik graag een digitale lego omgeving Minecraft server kunnen draaien.

Dus met mijn NAS heb ik opslag genoeg maar mis compute en de flexibiliteit van een echt server om te draaien wat ik wil.

De oplossing voor mij was een oude laptop van werk, eerst een Lenovo Thinkpad x220 en nu een nieuwe wat zwaardere Lenovo Thinkpad x230 die ik als vervanging van de x220 ga inzetten.
Ja, het scherm is voor 1/5 voor echt laptop werk defect (hevig trillen en verkleuren) maar dat gebruik ik bijna niet. Het is feitelijk de perfecte storing op een laptop om hem als server in te gaan zetten.
Het nieuwe systeem heeft een i7-3520M CPU en 8GB geheugen wat tot 16GB kan worden geupgrade.
Er zit een 250GB SSD in het systeem, meer dan genoeg lokale storage voor mijn Domoticz gebruik en nog een paar kleine VM's.

Even de voordelen op een rij voor o.a. Domoticz op een oude laptop
  • Laag stroomverbruik
  • Compact
  • Ingebouwde UPS
  • Ingebouwde KVM oplossing met keyboard/scherm/muis
  • Volwaardige Linux server zodat o.a. ook KVM kan worden gebruikt
  • Vaak met schermproblemen via werk voor niets te krijgen of een prikkie te koop
  • Loopt qua snelheid rondjes om een NAS of Raspberry Pi
  • Geen corrupte SD kaartjes meer zoals op de Raspberry Pi (of je moet externe SSD's gebruiken via USB)
  • Hoewel geen server-grade, wel een volwaardige 1Gb/s netwerk verbinding
  • Kan zelf de upgrade momenten voor Domoticz bepalen wat niet kan op het NAS
  • Voor mij koste de laptop evenveel als een nieuwe Raspberry Pi in aanschaf
Het systeem gebruikt ongeveer 12 watt onder idle (ik schakel uiteraard nog het scherm uit) onder load (wat meestal maar kort is) schiet het soms even richting de 20 watt.

Ik ben benieuwd of er meer hier een laptop als server inzetten en wat jullie ervaring ermee is of waarom jullie denken dat het helemaal geen goed idee is. ;)

In het volgende deel gaan we de laptop installeren en klaar maken voor gebruik als server voor Domoticz.