In het artikel RaspberryPi - MQTT-server installeren op de RaspberryPi Ik heb wat geschreven over MQTT en uitgelegd hoe je je eigen MQTT-server op de RaspberryPi kunt installeren.
Om een MQTT server van FHEM te kunnen gebruiken, moet je een paar FHEM modules installeren. In het volgende artikel heb ik beschreven hoe je dit doet en waar je op moet letten.
Overzicht
Voordat u kunt beginnen met het installeren van de MQTT-module, moet u de Raspberry Pi zo hebben voorbereid dat FHEM erop kan worden geïnstalleerd en via het webmenu kan worden geconfigureerd.
In de volgende drie artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPI - De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH
FHEM – Installatie op de RaspberryPi
RaspberryPi - MQTT-server installeren op de RaspberryPi
Vereist gereedschap:
-Nee-
Benodigd materiaal:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Log in op de RaspberryPi via SSH
Om te beginnen moet je eerst inloggen op de Rasp Pi met Putty via SSH. Hoe je dit doet staat in het artikel RaspberryPi - Bedien de RaspberryPi via SSH beschreven.
Pakketbeheer updaten
Het pakketbeheer in Linux is een "centrale plek" van waaruit verschillende softwarepakketten kunnen worden geïnstalleerd. Om dit betrouwbaar te laten werken, moeten de lijsten en bronnen van het pakketbeheer worden bijgewerkt voor elke installatie van nieuwe pakketten.
sudo apt-get update && sudo apt-get upgrade
Installeer Perl MQTT-pakketten
Om FHEM te laten communiceren met de MQTT-server, moeten twee Perl-pakketten worden geïnstalleerd.
Om dit te doen, moet je inloggen op de RasPi met Putty en de volgende commando's invoeren:
sudo cpan install Net::MQTT:Eenvoudig sudo cpan install Net::MQTT:Constanten
De vraag “Wilt u zoveel mogelijk automatisch configureren? [ja]” bevestig je met “ja” en Enter.
Start FHEM opnieuw
Om ervoor te zorgen dat de nieuw geïnstalleerde pakketten door FHEM worden herkend, moet FHEM één keer opnieuw worden opgestart. Om dit te doen, moet u de volgende twee opdrachten achter elkaar invoeren. Hierdoor wordt de server eerst gestopt en vervolgens opnieuw gestart. Verdere informatie over stoppen en starten vindt u ook in het artikel FHEM – structuur, modules en nuttige informatie
sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem start
Definieer MQTT-clients
Om gegevens via FHEM MQTT te kunnen verzenden en ontvangen, moet FHEM zich als client bij de MQTT-server registreren. U hoeft deze client slechts één keer aan te maken. Alle in FHEM geregistreerde sensoren of actuatoren worden later via deze client van gegevens voorzien of kunnen hun gegevens via deze client versturen.
Om de MQTT-client in FHEM te registreren, moet u overschakelen naar de FHEM-webinterface.
Bovenaan bevindt zich een invoerveld waarin we de definitie van de MQTT-client kunnen invoeren.
De definitie is (bijvoorbeeld):
definieer mqttClient MQTT 127.0.0.1:1883
De opdracht heeft de MQTT-client in FHEM gemaakt. Maar deze kan niet veel.
Om de functie te testen, maken we een MQTT_DEVICE. Deze module kan worden gebruikt om u te abonneren op MQTT-onderwerpen in FHEM en ook om gegevens te publiceren.
De definitie van onze kleine testmodule is:
definieer mqttTest MQTT_DEVICE; attr mqttTest abonnerenReading_testTopic testTopic; attr mqttTest publishSet_testTopic testTopic;
Verstuur een testbericht en controleer de ontvangst
U hebt nu uw FHEM-installatie geschikt gemaakt voor MQTT.
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂