In een vorige blog heb ik verteld over het ietwat vreemde, maar spotgoedkope broertje van de Raspberry Pi, namelijk de Orange Pi Zero. En hoe deze te installeren.
De Orange Pi Zero heeft één groot nadeel: hij wordt erg snel warm. Zelfs zo warm, dat dat de performance van deze kleine jongen behoorlijk kan beïnvloeden.
Tijd voor een echte hack!
Ik had nog een kleine ventilator liggen, die op 5 volt draait en het leek me een goed idee die in te bouwen in de orange pi en hem op 3,3 volt te laten draaien. Dat zorgt voor voldoende koeling en door de lagere spanning maakt hij ook nog eens vrijwel geen lawaai.
Er was echter geen ruimte in het kastje en dus besloot ik de ventilator ‘op’ het kastje te bouwen.
Allereerst teken je op een strategische plaats de omvang van de ventilator af. Houd er daarbij rekening mee dat de bevestigingsboutjes door de behuizing naar binnen steken.Het beste kan je die plaats bepalen wanneer de printjes er nog in zitten.
Vervolgens heb ik een rond gat en gaatjes voor de schroeven gemaakt in de behuizing met een Dremel.Behalve de schroefgaten is ook een gat nodig voor de aansluiting van de ventilator in de Orange Pi.Schroef nu de ventilator op de behuizing, waarbij de koppen van de boutjes in de behuizing zitten. Dat neemt het minste plaats in. Voer de aansluiting van de ventilator door het extra sleufje naar binnen.
Het printje met de extra aansluitingen kan nu weer worden teruggezet in de behuizing.Nu moet er een aansluiting worden gemaakt op het bord van de Orange Pi. Er moet daarom worden gesoldeerd. Er kan een complete dubbele rij van 26 aansluitingen worden aangebracht, maar aangezien we er maar 2 nodig hebben kunnen we ook volstaan met een deel daarvan.Zie hier de aansluitingen van de Orange Pi. We hebben een 3,3V aansluiting nodig en Ground. Helaas zitten die niet naast elkaar, maar zitten er 3 andere pins tussen.Ik had nog een header met 8 pins liggen en heb die er daarom opgesoldeerd, maar één van 5 had ook gekund.Sluit vervolgens de ventilator aan op de eerste (3.3V) en de vijfde (Ground) pin.
Start nu de Orange Pi. Wanneer de ventialator gaat draaien is de aansluiting gelukt. Het maakt niet zoveel uit of de ventilator lucht uit het kastje zuigt of deze eruit blaast.Plaats, wanneer alles werkt, de print weer terug in het kastje en doe de deksel erop. De Orange Pi Zero kan nu vol worden belast, maar zal niet meer echt heet worden.Mijn Orange Pi Zero kwam ook onder hele zware belasting niet meer boven de 56 graden, maar meestal was de temparatuur van zijn CPU nog veel lager.
Iedereen die hobbymatig met computers bezig is kent natuurlijk de Raspberry Pi: een kleine, goedkope computer waar je hele leuke dingen mee kunt doen.
Het succes van de Raspberry Pi heeft andere fabrikanten geïnspireerd om ook dat soort computertjes te maken en één daarvan is de Orange Pi. Een niet bijster originele naam voor een computer die als voornaamste doel heeft het lijken op de Rasberry Pi tegen een lagere prijs. Persoonlijk vind ik die gewone Orange Pi eigenlijk niet zo interessant. Hij heeft echter een ander, spotgoedkoop broertje: de Orange Pi Zero. Deze kleine jongen kost minder dan een tientje in China en heeft heel wat in huis!
Dit printje van 46 x 48 millimeter heeft een Quadcore processor van Allwinner, 512 MB geheugen, een 100Mbit Ethernetpoort mét POE (! Power on Ethernet), een volwassen USB 2.0 poort, wifi, een 13 pins functie-interface, een 26 pins uitbreidingspoort, TVOUT, microfoonaansluiting, Infrarood-receiver, kaartlezer voor micro-SD kaarten en een Wifi-antenne.
Voor bijna niets krijg je er het Zero interface board bij met 2 extra USB 2.0 poorten, een infrarood ontvanger, microfoon, audio output en video output, dat je zo op de functie interface kunt prikken. Plus een grappig kastje om ze in te zetten!
Bestellen
Omdat ik eerst wat leeswerk had gedaan over dit grappige dingetje, was me al snel duidelijk dat hij nogal kritisch is met betrekking tot de voeding én dat hij snel warm wordt. En je hebt natuurlijk een Micro-SD kaartje nodig van minstens 8 GB.
Uiteindelijk kwam ik tot dit boodschappenlijstje bij Ali-Express:
Totale kosten ongeveer 25 Euro plus zo’n 5 Euro verzendkosten.
Bouwen
Na een week of twee arriveert het geheel uit China. De pi zit zelfs in twee leuke doosjes!In die doosjes de Orange Pi zelf en het uitbreidingsbordje:Het eerste dat we gaan doen is het aanbrengen van het aluminium koelblokje op de processor van de Orange Pi.Als je de Pi neerlegt met de gesoldeerde pinnen aan de bovenkant, dan is de processor het grootste zwarte blokje linksboven. Plak hierop één van de aluminum koelblokjes.Daarna wordt eerst het uitbreidingsbordje in het kastje gezet en met twee van de meegeleverde schroefjes vastgezet. Dan wordt de Orange Pi er zó opgeplaatst dat de pennen in de connector van het andere bordje drukken. De diverse poorten moeten natuurlijk netjes voor de aanwezige gaten zitten. De schroefgaten in de bordjes klikken netjes over de plastic houders. Daarna wordt de achterkant er overheen gelegd en vastgeschroefd.
Ik heb zelf overigens de antenne verwijderd, omdat ik toch geen gebruik ga maken van de Wifi. Wil je dat wel, dan moet je de antenne eerst voorzichtig losmaken van het bordje (heen en weer draaien), dan door één van de koelopeningen naar binnen wurmen en weer vastzetten.
Software
Als software gaan we Armbian gebruiken. Dit is eigenlijk de enige goede keus voor de Orange Pi. Armbian is er in de smaken Debian en Ubuntu. Download het hier. Ik heb zelf gekozen voor Ubuntu, omdat ik daar het meest vertrouwd mee ben.
Pak na het downloaden het zip-bestand uit in een tijdelijke directory en download Etcher. Dit programma (voor Windows, Mac en Linux) zet de gedownloade Armbian software op je micro SD-kaartje.
Installeer Etcher en plaats de micro-SD kaart met een adapter in je pc. Start Etcher en kies de Armbian Image. Etcher vindt zelf over het algemeen de juiste drive waarin de micro-SD kaart zit. Druk op Flash en Armbian wordt naar je kaartje geschreven.
Starten met de Orange Pi
We hebben nu een blokje van ongeveer 5 x 5 x 3,5 centimeter, waarin we de micro SD-kaart met de software plaatsen, waarop we de voeding aansluiten en waaraan we de LAN-kabel koppelen.De Orange Pi start nu op en krijgt een IP-adres toegewezen van de DHCP-server in je netwerk. We moeten nu alleen nog even uitvinden welk adres dat is. Dat kan je bijvoorbeeld vinden in de router van je netwerk. Het apparaatje heeft de illustere naam “orangepizero”. Er zijn ook apps voor je telefoon ( zoals Fing voor Android) of hulpprogramma’s voor Linux of Windows waarmee je het apparaat terug kunt vinden.
Verbinding maken en inloggen
Nadat het IP-adres is achterhaald wordt verbinding gemaakt met de Orange Pi met behulp van ssh. Hiervoor kan bijvoorbeeld gebruik worden gemaakt van het programma Putty (voor Windows en Linux). Een uitgebreide handleiding voor het gebruik onder Windows vind je hier.
Wanneer de verbinding voor de eerste keer tot stand in gekomen kan je inloggen als “root” met het password “1234”.
Direct nadat je bent ingelogd ben je verplicht het root password te wijzigen.
En na het wijzigen van het root-password ben je verplicht een nieuwe account aan te maken. Ik heb daar zoals altijd voor “ronald” gekozen. Je geeft 2x je wachtwoord op en nog wat andere (niet verplichte) informatie en je bent klaar.
Het handigst is het om nu uit te loggen en opnieuw in te loggen met je nieuwe account. In Putty voer je daartoe het commando logoff in.
Start de Putty-sessie opnieuw en log in.
De Orange Pi geeft direct na het inloggen kort een aantal wetenswaardigheden over het systeem weer.
Tot zover deze keer. De volgende keer ga ik in op de warmteproblemen van de Orange Pi en wat ik daaraan heb gedaan.
In de eerste twee afleveringen van mijn weblog over domotica heb ik uitgelegd wat dat nou eigenlijk is, domotica en hoe je het aan de computer koppelt. Ik maak daarbij gebruik van de gratis software van Domoticz, die je onder Windows of Linux kunt gebruiken om je domotica te besturen.
Ontvangers
In de vorige aflevering heb ik laten zien hoe je de zenders kunt koppelen aan Domoticz. Nu is het de beurt aan de ontvangers.
Wat zijn er zoal voor ontvangers die we kunnen koppelen? Denk aan schakelbare stopcontacten, lampfittingen, dimmers, schakelaars voor zonwering, deurbellen of motoren voor rolgordijnen.
Registreren van ontvangers
Om te kunnen registreren heb je óf de registratiecode en het type van de ontvanger nodig, óf je hebt een ontvanger nodig die een code kan leren. Afhankelijk van het gebruikte protocol moeten meer of minder gegevens worden ingevoerd. Gebruik hiervoor de knop Manual Light/Switch op de pagina Switches.
Kies allereerst de juiste hardware. Hier is dat RFXCOM. Geef hem een zinvolle naam en kies het soort schakelaar. Naast On/Off zijn er een groot aantal andere mogelijkheden, zoals Blinds, Dimmer, of Door Lock.
Het Type (protocol) is iets wat je moet weten. Het staat niet op de verpakking… In de handleiding van de RFXCOM RFXtrx433 staan alle protocollen opgesomd. Daarin lees je bijvoorbeeld dat KlikAanKlikUit (KAKU) het AC protocol gebruikt. Voor dit protocol moet je een ID van 4 velden en een unitcode opgeven. Weet je die, dan kan je die invoeren en vervolgens met Add Device de ontvanger toevoegen. Weet je hem niet, dan verzin je een nog niet gebruikte code en zet je een zelflerende ontvanger in de leer-modus. Bij KAKU ontvangers doe je dat bijvoorbeeld door ze in het stopcontact te steken, ze ontvangen dan gedurende 5 seconden een signaal. Druk, zodra de ontvanger in de leer-modus staat, direct op de knop Test op de pagina waar je de gegevens invoert. De RFXtrx433 zendt het signaal uit en de ontvanger slaat het op. Na het toevoegen vind je de ontvanger terug onder Switches. Net als bij de zenders (zie de vorige blog) kan je ook de schakelaars met het sterretje op de eerste pagina plaatsen (Dashboard).
Door op het pictogram van de ontvanger te drukken zet je handmatig, vanuit Domoticz, de schakelaar aan of uit. De optie Log geeft je toegang tot het logboek waarin de geregistreerde schakelmomenten staan opgeslagen.
De optie Edit geeft de mogelijkheid ingevoerde gegevens aan te passen. bijvoorbeeld de pictogrammen of naam van de schakelaar. Ook staan hier nog wat geavanceerdere instellingen, die voor dit blog op dit moment te ver gaan, zoals het starten van een extern script op het moment dat een schakelaar wordt geactiveerd.
De optie Timers geeft je de mogelijkheid de actie uit te voeren op een bepaalde tijd, bijvoorbeeld het inschakelen van een lamp bij de voordeur bij zonsondergang.
De optie Notifications tenslotte kan een bericht versturen wanneer een bepaalde actie plaatsvindt.
Sensors
Naast ontvangers, zoals lichtschakelaars, deurbellen enz. is het ook leuk en zinvol om Domoticz uit te rusten met sensors. Denk hierbij bijvoorbeeld aan weer- en temperatuursensors of sensors in pc’s. Een sensor kan niet worden geschakeld, deze geeft alleen periodiek één of meer gemeten waarden door aan Domoticz.
Aan sensors valt eigenlijk niets in te stellen. Als ze er zijn en gegevens versturen, dan zal Domoticz ze automatisch oppikken. Als je in de log kijkt van Domoticz (onder het menu Setup), dan zie je gelijk sensorgegevens staan, tussen eventuele andere signalen, die door Domoticz zijn verwerkt:
In bovenstaand voorbeeld zijn signalen van temperatuur-, weer- en hardwaresensors geregistreerd.
In het onderdeel Devices onder het menu Setup vind je de laatste registraties van de sensors in de database terug:
Ook deze sensors kan je gemakkelijk in Domoticz opnemen, door op het groene pijltje te klikken. Dat wordt blauw en je kunt de sensor nu een naam geven. De sensor vind je vervolgens terug onder één van de kopjes Temperature, Weather of Utility. Met het knopje Edit kan je o.a. de naam van de sensor aanpassen, met Log kan je o.a. mooie grafieken uit Domoticz toveren over bijvoorbeeld de temperatuur de afgelopen dag, maand of jaar.
Tot zover deze keer, maar er is nog veel meer te vertellen over Domoticz!
In de vorige aflevering van mijn blog heb ik uitgelegd wat domotica nu eigenlijk is en hoe je met een kleine investering al de nodige dingen simpel kunt automatiseren in je huis.
Mooier wordt het wanneer je je domotica aansluit op de computer.
Hardware
Ik wil me niet binden aan één leverancier van schakelmateriaal of sensors, dus heb ik voor de verbinding met de computer gezocht naar een zo breed mogelijke inzetbare oplossing. En dan natuurlijk ook een beetje betaalbaar.
Ik ben uiteindelijk terecht gekomen bij de firma RFXCOM. Zij leveren een 433.92Mhz transceiver (de RFXtrx433E) die (de naam zegt het al) zowel kan zenden als ontvangen.
Dit kleine apparaatje wordt door middel van een USB-kabel verbonden met de PC en kan dan commando’s vanuit de PC verzenden naar de ontvangers (bijvoorbeeld stekkerschakelaars) van een groot aantal merken als bijvoorbeeld klikaanklikuit (kortweg KAKU), HomeEasy en ELRO. Omgekeerd kan het apparaat signalen van domotica-zenders (bijvoorbeeld temperatuursensors of deurschakelaars) ontvangen en terugsturen naar de PC. Op de pagina van de RFXCOM RFXtrx433E staat een opsomming van de zenders en ontvangers die ze ondersteunen (zie onder Will Support).
Software
Naast de hardware hebben we ook software nodig dat de signalen die binnenkomen kan verwerken, rubriceren en tonen en dat commando’s naar de hardware kan sturen. En dat daarnaast een interface vormt op pc, tablet en smartphone.
De RFXtrx433E ondersteunt een groot aantal programma’s die dit allemaal kunnen (zie op deze pagina onder Supported By).
Ik heb uiteindelijk gekozen voor het in Nederland ontwikkelde programma Domoticz. Zonder andere oplossingen tekort te willen doen vind ik de voordelen van Domoticz:
Multi platform (voor Windows en Linux)
Draait zowel op een PC als op een Raspberry PI
Makkelijk te installeren
Zeer duidelijk uitgelegd hoe het werkt
Heel erg veelzijdig
Fraaie interface
Actieve ontwikkelaar
Actieve community, zodat je met je vragen ergens terecht kunt
Kostenloos
Installatie
De installatie van de RFXtrx433E is de simpelheid zelve: inprikken in een USB-poort. Bij het apparaat wordt ook een Windows-programmaatje geleverd dat kan worden gebruikt om te kijken of het apparaat signaal krijgt en wat er binnen komt. Voor Linux is zo’n programma er niet. Maar dat is geen groot gemis, want daar hebben we natuurlijk Domoticz voor!
Voor Windows en de Raspberry Pi zijn hier kant en klare setups beschikbaar van Domoticz. Voor Linux moeten we iets meer moeite doen, al valt dat ook best mee. Het makkelijkste is het om de instructies te volgen die hier staan. Daar staan instructies voor diverse Linux-smaken, Windows en de Raspberry Pi.
Compileren voor Linux
Het komt er voor Linux op neer dat de broncode wordt gedownload en vervolgens gecompileerd en gestart. En dat klinkt veel enger dan het is. De instructies zijn glashelder en het is in een paar minuten gepiept.
Voor mijn Ubuntu server 14.04 komt het neer op de volgende instructies:
Linux Startup Script Het is natuurlijk handig wanneer Domoticz altijd gelijk draait wanneer de computer wordt gestart. Voor Linux is dat te regelen met een startup script. Doe het volgende (vanuit de Domoticz directory, standaard is dat ~/domoticz):
Pas daarna het script aan. De USERNAME moet in elk geval worden aangepast:
sudo nano /etc/init.d/domoticz.sh
Ik heb daar de regel USERNAME=pi aangepast naar USERNAME=ronald.
Een interessante optie om aan te passen is de poort waarnaar Domoticz luistert. Standaard is dat 8080, maar deze poort is nogal eens bezet. Om bijvoorbeeld te luisteren naar poort 8085 wordt deze regel aangepast:
DAEMON_ARGS="-daemon -www 8085"
Sla de wijzigingen op en start de service met deze opdracht:
sudo service domoticz.sh start
Testen van de interface
Domoticz zou nu moeten draaien en zichtbaar moeten zijn op elke pc in je thuisnetwerk. Voer in een browser het adres in van de pc waarop domoticz draait, gevolgd door de poort waarop hij luistert. Test je op dezelfde pc als waar Domoticz draait op poort 8085 dan wordt dat:
http://127.0.0.1:8085
Domoticz zal nu starten en toont de pagina Dashboard. Wanneer Domoticz nog niet is geconfigureerd dan wordt dit getoond:
De link naar de pagina Hardware is de eerste die gevolgd moet worden. Daar vind je de Hardware die Domoticz heeft gevonden of die je kan gebruiken. Je vindt daar de RFXCOM (als hij goed is aangesloten) en eventuele andere hardware. Ik heb daar bijvoorbeeld ook Motherboard sensors, die Domoticz in staat stellen informatie over de pc te tonen.
Wordt de RFXCOM niet getoond, dan moet je die eerst kiezen en vervolgens met de knop Add toevoegen.
Zenders
Wanneer de RFXCOM is toegevoegd kan de pret gaan beginnen!
Alle zenders die signalen uitzenden die compatible zijn met de RFXCOM worden automatisch gelogd onder de knop Devices onder Setup. Wanneer dat het geval is, dan kan je die heel gemakkelijk toevoegen aan de interface van Domoticz. Het makkelijkste voorbeeld is een temperatuursensor. Koop een leuk sensortje (bijvoorbeeld de Oregon THN132N), sluit dit aan en onmiddellijk zie je hem verschijnen onder Devices:
Het enige wat nodig is om de sensor in de interface van Domoticz te kunnen zien is het drukken op het groene pijltje rechts (na het drukken wordt dit blauw). Voer vervolgens een naam in (ik heb hier heel origineel voor ’temperatuur’ gekozen) en hij staat er in. Dit laatste is te zien door bovenin de knop Temperature te kiezen. Alle temperatuursensors zijn daar verzameld. De onze wordt nu zo getoond:
De meeste informatie spreekt voor zich. Indien het sterretje wordt gekozen wordt de sensor ook op de voorpagina (Dashboard) van Domoticz getoond. Onder Log worden een aantal fraaie grafieken getoond met de geregistreerde temperaturen van vandaag, de laatste maand en het latste jaar:
Op dezelfde manier kunnen ook bijvoorbeeld schakelaars worden toegevoegd. Druk op de gewenste schakelaar en kijk weer onder Devices:
Schakelaars kan je, na toevoegen met het groene pijltje, terugvinden onder Switches:
Op dezelfde manier kunnen allerlei andere soorten zenders worden toegevoegd, zoals deurcontacten, schemerschakelaars of lichtsensors.
In de volgende blog ga ik ontvangers toevoegen en configureren en laten zien hoe je hen kunt automatiseren!
Tip: volg Domoticz op Twitter (@Domoticz). De ontwikkelaar geeft continu door wat er is veranderd, zodat je desnoods direct de broncode kunt updaten en de gewijzigde versie kunt installeren.
In de voorgaande twee afleveringen van deze blog heb ik beschreven hoe ik mijn van origine onder Windows draaiende Mediaserver heb overgezet naar Ubuntu Linux en daarna hoe ik een paar vervelende probleempjes heb overwonnen. Aangezien de server nu netjes en betrouwbaar draait is het tijd om software te gaan installeren!
SAMBA
Als eerste ga ik een SAMBA server installeren op de server. In een omgeving die Windows machines heeft is dat een absolute must. De SAMBA server zorgt ervoor dat de schijven in de Mediaserver overal in het netwerk kunnen worden gezien en gebruikt. Ook door Windows machines.