Machbarkeit des Auslesens von 1-Wire DS1820

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Forum,

    bin über den Raspberry Pi gestoßen und wollte nun gern einmal von euch wissen, ob mein Vorhaben so umsetzbar ist.

    Ich möchte über einen USB Buskoppler (siehe hier) verschiedene 1-Wire DS1820 Sensoren ansteuern und auslesen. Dieser soll direkt an den Pi angeschlossen werden. Dann möchte ich die Werte gern einzeln auslesen können und auf einem Display ausgeben. Ich habe hier noch so ein Standard LCD-Display liegen (glaube das ist so eins hier). Darauf sollen nacheinander die einzelnen Sensoren mit den jeweiligen Werten ausgegeben werden. Außerdem möchte ich gern per Webinterface die Werte aktuell auslesen und graphisch darstellen können.

    Ist das alles möglich? Wenn ja, wie schätzt ihr den Aufwand ein? Wichtig ist mir vor allem zu wissen, ob ich relativ unproblematisch den Buskoppler in Betrieb nehmen kann. Und wie man das LCD anschließen kann, damit kenne ich mich leider nicht aus.

    Der Pi soll dann Tag und Nacht durchlaufen und die Werte auslesen. Ist das problemlos möglich? Oder gibt es Probleme mit der Wärmeabfuhr etc.?

    Danke und Gruß,
    Stefan

  • Eigendlich brauchst Du keinen USB Buskoppler, Du kannst die Sensoren direkt an den GPIO Port anschließen. Oder brauchst Du unbedingt eine galvanische Trennung? Dein Vorhaben sollte sich relativ problemlos umsetzen lassen und um die Wärmeabfuhr brauchst Du dir eigendlich keine Gedanken machen, wenn Du den RPi nicht übertakten willst.

    Wenn Du den USB Buskoppler aber unbedingt einsetzen willst, könnte es eventuell Probleme mit diesem unter Linux geben.

    Einmal editiert, zuletzt von Fliegenhals (31. Juli 2013 um 22:46)

  • Danke für die Info.

    Den Buskoppler habe ich schon, da von diesem ausgehend 2 Leitungen zu jeweils einem Switch gehen. Von diesen Switches gehen dann die jeweiligen Sensoren weg, das ist alles bereits verlegt. Bisher lief das alles auf einem normalen Windows PC, ich würde aber gern auf den Pi umsteigen. Daher meine Frage nach dem Buskoppler.

    Was heißt eventuell Probleme?

  • Hallo Stefan,

    ob das 1-Wire Sensoren oder hydraulische Baggerarme sind, ist durch diesen Buskoppler imho vollkommen irrelevant.
    Ohne eine Schnittstellen-Beschreibung, wie Du die Sensoren ansprichst, kommst Du da meines Erachtens nicht weiter.

    und ja: Du kannst 1-Wire mit dem RPi fahren,
    und ja: das geht auch mit mehreren
    und ja: es ist möglich die Werte per Web anzuzeigen - auch grafisch (da findest Du hier auch einige Projekte dazu)
    und ja: Du kannst das auf einem LCD ausgeben. Ob Deines passt, kann ich nicht sagen. Das müsstest Du recherchieren.
    Hinweise und Anleitungen für den Anschluss von LCDs findest Du hier und evtl. auch hier.
    und ja: Du kannst den RPi 24/7 laufen lassen.
    und nein: Du wirst imho keine thermischen Probleme bekommen.

    Wie hoch der Aufwand ist, hängt u.a. davon ab, wie gut, wie motiviert und wie lernfähig Du bist.
    Themen sind dabei Linux, Programmierung, Elektronik.

    Grüsse aus dem Königreich,
    -ds-

  • Bei den meisten 1 Wire Projekten werden die Sensoren direkt an die GPIO Port des RPi angeschlossen. Für die 1 Wire Unterstüzung muß ein entsprechendes Kernelmodul geladen werden. ( Dies ist z.B. bei raspbian wheezy schon dabei ) Falls Du nun den Buskoppler verwendest, muß dieser als erstes vom System richtig erkannt werden und dann muß ja auch noch die Komunikation mit dem 1 Wirebus funktionieren. Es stellt sich halt die Frage, inwieweit der Buskoppler Linux kompatibel ist.

    Einmal editiert, zuletzt von Fliegenhals (31. Juli 2013 um 23:05)


  • und um die Wärmeabfuhr brauchst Du dir eigendlich keine Gedanken machen, wenn Du den RPi nicht übertakten willst.

    Einspruch, momentan waren ja über 30°C hier, im Gehäuse und im Schrank wurde der PI sehr instabil, auch Kühlkörper auf den Chips und Zurücknahme der moderaten Übertaktung brachte nur kurzzeitige Besserung, also "keine Gedanken" kann ich nicht bestätigen. (es könnte natürlich nicht am PI liegen sondern an der SD oder gar am Juli Update -> raspbmc, aber das weiss ich nicht)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (1. August 2013 um 08:40)

  • Na dann solltest Du mal deinem RPi ein schattiges und kühles Plätzchen suchen. Ich frag mich gerade, was die Leute in Afrika so tagsüber mit ihren RPi's anstellen, wenn es dort so warm ist. ;)

    Einmal editiert, zuletzt von Fliegenhals (1. August 2013 um 09:47)


  • Na dann solltest Du mal deinem RPi ein schattiges und kühles Plätzchen suchen. Ich frag mich gerade, was die Leute in Afrika so tagsüber mit ihren RPi's anstellen, wenn es dort so warm ist. ;)

    schattig ja, kühl relativ, ich bekomme die Wärme nicht mehr aus dem Mauerwerk, wie gesgt Hitzewelle, im Wohnzimmer ist zwar kühler als draussen, aber der PI steht im Schrank und bekommt seine Wärme kaum weg, ich werde aber kein Netzwerkkabel (mit PoE) und Video, Audio Kabel in die Tiefkühltruhe legen :baeh2:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (1. August 2013 um 12:07)

  • Danke schon einmal für die zahlreichen Antworten!

    Ich werde dann wohl mal einen Pi ordern und schauen, wie das anläuft. Ich hoffe ich finde einen Treiber welcher den Buskoppler mit dem Chipsatz unterstützt. Danach werde ich mich auf die Suche nach dem Anschluß des Displays machen.

    So ein Breadboard wie hier brauche ich aber nicht zwingend oder? Will das Display ja direkt an den GPIO Port hängen. Ganz toll finde ich auch das LCD von hier, allerdings ist der Preis im Vergleich zum Pi inakzeptabel.

    EDIT: Ich habe jetzt noch das Display hier gefunden, dieses könnte ich ja direkt auf den Pi aufstecken. Somit bräuchte ich keine Verkabelung etc. für das bereits vorhandene machen. Passt das dann alles noch in die normalen Gehäuse? Würde dann das Plexiglas Gehäuse von
    Adafruit nehmen.

    Gruß, Stefan

    Einmal editiert, zuletzt von inf (2. August 2013 um 22:46)

  • [font="sans-serif"]Moderates Übertakten scheint wohl nicht so sinnvoll zu sein, wenn das zu Instabilität führt.[/font]

    [font="sans-serif"]Ich nehme für mein 1Wire-Zeug einen USB-Stöpsel namens DS9490R und so Telefonkabel mit Westerstecker für den ersten Abschnitt und dann 3-poliges Kabel ohne Abschirmung.[/font]

    [font="sans-serif"]Bei mir laufen diverse Raspberrys ständig, einer wie gesagt jetzt bereits 75 Tage, ohne Kühlkörper, ohne Spezialbehandlung, im Plastikgehäuse.[/font]
    [font="sans-serif"]Was richtig Ärger gemacht hat waren Speicherkarten mit plötzlichen Schreib/Lesefehlern, Hersteller Kingston, aber das sagt vermutlich nichts aus.[/font]
    [font="sans-serif"]Was der Raspberry auch nicht mag, ist eine müde Stromversorgung und zu viel Stromverbrauch auf den USB-Anschlüssen.[/font]

    [font="sans-serif"]Schönen Tag noch.[/font]

  • Update: Pi ist angekommen und auch schon einem Probelauf unterzogen. Habe ihn soweit konfiguriert und mit meinem Nexus Netzteil in Betrieb genommen. Als OS ist jetzt erst einmal Soft-float Debian “wheezy” auf der SD.

    Wo ich sehr überrascht war ist die Erkennung des Buskopplers. Er wird am USB erkannt und angeschlossene Sensoren lassen sich mit digitemp einwandfrei auslesen. Damit ich die Stabilität testen kann, habe ich jetzt erst einmal einen Cronjob eingerichtet, welcher über ein Shell-Script digitemp aufruft. Die Temperaturen der Sensoren werden dann in ein Logfile geschrieben. Jetzt werde ich ihn erst einmal ein paar Tage laufen lassen und hoffen, dass alles passt. Danach kommen dann die bereits vorhandenen restlichen Sensoren dran.

    Bis jetzt bin ich sehr angetan :), ich glaube der Kauf war eine sehr gute Entscheidung.

    Todo:
    - Stabilität testen
    - Speicherung der Werte in mysql db
    - grafische Oberfläche für digitemp
    - Pi ins LAN hängen
    - Display

    Was muss ich bezüglich Sicherheit beachten, wenn ich den Pi ins Netz hängen will?

    Gruß, Stefan

  • So, mal wieder ein Update.

    Todo:
    - Stabilität testen
    - Speicherung der Werte in mysql db
    - grafische Oberfläche für digitemp
    - Pi ins LAN hängen
    - Display

    Display ist bestellt. Habe mich jetzt für ein Adafruit 16x2 Blue/White entschieden. Dies hat den Vorteil das man es direkt auf den Pi stecken kann und somit noch einigermaßen in ein Gehäuse passt. Außerhalb wollte ich es nicht haben, da ich das gesamte Modul später unterbringen will und das Display da nicht extra wo rumhängen soll.

    Das Thema Stabilität ist bis jetzt die größte Herausforderung. Ich habe jetzt zum Test den Buskoppler mit einem Hub und zwei DS1820 dran hängen. Die Dinger liefen beim Test in einem separaten Raum 3 Tage wunderbar. Nachdem ich sie aber fest verlegt hatte und sie in ihrer Zielbestimmung untergebracht waren, fingen die Probleme an. Nach einer undefinierten Zeit findet der Pi den Buskoppler nicht mehr. Ich bin mir nicht sicher ob dies durch äußere Störeinflüsse geschieht. Die Kabel vom Sensor bis zum Hub sind jeweils Cat5. Nun bin ich am Testen woher diese eventuellen Störgrößen kommen und damit den Buskoppler durcheinander bringen.

    Ich bin aber zuversichtlich dass das ganze Projekt erfolgreich fertiggestellt wird. Vom Pi kann ich bisher nix negatives sagen. Einzig gestern Abend hat er beim SSH Zugriff ewig lang gebraucht, bis er Befehle entgegen genommen hat. Keine Ahnung was das genau war, heute lief er wieder super. Ein Check der Prozesse hat auch nix auffälliges ergeben.

    In das LAN habe ich ihn jetzt mit einem noch vorhandenen Belkin WLAN Stick gehangen. Hat auch soweit gut funktioniert, lediglich die Konfiguration für das Netzwerk musste natürlich angepasst werden. Achja, wer sein Pi im Netz etwas absichern will: hier und hier.

    Ich melde mich wieder :)

    Einmal editiert, zuletzt von inf (13. August 2013 um 22:03)

  • Nach langer Zeit auch von mir wieder ein Update.

    [font="Tahoma, Verdana, Arial, sans-serif"]Todo:[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- Stabilität testen[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- Speicherung der Werte in mysql db[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- grafische Oberfläche für digitemp[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- Pi ins LAN hängen[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- Display[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]- Kamera[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Das Adafruit Display hängt nun ebenfalls am Pi. Der Zusammenbau ist schon ein bisschen Arbeit, lässt sich aber mit etwas Geschick gut löten und bestücken. Die mitgelieferten Beispiel Scripte ermöglichen eine schnelle Inbetriebnahme[/font][font="Tahoma, Verdana, Arial, sans-serif"].[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Zum Thema Stabilität gibt es positives zu berichten. Ich musste nun Platz bedingt den Pi versetzen und brauchte nun eine aktive USB-Verlängerung. Seit dem diese dazwischen hängt, läuft der Pi super! Derzeit läuft er seit 45 Tagen ohne Unterbrechung und Neustart. Daher ist dieses Thema für mich erfolgreich abgeschlossen :) [/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Außerdem habe ich noch das Pi Kamera-Modul installiert. Funktioniert soweit auch gut, allerdings habe ich am Anfang etwas gezweifelt. Sobald ein Zugriff auf die Kamera stattfand, hat sich der Pi gefreezt. Habe dann relativ schnell rausgefunden, dass beim Zugriff kein aktiver Prozess laufen darf, welcher das LCD anspricht. Da ich aber stetig einen Prozess laufen habe welcher das LCD ansteuert, musste dieser eben beendet werden, wenn die Kamera angesprochen wurde.[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Ich habe nun per Script einige Tasten auf dem LCD-Modul direkt belegt, so dass ich ohne SSH Zugriff schauen kann, wie lang der Pi online ist, einen reboot auslösen usw.[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Alles in allem eine bisher wirklich super Sache, vor allem bei der derzeitigen Stabilität. Wenn das so weiter läuft werde ich darüber nachdenken, einen zweiten Pi so aufzubauen und in Betrieb zu nehmen :)[/font]

    Was ich mir für die Zukunft noch wünschen würde, wäre ein paar Feuchtigkeitssensoren mit an den Pi zu hängen, so dass man auch die Luftfeuchte auslesen kann. Gibt es da Sensoren, bzw. hat jemand Erfahrung damit?

    Einmal editiert, zuletzt von inf (31. Dezember 2013 um 01:45)

  • Mal wieder ein Update. Ich musste nun den PI nach 192 Tagen! das erste mal neu starten. Somit ist das Thema Stabilität für mich erst einmal erledigt.

    Derzeit habe ich mir einen zweiten PI besorgt und baue diesen ähnlich auf wie den bereits bestehenden. An diesem bin ich nun dabei, mehrere DHT22 Sensoren zu testen, sowie die Möglichkeit Funksteckdosen zu schalten. Die Steckdosen habe ich bereits erfolgreich getestet, auch wenn die Reichweite noch zu wünschen übrig lässt. Hat jemand eine elegantere Lösung, außer einen Draht auf die Platine zu löten? Es geht hier um die bei Eb*y verbreiteten China 433 MHz Platinen.

    Kann mir jemand sagen, ob und wie ich mehrere DHT22 am PI verwenden kann? Reicht es wenn diese sich die 3,3V und GND teilen und jeder einzelne Sensor dann einen GPIO Pin für Data bekommt, so das wiringPi damit umgehen kann?

Jetzt mitmachen!

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