Forum: Mikrocontroller und Digitale Elektronik Wie Messwerte über Wlan auslesen?


von Joern DK7JB .. (moin)


Lesenswert?

Hallo,
Ich möchte Messwerte von einem Sensor einfacher auslesen können.
Ein Sensor wird mit einem ATmega ausgewertet. An dem Ort ist ein starkes 
Wlan-Signal vorhanden.
Wie kann man die Messwerte über Wlan am einfachsten auslesen? Super 
wäre, wenn ich den Sensor auch von außerhalb auslesen könnte.

Welches Modul würdet ihr mir empfehlen? (einfach anzusteuern, zickt 
nicht rum und verbraucht recht wenig Strom)
Kennt ihr gute Tutorials für den Einstieg? Wie lassen sich die Messwerte 
dann über den Browser auslesen?
Meine Suche hat mir bisher noch nicht wirklich geholfen. Vielleicht habe 
ich auch nur die falschen Suchbefehle verwendet ;-).
Über eine Anschubhilfe würde ich mich sehr freuen.

von Peter Z. (hangloose)


Lesenswert?


von F. F. (foldi)


Lesenswert?


von chris (Gast)


Lesenswert?


von Joern DK7JB .. (moin)


Lesenswert?

Mit euren Vorschlägen überfahrt ihr mich, da sie zu viel Vorwissen 
voraussetzen. Vermutlich ist es sinnvoll, wenn ich mir ein "FRANZIS 
Maker Kit Internet of Things" besorge und mich durch das Handbuch 
durcharbeite.

von F. F. (foldi)


Lesenswert?

Lies dich in Tasmota ein. Das ist auch unter Arduino machbar. ESP ist 
dein Stichwort.

von Harry L. (mysth)


Lesenswert?

Tasmota ist schon ganz gut, aber speziell für Sensoren aller Art ist 
ESPeasy die bessere Wahl. da deutlich flexibler konfigurierbar:
https://www.letscontrolit.com/wiki/index.php/ESPEasy

von Joern DK7JB .. (moin)


Lesenswert?

Ich werde mich nun einlesen.

Als Sensor wird ein Drucksensor verwendet um einen Wasserpegel zu 
messen. Der Sensor gibt dann ein 4-20mA Strom der mit einem AD-Wandler 
gemessen und ausgewertet werden muss. Später stellt sich noch heraus ob 
noch ein Referenzsensor mit verrechnet werden muss. Also eine typische 
Aufgabe für einen Mikrocontroller.

von Joern DK7JB .. (moin)


Lesenswert?

Zwei Fragen hätte ich noch zu ESPEasy.
Ich verstehe es so, dass der ESP-Chip eine neue Firmware bekommt, die 
konfiguriert werden kann.
Welchen der ESP-Chips würdet ihr mir empfehlen? Was brauche ich sonst 
noch?
Habt ihr schon mit dem AD-Wandler des Chips zur Spannungsmessung (um den 
Strom des Sensors zu messen)gearbeitet?
Wie kann man von außen auf die Messwerte zugreifen? Können die Daten 
einfach an solche Dienste wie "ThingSpeak" übergeben werden?
Bleibt mein Wlan-Netz sicher?

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Joern D. schrieb:
> Welchen der ESP-Chips würdet ihr mir empfehlen? Was brauche ich sonst
> noch?

Kauf Dir ein fertiges Gerät.

Deinen Fragen nach zu urteilen sind schon die blinkenden LEDs am ESP 
etwas außerhalb Deines Horizonts.

Die 4-20mA Stromschleife wird gerne mal mit so 12-24V betrieben - damit 
grillt man sich bei kleineren Fehlern den µC. Daher würde ich da lieber 
einen OpAmp vorschalten.

von Harry L. (mysth)


Lesenswert?

Joern D. schrieb:
> Welchen der ESP-Chips würdet ihr mir empfehlen? Was brauche ich sonst
> noch?

NodeMC oder Wemos D1

Joern D. schrieb:
> Wie kann man von außen auf die Messwerte zugreifen? Können die Daten
> einfach an solche Dienste wie "ThingSpeak" übergeben werden?
> Bleibt mein Wlan-Netz sicher?

Kommt drauf an...
So lange du nur Werte nach Aussen sendest, ist Sicherheit ein 
nachrangiges Problem.

Wenn du in deinem Router Portforwarding aktivierst um von Aussen direkt 
darauf zugreifen, solltest du wissen, was du tust, und ordentliche 
Verschlüsselung und/oder ein VPN ist Pflicht.

Du klingst nicht so, als würdest du dich mit Netzwerken besonders gut 
auskennen, und daher würde ich die letzte Methode meiden.

von Joern DK7JB .. (moin)


Lesenswert?

So, nun sind bei mir sind nun diese Boards in der engeren Auswahl:
D1 MINI - ESP8266 ESP12 NodeMcu Dev-Kit WiFi Modul Board WeMos Arduino
oder
WeMos D1 mini ESP8266 NodeMCU ESP12 IoT LUA WLAN WiFi Arduino

oder
NodeMCU v3.2 - ESP8266 Dev Kit WIFI Lolin Amica CP2102 v2 Arduino IOT

Zu meinem Vorwissen: Ich komme aus der Hochfrequenz und nicht aus der 
Netzwerktechnik. Mikrocontroller (ATmega) habe ich früher mit Assembler 
oder Bascom programmiert und jetzt mit LunAVR. Kleinere Windowsprogramme 
mit vb.net.
Ja, ein Operationverstärtker mit Schutzschaltung wird vorgesehen und 
auch eine schaltbare Versorgungsspannung für den Sensor.

Diese kleinen Wlan-Module sind für mich aber völliges Neuland.

von Harry L. (mysth)


Lesenswert?

Joern D. schrieb:
> D1 MINI - ESP8266 ESP12 NodeMcu Dev-Kit WiFi Modul Board WeMos Arduino
> oder
> WeMos D1 mini ESP8266 NodeMCU ESP12 IoT LUA WLAN WiFi Arduino

Technisch geben die sich nichts - beide haben ESP12.
Das Wemos hat etwas angenehmere Abmessungen.

von F. F. (foldi)


Lesenswert?

NodeMCU hat eigentlich nur den Vorteil, dass da Stromversorgung und 
Datenübertragung per USB schon drauf ist. Relativ groß und nur zum 
testen sinnvoll.

von Heinz R. (heijz)


Lesenswert?

Joern D. schrieb:
> Diese kleinen Wlan-Module sind für mich aber völliges Neuland.

Dann starte damit :-)
Aller Anfang ist schwer, aber wenn Du ein bißchen im Thema drin bist 
wird es Dich nicht mehr loslassen, wie einfach und billig das alles ist.

Für den Anfang würde ich Dir zum Loggen volkszaehler.org empfehlen, 
nutze erst mal deren Demoserver, dann hast mit espeasy ganz schnell 
brauchbare Ergebnisse

von Stefan F. (Gast)


Lesenswert?

Das Auslesen von Messwerten aus einem vernetzten Sensor setzt zwei 
Sachen voraus:

1) Jeder Sensor ist ein Server im Sinne des Netzwerkes damit er 
angesprochen und ausgelesen werden kann.
2) Du hast eine zentrale Station die alle Sensoren kontaktiert und 
ausliest.

Problem dabei ist: Damit deine Sensoren ständig erreichbar sind, müssen 
sie ständig mit dem Netz verbunden sein. Das braucht eine Menge Strom. 
Außerdem besteht ein relativ hohes Risiko, dass deine Sensoren warum 
auch immer nicht erreichbar sind ohne das selbst zu bemerken. Wer 
startet sie dann neu?

Deswegen findet man in der Praxis eher die umgekehrte Lösung: Ein 
zentraler Server (zum Beispiel mit MQTT) steht ständig bereit, um 
Messwerte zu empfangen und zu speichern.

Die Sensoren senden in gewissen Intervallen ihre Messwerte zum Server 
oder wenn Ereignisse auftreten (Türe auf/zu, Licht an/aus, etc).

- einfach anzusteuern
- zickt nicht rum und
- verbraucht recht wenig Strom

Du hast nichts zu Reichweite, Preis und Abmessungen gesagt. Das sind 
ebenso wichtige Kriterien.

Bei mir liefen ESP8266 Module viel zuverlässiger und unkomplizierter, 
als alles andere was ich vorher probiert hatte. Ich bin allerdings auch 
schon lange mit der Low-Level Programmierung von IP basierten Sachen 
vertraut. Für andere ist alleine die Einrichtung von IP/WLAN Netzen 
wieder so komplex, das sie es als "zickig" bezeichnen würden.

Aber ich bin nicht auf dem Laufendem, was der Markt diesbezüglich heute 
bietet. Ich habe hier öfters was von ZigBee und nrf24 Modulen gelesen, 
die scheinen recht beliebt zu sein.

von Harry L. (mysth)


Lesenswert?

Stefanus F. schrieb:
> 1) Jeder Sensor ist ein Server im Sinne des Netzwerkes damit er
> angesprochen und ausgelesen werden kann.

Nein!
Dafür nutzt man einen MQTT-Client.
Der zentrale MQTT-Broker übernimmt dabei die Rolle des Servers.

von Stefan F. (Gast)


Lesenswert?

Von Franzis Bausätzen rate ich ab. Alle, die ich bisher hatte, 
funktionierten aufgrund von Designfehlern nicht zuverlässig und der 
Lehrgehalt der Bücher war stets annähernd null. Franzis Bücher sind 
meiner Meinung nach höchstens was für 10 Jährige Kinder, die einen 
schnelle Erfolgseffekt sehen wollen ohne zu verstehen, wie und warum das 
Ding auf dem Tisch tut, was es tut.

> Welchen der ESP-Chips würdet ihr mir empfehlen?

Da ich keine HF Platinen entwerfen und Herstellen kann nutze ich Module 
mit ESP Chip. Sie unterscheiden sich im Wesentlichen an der Anzahl der 
herausgeführten Pins und darin, ob die Antenne eingebaut oder extern 
angesteckt werden muss.

Als "Netzwerkkarte" für einen anderen Mikrocontroller benutze ich gerne 
das ESP-01 Modul. In Fällen, wo ich eine eigene Firmware für den Chip 
schreibe, dieser als auch gleich Kern meiner Schaltung wird, benutze ich 
gerne das ESP-12F Modul. Die Reichweite der On-Board Antenne ist mit 
Smartphones vergleichbar, mehr habe ich bisher noch nie gebraucht. 
Insofern habe ich mich mit externen Antennen noch gar nicht beschäftigt.

Das NodeMCU Board (enthält ein ESP-12F) ist zum üben ideal, weil es den 
USB-UART on-board hat. Für Batteriebetrieb aber nicht so gut, wegen der 
Ruhestromaufnahme von mehreren mA. Für Batteriebetrieb verwendest du 
besser doch ein "nacktes" Modul.

> Habt ihr schon mit dem AD-Wandler des Chips ... gearbeitet

Ja, der ist Kacke. Weil er weder eine eigene Versorgungsspannung noch 
eine externe Referenzspannung unterstützt. Er lässt sich durch das WLAN 
Signal sehr stark stören, bis zu 20% Abweichung vom echten Wert sind 
laut Datenblatt möglich (das hat der Hersteller schön verklausuliert 
versteckt). Du kannst den ADC des ESP Chips praktisch nur benutzen, 
während WLAN deaktiviert wird. Aber zum ein- und aus-schalten des WLAN 
musst du den ganzen Chip rebooten, wodurch wiederum die Variablen im RAM 
verloren gehen. Die RTC hat aber ein paar Bytes frei, die nicht verloren 
gehen.

Eventuell ist es einfacher, die analogen Messungen mit einem 8bit µC zu 
machen und den ESP mit seiner Standard AT Firmware nur als 
Netzwerk-Interface zu benutzen. Dann kann der µC auch gleich den 3,3V 
Spannunsgregler abschalten (er selbst kann ja ohne Regler direkt an der 
Batterie hängen) und so die Ruhestromaufnahme optimieren.

> Wie kann man die Messwerte über Wlan am einfachsten auslesen?

Am einfachsten ist Senden per UDP. Zum Auslesen musst du einen Server 
programmieren. Schau Dir die Codebeispiele auf meiner Seite an: 
http://stefanfrings.de/esp8266/index.html

von Stefan F. (Gast)


Lesenswert?

>> 1) Jeder Sensor ist ein Server im Sinne des Netzwerkes damit er
>> angesprochen und ausgelesen werden kann.
> Nein! Dafür nutzt man einen MQTT-Client.

Das habe ich doch selbst direkt darunter geschrieben und begründet.

von Joern DK7JB .. (moin)


Lesenswert?

Vielen Dank für eure hilfreichen Beiträge. Die ganzen Informationen muss 
ich erst einmal verdauen ;-). Damit ich in der Fülle der Informationen 
nicht ertrinke versuche ich einen einfachen Weg. Mir schein der Weg über 
ESPEasy ein guter Einstieg.

Bestellt habe ich mir je einmal:
- NodeMCU v3.2 - ESP8266 Dev Kit WIFI Lolin Amica CP2102 und zusätzlich 
ein Breakout
- D1 MINI - ESP8266 ESP12 NodeMcu Dev-Kit WiFi Modul Board WeMos

- BMP280 Luftdruck Temperatur I2C Sensor
- GY-INA219 I2C Spannungssensor Strom Sensor. Duch Verändern des 
Shut-Widerstandes kann ich das Board an meine Bedürfnisse (I<20mA) 
leicht anpassen
- AMS1117 3,3 V Volt Step down Regler
- 0,96 Zoll Arduino OLED Display SSD1306 128x64 I2C
- USB-Seriell-Wandler sind vorhanden (können auf 3,3V umgestellt werden)

Zur Situation:
Mein Wlan-Netz besteht aus einer Fritzbox 7490 und einem Repeater 1750E 
mit WPA2(CCMP)
Am Repeater messe ich ein Signal von -31dBm und an den beiden möglichen 
Aufstellort des Sensors -35dBm und -60dBm. Ausreichendes Signal für 
einen sicheren Verbindungsaufbau ist also vorhanden.


Momentan ist nur dieser eine Sensor geplant. Was später kommt hängt von 
meinen Erfahrungen ab.
Auslesen des Sensors aus dem heimischen Netz ist wichtig. Ob 
Steueraufgaben von Handy oder PC zum Sensor erfolgen sollen hängt vom 
Aufwand und der Netz-Sicherheit ab.
Das Auslesen von Außen oder weitere Steueraufgaben wären schön, wenn sie 
nicht die Netz-Sicherheit beeinträchtigen. Hier fehlt mir aber Wissen.

Wenn die Boards morgen oder übermorgen bei mir eintreffen werde ich 
zunächst die ESPEasy Firmware aufspielen und damit herumspielen.



Wie soll es dann anschließend weitergehen?

Ich bin mir sicher, dass es bewährte Wege gibt um die Daten bequem 
anzuzeigen. Welchen Weg würdet ihr mir empfehlen? Muss ich mir noch 
einen kleinen Server einrichten? Das wäre dann noch ein kleiner 
Stromfresser der auch gewartet werden muss. Ihr sprecht in diesem 
Zusammenhang von MQTT-Client und Server.
Kann man auch solche Dienste wie ThingSpeak nutzen (wie) um die Daten zu 
speichern und um sie darzustellen? kann man sich so weitere 
Server-Hardware sparen? Wäre dieser Weg sicher? Gibt es noch andere 
Dienste?

Ich bin mir nicht sicher ob eine eigene Homepage die Sache mit der 
Darstellung der Messwerte vereinfacht. Eine Homepage ist vorhanden. Auf 
der Homepage läuft bisher nur eine Blogsoftware.

> Eventuell ist es einfacher, die analogen Messungen mit einem 8bit µC zu
machen und den ESP mit seiner Standard AT Firmware nur als 
Netzwerk-Interface zu benutzen.

Das kann ich machen, wenn die ersten Schritte erfolgreich waren.

Beitrag #5511501 wurde von einem Moderator gelöscht.
von Harry L. (mysth)


Lesenswert?

Joern D. schrieb:
> Ich bin mir sicher, dass es bewährte Wege gibt um die Daten bequem
> anzuzeigen. Welchen Weg würdet ihr mir empfehlen? Muss ich mir noch
> einen kleinen Server einrichten? Das wäre dann noch ein kleiner
> Stromfresser der auch gewartet werden muss. Ihr sprecht in diesem
> Zusammenhang von MQTT-Client und Server.

Besorg dir einen Raspbery Pi, und installier darauf Mosquitto 
(MQTT-Broker) und NodeRed. Anleitungen dafür gibts im Netz zu Hauf.

Mit NodeRed kannst du sehr schöne Dashboards zusammen klicken/bauen, mit 
denen sich deine Daten visualisieren lassen, bzw. Aktoren bedienen 
lassen.
Das ganze läuft über eine Web-Oberfläche und besonders 
Programmier-Kenntnisse sind dazu auch nicht erforderlich.
Der Stromverbrauch eines RPi ist mit deutlich < 5W auch vertretbar.

Einfacher gehts sicher nicht.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Dazu noch InfluxDB und Grafana, InfluxDB ist optimiert für zeitbasiertes 
Messwertlogging und Grafana ist eine konfigurierbare Weboberfläche um 
die Daten grafisch gut darzustellen.
Hier ist eine gute Zusammenfassung für die Installationsorgie:
https://gist.github.com/xoseperez/e23334910fb45b0424b35c422760cb87
Sind ein paar Schritte, lohnt sich aber.

Beitrag #5511536 wurde von einem Moderator gelöscht.
von Joern DK7JB .. (moin)


Lesenswert?

Einen Raspbery Pi 3 Model B V1.2 habe ich hier herumliegen (und lange 
nicht mehr benutzt :-( ).
Die neue Version Stretch funktioniert mit meinem Display nicht - habe es 
gerade ausprobiert. Daher habe ich wieder Jessie (normal) installiert.

Der Link von Johannes baut auf einer Lite Versioin auf -wenn ich alles 
richtig verstanden habe. Fehlt da nicht das graphische Interface?
Ohne graphische Interface wird für mich alles gleich viel schwieriger.

von Johannes S. (Gast)


Lesenswert?

da kann man natürlich auch die Desktop Version nehmen und die 
Installation von raspberrypi.org holen. Die genannte Github Seite listet 
halt die Installation für die zusätzlichen Pakete schön auf und ist 
recht aktuell. Das ist ja leider das Problem an den unendlich vielen 
Blogs im Netz, alles kann schon wieder veraltet sein.
Und das sind alles Dienste die im Hintergrund werkeln, Grafana und 
NodeRed haben Weboberflächen und können auch von anderen Rechnern aus 
konfiguriert und benutzt werden.

von Karl K. (karl2go)


Lesenswert?

Harry L. schrieb:
> Mit NodeRed kannst du sehr schöne Dashboards zusammen klicken/bauen, mit
> denen sich deine Daten visualisieren lassen, bzw. Aktoren bedienen
> lassen.

Funktioniert das inzwischen? Als ich das mal vor 2 Jahren ausprobiert 
habe, liefen die UIs auf dem PC ganz gut, aber auf dem Tablet waren sie 
unbedienbar mit teils 20sec Reaktionszeit, und im Firefox auf dem Raspi 
haben sie diesen abschmieren lassen. Die hatten ein enormes 
Performanceproblem, sobald man mal ein paar mehr als nur 10 Messwerte im 
Diagramm haben wollte...

von Harry L. (mysth)


Lesenswert?

Karl K. schrieb:
> Harry L. schrieb:
>> Mit NodeRed kannst du sehr schöne Dashboards zusammen klicken/bauen, mit
>> denen sich deine Daten visualisieren lassen, bzw. Aktoren bedienen
>> lassen.
>
> Funktioniert das inzwischen? Als ich das mal vor 2 Jahren ausprobiert
> habe, liefen die UIs auf dem PC ganz gut, aber auf dem Tablet waren sie
> unbedienbar mit teils 20sec Reaktionszeit, und im Firefox auf dem Raspi
> haben sie diesen abschmieren lassen. Die hatten ein enormes
> Performanceproblem, sobald man mal ein paar mehr als nur 10 Messwerte im
> Diagramm haben wollte...

Funktioniert ausgezeichnet - auch auf dem Tablett.
2j ist ne lange zeit....

Joern D. schrieb:
> Ohne graphische Interface wird für mich alles gleich viel schwieriger.

Das brauchst du wirklich nicht!
Die Einrichtung geschieht auf der Console - da mußt du einmalig durch.
Bedient und genutzt wird das aber vollständig im Webbrowser.
Der RPi braucht weder Bildschirm noch Keyboard.

Beitrag #5511970 wurde vom Autor gelöscht.
von Joern DK7JB .. (moin)


Angehängte Dateien:

Lesenswert?

So, die Lite Version ist installiet und ich folge dem Link von Johannes 
(16:40)
https://gist.github.com/xoseperez/e23334910fb45b0424b35c422760cb87

Bei dem Abarbeiten der Liste komme ich incht weiter. Die Stelle habe ich 
im Bild markiert. Ich habe keine Ahnung wie ich den Text eingebe der 
nach der Eingabe von "sudo vi /etc/mosquitto/conf.d/default.conf" 
eingegeben werden soll.
Können die Feineinstellungen nocht über eine Web-Oberfläche erfolgen?

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

ersetze "vi" durch "nano"
Damit solltest du besser zu recht kommen.

von symboltable (Gast)


Lesenswert?

Joern D. schrieb:
> Bei dem Abarbeiten der Liste komme ich incht weiter. Die Stelle habe ich
> im Bild markiert. Ich habe keine Ahnung wie ich den Text eingebe der
> nach der Eingabe von "sudo vi /etc/mosquitto/conf.d/default.conf"
> eingegeben werden soll.

1) Drücke für Einfügen(Insert) die Taste "i"
2) Tippe den Text ein
3) Drücke Escape um den Einfügemodus zu verlassen die Taste "Esc"
4) Dann um vi zu verlassen und die Datei zu speichern die Zeichen ":" 
und "w" und "q"
   also :wq

HTH

von Joern DK7JB .. (moin)


Lesenswert?

Ich bezweifle, dass ich alle Kommandozeileneingaben richtig ausgeführt 
habe:
https://gist.github.com/xoseperez/e23334910fb45b0424b35c422760cb87
Diese Anleitung hat mir nicht vollständig geholfen.
Hoffentlich kann man dann in den zugehörigen Web-Oberflächen alles 
einstellen kann.
Nun muss ich mir andere Einführungen/Anleitungen suchen.

von Harry L. (mysth)


Lesenswert?

Joern D. schrieb:
> Hoffentlich kann man dann in den zugehörigen Web-Oberflächen alles
> einstellen kann.

Kann man nicht.
Du musst schon die Anleitung korrekt befolgen.

von Joern DK7JB .. (moin)


Lesenswert?

>Du musst schon die Anleitung korrekt befolgen.

Das ist mir schon klar ;-) Dann werde ich aber noch die eine oder andere 
Frage stellen müssen, da die Anleitung nicht ausführlich genug ist.

Was ist besser? Soll ich hier in diesem Beitrag meine kleinen Fragen 
stellen oder kann ich einen von euch mit meinen Fragen per Emails 
"belästigen" (bitte PN bei mir melden)? Ich würde dann morgen alles 
wieder neu aufestzen und mich nochmals durch alles durcharbeiten.

von Harry L. (mysth)


Lesenswert?

Du hast eine PN

von Johannes S. (Gast)


Lesenswert?

Joern D. schrieb:
> Dann werde ich aber noch die eine oder andere
> Frage stellen müssen, da die Anleitung nicht ausführlich genug ist.

sorry, die Anleitung ist im Telegrammstil und kein ausführliches 
Tutorial. Wer schon Erfahrung mit Linux hat will nicht die ellenlangen 
Blogs oder Erklärbärvideos durcharbeiten. Man sollte natürlich schon in 
etwa wissen was die Kommandos bewirken, also besser vorher googeln als 
nur abschreiben.
In der Anleitung sind auch gleich Security Einstellungen drin für den 
Zugriff von der weiten Welt. Das kann man für die ersten Experimente im 
lokalen Netz auch erstmal weglassen.
Für den Anfang hatte ich mich auch erstmal mit mqtt beschäftigt, das 
kann man mit 'mosquitto -v' in der Kommandozeile starten und dann sieht 
man da die Messages. Dann in weiteren Fenstern mosquitto_sub und 
mosquitto_pub starten um Messages zu senden und zu abonnieren. Das kann 
man dann auch per Programm machen, es gibt ja für nahezu alle Sprachen 
die Client Libs, Python oder JS braucht nur wenige Zeilen für die 
Kommunikation.
Wenn NodeRed installiert ist dann ist die Anbindung an mqtt noch 
einfacher, das ist in den NodeRed Tutorials auch drin.
Genauso muss man erstmal mit der Datenbank InfluxDB spielen, für NodeRed 
muss man noch eine Komponente installieren.
Editor: man kann auch den GUI Editor vom Desktop verwenden, der muss 
aber für die Systemfiles mit 'gksudo leafpad' gestartet werden damit die 
Rechte zum Ändern da sind.

von Joern DK7JB .. (moin)


Lesenswert?

@ Johannes
Gestern habe ich beim ersten Durcharbeiten der Anleitung viel gelernt.
Sehr gut für das erste Aufsetzen des Raspberry gefällt mir diese Seite:
https://www.raspifun.de/viewtopic.php?f=19&t=4
Natürlich richtet sich eine solche Seite an Anfänger ;-).
Harry hat sich dankenswerterweise bereiterklärt mir bei der Beseitigung 
der ersten dummen Fehler zu helfen. Den Raspberry setzte ich jetzt neu 
auf und komme dann hoffentlich zum Ziel.
Nochmals vielen Dank an euch.

von Johannes S. (Gast)


Lesenswert?

you're welcome, viel Erfolg.
Die Raspi Installation ist mit Noobs und der 'Original' Website einfach:
https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started/2

von Joern DK7JB .. (moin)


Lesenswert?

Hallo,
die ersten Erfolge haben sich nun eingestellt - super.

Momentan läuft das System wie folgt:
Raspberry 3 mit stretch light + Node Res + Mosquitto
NodeMCU/ESP8266 mit ESPeasy und einem BMP280 (Ein Messwert pro Sekunde)

Wie löse ich die folgenden kleinen Probleme:

- Nach jedem sudo reboot wird Mosquitto nicht mitgestartet. Wie kann 
dies automatisch nach jedem Bootvorgang erfolgen?

- Wenn ich die Messwerte mir über 24h anzeigen lasse wird das ganze 
System bei der Anzeige extrem langsam. Ich vermute dass die Anzahl der 
dargestellten Messwerte zu groß ist. Kann das sein?
Als Lösung probiere ich gerade das Aggragator-Node aus.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

mosquitto autostart ist in der von mir verlinkten Auflistung 
beschrieben.

Womit werden die Messwerte angezeigt? Die Kombi InfluxDB und Grafana ist 
für solche Aufgaben gemacht, ich habe zur Zeit auch alle 5s einen 
Messwert und die Anzeige liefert einen 14 Tage Trend in ein paar 
Sekunden.

von Joern DK7JB .. (moin)


Lesenswert?

Das mit dem Autostart funktioniert aber trotzdem nicht.
Kann es sein, dass der Autostart bei Stretch anders gelöst wird als bei 
Jessie?

Bisher zeige ich die Messwerte mit dem Dashboard von NodeRed an. Zu 
InfluxDB und Grafana bin ich noch nicht gekommen. ... und auch noch 
nicht so richtig verstanden wie sie zusammenarbeiten und welchen Vorteil 
sie gegen über MQTT und NodeRed haben.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

den mosquitto autostart habe ich bei mir auch nicht drin, kann ich 
später testen.

InfluxDB und Grafana ist kein Ersatz für MQTT und NodeRed sondern sind 
zusätzliche Komponenten, eben eine Datenbank optimiert für zeitbasierte 
Aufzeichnung und Grafana ist eine Weboberfläche die direkt die Werte aus 
dieser DB holt. Das reinschreiben der Werte geht über NodeRed bzw. einen 
InfluxDB Node den man noch in NodeRed als Zusatz installieren muss. MQTT 
ist dann eine mögliche Datenquelle wo die Messwerte herkommen können.

von Joern DK7JB .. (moin)


Lesenswert?

Nun habe ich es verstanden, danke.
Wie wird dann InfluxDB und Grafana konfiguriert?
Wenn ich Grafana aufrufe erscheint ein Fenster in dem ein Benutzername 
und ein Passwort abgefragt werde. Ich kann mich nicht erinnern, dass ich 
sie vergeben habe.

von Johannes S. (Gast)


Lesenswert?

Note: Before starting Grafana for the first time, set the admin user and 
password in /etc/grafana/grafana.ini. Otherwise, the default password 
will be admin

mosquitto autostart scheint tatsächlich zickig zu sein, vielleicht hilft 
das hier:
http://ilankoch.de/mqtt-mosquitto-raspbian-jessie-und-der-fiese-systemd-autostart/

von Joern DK7JB .. (moin)


Lesenswert?

@Johannes
Wie erstellt man eine Database in InfluxDB und konfiguriert sie?
Kann man das von NodeRed oderGrafana aus erledigen?
Ohne graphische Benutzerinterfaces ist es für mich extrem schwierig den 
Überblick zu behalten.
Hierzu finde ich auch keine verständliche Tutorials.

von Johannes S. (Gast)


Lesenswert?

Ein 'getting started' ist auf der Influx Site:
https://docs.influxdata.com/influxdb/v1.6/introduction/getting-started/

Du musst einmal in die Kommandozeile und 'influx' aufrufen, das startet 
das Influx Kommandozeilen Interface.
Um eine DB zu erzeugen reicht das Kommando 'create myDatabase'. Die 
Daten werden in Tabellen geschrieben, bei Influx heissen die 
'measurements'. Diese werden aber automatisch angelegt, das geht also 
wenn man im NodeRed Influx Node ein Measurement angibt das es noch nicht 
gibt. Genause werden Datenspalten automatisch angelegt, ist also schon 
einfacher als eine SQL DB die erstmal Tabellen definiert haben möchte.

von Joern DK7JB .. (moin)


Angehängte Dateien:

Lesenswert?

Könntest du bitte mal Screenshots von den Einstellungen der 
InfluxdB-Nodes machen.

Ich habe dich so verstanden, dass ich so eine Database 'datensenke' 
erzeuge:
create database datensenke

Und sie dann so aktiviere:
use datensenke

Wie konfiguriere ich dann das zugehörige Node in NodeRed?

: Bearbeitet durch User
von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

das 'use' braucht man wenn man in de Kommandozeile weiter auf die DB 
arbeiten möchte, für Node ist das nicht nötig.
In Node muss der Server ausgewählt werden. Dazu muss man einmal auf das 
Bleistiftsymbol klicken und seine Serverdaten eintragen.

Edit:
das war doch schon ok bei dir. User/Password müssen auch eingetragen 
werden. Port 8086 ist default, ich habe den in der config anders 
eingestellt.
In Measurement gehört nur der Tabellenname ohne die Sonderzeichen, also 
Temperaturen oder MeinHaus oder sowas.

von Joern DK7JB .. (moin)


Lesenswert?

Wie kann ich überprüfen ob überhaupt Daten in die "datensenke" 
geschrieben werden? Also ein einfacher Check bevor es weitergeht.

von Johannes S. (Gast)


Lesenswert?

klar - in der Kommandozeile :)

influx
use datensenke
select * from meinMeasurement

Wenn Influx was zu mosern hat steht es rechts in dem Debug Tab.

von Joern DK7JB .. (moin)


Angehängte Dateien:

Lesenswert?

Dann wird bei mir vermutlich nichts geschrieben :-(

Vielleicht habe ich die Datenbank falsch angelegt. Daher meine Frage:
Wie lege ich richtig eine DAtenbank mit Passwort und User-Namen an?

von Johannes S. (Gast)


Lesenswert?

argh... heist deine Tabelle denn meinMeasurement?

bzw. schreibe
show measurements

um die Tabellen anzuzeigen.

von Joern DK7JB .. (moin)


Angehängte Dateien:

Lesenswert?

Arrrrrg. Geht aber trotzdem nicht

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

datensenke ist die Datenbank, nicht die measurements (Tabellen).

show databases
show measurements


select möchte ein measurement.
Dein measurement hat den blöden langen Namen, dann musst du den auch 
genauso eingeben: select * from .... (blöder Name)

von Joern DK7JB .. (moin)


Angehängte Dateien:

Lesenswert?

Und die Erde dreht sich doch.

Nachdem ich den blöden Namen geändert habe hat alles geklappt.

Sehe isch das richtig, dass ich nun mit Grafana weitermachen kann? Ich 
habe es schonmal probiert und bin och nicht am Ziel.

von Johannes S. (Gast)


Lesenswert?

sieht schon gut aus.
In der Abfrage bei select auf 'field(value)' klicken, dann sollte das 
Feld value auswählbar sein und die Abfräge müsste vollständig sein.

von Joern DK7JB .. (moin)


Lesenswert?

Das hatte ich schon gemacht - nichts passiert.

von Johannes S. (Gast)


Lesenswert?

wähle mal rechts oben ein grösseres Intervall als 6h aus, da hatte ich 
anfangs auch Probleme, bzw. ich muss immer min 6h Intervall angeben um 
Daten zu sehen.

von Joern DK7JB .. (moin)


Lesenswert?

Hmmm, ich lege eine neue Datenbank an und probieres es nochmal.
Vermutlich melde ich mich erst morgen wieder.

von Johannes S. (Gast)


Lesenswert?

In der DB stehen ja schon Daten, das ist ok.
Probiere mal in der Abfrage bei 'Group by' das Intervall time(1s) und 
fill(previous).
Was das fill(none) macht muss ich noch mal nachsehen, das führt bei mir 
auch dazu das in manchen Zoomstufen nix zu sehen ist, die anderen 
Optionen sind besser.

von Joern DK7JB .. (moin)


Lesenswert?

Du hattest den richtigen Richer. Nachdem ich das 'Group by' gelöscht 
hatte wurden die Daten angezeigt.
Noch habe ich es nicht hinbekommen wie man das Panel im Heimnetzwerk 
veröffentlicht (für andere, die nicht in meiner Konfiguration aus 
Unwissenheit etwas ändern dürfen) und wie man sich die aktuellsten Daten 
anzeigen lassen kann. Ich muss immer mit Zoom arbeiten, damit mir die 
aktuellsten Daten angezeigt werden.

von Johannes S. (Gast)


Lesenswert?

Joern D. schrieb:
> Nachdem ich das 'Group by' gelöscht
> hatte wurden die Daten angezeigt.

das würde ich nicht löschen, nur den Modus fill(null) auf fill(none) 
ändern.
Wenn die DB viele Werte enthält dauert die Abfrage immer länger, das 
group by sorgt für eine Reduzierung.

Joern D. schrieb:
> und wie man sich die aktuellsten Daten
> anzeigen lassen kann

in der Zeitbereichauswahl rechts oben ist eine drop down box für ein 
refresh intervall.

Joern D. schrieb:
> Noch habe ich es nicht hinbekommen wie man das Panel im Heimnetzwerk
> veröffentlicht (für andere,

da musst du weitere Benutzer hinzufügen, geht in der grafischen 
Oberfläche unter configuration / users.

von Joern DK7JB .. (moin)


Lesenswert?

Danke, jetzt scheint alles zu funktionieren.
Ich werde mich nun erst einmal mit dem Autostart-Problem von Mosquitto 
beschäftigen.

Beitrag #5516488 wurde vom Autor gelöscht.
von Joern DK7JB .. (moin)


Lesenswert?

Es scheint nun doch mit dem Autostart zu klappen.

Hier der Link der geholfen hat:
https://webnist.de/python-script-auf-dem-raspberry-pi-automatisch-starten/

Die folgende Datei wird geöffnet mit:
sudo nano /etc/rc.local

Und dann in der Zeile über exit 0 die folgendeZeile eingefügt:
sudo mosquitto -d

Warum aber diese lösung funktioniert habe ich nicht vollständig 
verstanden...

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Joern D. schrieb:
> Warum aber diese lösung funktioniert habe ich nicht vollständig
> verstanden...

Das ist ne sehr unsaubere "Frickel-Lösung"...

Bei deinem nä. Besuch auf Mumble erklär ich dir dann, wie man s richtig 
macht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.