Arduino serielle Daten auslesen

  • Es gibt ja hier für alles Spezialisten, deshalb mal meine Frage.

    Ich möchte aus der seriellen Schnittstelle meines Heizöltank-Messgerätes die Daten auslesen und in ioBroker verarbeiten.

    Das Messgerät und der ioBroker raspberry stehen an unterschiedlichen Plätzen.

    Durch viel googlen bin ich auf die Idee gekommen, einen Arduino anzuschließen, und dort einen Webservice drauf laufen zu lassen, dessen einzige Aufgabe es ist, die Daten auszugeben.

    Irgendwie bringe ich das dann schon in ioBroker rein....

    Ich hab nun aber gar keine Ahnung vom Arduino, deshalb meine Frage:


    Was brauche ich dafür an Hardware?

    - Einen Arduino (welchen)

    - ein Wlan-Shield (welches?)

    - irgendwas um die Schnittstelle anzuschliessen ?

    - Stromversorgung (5V geregelt hätte ich aus dem Ölmesser)

    - Womit programmiere ich den Arduino?

    Was noch ???

    Soll ich gleich ein Einsteiger-Kit kaufen (mit einem Haufen Zeug, was ich nicht brauche) ?


    Vielen Dank schonmal für eventuelle Antworten.

    VDR1: Asus q1900 Pro M, 2GB, Cine2 Dual DVB S2,Atric USB, yaVDR 0.6 stable, Gehäuse Modushop CD21

    VDR2: RaspBerry Pi2 mit MLD 5.3 als Client
    Ausgemustert: VDR: ASUS M2N-SLI,2GB, TT1600, Zotac GT210, yaVDR 0.4 im Mozart SX Gehäuse, Atric
    Ausgemustert: VDR: Activy 300 , FF Fusi 1.3 + , Celeron 1100, Gen2Vdr AE (momentan defekt)

    Ausgemustert: VDR: Lintec Senior Gehäuse,Technotrend 1.6, Siemens D1215 Mainboard mit Celeron 1000,Pabst Lüfter, EasyVDR 0.5, KäptnKoma Display 260x64,Schäfer Front (ausgemustert)

  • Welche Spannung brauchst du für die Serielle Schnittstelle bzw. geht es um RS-232 oder etwas anderes? Wie man das mit einem Pegelwandler an den Arduino hängen kann, wird z.B. hier beschrieben: https://www.arduino.cc/en/Tutorial/ArduinoSoftwareRS232


    Du könntest dir auch mal die ESP32 (bzw. ESP8266) Boards ansehen, die haben WLAN schon an Board, mehr Speicher und es gibt viele Beispiele für die Nutzung mit MQTT.


    Der Arduino läuft mit 5V, die ESP-Boards üblicherweise mit 3.3V

    - Womit programmiere ich den Arduino?

    Der einfachste Weg dürfte die Arduino IDE sein, die bringt alles mit, was nötig ist bzw. ermöglicht es recht bequem fehlende Komponenten nachzuinstallieren. Viele ESP32/ESP8266-Boards kann man damit ebenfalls programmieren. In Endeffekt ist das C++ mit speziellen Hilfsfunktionen, die den Zugriff auf die Hardware vereinfachen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Laut Beschreibung hier handelt es sich um eine TTL Schnittstelle mit 0-5 V.

    Der Anschluss am Gerät selber stellt ebenfalls 5V zur Verfügung, dann bräuchte ich keine extra Stromversorgung.

    Ist ein ESP8266 auch ein Arduino mit Zusatzfunktionen ? Ich hab am Wochenende erst begonnen, mich da einzulesen....

    VDR1: Asus q1900 Pro M, 2GB, Cine2 Dual DVB S2,Atric USB, yaVDR 0.6 stable, Gehäuse Modushop CD21

    VDR2: RaspBerry Pi2 mit MLD 5.3 als Client
    Ausgemustert: VDR: ASUS M2N-SLI,2GB, TT1600, Zotac GT210, yaVDR 0.4 im Mozart SX Gehäuse, Atric
    Ausgemustert: VDR: Activy 300 , FF Fusi 1.3 + , Celeron 1100, Gen2Vdr AE (momentan defekt)

    Ausgemustert: VDR: Lintec Senior Gehäuse,Technotrend 1.6, Siemens D1215 Mainboard mit Celeron 1000,Pabst Lüfter, EasyVDR 0.5, KäptnKoma Display 260x64,Schäfer Front (ausgemustert)

  • Ist ein ESP8266 auch ein Arduino mit Zusatzfunktionen ?

    Arduinos basieren größtenteils auf 8-bit AVR Microcontrollern - vlg. auch https://de.wikipedia.org/wiki/Arduino_(Plattform)#Hardware.


    Der ESP8266 bzw. der neuere ESP32 sind Microcontroller mit 32-Bit Kernen vom Hersteller Espressiv, die für IoT-Anwendungen nützliche Dinge wie WLAN und Bluetooth LE mitbringen und oft günstiger zu bekommen sind als die offiziellen Arduino-Boards. Neben der Integration in die Arduino-IDE mit dem C++ Dialekt kann man damit auch "einfachere" Sprachen wie Micropython nutzen, was die Entwicklung ggf. vereinfachen kann, weil man nicht für jeden Schritt die Firmware neu flashen muss, sondern viel Interaktiv ausprobieren kann - damit kann man Effizienz gegen geringeren Entwicklungsaufwand eintauschen, was bei einem Projekt, das nicht mit Batterien betrieben wird und relativ wenig Daten durchsetzen muss, praktisch sein kann.


    Für Mikrocontroller, die mit 3,3V laufen, bräuchte man dann noch einen TTL-Pegelwandler von 5V auf 3,3 V - die gibt es auch fertig bestückt auf einer Platine mit Steckpfosten für ein paar Euro.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Du hast gute Chancen, dass dein "Pegelwandler" einfach aus zwei Widerständen besteht (Spannungsteiler von 5V auf ca. 3,3V). Die "Sendeleitung" zum Gerät lässt du entweder weg oder du hängst die 3,3V-Sendeleitung dran. Du hast gute Chancen das 3,3V vom 5V-Eingang als "High" erkannt werden.


    Zumindest von dem her dürfte ein Anschluss von einem ESP32 schon machbar sein.


    Den Spannungsausgang würde ich garnicht verwenden. Für eigene Basteleien lieber ein externes Netzteil nehmen!


    Ganz andere Idee, wenn dir Linux und Raspberry eher liegt: USB auf UART-Adapter und einen Raspberry direkt ans Messgerät bauen. Auf dem kannst du dann scripten mit was auch immer du Lust hast.

  • bitte richtig lesen,

    wenn Bauteile gekauft werden müssen, bist Du in D. immer mit 3 - 4 Euro dabei. Selbst wenn Du zum großen "Zeh" mit dem Auto vorfahren kannst. Die Chinamänner liefern das kostenlos ins Haus um den halben Erdball. KA wie die das hinkriegen, aber für viele Dinge lohnt sich das selber basteln einfach nicht mehr.

  • Das klingt nach einem ESP8266. Der neuere ESP32 bringt dir bei deinem Projekt keine Vorteile, aber kostet meist mehr.


    Nach meinen Erfahrungen sind allerdings die esp mit mehr Debugging verbunden. Einige IO Pins funktionieren nicht mit der Arduino IDE, es gibt davon verschiedene Varianten und wenig Dokumentation. Wenn dir Zeit viel wert ist, dann bleib bei Arduino bzw. kompatibel mit Wifi Shield.

  • Hi,

    die ESP8266 boards sind ziemlich genau das, was Du suchst. Aber warum einen Webservice laufen lassen? Ich verwende hier mehrere schnellen Arduinos um serielle Geräte 1:1 über TCP-IP erreichbar zu machen.

    Wenn Du Dir z.B. einen Wemos D1 Board kaufst, dann bekommst Du einen ESP8266 mit schönen Stiftleisten und geregeltem Eingang im Arduino Uno Format, für den es dann auch ein schönes Hutschienengehäuse gibt. Da passt dann auch gleich der Pegelwandler und der passende serielle Stecker bzw. Buchse mit rein. Programmiert wird das ganze über die Arduino IDE oder wenn Du ein komplizierteres Projekt hast über Eclipse oder Visual Studio Code, die dann den vollen Komfort einer modernen IDE bieten, aber erstmal eingerichtet werden wollen.

    Nachdem Du in der jeweiligen IDE das ESP8266 Board und die passenden Libraries installiert hast findest Du bei den Beispielen für die ESP8266Wifi Bibliothek das Beispiel WifiTelnetToSerial, was Deine Aufgabe eigentlich ziemlich genau erfüllen sollte.

    Wemos D1 Board

    Passendes Gehäuse

    Pegelwandler mit 9-pol Buchse (vorausgesetzt, das Messgerät spricht RS-232. Ansonsten einen mit dem richtigen Ausgangspegel)

    Viel Spaß beim Basteln.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Also bei den Preisen kann man das wirklich mal ausprobieren. Kostet ja komplett weniger als eine große Schachtel Kippen.....

    Danke für die vielen Anregungen.

    VDR1: Asus q1900 Pro M, 2GB, Cine2 Dual DVB S2,Atric USB, yaVDR 0.6 stable, Gehäuse Modushop CD21

    VDR2: RaspBerry Pi2 mit MLD 5.3 als Client
    Ausgemustert: VDR: ASUS M2N-SLI,2GB, TT1600, Zotac GT210, yaVDR 0.4 im Mozart SX Gehäuse, Atric
    Ausgemustert: VDR: Activy 300 , FF Fusi 1.3 + , Celeron 1100, Gen2Vdr AE (momentan defekt)

    Ausgemustert: VDR: Lintec Senior Gehäuse,Technotrend 1.6, Siemens D1215 Mainboard mit Celeron 1000,Pabst Lüfter, EasyVDR 0.5, KäptnKoma Display 260x64,Schäfer Front (ausgemustert)

  • P.S. hat eigentlich außer mir niemand das Problem, dass die Antwortfunktion nur auf bestimmten Browsern funktioniert?

    Hier gerade in Safari problemlos, vom PC aus auf Chrome kann ich 10x absenden klicken, dann geht es vll einmal.

    VDR1: Asus q1900 Pro M, 2GB, Cine2 Dual DVB S2,Atric USB, yaVDR 0.6 stable, Gehäuse Modushop CD21

    VDR2: RaspBerry Pi2 mit MLD 5.3 als Client
    Ausgemustert: VDR: ASUS M2N-SLI,2GB, TT1600, Zotac GT210, yaVDR 0.4 im Mozart SX Gehäuse, Atric
    Ausgemustert: VDR: Activy 300 , FF Fusi 1.3 + , Celeron 1100, Gen2Vdr AE (momentan defekt)

    Ausgemustert: VDR: Lintec Senior Gehäuse,Technotrend 1.6, Siemens D1215 Mainboard mit Celeron 1000,Pabst Lüfter, EasyVDR 0.5, KäptnKoma Display 260x64,Schäfer Front (ausgemustert)

  • Passendes Gehäuse

    ist das wirklich passend für Dein verlinktes WeMos? das WeMos hat hat 68,6 × 53,3 (Uno Maß) ; das Yun hat 73 × 53


    Ansonsten würde ich bsw. bei Pollin schauen --> https://www.pollin.de/p/hutsch…e-fuer-arduino-yun-702285


    bei rsonline-privat.de kostet es 11,86 und Versand soll laut hier --> https://www.mikrocontroller.net/topic/407825


    wohl auch unverhältnismäßig hoch sein