Resultate der Literatur-Recherche
YouTube: https://www.youtube.com/watch?v=W4b7EA6G0ek
SSH und WLAN einrichten (Raspi)
https://www.braspi.de/2018/01/12/raspberry-pi-ersteinrichtung-ohne-monitor-und-tastatur/
Passender Blog-Beitrag zum vorgenannten YouTube-Video
https://plantprogrammer.de/mqtt-auf-dem-raspberry-pi-mosquitto/
MQTT auf dem Raspberry Pi
http://www.mqtt-dashboard.com/
(Halb)kommerzieller Dienst/Angebot
Offizielles Arduino Tutorial
Erfordert zwei WIFI-Arduinos
Hochinformativ
Using MQTT to Push Messages Across Devices
Informativ
MQTT Beginners Guide with Python Examples
Macht einen brauchbaren Eindruck
Using the Arduino PubSub MQTT Client
Macht einen brauchbaren Eindruck
====================================================================
Serielle Datenübertragung Arduino --> Raspberry
https://tutorials-raspberrypi.de/arduino-raspberry-pi-miteinander-kommunizieren-lassen/
https://forum.arduino.cc/t/arduino-input-werte-auf-raspberry-pi-ausgeben/640619
=====================================================================
https://test.mosquitto.org/
Öffentlicher Test-MQTT-Broker
https://mosquitto.org/
Mosquitto-Projekt
Insgesamt eher nicht so informativ
Web-IO- Digital per MQTT mit dem Smartphone steuern
Web-IO ist ein kommerzielles Produkt (Relais für die Hutschiene)
https://zisterne.eichelsdoerfer.net/index.php/mqtt-dash/76-mqtt-dash
Anwendung geht in die Richtung, was ich will, insgesamt eher nicht so informativ
Jython ist evtl. interessant, insgesamt eher nicht so informativ
http://mqtt-explorer.com/
Software zum Mitlesen von MQTT-Traffic - oder so ähnlich
YouTube: youtube.com/watch?v=VSwu-ZYiTxg
MQTT Network Controller
https://www.radioshuttle.de/mqtt/mqtt-push-client-app/
Hier geht's um die (eine) App
Was will ich überhaupt...
Wert übertragen.
- seriell via USB-Verbindung vom Arduino zum Raspi
- später via LAN/WLAN/Bluetooth
- Protokoll: TCP/MQTT
Broker einrichten
- Wert publishen:
direkt vom Arduino aus (LAN/WLAN)
importierten Wert (via seriell/USB-Verbindung) von Python Skript im Raspi
- Wert abonnieren:
vom PC aus (Python-Skript?)
vom Smartphone via Dingsbums APP
- abonnierte Werte visualisieren
APP
Grafana? Wat' isn denn dat.
MQTT
Jetzt erstmal langsam...
Meine Grundlegende Fragestellung vor einer tieferen Beschäftigung mit MQTT wäre(n) diese:
Wofür ist MQTT gut?
Welche Vorteile bringt es gegenüber dem mir bekannten Weg, z.B. eine MySQL-Datenbank als "Cloud" zu nutzen, Daten von verschiedenen Geräten in diese zu schreiben und aus ihr auszulesen?
Angeführte Begründungen liegen häufig in der effektiven Nutzung von Datenübertragungskapazitäten. Es wäre kein "Overhead" nötig, um kleine Datenmengen, wie z.B. einen Temperaturmesswert zu übertragen.
Einen Vorteil, den ich mir persönlich gut vorstellen kann, liegt in vorhandenen Apps für's Smartphone, die so konfiguriert werden können, dass eine gewünschte Visualisierung erreicht wird, ohne selber in die App-Programmierung einsteigen zu müssen.
MQTT
bedeutet ursprünglich "Message Que... Telemetry Telegram/Transport" (Protokoll)
Daten in Telegramm-Form werden zwischen einem "Client" und einem "Broker" ausgetauscht.
Der Broker ist der Server.
Beim Broker können bestimmte markierte, d.h. kategorisierte Datenpakete "abonniert" werden. --> Subscribe
Ein Client kann entsprechende Datenpakete an den Broker senden, bzw. veröffentlichen.
--> Publish
Der Broker verteilt ein erhaltenes Datenpaket an alle Clients, die die entsprechende Kategorie abonniert haben.
Diese Kategorien werden als "Topic" bezeichnet.
Folgende Parameter gibt es, die den Datenaustausch zwischen einem veröffentlichenden (Publish) Client und dem emfangenden Broker, betreffen:
QoS - Quality of Service
QoS0
QoS1
QoS2
QoS0
Ein Client sendet ein Datenpaket an den Broker.
Wenn der Broker das Paket erhält ist alles bestens.
Wenn er es nicht erhält, erfährt der Client nichts davon.
Diese Art der Übertragung spart Datentraffic.
Innerhalb der Philosophie, die hinter MQTT steht, ist das der Standardmodi mit dem Daten normalerweise übertragen werden sollten.
QoS1
Hier sendet der Broker nach Erhalt eines Datenpakets eine Bestätigung an den Client.
Wenn dieser keine Bestätigung erhält, so kann er das gleiche Datenpaket noch einmal senden, evtl. so häufig, bis er eine Empfangsbestätigung vom Broker erhält.
Ggf. wird ein Datenpaket mehrmals gesendet und auch mehrmals vom Broker empfangen, wenn z.B. die Empfangsbestätigung des Brokers nicht beim Client eintrifft (bei einer einseitig gestörten Verbindung).
QoS2
Hier wird nicht nur der Empfang des Datenpakets vom Broker bestätigt.
Der Client bestätigt anschließend noch den Empfang der Empfangsbestätigung.
Abschließend informiert der Broker noch den Client über die Beendigung der Übertragung.
Bei diesem Modi sollte das eigentliche Datenpaket nur einmal an den Broker übertragen werden. Es sind jedoch vier Datenpakete erforderlich, bis die Übertragung abgeschlossen ist.
Retained Messages
Nachrichten, die der Broker "vorhält" und an neue Abonnenten versendet.
z.B. als so eine Art Willkommensnachricht.
So eine als "Retained" markierte Nachricht kann wieder gelöscht werden, indem der Client erneut eine entsprechende Nachricht, aber ohne Inhalt an den Broker sendet.
The last Will - der letzte Wille
Eine als Last Will gekennzeichnete Nachricht wird im Falle eines Verbindungsabbruchs vom Broker an die Abonnenten des entsprechenden Topics gesendet werden.
Dies erfolgt aber nur im Falle eines Verbindungsabbruchs und nicht, wenn eine Verbindung zwischen Client und Broker geordnet beendet wird.
Jetzt geht's los:
Erstmal ein wenig Einlesen:
https://www.elektronik-kompendium.de/sites/raspberry-pi/2709041.htm
https://www.hosteurope.de/blog/eine-einfuehrung-in-das-iot-protokoll-mqtt/
https://docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device
Google:
"mqtt arduino"
"mosquitto was kann man damit machen"
--> YouTube: MQTT einfach erklärt. Raspberry Pi als MQTT
Broker
(Kanal: Raspberry Pi Cloud)
Notizen: MQTT-FX (Tool zum Verbindung aufbauen zu Broker?)
---------------
Google: "app android "mqtt dash" topic abonnieren"
https://www.pixtend.de/files/manuals/APP-PX-410_MQTT_mit_PiXtend_DE.pdf
https://jython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=mbit/mqtt.inc.php
https://wvssiot.wordpress.com/2020/11/04/tut08-eigenen-datenbroker-aufsetzen/
https://www.hackster.io/fabiosouza/use-mqtt-dash-to-control-a-lamp-over-the-internet-97fa63
https://play.google.com/store/apps/details?id=net.routix.mqttdash&hl=en
Wünsch dir was...
Arduino Dingsbums 33 IOT 30E
Arduino Shield LAN/WLAN 25 E
Drucksensor 20 E
Servogedöns
Hutschienen Relais (Pumpe)
Alternative:
Arduino --> ZigBee --> SmartPlug (Relais)
Raspberry Pi - Einrichtung
Sensorik - erstmal nicht wichtig
Füllstandsensorik mittels Schwimmer, Gegengewicht, Seilrolle und Poti
https://neubert-volmar.de/Hausautomation/CPM/PS.html
Etwas rustikalere Umsetzung, aber gleiches Prinzip, siehe Beitrag von "radler" vom 07.08.2018 13:19
https://www.mikrocontroller.net/topic/456578
Kapazitiv:
z.B.: https://www.youtube.com/watch?v=ATY3bhiUqg4
Ultraschallsensor:
https://autosen.com/de/Positionssensoren/Ultraschallsensoren/Ultraschallsensor-AU018?gclid=CjwKCAjwxr2iBhBJEiwAdXECw3krNmrbSA3It8ZTAygMccfRQooThzgsmnhtM-SZS_1yuyyfBcqEkxoCyKEQAvD_BwE