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.

Geplaatst op

ESP chip uitgelegd

Elke keer als ik ESP zie staan moet ik denken aan “Electronic stability program”. Het geen wat in de meeste moderne auto’s zit om je te helpen als je auto dingen gaat doen die je liever niet hebt. In de IoT wereld is het iets totaal anders. Espressif is het bedrijf dat verantwoordelijk is voor een aantal esp chips en die hebben ze allemaal een naam gegeven die begint met de eerste 3 letters van hun bedrijf. Voorbeelden zijn de ESP12 en de ESP32.

ESP wat kunnen we ermee?

Eigenlijk vrij veel maar ook weer niet teveel. ESP chips zijn kleine chips die voorzien zijn van een aantal in en outputs waar je zelf dingen aan kan hangen en op die manier wat kan schakelen of informatie digitaal of analoog kan ontvangen. Je kan dan denken aan een knopje dat aan of uit staat(digitaal) maar ook aan een DHT22 sensor die de temperatuur en luchtvochtigheid meet(analoog). Dit alles is natuurlijk heel mooi maar met die informatie moeten we ook wat kunnen. Elke ESP is voorzien van een wifi module waardoor je een ESP in je eigen netwerk kan hangen. Door dit te doen kan je op verschillende manieren de informatie op de ESP uitlezen of juist een commando geven om iets te gaan doen zoals bijvoorbeeld de verlichting aan/uit te doen.

ESP32

ESP8266 vs ESP32

Eigenlijk staat hier oud vs nieuw. Onder ESP8266 vallen veel verschillende soorten. Al deze soorten zijn net een beetje anders van elkaar. Zo varieren ze in formaat maar ook hoeveel in- en output mogelijkheden erop zitten. Als er complexe scripts worden geschreven met veel libraries kan het ook handig zijn om de flash-size in de gaten te houden. De ESP32 is de opvolger van de ESP8266 maar kan eigenlijk hetzelfde alleen is een stukje sneller en de flash-size is groter. Wat wel een mooie toevoeging is dat de ESP32 ook BLE (Bluetooth low energy).

Hieronder een tabel met verschillende ESP8266 modellen:

Summary Table

Board ID #Pins Pitch Form factor LEDs Antenna Ant.Socket Shielded Dimensions mm Flash Size in Bytes and (bits)
ESP-01 8 0.1“ 2×4 DIL Yes Etched-on PCB No No 14.3 x 24.8 512KB (4Mb) ××
ESP-02 8 0.1” 2×4 notch No? None Yes No 14.2 x 14.2 512KB (4Mb) ×
ESP-03 14 2mm 2×7 notch No Ceramic No No 17.3 x 12.1 512KB (4Mb) ×
ESP-04 14 2mm 2×4 notch No? None No No 14.7 x 12.1 512KB (4Mb) ×
ESP-05 5 0.1“ 1×5 SIL No None Yes No 14.2 x 14.2 512KB (4Mb) ×
ESP-06 12+GND misc 4×3 dice No None No Yes 16.3 x 13.1 512KB (4Mb) ×
ESP-07 16 2mm 2×8 pinhole Yes Ceramic Yes Yes 21.2 x 16.0 1MB (8Mb) ××
ESP-07S 16 2mm 2×8 pinhole No None Yes Yes 17.0 x 16.0 4MB (32Mb)
ESP-08 14 2mm 2×7 notch No None No Yes 17.0 x 16.0 ?? (please fill if you know)
ESP-08 New 16 2mm 2×8 notch No None No Yes 18.0 x 16.0 ?? (please fill if you know)
ESP-09 12+GND misc 4×3 dice No None No No 10.0 x 10.0 1MB (8Mb)
ESP-10 5 2mm ?? 1×5 notch No None No No 14.2 x 10.0 512KB (4Mb) *
ESP-11 8 1.27mm 1×8 pinhole No? Ceramic No No 17.3 x 12.1 512KB (4Mb) *
ESP-12 16 2mm 2×8 notch Yes Etched-on PCB No Yes 24.0 x 16.0 4MB (32Mb) ??
ESP-12F 22 2mm 2×8 notch Yes Etched-on PCB No Yes 24.0 x 16.0 4MB (32Mb)
ESP-12E 22 2mm 2×8 notch Yes Etched-on PCB No Yes 24.0 x 16.0 4MB (32Mb)
ESP-12S 16 2mm 2×8 notch Yes Etched-on PCB No Yes 24.0 x 16.0 4MB (32Mb)
ESP-13 18 1.5mm 2×9 ? Etched-on PCB No Yes 20.0 x 19.9 4MB (32Mb)
ESP-14 22 2mm 2×8 + 6 1 Etched-on PCB No Yes 24.3 x 16.2 ?? (please fill if you know)
ESP-201 22+4 0.1” 2×11 + 4 2 Etched-on PCB ××× Yes No 33.5 x 25.5 512KB (4Mb)
WROOM-02 18 1.5mm 2×9 No Etched on PCB No Yes 20.0 x 18.0 ?? (please fill if you know)
WT8266-S1 18 1.5mm 3×6 1 Etched on PCB No Yes 15.0 x 18.6 4MB (32Mb)

 

 

 

Geplaatst op

Welkom in de IOT wereld!

De wereld van het mode woord IoT (Internet of Things) is groot. Eigenlijk valt bijna alles onder het kopje IoT. Maar wat houd het nu in? IoT is eigenlijk het slim maken van domme apparaten. Bij een brievenbus ging vroeger het klepje open als de postbode er post in wilde doen en daarna ging het klepje weer dicht. Tegenwoordig wil je overal op de wereld kunnen zien dat iemand er iets in je brievenbus heeft gedaan. En eigenlijk is dat nog niet voldoende, het liefst hebben we nog een foto van de postbode en natuurlijk het kenteken van zijn speed-bike.

IoT

Het team achter Wire-Kit wil niet alleen producten verkopen maar we willen ook mensen op weg helpen. We maken handleidingen die begrijpelijk zijn en stap voor stap uitleggen hoe je iets kan maken. We hebben zelf gemerkt als de handleiding duidelijk is en je zelf een werkend product kan maken dat het daarna ook leuker is om zelf een variant te maken waarbij je gebruik kan maken van de kennis die je ervoor hebt opgedaan.

In de volgende tutorial gaan we uitleggen wat verschillende termen zijn binnen de IoT wereld.