Temat: Edimax Br-6104 + OpenWRT i obsługa 1-Wire
Witam wszystkich ,
Używam routera Edimax BR-6104K z zainstalowanym na nim OpenWRT w wersji 8.09.1.
Jeden z portów GPIO skonfigurowałem jako magistrale 1Wire do której dołączyłem czujnik DS1820
Od strony systemu zainstalowane są wszystkie niezbędne składniki do obsługi 1-Wire, skonfigurowane są również poprawnie - 1Wire ma wskazany port 21 (czyli dawniej sterowanie diodą D12)
Od strony programowej skonfigurowane jest raczej poprawnie - pojawia sie w w katalogu /sys/bus/w1/devices katalog związany z przyłączonym czujnikiem - tu akurat tworzy się katalog 28-000000a73865. W nim jest natomiast plik w1_slave zawierający odczytane informacje.
I tu zaczyna sie problem.
Zawartość pliku wygląda tak:
da 01 4b 46 7f ff 06 10 31 : crc=31 YES
da 01 4b 46 7f ff 06 10 31 t=29625
d9 01 4b 46 7f ff 07 10 30 : crc=30 YES
d9 01 4b 46 7f ff 07 10 30 t=29562 Niestety odczytane wartości są mocno zawyżone (po podzieleniu przez 1000
)
Układ reaguje na dotknięcie czujnika - zmienia sie wskazanie temperatury - choć czasem dostaje wartości ujemne przy nadal prawidłowym CRC.
Czujnik raczej sprawny.
Sądzę że może to mieć jakiś związek z rezystorem pull-up przyłaczonym pomiędzy magistralę, a źródło napięcia 3.3V - ale pewności nie mam...
Przy rezystorze 4.7k czujnik jest widoczny w systemie, ale nie reaguje na dotyk i odczytane wartości mają zawsze stałą wielkość "19464".
Zmieniłem ten rezystor na 3.3k - czujnik "żyje" ale odczytane wartości są dziwne....
Spotkał się ktoś może z takim problemem?