DS28EA00 Raspberry - Sensor Reihenfolge auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

Hallo,

hat jemand Erfahrungen mit 1-Wire Thermo Sensoren Type DS28EA00 in Kombination mit 1-Wire am Raspberry PI? Habe Probleme beim Auslesen der Reihenfolge der Sensoren an meiner Messkette.

Die Sensoren sind wie folgt konfiguriert: VDD 3,3V, IO Pin4, GND, Pullup 470 ohm zwischen VDD und IO; PIOA an PIOB des nachfolgenden Sensor

Mit folgendem Code lassen sich Sensor.ID und Temperatur problemlos auslesen:

Code: Alles auswählen

from w1thermsensor import W1ThermSensor
import time

sensors = W1ThermSensor.get_available_sensors()
print(len(sensors), "Sensors found")

counter = 1
for sensor in sensors:
    temperature = sensor.get_temperature()
    print(counter, sensor.id, temperature, sensor)
    time.sleep(0.4)
    counter += 1
ergibt folgenden Output:
2 Sensors found
1 000000696fe4 22.3125 W1ThermSensor(name='DS28EA00', type=66(0x42), id='000000696fe4')
2 00000069ff20 22.125 W1ThermSensor(name='DS28EA00', type=66(0x42), id='00000069ff20')


Das Problem: Allerdings werden die vom Raspberry Pi erkannten Sensoren in /sys/bus/w1/devices über W1ThermSensor als ListDir eingelesen, wodurch dies nicht die eigentliche Sensor Reihenfolge weg vom Master (Raspberry) ist.

Datasheet DS28EA00 https://www.mouser.at/datasheet/2/609/D ... 468033.pdf

Hat jemand schon einen ähnlichen Problem mit Package RPi.GPIO und entsprechendem Timing lösen können, um die Reihenfolge der Sensoren auszulesen?

Danke
Benutzeravatar
sparrow
User
Beiträge: 4525
Registriert: Freitag 17. April 2009, 10:28

Ist die Reihenfolge relevant, wenn du die ID hast?
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

Ja, da ich die ID selbst nicht mehr zuweisen kann, außer ich erhitze die einzelnen Messstellen, lese die Kette aus, notiere die ID Konfig, und das für mehrere Messketten mit vielen Sensoren, das wird zu aufwendig. Mit der "sequence detection" soll die Reihenfolge der Sensoren in der Kette herausgefunden werden und somit eine eindeutige Zuordnung möglich sein.
Sirius3
User
Beiträge: 18250
Registriert: Sonntag 21. Oktober 2012, 17:20

Die Sensoren hängen auch physikalisch an einer Leitung, und die kennt nun auch keine Reihenfolge.
Deshalb gibt es ja die ID, um die Sensoren auseinander halten zu können.
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

das ist grundsätzlich korrekt, allerdings verfügen die ds28ea00 über PIOA und PIOB, welche eben eine Schaltung von Sensor zu Sensor ermöglichen, sodass die Reihenfolge der Sensoren innerhalb der Kette ausgelesen werden kann. hat jemand Erfahrung mit PIO Read/Write Befehle über GPIO Pin vom Raspberry?
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

Habe dazu noch einen Beitrag gefunden http://dangerousprototypes.com/docs/Bus ... ure_sensor
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

Problem gelöst: Der w1-gpio driver liefert die Information im file w1_seq
Antworten