Forum: Mikrocontroller und Digitale Elektronik Welche Funkstrecke zu Daten Visualisierung?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thorsten M. (cortex_user)


Lesenswert?

Hallo,

ich messe in meinem Haus die Daten der Solaranlage, die sowohl ans Netz 
geht aber auch in einen LiFEPO4 Speicher. Abgesehen von der festen 
Installation, die nicht angefasst wird möchte ich aber Ströme, 
Spannungen usw. messen.

Da ich im Keller kein Display aufhängen möchte überlege ich mir die 
Elektronik als Bastelprojekt mit Strom Sensoren usw. in einer kleinen 
Kiste zu verbauen und die Daten per Funk durchs Haus auf eine Art 
Display zu senden. Sowas gibt es mit Raspberry aber mir zu aufwendig, 
brauche nur was Kleines.

Ein ESP32 ModeMcu soll die Daten erfassen und einige Relais steuern, die 
die 230V vom Inverter verteilen auf Beleuchtung usw. Zudem wird den 
Akkus Priorität eingeräumt, erst wenn die voll sind und zu viel Energie 
bereit steht geht die Anlage aufs Hausnetz, d.h. der Netz-Wechselrichter 
wird über Schütze aufgeschaltet.

Nur welche Funkmodule? Diese billigen 433 Mhz taugen nicht, reichen 
keine 10m weit, die sind ne Katastriophe. Jetzt habe ich noch LORA von 
Semtech im Visier, sehr geringe Leistung einstellen, stabil soll das ja 
sein. Die NRF24L01+ sind auch nur China Nachbauten. Was gibt es noch? 
Muss einfach sein! SPI oder I2C und fertig. Die Datenübertragung soll 
automatisch laufen, Prüfsumme etc alles fertig sein, ggf. 
Mehrfachsendung.

Target ist meine Visualisierung, die wohl ein Netbook sein wird, wo über 
Funk+RS232 die Daten reinkommen als Array Pakete, ggf. Matlab, Visual 
Basic oder was anderes zur Darstellung.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Thorsten M. schrieb:
> Nur welche Funkmodule? Diese billigen 433 Mhz taugen nicht, reichen
> keine 10m weit, die sind ne Katastriophe.

Dann machst du irgendetwas falsch. Ich habe hier 433MHz Modul mit 10dBm 
und kommt damit 200m weit.

von Thorsten M. (cortex_user)


Lesenswert?

Wolfgang schrieb:
> Dann machst du irgendetwas falsch. Ich habe hier 433MHz Modul mit 10dBm
> und kommt damit 200m weit.

Ich hätte aber schon gern Industriequalität.

von Jester (Gast)


Lesenswert?

Kuck da: https://wolles-elektronikkiste.de/433-mhz-funk-mit-dem-arduino 
oder auch da: https://de.wikipedia.org/wiki/ISM-Band

433 MHz innerhalb eines Gebäudes, über mehrere Stockwerke, macht nicht 
wirklich glücklich. Nicht umsonst liest man immer öfters: "Wer Funk 
kennt, nimmt Kabel"...

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Thorsten M. schrieb:
> Ein ESP32 ModeMcu
> ...
> Nur welche Funkmodule?

Der ESP32 ist doch quasi ein Funkmodul. Warum willst du hier zusätzlich 
noch was anderes verbauen?

von Thorsten M. (cortex_user)


Lesenswert?

Jester schrieb:
> Kuck da: https://wolles-elektronikkiste.de/433-mhz-funk-mit-dem-arduino
> oder auch da: https://de.wikipedia.org/wiki/ISM-Band

geniale Seite, alles super erklärt. Lora scheidet aus, zu kleine 
Datenpakete. NRF24L01 nur Theater mit gehabt früher, auch raus. Wird 
wohl Zigbee werden oder eben doch die 433Mhz Knopf-Lösung mit Radiohead.

von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:
> Nur welche Funkmodule? Diese billigen 433 Mhz taugen nicht, reichen
> keine 10m weit, die sind ne Katastriophe. Jetzt habe ich noch LORA von
> Semtech im Visier, sehr geringe Leistung einstellen, stabil soll das ja
> sein. Die NRF24L01+ sind auch nur China Nachbauten. Was gibt es noch?
> Muss einfach sein! SPI oder I2C und fertig. Die Datenübertragung soll
> automatisch laufen, Prüfsumme etc alles fertig sein, ggf.
> Mehrfachsendung.

Ich würde heute einfach alles über Ethernet bzw. WLAN machen. Alles was 
nicht "im Netz" ist, ist unpraktisch. Braucht wieder irgendeine Bridge, 
irgendwas gebasteltes was dann nicht gut erweiterbar ist. Sind die Daten 
mal im lokalen Netz kann man alles damit machen.

von Thorsten M. (cortex_user)


Lesenswert?

Irgend W. schrieb:
> Der ESP32 ist doch quasi ein Funkmodul. Warum willst du hier zusätzlich
> noch was anderes verbauen?

Dir sagt der Begriff 802.11n etwas? Und dass WIFI ein komplexes 
Protokoll hat um mit Webservern zu kommunizieren, für die erst Code 
geschrieben werden muss? Und ich Null Plan von HTML, CSS oder was auch 
immer habe, was auf dem ESP32 hinterlegt werde müsste? Mein Wissen 
reicht grad mal aus die Wettervorhersage im JSON Format aus zu lesen und 
zu interpretieren.

Möglich wäre es, wenn der ESP32 einen JSON Container zur Verfügung 
stellt mit den Daten, die dann abgerufen werden aber dazu müsste man PHP 
oder ähnliches können und davon habe gar keine Ahnung.

von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:
> Und dass WIFI ein komplexes
> Protokoll hat um mit Webservern zu kommunizieren

Unsinn. WIFI ist ein Funkprotokoll auf unterster Ebene des 
Netzwerkstacks. Mit Webservern hat das nichts zu tun. Mit HTML, JSON, 
CSS usw. noch viel weniger.
Bilde dich erst mal. Dann labere los.

Du könntest direkt Ethernet-Frames an MAC Adressen senden, wenn du 
willst.
Du kannst auch einfach UDP Pakete versenden und empfangen. Das wäre 
logischer.
Oder MQTT machen.

: Bearbeitet durch User
von Thomas W. (dbstw)


Lesenswert?

Thorsten M. schrieb:
> Muss einfach sein! SPI oder I2C und fertig. Die Datenübertragung soll
> automatisch laufen, Prüfsumme etc alles fertig sein, ggf.
> Mehrfachsendung.

ESP32, TCP/IP, MQTT: Ist doch alles da. Und das Arduino-Framework (da 
kann man zu stehen wie man will) macht die Sache auch sehr einfach.

Wo ist das Problem?

Th.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Thorsten M. schrieb:
> Lora scheidet aus, zu kleine Datenpakete.

Was willst du denn da für riesige Datenmengen übertragen. 50kBit/s 
sollte für ein paar Solaranlagenparameter ausreichend schnell sein.

von Thorsten M. (cortex_user)


Lesenswert?

Wolfgang schrieb:
> Was willst du denn da für riesige Datenmengen übertragen. 50kBit/s
> sollte für ein paar Solaranlagenparameter ausreichend schnell sein.

4KB Datenhistorie über eine Woche und mehrere Messstellen....wobei die 
auch auf dem Zielrechner gebildet werden kann.  Das eigentliche 
Datenpaket ist nur 32 Bytes klein, 8 Floats.

von Thorsten M. (cortex_user)


Lesenswert?

Cyblord -. schrieb:
> Du kannst auch einfach UDP Pakete versenden und empfangen. Das wäre
> logischer.
> Oder MQTT machen.

Neues Fass, muss ich mich erst mit befassen. Nur Halbwissen und kein 
Wissen vorhanden.

von Thorsten M. (cortex_user)


Lesenswert?

Thomas W. schrieb:
> Wo ist das Problem?

Wie würde das denn aussehen? Ich kenen nur die wifi Schnittstelle des 
8266 und habe mit der mal einfache Sachen gemacht, also Webseiten (ohne 
https) auslesen und Zeile für zeile durchsuchen nach etwas.

Können die esp32 darüber miteinander reden? Oder brauchen die noch eine 
Fritzbox DHCP, Zertifikate, usw. ?

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:
> Neues Fass, muss ich mich erst mit befassen. Nur Halbwissen und kein
> Wissen vorhanden.

Scheint bei dir eher die Regel als die Ausnahme zu sein.

von Wolfgang (Gast)


Lesenswert?

Thorsten M. schrieb:
> 4KB Datenhistorie über eine Woche und mehrere Messstellen....wobei die
> auch auf dem Zielrechner gebildet werden kann.

Wie wahr

> Das eigentliche Datenpaket ist nur 32 Bytes klein, 8 Floats.

Das Float-Format ist für die Daten auch ziemlich unsinnig. Die Dynamik 
geben deine Sensoren gar nicht her.
Wenn die Sensoren echte 16 Bit schaffen würden, wäre das schon 
bemerkenswert.

von Thorsten M. (cortex_user)


Lesenswert?

Cyblord -. schrieb:
> Thorsten M. schrieb:
>> Neues Fass, muss ich mich erst mit befassen. Nur Halbwissen und kein
>> Wissen vorhanden.
>
> Scheint bei dir eher die Regel als die Ausnahme zu sein

Verlasse diesen Thread bitte und komme nicht wieder. Ich lege kein Wert 
auf Dein Wisen. Danke!

von Thorsten M. (cortex_user)


Lesenswert?

Wolfgang schrieb:
> Das Float-Format ist für die Daten auch ziemlich unsinnig. Die Dynamik
> geben deine Sensoren gar nicht her.

Das ist schon klug durchdacht worden. Mitteilung, ein ADC statt die 
schlechten Wandler des Esp32, Umrechnung der Stromsensoren Spanning, 
offset Abgleich usw. Ich verwende da Industrie Ware auf HiHutschiene. Da 
muss ich nicht mehr dran.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:

> Verlasse diesen Thread bitte und komme nicht wieder. Ich lege kein Wert
> auf Dein Wisen. Danke!

Macht ja nichts.

Du solltest dich dringend mit Netzwerkgrundlagen beschäftigen. Deine 
Fragen zeigen dass auch hier praktisch kein Wissen vorhanden ist.
Das sollte man aber haben, wenn man Daten übertragen will. Ganz 
allgemein gesprochen. Heute macht man eben Netzwerk und auch falls man 
mal eine andere Funkstrecke dazwischen haben sollte, am Ende ist da 
irgendwo wieder ein Gateway ins Netz.
Also arbeiten an den Grundlagen, dann kannst du irgendwann mal sinnvoll 
so ein Projekt angehen. Heute eben noch nicht.

von Wolfgang (Gast)


Lesenswert?

Thorsten M. schrieb:
> Ich verwende da Industrie Ware auf HiHutschiene.

Respekt - was hat das Datenformat mit dem Gehäuse zu tun?
Wenn dein

> Mitteilung, ein ADC statt die schlechten Wandler des Esp32

Wenn dein Wandler utopische echte, rauschfreie, effektive 16 Bit 
Auflösung mit einer Genauigkeit von ebenfalls 16 Bit schafft und du 1024 
Werte mittelst, hat dein Mittelwert, gemessen am SNR eine nutzbare 
Auflösung von 21 Bit und eine Genauigkeit von 16 Bit. Besser wird es 
nicht, egal was deine Industrieware da rumzaubert.

von Maxe (Gast)


Lesenswert?

Thorsten M. schrieb:
> Muss einfach sein! SPI oder I2C und fertig. Die Datenübertragung soll
> automatisch laufen, Prüfsumme etc alles fertig sein, ggf.
> Mehrfachsendung.

> Target ist meine Visualisierung, die wohl ein Netbook sein wird, wo über
> Funk+RS232 die Daten reinkommen als Array Pakete,

Hallo,
das TCP-Protokoll wurde kompatibel zur seriellen Schnittstelle 
entworfen. D.h. auf der Sendeseite uebergibt man der TCP-Bibliothek 
Daten, die auf der Empfaengerseite dann Byteweise "rausfallen". (TCP 
kennt keine Pakete). Die Datenuebertragung ist also genauso einfach oder 
kompliziert wie bei einer seriellen Schnittstelle, d.h. man benoetigt 
ein eigenes Protokoll, aber im Gegesatz zur Seriellen garantiert TCP, 
dass alle Daten korrekt empfangen wurden, durch Pruefsummen und ggf. 
mehrmaliges Senden.

Vielleicht lohnt sich ja die kurze Einarbeitung?

von Thorsten M. (cortex_user)


Lesenswert?

Maxe schrieb:
> Vielleicht lohnt sich ja die kurze Einarbeitung?

ja, es ist sehr einfach ... mal aus der Hüfte eben in VB.net

Dim client As New TcpClient("192.168.0.XXX", port)
Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes("Hello 
World")
Dim stream As NetworkStream = client.GetStream()
stream.Write(data, 0, data.Length)

Einfach den Kanal aufmachen zum Ziel und dann alle Arten von Daten 
rüberschieben.... wie die dahin kommen ist Sache des TCP/IP Stacks, muss 
man nicht wissen. Und alles abgesichert, jedes Bit wird geprüft.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:
> Einfach den Kanal aufmachen zum Ziel und dann alle Arten von Daten
> rüberschieben.... wie die dahin kommen ist Sache des TCP/IP Stacks, muss
> man nicht wissen. Und alles abgesichert, jedes Bit wird geprüft.

Ja, das ist Sinn und Zweck eines Protokolls wie TCP/IP.
Trotzdem sollte man schon eine Ahnung davon haben was da im Hintergrund 
abgeht. Auch IP-Adressen, Netzwerkmasken, Subnetze usw. sollten jetzt 
keine Fremdwörter sein. Dann läuft das.

von Thorsten M. (cortex_user)


Lesenswert?

Cyblord -. schrieb:
> Ja, das ist Sinn und Zweck eines Protokolls wie TCP/IP.
> Trotzdem sollte man schon eine Ahnung davon haben was da im Hintergrund
> abgeht. Auch IP-Adressen, Netzwerkmasken, Subnetze usw. sollten jetzt
> keine Fremdwörter sein. Dann läuft das.

Das Thema ist soweit fertig. Ich werde auf Anraten eines Kollegen 
HomeAssistant verwenden, wo ESP32 in eine Oberfläche auf einem Raspi 
eingebunden werden und per Smartphone Visualisierungen anzeigbar sind. 
Er hat das alles schon fertig und es sieht sehr gut aus. Gibt es alles 
fertig und man muss das Rad nicht mehr neu erfinden.

https://omarghader.github.io/how-to-connect-esp32-esphome-to-home-assistant/

von Cyblord -. (cyblord)


Lesenswert?

Thorsten M. schrieb:
> Gibt es alles
> fertig und man muss das Rad nicht mehr neu erfinden.

Nun das Rad wolltest du mit einer proprietären Funkstrecke neu erfinden.

von Felix W. (fhwe)


Lesenswert?

Der Vollständigkeit halber: Dein Wechselrichter wird doch wohl im Netz 
hängen, allein schon aus Supportgründen. Mit sehr hoher 
Wahrscheinlichkeit wird er sich direkt in HomeAssistant einbinden 
lassen. Da er ebenfalls sehr wahrscheinlich den Ladevorgang des 
Akkuspeichers steuert, kennt er dessen Zustand und liefert diesen an 
HomeAssistant.
Zumindest bei meinem Kostal Wechselrichter ist das so, da ist keinerlei 
Schatten-IT mit ESP32 nötig für diese Requirements.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

UDP wurde ja schon erwähnt.

Es gibt einfach zu verstehenden Code für ESP32 und ESP8266 um UDP zu 
senden und zu empfangen. Auch wenn UDP selbst keinen Handshake vorsieht, 
kann man locker "eine Ebene höher" selber einen implementieren.

Wir senden damit für ein Kundenprojekt extrem zuverlässig Messwerte bis 
zu 5mal pro Sekunde über mehr als 200m ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.