Autonome Datenverarbeitung

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo, ich bin leider noch Neu in diesem Geschäft weshalb ich hier mal nach Hilfe frage.

    Und zwar sieht mein Projekt wie folgt aus. Ich möchte 7 verschiedene Sensoren (Sauerstoff,Kohlenstoff, Methan etc.) über ein Raspberry pi laufen lassen. Und die Daten anschließend per mail an mich weiterleiten. Da das Raspberry PI und die Sensoren auf einem Schiff unterwegs sein werden, möchte ich etwas Kontrolle per Fernwartung durchführen können.

    Meine Idee: Ich möchte die Sensoren, welche alle digitale Ausgänge haben, mit einem Switch verbinden und diesen wiederum mit dem Raspberry PI. Und hier komme ich schon nicht weiter, ich weiß nicht wie ich nun die Sensoren ansprechen kann bzw. auslesen kann. Die Programmiersprache soll Python werden (Wo ich leider auch noch Blutiger-Anfänger bin). Google und andere threads konnten mir bisher nicht helfen.

    :helpnew::helpnew:

    Danke fürs lesen/helfen. :)

  • Was stellst du dir denn in diesem Zusammenhang unter einem Switch vor?

    Wenn dir die Tausenden Beiträge hier im Forum nicht helfen konnten, hast du irgendwas falsch gemacht...

    Was für Sensoren sind das? Die haben doch eine bestimmte Art, wie sie angeschlossen und abgefragt werden (Schittstelle/Protokoll nennt man das). Entsprechend musst du sie anschließen. Bei Switch denke ich an einen Ethernet-Switch, was bedeutet, dass die Sensoren jeweils eine eigenen Netzwerkschnittstelle haben. Dann werden sie auch mit einem Protokoll aus der Internetwelt ansprechbar sein (also über TCP/IP).

    Wenn es die üblichen rohen Sensoren sind, dann sind die oft über One-Wire oder I2C oder ähnliche Schnittstellen anschließbar. Du kannst sie so direkt an den Pi hängen. Mehrere Sensoren dann meist als Bus oder Stern verkabelt.

    Das Hauptproblem ist wohl, dass du nicht eingreifen kannst, wenn einer der Sensoren spinnt und das System stört. Deshalb wäre es vielleicht praktikabler, die Sensoren in Module zu packen, die auch ein Laie austauschen kann und die dann über eine relativ robuste Verbindung angeschlossen werden. Vielleicht sogar per WLAN. Du könntest dann jeweils mehrere Module bauen und wenn eins ausfällt, einfach den Leuten an Board ausschalten und ein anderes dafür einschalten lassen (ist ja hoffentlich kein unbemanntes Schiff).

    Der Pi selbst könnte auch redundant sein.


    Wenn du uns mal die genauen Typen der Sensoren nennst, kann man das besser einschätzen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hast mal einen Link zu so einem Sensor?

    https://www.bodc.ac.uk/data/documents…0_3930_3975.pdf

    http://www.seabird.com/sbe63-optical-dissolved-oxygen-sensor

    Gnom Ja, mit Switch meinte ich einen Ethernet-Switch. Die Sensoren an sich haben keine Netzwerkschnittstelle, welche ich aber durch einen RS232-zu-Ethernet Adapter hoffentlich hinkriege. (Ich hoffe ich blamiere mich jetzt mit dem Vorhaben nicht)

  • Ja, mit Switch meinte ich einen Ethernet-Switch. Die Sensoren an sich haben keine Netzwerkschnittstelle, welche ich aber durch einen RS232-zu-Ethernet Adapter hoffentlich hinkriege.

    Wozu soll das gut sein? Am Pi die seriellen Signale in TCP/IP umwandeln, um sie dann am Gerät wieder in serielle zurück zu wandeln...? Was spricht denn gegen die direkte serielle Anbindung? Je nach Übertragungsrate kannst du da auch Kabel beinahe ohne Ende verlegen.

    Einziger Haken: Du brauchst mehrere serielle Schnittstellen. Laut Handbuch kann man aber Seriell2USB-Adapter anschließen. Du könntest die Sensoren dann per USB-Hub anbinden und über USB die benötigte Zahl virtueller Com-Ports bereitstellen.

    Oder du schaust dich nach einem Multiplexer um.

    Oder du hängst vor jeden Sensor einen µC mit serieller Schnittstelle und lässt die über I2C oder anderes mit dem Pi kommunizieren.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Ich hatte noch einen alten Switch den ich nicht mehr brauchte. Und da ich einen Verteiler für die ganzen Sensoren brauche, wollte ich den Switch dafür benutzen. Ich hab mal ein Skizze von meiner Idee angefertigt . Aufbau.pdf

    Aber wenn das zu Kompliziert ist. Werde ich wohl die Idee mit dem Seriell2USB-Adapter und dem USB-Hub benutzen.

    und über USB die benötigte Zahl virtueller Com-Ports bereitstellen

    Um auf Nummer sicher zu gehen. Du meinst das wie in der Skizze hier:Aufbau_2.pdf ?

    Die Stromversorgung muss dabei wahrscheinlich immer noch extern geschehen ?

    Danke für die Mühe:daumendreh2:

  • Wenn die Sensoren alle einen unterschiedlichen Befehlssatz verwenden und unbekannte befehle einfach per Echo wieder zurueckgeben, dann kann man alle Sensoren auch an einen RS232 Ring-Bus zusammenschalten und dann direkt an den Raspi, also ohne RS232-USB-Umsetzer. Das geht aber nur unter der og Bedingung.

  • Was hast du denn überhaupt für ne Infrastruktur auf dem Schiff? Liegen da schon Cat5-Kabel? Wie weit sind die Sensoren vom Pi weg?

    Es gibt Ethernet2Seriell-Adapter - aber meine Erfahrungen mit billigen Adaptern sind mäßig - liegen aber auch schon ein paar Jahre zurück. Bidirektional gehts meistens gar nicht. Es gibt auch Profilösungen - aber die kosten...

    Nein, ich meine nicht UART auf USB und wieder zurück, sondern direkt am Pi an USB und softwareseitig serielle Ports über USB bereitstellen. Das Gleiche wie du es mit Ethernet machen willst, nur als USB. Und die USB2Seriell-Adapter direkt hinter den Hub und dann mit hgw seriellen Kabeln zu den Sensoren.

    Die Stromversorgung ist eh ein Problem... Wenn die Sensoren mit einem herkömmlichen seriellen Anschluss arbeiten, dürften Sie 12 V verlangen. Das würde der Pi weder liefern noch als Eingangssignal verkraften.

    Wenn du handwerklich und elektronisch begabt bist, kannst du dir vielleicht einen Multiplexer selbst bauen... samt Umsetzung von 3,3 V auf 12 V.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Mir fällt gerade noch ein, daß man ja mit einfachen GPIOs auch eine RS232 realisieren kann, man muss nur einen Treiber dafür schreiben bzw. anpassen. Pro RS232 Schnittstelle bräuchte es dann 2 GPIOs, also kann man an den Pi ja doch mehrere Sensoren gleichzeitig anschliessen. Evtl. muss man die Datenrate auf 1200 baud runtersetzen, aber die Sensoren liefern ja nur ganz wenige Daten, so dass das kein Problem sein sollte. Wenn man die Pins mit ca. 1 MHz abfragen kann, gehts auch vielleicht aus einem normalen C-Programm heraus schnell genug. Müsste gehen...

  • Mir fällt gerade noch ein, daß man ja mit einfachen GPIOs auch eine RS232 realisieren kann [...]

    Evtl. muss man die Datenrate auf 1200 baud runtersetzen [...]. Wenn man die Pins mit ca. 1 MHz abfragen kann, gehts auch vielleicht aus einem normalen C-Programm heraus schnell genug. Müsste gehen...

    Das müsste sogar mit Python gehen. Die Sensoren müssen ja nicht gleichzeitig angesteuert werden. Und 1200 baud dürften kein Problem sein. Das wäre sowieso mein erster Ansatz, wenigstens erst mal einen Sensor an den Pi zu hängen und auszuprobieren, wie er sich ansprechen lässt. Wenns mit einem klappt, gehts auch mit mehr.

    Bleibt nur noch die 12 V-Problematik.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Was hast du denn überhaupt für ne Infrastruktur auf dem Schiff?

    Die Sensoren werden eine max. Entfernung von etwa 5m zu dem Pi haben, aber eher 1-2m. Die Internetverbindung wird über wohl über W-Lan laufen.

    nd dann mit hgw seriellen Kabeln zu den Sensoren

    Die Bezeichnung hgw-Seriell sagt mir leider nichts.

    Wenn du handwerklich und elektronisch begabt bist, kannst du dir vielleicht einen Multiplexer selbst bauen... samt Umsetzung von 3,3 V auf 12 V.

    Hier meinst du direkt von dem RS-232 auf den Multiplexer und die Signale mit einem Spannungsteiler anpassen ?

    Diese Variante klingt aber erstmal Komplizierter. Eine Kombination mit USB-hub und Spannungsteiler ist das Möglich ?

  • Mir fällt gerade noch ein, daß man ja mit einfachen GPIOs auch eine RS232 realisieren kann, man muss nur einen Treiber dafür schreiben bzw. anpassen. Pro RS232 Schnittstelle bräuchte es dann 2 GPIOs

    Meinst du damit die Normalen GPIOs vom Raspberry oder zusätzlich GPIOs bzw. einen Serial Port to TTL Digital Converter. Wenn du die Standard-GPIO-Leiste meinst wäre das natürlich ein ziemlich einfacher weg (wenn das Treiber schreiben nicht allzu kompliziert ist).

    Bleibt nur noch die 12 V-Problematik.

    Die meistens Sensoren haben eine 12V Eingangsspannung. Kann man diese nicht einfach durch einfache Lötarbeiten extern mit einem Netzteil verbinden?

  • Die meistens Sensoren haben eine 12V Eingangsspannung. Kann man diese nicht einfach durch einfache Lötarbeiten extern mit einem Netzteil verbinden?

    Das "Problem" ist, dass du am Raspberry Pi maximal 3,3 V Signale an den GPIOs anlegen darfst

  • Auf TTL (bzw. 3.3V) musst Du das RS232 Signal natuerlich vorher konvertieren, da gibt es keinen Weg drumherum. Ist aber nicht so schwierig, da es dafuer fertige Chips gibt. Mit ein wenig Lötarbeit/Platine bist Du dabei. Du musst nur abschaetzen, ob Du wenig Geld oder wenig Zeit hast. Danach richtet sich dann die Wahl der Lösung.

  • Das müsste so funktionieren oder hab ich wieder etwas übersehen?

    Ich bin jetzt ungefähr soweit:Aufbau_3.pdf Das müsste so funktionieren oder hab ich wieder etwas übersehen?

    Im Prinzip ja... Setz die Konverter möglichst nah an den Pi, damit du auf den langen Leitungen 12 V hast - ist weniger störanfällig als 3,3 V.

    Würde sowas z.B. gehen? Spannungsteiler

    Ein Stepdown-Converter ist was ganz anderes... eher so ne Art "Trafo".

    Du musst dein Datensignal, dass von den Sensoren mit 12 V kommt auf 3,3 V runterbringen. Beim Eingangssignal könntest du das noch mit einem Spannungsteiler machen. Aber dein Ausgangssignal muss ja umgekehrt von 3,3 auf 12 V gebracht werden. Und das Ganze im Takt des gesendeten/empfangenen Signals. Dafür verwendet man sogenannte Level Shifter. Für 3,3 auf 12 V sind die aber unüblich. Schau mal, ob du einen findest. Sonst könntest du probieren, ob einer, der für 5 V auf 12 V vorgesehen ist, auch mit 3,3 funktioniert. Oder selbst basteln.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!