Online teploměr s ASUS WL-500gP V2 - instalace USB a 1-Wire

Před nedávnem jsem byl donucen vyměnit domácí WiFi router a volba padla na ASUS WL-500gP V2. Rovněž mi z dob mého bastlení zbylo několik 1-Wire teploměrů DS18B20 z produkce Dallas/Maxim a dále USB/1-Wire adapter DS9490R. A jelikož má ASUS dva USB porty, tak zprovoznění webového online teploměru nic nebránilo.


Online teploměr s ASUS WL-500gP V2 - instalace USB a 1-Wire Štítky:  , , , , , ,

    Před nedávnem jsem byl donucen vyměnit domácí WiFi router a volba padla, kvůli parametrům, z důvodu dostupnosti a možnosti upgradu firmware, na ASUS WL-500gP V2. Originální firmware je sice pro normální domácí použití dostačující, nicméně pro mé potřeby, kdy testuji různá síťová nastavení a konfigurace a síťové funkce, nevyhovující.
Takže jsem na něj obratem nahrál OpenWRT. Jedná se o standardní linuxovou distribuci, upravenou pro různá jednoúčelová zařízení a portovanou na různé routery a zařízení. Kompletní seznam je k dispozici na stránkách projektu OpenWRT.
Výhodou OpenWRT je i možnost jednoduché instalace různých balíčků pro využití standartních LINUXových programů (bind, OpenVPN a mnoho dalších), ale i USB včetně FlashDisků, tiskáren a mnoha dalších zařízení.


Rovněž mi z dob mého bastlení zbylo pár elektronických součástek, mezi nimi i několik 1-Wire teploměrů DS18B20 z produkce Dallas/Maxim a dále USB/1-Wire adapter DS9490R. No a jelikož má ASUS dva USB porty, tak zprovoznění webového online teploměru nic nebránilo.

Instalace USB a 1-Wire

Aby bylo možno k 1-Wire teploměrům prostřednictvím USB adaptéru přistupovat a číst teploty, je nutno na ASUS doinstalovat balíčky pro základní podporu USB a OWFS což je soustava programů pro komunikaci a přístup k 1-Wire sběrnici pod linuxem.


opkg update
opkg install kmod-usb-core kmod-usb2 kmod-usb-storage kmod-usb-uhci kmod-usb-ohci usbutils owfs owhttpd nano


Následně připojit adaptér DS9490R, který by pak měl být v systému viditelný

dmesg
...
hub.c: new USB device 00:03.1-1.1, assigned address 5
usb.c: USB device 5 (vend/prod 0x4fa/0x2490) is not claimed by any active driver.
...


Nebo prostřednictvím výpisu USB sběrnice a zařízení

lsusb
...
Bus 001 Device 005: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
...


Čtení a zobrazení teplot

Nyní stačí spustit některý z programů z balíčku OWFS. Moje volba padla na webserver owhttpd.


owhttpd -p 3000 -uall -C -f fic


Aby 1-Wire webserver startoval i automaticky po rebootu routeru, zadáme jej do initscritpu. Nejjednodušeji do /etc/rc.local

nano /etc/rc.local 

owhttpd -p 3000 -uall -C -f fic


Rovněž je vhodné restartovat owhttpd server při každém připojení USB/1-Wire adaptéru

nano /etc/hotplug.d/usb/20-owhttpd

#!/bin/sh
if [ "$PRODUCT" = "4fa/2490/2" ]
then
case "$ACTION" in
        add)
        echo "`date`: DS9490 added" >> /tmp/ds
        killall -SIGHUP owhttpd
        ;;
        remove)
        echo "`date`: DS9490 removed" >> /tmp/ds
        ;;
esac
fi

Kde hodnota proměnné $PRODUCT je idVendor/idProduct/bcdDevice které zjistíme pomocí příkazu lsusb -v

lsusb -v
...
Bus 001 Device 005: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
Device Descriptor:
  bLength                18
  bDescriptorType           1
  bcdUSB               1.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0         8
  idVendor           0x04fa Dallas Semiconductor
  idProduct          0x2490 DS1490F 2-in-1 Fob, 1-Wire adapter
  bcdDevice            0.02
...


Nyní stačí v browseru zadat URL routeru ... http://LAN_IP_routeru:3000 a je možno procházet 1-Wire sběrnici a číst hodnoty nebo nastavovat parametry jednotlivých připojených zařízení.

Výpis 1-Wire sběrnice

Parametry DS18B20

V tomto okamžiku je 1-Wire sběrnice připojená přes USB adaprér k ASUSu přístupná přes protokol HTTP. Na sběrnici jsou připojeny dva teploměry DS18B20, jeden je umístěn venku za oknem, druhý v místnosti.

V příštím článku blogu si ukážeme jak vzdáleně číst teploty z teploměrů připojených k domácímu routeru, ukládat data do RRD databáze a vytvářet grafy. Ty pak publikujeme na webu.
;  
Vaše názory a komentáře: 2 ;  Zobrazeno: 21139 x ;  Hodnoceno: 1 x ;  Hodnocení článku : Hodnocení článku:100%

Hodnocení článku: 1 2 3 4 5

Vaše názory a komentáře (2)
Petr KLOSKO
#290: 05.11.2016 ; 18:55:38
Postup ověřen i na Turris Omnia, kde stačí nainstalovat balíčky owfs owhttpd. Ostatní jsou v základu.
 
Petr KLOSKO
#220: 19.04.2012 ; 22:08:10
Jak zobrazit naměřené teploty v podobě grafů na webu se dočtete v článku Online teploměr s ASUS WL-500gP V2 - zpracování a zobrazení teplot na webu
 

Přidat komentář
Jméno
E-Mail
Zadejte první čísici z čísla Zadejte první čísici z čísla
Pokud očekáváte odpověď na Vámi vložený komentář, zadejte Váš e-mail.
Vložením komentáře souhlasíte s pravidly.