Geplaatst op

Domoticz en MQTT op een Raspberry Pi

In onze vorige blogs hebben we het gehad over de basis installatie van Raspberry Pi en het verbinden met de Pi. Nu zal de Raspberry Pi volledig klaar worden gemaakt voor gebruik als Home Automation server door middel van de installatie van Domoticz en MQTT. Daarnaast zullen aan het eind van deze blog ook ook enkele tips en tools worden gegeven voor het aansluiten en beheren van jouw eigen projecten.

Installatie Domoticz

De makkelijke manier is om niet zelf de source bouwen en aanpassen maar met 1 simpele console commando.

  1. sudo curl -L install.domoticz.com | sudo bash
    (bij certificaat errors run sudo curl -L -k install.domoticz.com | sudo bash)
  2. Druk gewoon steeds op <Ok>
  3. Op het laatste scherm worden de HTTP en HTTPS toegangen voor Domoticz getoond.

Installatie MQTT

Gebruik gewoon de basis package die beschikbaar zijn via de apt-get installatie methode

  1. sudo apt-get update
  2. sudo apt-get install mosquitto mosquitto-clients
  3. Kies Y voor als hij mosquitto en de extra packages wil installeren

Toevoegen MQTT Client Gateway

Om de MQTT communicatie op te starten in Domoticz moet er Domoticz zich inschrijven bij de Mosquitto MQTT service.

  1. Open Domoticz
  2. Ga naar Setup > Hardware
  3. Vul de volgende gegevens in
    Naam : MQTT Gateway
    Type : MQTT Client Gateway with LAN interface
    Data Timeout : Disabled
    Remote Address : localhost
    Port : 1883
  4. Laat de velden Username en Password voor nu leeg.
    Deze moeten wel gevuld worden als je MQTT afschermt met een login
  5. Druk op Add
  6. Er is nu een MQTT Gateway als hardware naam aangemaakt

Om te testen of de nieuwe MQTT verbinding werkt kunnen we een dummy sensor aanmaken

  1. Op hetzelfde scherm Setup > Hardware voeren we de volgende gegevens in
    Name : Dummy
    Type : Dummy (Does nothing, use for virtual switches only)
    Data Timeout : Disabled
  2. Druk op Add
  3. Nu is er in het overzicht een Dummy sensor aangemaakt.
  4. In de rij van de Dummy sensor druk je op “Create Virtual Sensors”
  5. Vul nu name “Nep temperatuur” en type “Temperature”
  6. Druk op Ok
  7. Ga naar de Tab Setup > Devices Onthou hiervan de idx. In ons geval is dat 1
  8. Ga naar de Putty of console en voer het volgende commando op uit op de Pi
    mosquitto_pub -h localhost -m ‘{ “idx” : 1, “nvalue” : 0, “svalue” : “25.0” }’ -t ‘domoticz/in’
  9. Onder de Tab Temperature zie je onze Nep Temperatuur staan met de waarde 25
  10. Om de temperatuur op te voeren doe je
    mosquitto_pub -h localhost -m ‘{ “idx” : 1, “nvalue” : 0, “svalue” : “27.0” }’ -t ‘domoticz/in’
  11. het is binnen 1 second ineens 27 graden
    Temperatuur Domoticz

Je RaspBerry Pi is nu klaar om jouw sensoren en Arduino projecten aan te sturen en weer te geven.

Geplaatst op

Verbinden met een Raspberry Pi

Het verbinden met een Raspberry Pi kan op verschillende manier met of zonder andere computer. Wij zullen er 3 behandelen hier

  1. Direct fysiek interface
  2. SSH met putty
  3. VNC / Remote desktop

Direct en fysiek interface met de Raspberry Pi

De Pi heeft een HDMI aansluiting en 4 USB poorten wat betekend dat de simpelste manier om met de Raspberry Pi te verbinden is een beeldscherm en muis / toetsenbord combinatie. We hebben deze blog aangemerkt als beginner / gemiddeld omdat we in de vorige blog (Raspberry Pi voor Home Automation) hadden aangegeven voor de desktop versie van Raspbian te gaan. Het betekend dat de SD kaart iets voller zit met het besturingssysteem wegens de desktop items maar het maakt het beheer wel een stuk eenvoudiger.

Voor we verder gaan eerst de standaard gebruiker / wachtwoord combinatie:
gebruiker : pi
wachtwoord : raspberry

SSH met putty

SSH staat standaard niet aan ,maar het aanzetten kon niet eenvoudiger. Hiervoor hoeft er alleen een bestandje, zonder extensie, met de naam ssh te worden aangemaakt in de root van de Micro SD kaat. Raspbrian zal tijdens het opstarten dit bestand zien en SSH aanzetten. Het bestandje zal dan verwijderd worden zodat SSH weer uitgezet kan worden.

Putty is hier te downloaden. Natuurlijk zijn er andere SSH clients. Wij nemen hier putty als voorbeeld.

  1. Start putty op.
  2. Vul in het veld Host name (or IP address) het IP van de Raspberry Pi in. Kijk hiervoor bijvoorbeeld even in de verbonden lijst van je netwerkrouter of modem.
  3. Connetion Type op SSH zetten en port 22.
  4. Click op Open.
  5. Als er een Security Alert omhoog komt click op Yes of Ja.
  6. “Login as : ” type hier de gebruiker in(default: pi) en druk op <enter>
  7. “pi@xxx.xxx.xxx.xxx’s Password” type hier het wachtwoord in (default: raspberry) en druk op <enter>

VNC / Remote desktop

Om VNC aan te zetten op de Raspberry Pi moet je met een van de bovengenoemde methodes eerst met de Pi verbonden zijn.

voor SSH / console voor je de volgende twee commando’s in steeds gevolgd door een <enter>

  1. sudo apt-get update
  2. sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

Voor de grafische of desktop variant start je de Pi op in desktop modus en doe je het volgende

  1. Ga naar Menu > Preferences > Raspberry Pi Configuration > Interfaces
  2. Zorg dat VNC aan staat

VNC Server via commandline aanzetten

  1. Sudo Raspi-config
  2. Ga naar Interfacing Options
  3. Scroll naar beneden en selecteerd VNC > Yes

Verbinden met VNC

  1. Download en installeer VNC viewer van realVNC.
  2. Start VNC Viewer.
  3. Voer in de bovenbalk het IP-adres van de Raspberry Pi <enter>
  4. Vul gebruiker en wachtwoord in

Als kleine extra nog even het wachtwoord wijzigen.

  1. open console
  2. passwd <enter>
  3. huidige wachtwoord <enter>
  4. twee keer nieuwe wachtwoord steeds gevolgd door <enter>

Wil je de resolutie van de Pi aanpassen dan kan dit via Sudo raspi-config > Advanced Options > Resolution. Normaal gesproken neemt de Pi altijd de resolutie van de op HDMI aangesloten monitor over.

In onze volgende blog gaan we Domoticz en MQTT installeren zodat we een geschikte Home Automation server

Geplaatst op

Raspberry Pi voor Home Automation

Vaak wordt de Raspberry Pi gebruikt als basis voor een entertainment systeem of een retro gaming station. Dit zijn mooie en vooral leuke toepassingen maar je kunt de Raspberry Pi ook als basis station / server gebruiken voor je Home Automation projecten. De Raspberry Pi 3 heeft alle features die je nodig hebt hiervoor. Een netwerk aansluiting, welke wij altijd prefereren boven de wireless optie die de Raspberry Pi 3 ook bezit. Daarnaast Bluetooth 4.1 en 4 usb aansluitingen voor eventueel extra rand apparatuur.

Raspberry Pi 3

De Raspberry Pi heeft een zeer kleine vormfactor als je deze naast een computer of zelfs een laptop legt. Hij heeft een volledige HDMI poort waardoor je ook kunt werken met muis, toetsenbord & beeldscherm en dus niet alles via een VNC of console hoeft te doen. Maar vooral ook de eenvoud waarmee de Pi geïnstalleerd en uitgebreid kan worden. Is de reden waarom wij hem als basis voor Home Automation projecten kiezen.

Voor Home Automation projecten zijn er verschillende software die je op de Raspberry Pi kunt zetten. Ieder heeft zijn voor en nadelen, een klein lijstje op random order.

  • OpenHab
  • PiDome
  • Domoticz
  • Home assisten
  • MajorDoMo

Wij zullen je uitleggen hoe je Rasbian op een Pi zet en dan deze als basis station inricht voor deze software. Ons voorbeeld zal leiden naar een Home Automation Server met Domoticz en MQTT als basis.

Om te kunnen werken met een Raspberry Pi heb je enkele dingen nodig. Onze ervaring is :

  • Micro SD kaart (advies 32gb)
  • Micro USB kabel (kan via computer maar wij adviseren een adapter zoals voor telefoon)
  • Netwerkkabel (voor stabiel snel internet)
  • Computer of Laptop met cardreader

Stappenplan Raspberry Pi installeren

Stap 1 : Download basis software
Download en installeer etcher van hier
Download Rasbian van hier (neem de Desktop versie)

Stap 2 : “brand” image
Stop Micro SD kaart in cardreader
Start Etcher op.
Selecteer de gedownloade image van Rasbian
Selecteer de Cardreader
Click Flash en wacht

Stap 3 : De Pi aansluiten
Stop de Micro SD kaart in de zijkant van de Pi
Verbind de netwerk kabel
Stop de Micro USB kabel met de Pi en stroom adapter

Je Rasberry start nu op!

Lees hier verder voor de verschillende manieren van “verbinden” met je Raspberry Pi en het installeren van Domoticz / MQTT zodat je Home Automation Server klaar voor gebruik is.

Geplaatst op

MQTT (Message Queueing Telemetry Transport)

Message Queueing Telemetry Transport beter bekend als MQTT is een machine-tot-machine (M2M) data transfer protocol dat in een hoog tempo steeds bekender word.

Het MQTT princiepe werkt met publish / subscribe. Een temperatuursensor publisht de temperatuur naar de MQTT. MQTT noemen we dan MQTT-Broker. De temperatuur sensor heeft echt geen idee wie allemaal wil weten wat de temperatuur is. De app op je telefoon, een website, een programma of wat dan ook digitaal kan zich aanmelden op de Broker. Een Broker kan voorzien zijn van een inlog en draait meestal op poort 1883.

Wat voorheen vaak gebeurde is dat bijvoorbeeld een website elke x aantal seconden gaat kijken als er een update is in een database. MQTT werkt dat betreft anders, De Broker stuurt een signaal als er een update is.

Publish / Subscribe MQTT

Veel hobbyisten gebruiken de MQTT Broker naast hun Domoticz configuratie. Hier gaan we ook uitgebreid over schrijven! Het is een hele krachtige combinatie waar ook leuke combinaties mee gemaakt kunnen worden. Zo kan je bijvoorbeeld een lichtsensor maken die detecteert als het donker wordt. Dit wordt dan naar de Broker gestuurd. Domoticz leest dit weer en weet dat dan de verlichting in de tuin aan moet. Maar zo kan je meer combinaties maken, als de brievenbus open is gedaan kan je een lampje laten branden en misschien zelfs wel een foto maken van de postbode.

In de komende blogs gaan we met voorbeelden komen hoe je domoticz mqtt en arduino kan combineren.