Table of Contents
MQTT-Server mosquitto auf Raspberry Smarthome-Server startet nicht
Problem
Nach einigen Tagen Abwesenheit wurde ich leider mit einigen Problemen an meinem Raspberry- Smarthomeserver konfrontiert.
Unter anderem war der Mosquitto MQTT- Server, der Meldungen der verschiedenen iot- Devices entgegennehmen und verarbeiten soll, nicht verfügbar.
Analyse
Nach Analyse der Prozessübersicht mit
ps -A | grep mosq
wurde leider keine Ausgabe dargestellt, d.h. der prozess war offenschtlich nicht gestartet.
Das manuelle Anstarten mit
sudo mosquitto
führte dann allerdings zum Erfolg. Der MQTT- Server lief und nahm auch alle Meldungen entgegen bzw. verarbeitete diese. Nur der Dienst zum Mosquitto verursachte Probleme.
Nach Beenden des manuell gestarteten Prozesses erfolgte noch ein Versuch mit
sudo systemctl start mosquitto.service
den Dienst dann zu starten. Die anschließende Abfrage mit
sudo systemctl status mosquitto.service
lieferte zunächst eine vielversprechende Antwort, dass der Dienst erfolgreich gestartet wurde.
Leider wohl doch nicht ganz erfolgreich, in der Prozessübersicht immer noch kein Eintrag für mosquitto, auch die MQTT- Meldungsverarbeitung funktionierte nicht.
Ursache
Nach einiger Fehlersuche wurde dann das Problem gelöst. Ursache war eine offensichtlich korrupte mosquitto.db, die vom mosquitto-Dienst für die Zwischenspeicherung von Meldungen verwendet wird.
Lösung
Dieses Problem lässt sich einfach beheben, in dem im Verzeichnis /var/lib/mosquitto die entsprechende Datei gelöscht wird mittels:
sudo rm mosquitto.db
Wenn anschließend dann mit
sudo systemctl restart mosquitto.service
erneut gestartet wird, funktioniert mosquitto einwandfrei. Auch nach einem reboot wird der Dienst wieder automatisch angestartet.
Hier geht's weiterRFID: Tutorial zur Integration von RFID in die NodeRED-Umgebung mithilfe der IBM BlueMIX-Technologie
RFID: Tutorial zur Integration von RFID in die NodeRED-Umgebung mithilfe der IBM BlueMIX-Technologie
Das verlinkte Tutorial gibt einen kurzen Überblick über alle Schritte, die erforderlich sind, um einen RC522-RFID-Reader über Raspberry PI in die NodeRED-Umgebung zu integrieren.
Es werden dabei IBM Bluemix-Services, Watson IOT und Knoten verwendet..
Sehr interessant und recht einfach:
https://developer.ibm.com/recipes/tutorials/reading-rfid-mifare-cards-into-watson-iot-platform-using-your-raspberry-pi-3/
Hier geht's weiterRFID Scanner mit WeMos, RC522, Homie MQTT & NodeRED in LEGO Gehäuse 🙂
Noch ein Link zu einem interessanten Bericht über ein Projekt bei dem ein RC522 RFID- Lesegerät als Eingabestation in einem LEGO Gehäuse verbaut wurde, das ganze dann sehr durchdacht realisiert mit Mikrocontroller auf 8266 Basis sowie RasPi und software-seitig mit Homie MQTT und in NodeRED implementiert. Alles sehr lohnenswerte Ansätze, imho auf jeden Fall einen tieferen Einblick wert bzgl. der gewählten Anwendungstechnologien. Und da sich LEGO Steine ja heutzutage schon ganz gut im 3D- Drucker herstellen lassen (Vorlagen gibt es ja genügend auf thingiverse.com) lässt sich das Gehäuse auch nachbauen ohne die LEGO- Kiste der Kinder plündern zu müssen 😉
Hier der Link zur Anleitung:
http://www.internetoflego.com/rfid-scanner-wemos-rc522-mqtt/
Hier geht's weiter
RFID Lese- / Schreibgerät installieren und betreiben mit RC522 MIFARE RFID Device
Sehr interessantes Tutorial für alle interessierten, die darüber nachdenken eine RFID- Station zu installieren. Damit können verschiedene Dinge realisiert werden, zB RFID-Türöffner, Zugangskontrolle für Wohnungen, Technische EInrichtungen etc.
Die Investitionskosten sind hier für den Ersteinstieg wirklich sehr überschaubar und wenn man Spaß am experimentieren und tüfteln hat, bietet das tutorial einen guten Einstieg in die Materie.
Hier der Link:
https://tutorials-raspberrypi.de/raspberry-pi-rfid-rc522-tueroeffner-nfc/
Hier geht's weiterRFID: Arduino spricht RFID, sehr nützliche Anleitung !
Nachstehend der LInk:
https://www.heise.de/developer/artikel/Arduino-spricht-RFID-3464780.html
Hier geht's weiterMQTT: Public MQTT Broker
MQTT Connection settings for public broker HiveMQ:
Webpage: www.mqtt-dashboard.com
Hier geht's weiterLinux-commands: ssh tunneling remote server to localhost
To start a ssh tunnel from some machine ports 80 to your localhost port 2001 use the following syntax:
ssh -N -L 2001:localhost:80 somemachine
Enjoy !
Hier geht's weiterLinux-Commands: Rapidly invoke editor to type long and complex command
To type a long and complex command from linux command line can be painful. Helpful might be to invoke an editor for writing the details. You can easily invoke an editor by using the following command:
ctrl-x e
Enjoy !
Hier geht's weiterAWK in Linux
awk Linux Kommando
Was ist die Bedeutung des Linux awk Kommandos ?
Erläuterung:
awk KOMMANDO : awk wird zur Textmanipulation benutzt. Dieses Kommando prüft jede zeile einer Datei auf das Vorhandensein des als Parameter übergebenen Musters.
SYNTAX: Die Syntax lautet
awk '{pattern + action}' {filenames}
OPTIONS:
-W version Display version information and exit.
-F Print help message and exit.
Beispiel: ausgehend von einer Datei file1.txt, die folgenden Inhalt hat:
Data in file1.txt:
141516
151511
5566
5251
Um die zweite Spalte Daten in file1.txt auszugeben lautet das Kommando:
awk '{print $2}' file1.txt
Die Ausgabe wird dann wie folgt aussehen:
15155625
Um Spalte 1 und Spalte 2 zu multiplizieren und anschließend in Datei file2.txt zu schreiben lautet das Kommando:
awk '{print $1,$2,$1*$2}' file1.txt > file2.txt
Kommando Erläuterung:
$1: Ausgabe erste Spalte
$2: Ausgabe zweite Spalte
$1*$2: Multiplizieren $1 x $2
file1.txt: input file
symbolfile2.txt: output file
Das Ergebnis wird dann wie folgt aussehen:
14 15 21015 15 2255 56 2805 25 125
Enjoy !
Hier geht's weiterAlias-Command in Linux
alias COMMAND:alias command allows you to create a shortcut to a command. As the name indicates, you can set alias/shortcut name for the commands/paths which is too longer to remember.
SYNTAX:The Syntax is
alias [options] [ AliasName [ =String ] ]
OPTIONS:
-a Removes all alias definitions from the current shell execution environment.
-p Prints the list of aliases in the form alias name=value on standard output.
EXAMPLE:To create a shortcut temporarily:
alias lhost='cd /var/www/html'
This command will set lhost to cd /var/www/html/.
Now if you type lhost it will take you to the specified folder/directory.
To create a shortcut Permanently:
You can put your aliases into the /home/user/.bashrc file. It is good to add them at the end of the file.
alias home='cd /var/www/html/hscripts/linux-commands'
Now if you type home it will take you to the specified folder/directory.
To create a shortcut for a command:
alias c='clear'
This command will set c to clear.
Now if you type c it will clear the screen.
Enjoy !
Hier geht's weiterA nice app
Hi,
I am using "Guide To Linux". Click this link to get it.
https://play.google.com/store/apps/details?id=com.essence.linuxcommands
Enjoy !
Hier geht's weiter