Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?

Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

USB9097
USB9097

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.

Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).

Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?

Folgende Package installieren und reboot.

opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver

OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.

Ein Verzeichnis erstellen:
mkdir /mnt/1wire

USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:

...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...

Oder mit lsusb
Ausgabe ua:

...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:

owfs -d /dev/ttyUSB0 -m /mnt/1wire/

Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.

cd /mnt/1wire
ls

Ausgabe der Verzeichnisse:

28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system

Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.

cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375

Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20

Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228

Oder…

Habt ihr noch Fragen oder Anregungen?