Verschiedene Sensoren auf 1 GPIO Pin

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

    ich habe 1-Wire Sensoren DS18B20 bei meinem Pi am laufen. Nun soll noch der Sensor DTH 11 hinzugefügt werden, da dieser relativ einfach den Luftdruck ermittelt. Genutzt habe ich folgende Anleitung klick Hier.

    Nur leider nutzt der ebenfalls GPIO4 / Pin 7. Hat diesen Sensor sonst jemand schon benutzt? Und kann man den auch auf einem anderen Pin "einfach" packen? Oder stört es die Sensoren nicht den Selben Pin zu benutzen?

    Und das andere ist, ich muss nun noch raus bekommen, wie ich den Wert rausfiltern kann um den in eine Datenbank zu pflegen. Kann mir da jemand vielleicht ein Anstoß geben, wie ich den Wert hinter 'Hum =' raus bekomme? Weil z.B. mit Cut -d '=' bekomme ich nur Blödsinn raus.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

    Einmal editiert, zuletzt von RaspiDo (2. Oktober 2013 um 14:57)

  • Hallo.
    Hat das bei Dir funktioniert mit einem anderen Pin? Bei mir kamen nämlich nur Ergebnisse,
    wennich den Sensor an dem GPIO4 angeschlossen hatte. Da dort aber schon ein Rudel
    Tempertursensoren ihre Daten einliefern konnte ich die Luftfeuchtigkeit bishrr nich dauerhaft
    messen. Den DHT einfach mit an dieselbe Leiting anzuklemmen und darauf zu hoffen, daß
    sich die entsprechenden SW-Module nicht beißen, habe ich mich dann doch nicht getraut.

  • Habe ich noch nicht getestet gehabt. Muss ich machen, wenn ich es schaffe. Kann aber etwas dauern.

    Nur für das "Zeichentrennproblem" besteht an sich noch etwas.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:


  • ...
    Nun soll noch der Sensor DTH 11 hinzugefügt werden, da dieser relativ einfach den Luftdruck ermittelt. ...

    Hi,

    Dir ist schon klar, dass dieser Sensor m.E. DHT11 heisst und nicht den Luftdruck sondern die Luftfeuchtigkeit ermittelt?
    Zum Thema GPIO hat didigart Dir ja schon geantwortet. Aber sorgfältig sein - die GPIO- und Pin-Nummern sind imho ziemlich verwirrend.

    cu,
    -ds-

  • Hi,

    apropo GPIO ... mir fiel gerade ein, dass Du ja per 1Wire die Sensoren ansprichst.
    Dann kannst Du jede Menge an einen Pin hängen, weil jeder Sensor eine eindeutige Nummer/Adresse hat.

    Hier ist was zum Hintergrund der 1Wire-Geschichte.

    Sorry, ... da hab' ich zu spät geschaltet. GPIO4 wird in diesem Fall wohl wegen des Taktes verwendet.

    cu,
    -ds-

  • Sry, nun verwirrst mich dreamshader

    Die einen sind 1-Wire Sensoren und das andere ist der Luftfeuchtesensor, der soweit ich weiß kein 1-Wire Bus Gerät ist.

    Kann ich alle Sensoren also Temp.-Sensoren und den Feuchte Sensor an GPIO 4 lassen oder wie?


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:


  • meigrafd: wie erzeugst Du den Takt?

    hehe ich hab 0,0nix Ahnung davon :blush::D

    aber das viel mir spontan halt so ein "wieso nicht den Code abändern"

    hab gestern so viel über die GPIOs gelesen sodass ich aktuell der meinung bin jeden Pin zu allem machen zu können, also was würde dagegen sprechen anstatt GPIO-4 einfach GPIO-17 oder GPIO-18 zu nutzen?

    Spoiler anzeigen

    b9ewen6lqhna.jpg
    die grünen Pins sind frei verwendbar

  • aber das viel mir spontan halt so ein "wieso nicht den Code abändern"

    hab gestern so viel über die GPIOs gelesen sodass ich aktuell der meinung bin jeden Pin zu allem machen zu können


    heute immer noch ?

    klar kannst du jeden GPIO Pin zu Software PWM machen (ist ja nur an/aus), wenn du magst auch zu I2C und 1W aber dann musst du dich um das richtige an/aus zu jeder Zeit kümmern und darauf hoffen oder wissen das dir nicht irgendeine andere Libery in die Suppe spuckt, leichter ist es die LIBs zu nutzen und eben die benutzten GPIO zu meiden

    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)

  • Tja meigrafd,

    ich denke, prinzipiell hast Du recht. Aber ich weiss nicht, ob ich mir das antun würde.
    PWM mag ja noch gehen aber spätestens bei 1Wire wirds imho ungemütlich, ganz zu schweigen von rs232 bzw. I2C.
    Ich bin mir auch nicht sicher, ob da nicht gewissen hardware-seitigen Voraussetzungen geschaffen sein müssen - z.B. für die Takte usw..
    Dazu kommt, dass Du dann vermutlich auch passende Treiber als LKM bereitstellen musst (/dev/ttyAMA0 z.B.).

    Mein Fazit: Nope, lieber in die Sonne legen und das Wetter geniessen. Und wenn ich für irgendwelche Sünden büssen möchte, dann meinetwegen auch eine Pilgerreise auf dem Jakobsweg. Aber so was - nein danke ;) ...

    cheers,
    -ds-

  • Und wegen des Abfragens bekomm ich auch Hilfe oder soll ich da im bereich Programmieren lieber noch ein Thema lieber auf machen. :)

    Sry für meine Ungeduld.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Ich meine nicht die allgemeine Abfrage, sondern wie ich lediglich ein gewünschten Teil abfragen kann bzw. Den Wert für die Luftfeuchte und ggf. auch Temperatur in "Variablen" verpackt bekomme.

    Also $temp bzw $feucht


    Michael

    So nur mal zur Info, für den es Interessiert. Ich habe den Feuchtesensor auf den GPIO 17 verschoben und funktioniert tadellos. Jetzt "nur" noch das Problem mit dem Ausschneiden. Also den Wert der Hinterm = Zeichen von Hum vorallem, zusätzlich der von Temp wäre super.

    Die 1-Wire Sensoren DS18B20 bzw. S habe ich an GPIO 4 dran gelassen.


    Michael


    Kleine Zusatzinfo in eigener Sache:

    Langsam werden an meinem "Heimsystem" die GPIOs voll. :D

    Also folgendes habe ich dran:

    - i2c ist reserviert für ein kleines LCD Modul
    - GPIO 4 ist mit dem 1-Wire Bus belegt
    - GPIO 22, 23, 24 und 25 sind belegt für Status LEDs und ein kleinen Lüfterchen
    - GPIO 7 ist reserviert für den "Taster" Herunterfahren
    - TXD und RXD Leitungen habe ich noch frei gelassen, weil evtl. noch eine Anbindung mit einem anderen µC geplant ist
    - SPI Leitungen wollte ich frei lassen, falls ich die in Zukunft noch verwenden möchte.
    - Und somit bleiben nur noch GPIO 8, 18 und 27 frei

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

    Einmal editiert, zuletzt von RaspiDo (2. Oktober 2013 um 20:52)

  • Das kann ich Dir leider nicht beantworten. Ich habe noch einen hier rumliegen, den habe ich noch nicht ausprobiert sonst gäbe es schon ein C-Tutorial dazu.
    Aber ich denke, es sollte kein Hexenwerk sein, sich da was zusammen zu googlen, zumal das Teil ja schon für den Arduino funktioniert.
    Ich vermute mal stark, dass Du keine Daten selektiv abfragen kannst sondern bei einer Abfrage alle Daten gesendet bekommst und die halt dann auseinander pfriemeln musst.
    Aber das ist, wie gesagt, imho schnell ergoogelt.


    cu,
    -ds-

  • Naja mit "schnell" ergooglet ist relativ. Ich suche schon den halben Tag und finde primär nur die Daten aus einer Datei herraus zu filtern und der gleichen.

    Wie gesagt ich möchte ja nur 2 Werte eigentlich. Denn den Rest benötige ich eigentlich nicht. Wenn jemand ein schönen Tipp für mich hat wäre super.

    Nur wenns irgendwann Läuft kommt noch eine Aufgabe auf mich zu, wie ich den Luftdrucksensor in Betrieb bekomme, aber das ist ein anderes Dingen. Der würde per i2c angeschlossen werden.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Na jetzt aber ;) ...


    Code
    $ cd /sys/bus/w1/devices/10-00080293bd31

    In diesem Verzeichnis findet ihr nun eine Datei namens “w1_slave”.
    Diese Datei beinhalten alle Daten die das Raspberry Pi aus dem Sensor ausließt. Um sie in der Konsole anzeigen zu lassen nutzt ihr den “cat” Befehl:

    Code
    $ cat w1_slave


    Auszug aus diesem Link den ich Dir hier gepostet hatte.

    Du liest doch auch die Dallas-Chips aus ... wie machst Du das denn?
    Genau so funktioniert das imho mit dem DHT11.

    Apropro Luftdruck: für einen BMP085 findest Du hier was.

    cu,
    -ds-

Jetzt mitmachen!

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