Frage zur 1-Wire-Bibliothek

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Moin,

    alle Anleitungen im Web gehen davon aus, das der One-Wire-Bus an GPIO 3 angeschlossen wird. Ist das eine Hardwarevorgabe oder wird der Pin per Software (1wire-Bibliothek) festgelegt? Falls ja, lassen sich auch mehrere GPIOs nutzen? Denn ich habe hier mehr als 30 Sensoren und würde diese gern auf 2 oder 3 "Kanäle" aufteilen (z.B. die, die jede Minute abgefragt werden, jene, die nur alle 10 Minuten ausgelesen werden brauchen und eine Gruppe, die nur alle 15 oder 30 Minuten einen Wert abzugeben braucht).

    Thomas

  • Hallo Thomas,

    wenn Du Dich einmal mit den DeviceTrees beschäftigt hast, dann wirst Du feststellen, dass Du jedem Pin seine eigene Funktionalität zuordnen kannst. Somit hast Du auch die Möglichkeit, mehrere GPIO-Pins mit der 1wire-Funktionalität zu versehen.

    Zum anderen hast Du die Möglichkeit, die maximal mögliche Anzahl an 1wire-Sensoren je Kanal festzulegen. Der Standard liegt wohl bei 10. Versuche mit 20 1wire-Sensoren sind auch als erfolgreich berichtet worden.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (7. Juli 2015 um 10:41)


  • dann wirst Du feststellen, dass Du jedem Pin seine eigene Funktionalität zuordnen kannst. Somit hast Du auch die Möglichkeit, mehrere GPIO-Pins mit der 1wire-Funktionalität zu versehen.

    Leider ist dem nicht so, das Modul wird nur einmal geladen und die Parameter werden überschrieben. Somit ist nur 1 1wire-Bus möglich.

  • Hallo Jörg,


    ich bin ja nicht so sehr dafür bekannt, dass ich anderen widerspreche, wenn sie meine Ansicht nicht teilen.

    In dem Fall muss das leider sein, sorry ;)

    Wie Du hier entnehmen kannst, ist es möglich, dieses Verhalten über einen Custom-Kernel zu erreichen.
    Dort sind ein paar Code-Beispiele aufgeführt sowie eine rege Diskussion mit einigen erfolgreichen Aussagen.

    Übrigens kannst Du jedes Verhalten - so absurd es auch sein mag - über einen Eingriff in den Kernel-Quellcode erreichen...

    ... denn was ist Linux nochmal?
    [font="Comic Sans MS"]Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.[/font]


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (7. Juli 2015 um 11:21)

  • Hallo,


    > Wie Du hier entnehmen kannst, ist es möglich, dieses Verhalten über einen Custom-Kernel zu erreichen.
    > Dort sind ein paar Code-Beispiele aufgeführt sowie eine rege Diskussion mit einigen erfolgreichen Aussagen.

    Habe ich mir angesehen, ist mir leider zu hoch (Kermel-Programmierung und dann noch englisch). Dann muss ich wohl doch eine externe Umschaltung (2-Bit-Dekoder) extern aufbauen.

    Thomas

  • Hallo Thomas

    Ich denke die Abfrage aller Sensoren ist ja nicht das Problem. Wenn Du nicht alle Werte gleichzeitig brauchst würde ich die Resultate mit verschiedenen Zeiten beurteilen, und die anderen Messwerte einfach vergessen.

    Gruss
    Dragi

  • Hi Andreas,
    ich will ja nicht unken, aber


    ...
    ... ist es möglich, dieses Verhalten über einen Custom-Kernel zu erreichen.
    ...

    von einem "Triebwerkstausch" war aber imho nicht die Rede ...
    Mit einen "getunten" Kernel kannst Du in der Tat alles Mögliche erreichen (oder auch das Gegenteil :fies: ) ...
    Aber das bezog sich nach meinem Verständnis auf die Möglichkeit, das LKM mehrmals mit verschiedenen Paramtern zu laden ...


    nix für ungut, aber man kann's auch übertreiben,
    -ds-


  • Wie Du hier entnehmen kannst, ist es möglich, dieses Verhalten über einen Custom-Kernel zu erreichen.
    Dort sind ein paar Code-Beispiele aufgeführt sowie eine rege Diskussion mit einigen erfolgreichen Aussagen.

    Hallo Andreas, ich bin ja nun dafür bekannt, dass ich gerne mal widerspreche. Klar kann man sowas mit einem modifizierten Kernel machen, dass ist aber kontraproduktiv. Keine Upgrades mehr, mögliche Probleme mit der Stabilität und auch mit der Vertrauenswürdigkeit. Das ist also nichts für einen produktiven Einsatz.
    Zusätzlich muss ich noch dazu sagen: Wozu benutzt man einen Bus, wenn man dann doch wieder verschiedene Stränge aufbaut? Verschiedene Abfragezeiten sollten eigentlich kein Grund dafür sein.

Jetzt mitmachen!

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