{"id":6487,"date":"2015-12-24T02:52:13","date_gmt":"2015-12-24T01:52:13","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=6487"},"modified":"2023-08-20T14:55:11","modified_gmt":"2023-08-20T12:55:11","slug":"raspberry-pi-mqtt-server-mosquitto-installieren-und-daten-in-fhem-ueber-mqtt-empfangen-oder-wie-werte-ich-haustuer-klingeln-aus","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=6487","title":{"rendered":"Raspberry Pi: MQTT Server mosquitto installieren und Daten in Fhem \u00fcber MQTT empfangen oder &#8222;Wie werte ich Haust\u00fcr klingeln aus?&#8220;"},"content":{"rendered":"<p>Installieren eines <a href=\"https:\/\/mosquitto.org\/\" target=\"_blank\" rel=\"noopener\">mosquitto<\/a> Servers auf dem Raspberry Pi geht in 10 Minuten aber die weitere Konfiguration dauert dann schon ein wenig. Ziel dieses Blog Eintrags soll es sein, das Fhem \u00fcber den MQTT-Server liest.<\/p>\n<p>Sp\u00e4ter kommt dann ein ESP8266 der das <a href=\"http:\/\/blog.wenzlaff.de\/?p=3007\" target=\"_blank\" rel=\"noopener\">Klingelsignal<\/a> an der Haust\u00fcr aufnimmt und drahtlos an Fhem via MQTT sendet. Hier mal die Architektur:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212.png\" rel=\"attachment wp-att-6496\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6496\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212.png\" alt=\"Architektur\" width=\"2732\" height=\"2048\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212.png 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/IMG_1212-1024x768.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Aber jetzt erst einmal die Vorarbeiten:<\/p>\n<pre class=\"lang:default decode:true \">sudo apt-get update\r\nsudo apt-get upgrade\r\n# die schnelle Version, installiert den mosquitto Broker in Version 0.15 und den Client\r\nsudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl mosquitto-clients\r\n\r\n# Optional, wer den aktuellsten 1.4.5 MQTT Broker haben will, muss ihn wie folgt aus dem mosquitto Repo installieren:\r\nwget http:\/\/repo.mosquitto.org\/debian\/mosquitto-repo.gpg.key\r\nsudo apt-key add mosquitto-repo.gpg.key\r\ncd \/etc\/apt\/sources.list.d\/\r\nsudo wget http:\/\/repo.mosquitto.org\/debian\/mosquitto-wheezy.list\r\n# oder f\u00fcr jessie\r\nsudo wget http:\/\/repo.mosquitto.org\/debian\/mosquitto-jessie.list\r\nsudo apt-get update\r\nsudo apt-get install mosquitto\r\n\r\n# Test ob der Server l\u00e4uft\r\nsudo service mosquitto status\r\n# Starten und Stopen geht so\r\nsudo service mosquitto stop\r\nsudo service mosquitto start\r\n\r\n# Perl Version ausgeben\r\nperl -v\r\n# Ausgabe: This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int\r\n# Perl MQTT Module installieren, das dauert ein wenig \r\nsudo cpan install Net::MQTT:Simple\r\nsudo cpan install Net::MQTT:Constants\r\n\r\n# In der Fhem.cfg das Ger\u00e4t wie folgt angeben\r\ndefine klingel dummy\r\ndefine mqtt MQTT 127.0.0.1:1883\r\ndefine mqtt_klingel MQTT_BRIDGE klingel \r\nattr mqtt_klingel subscribeSet fhem\/flur\/klingel\/set\r\nattr mqtt_klingel publishState fhem\/flur\/klingel \r\nattr mqtt_klingel room Flur\r\n# Fhem restart\r\nsudo \/etc\/init.d\/fhem stop\r\nsudo \/etc\/init.d\/fhem start\r\n<\/pre>\n<p>So, nun ist das MQTT Ger\u00e4t vorhanden:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10.png\" rel=\"attachment wp-att-6489\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6489\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10.png\" alt=\"MQTT\" width=\"1265\" height=\"869\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10.png 1265w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10-300x206.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10-768x528.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.34.10-1024x703.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><!--more-->Cool&#8230;<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.35.15.png\" rel=\"attachment wp-att-6490\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6490\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.35.15.png\" alt=\"MQTT\" width=\"966\" height=\"800\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.35.15.png 966w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.35.15-300x248.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.35.15-768x636.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><br \/>\nTesten kann man es, indem von der Konsole folgender Befehl an den MQTT Server gesendet wird:<\/p>\n<pre class=\"lang:default decode:true \">mosquitto_pub -q 2 -t fhem\/flur\/klingel\/set -m Test-Wert-Cool<\/pre>\n<p>Das Ergebnis:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.36.02.png\" rel=\"attachment wp-att-6491\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6491\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.36.02.png\" alt=\"MQTT\" width=\"987\" height=\"605\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.36.02.png 987w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.36.02-300x184.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.36.02-768x471.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>So, die Kommunikation via MQTT l\u00e4uft schon mal. Wie sieht es mit dem Speicherverbrauch und CPU auf dem Raspberry Pi aus, mit dem neuen MQTT Server?<\/p>\n<p>Auch gut, wie<\/p>\n<pre class=\"lang:default decode:true \">htop<\/pre>\n<p>zeigt:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50.png\" rel=\"attachment wp-att-6494\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6494\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50.png\" alt=\"htop\" width=\"1426\" height=\"650\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50.png 1426w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50-300x137.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50-768x350.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2015-12-23-um-21.48.50-1024x467.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Wir k\u00f6nnen uns auch mit einem MQTT.FX Client an den Broker anmelden und die Nachrichten empfangen. Hier sehen wir die Nachrichten, bei jeder Status\u00e4nderung kommt eine Nachricht mit dem Inhalt: signal<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-21.01.48.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7269\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-21.01.48.png\" alt=\"mqtt.fx\" width=\"1023\" height=\"761\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-21.01.48.png 1023w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-21.01.48-300x223.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-21.01.48-768x571.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a>Oder aber auch als Desktop-Benachrichtigung:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-20.57.47.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7270\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-20.57.47.png\" alt=\"Bildschirmfoto 2016-07-27 um 20.57.47\" width=\"413\" height=\"105\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-20.57.47.png 413w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/Bildschirmfoto-2016-07-27-um-20.57.47-300x76.png 300w\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" \/><\/a><\/p>\n<p>Wenn der ESP mit einem Monitor verbunden wird, k\u00f6nnen die gesendeten Signale ausgegeben werden:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/arduino-lua.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7271\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/arduino-lua.png\" alt=\"arduino-lua\" width=\"676\" height=\"424\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/arduino-lua.png 676w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/arduino-lua-300x188.png 300w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a>Hier die Schaltung als Versuchsaufbau:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-7272\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel-1024x768.png\" alt=\"tw-klingel\" width=\"640\" height=\"480\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel-1024x768.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/12\/tw-klingel.png 1632w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Und hier ein gutes Video zum Thema MQTT.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installieren eines mosquitto Servers auf dem Raspberry Pi geht in 10 Minuten aber die weitere Konfiguration dauert dann schon ein wenig. Ziel dieses Blog Eintrags soll es sein, das Fhem \u00fcber den MQTT-Server liest. Sp\u00e4ter kommt dann ein ESP8266 der das Klingelsignal an der Haust\u00fcr aufnimmt und drahtlos an Fhem via MQTT sendet. Hier mal &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=6487\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eRaspberry Pi: MQTT Server mosquitto installieren und Daten in Fhem \u00fcber MQTT empfangen oder &#8222;Wie werte ich Haust\u00fcr klingeln aus?&#8220;\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2173,2305,852,79,1023],"tags":[1736,2361,693,2362,2359,2360,2190,83],"class_list":["post-6487","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-esp8266","category-heimautomatisierung","category-programmierung","category-raspberry-pi","tag-cpan","tag-cpan-install","tag-fhem","tag-mosquitto","tag-mqtt","tag-mqtt-installieren","tag-raspberry-pi","tag-server"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6487"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6487\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6487"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}