Temat: Zbyt wolny odczyt czujników ds1820
Czy jest jakaś szybsza metoda odczytu danych z magistrali 1wire
awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/*/w1_slave
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Termometr → Zbyt wolny odczyt czujników ds1820
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Czy jest jakaś szybsza metoda odczytu danych z magistrali 1wire
awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/*/w1_slave
To jest bezpośredni dostęp do wyniki. W jakim sensie jest "zbyt wolny"?
W takim sensie że z 2 czujników chciałbym mieć odrazu pobrane wyniki w czasie do 1 sek a nie jak teraz że najpierw pobierze 1 pomiar, poczeka ok 1 sek i dopiero drugi.
Nie przeczytałeś specyfikacji. DS1820 w 12bitach potrzebuje ok 750ms na wykonanie pomiaru. Dokładając margines bezpieczeństwa masz tą 1s pomiędzy odczytami.
Zgadza się. Dla 12 bitów czas wynosi ok 750ms a dla 9bitów niecałe 100ms.
Pod RPI mam pod 2 niezaleznymi pinami podłączone 2 czujniki DS18B20 to myślałem że jednocześnie w czasie 1 sek z 2 pinów można w tym samym czasie odczytać dane.
Korzystasz z modułu kernela, musiał byś zobaczyć co on robi to sekwencyjnie czy inaczej.
Już nie wnikałem w jaki sposób moduł kernelowy to robi ale prawdopodobnie jednak sekwencyjnie bo bez znaczenia czy skrypt jest w bashu, pythonie czy czym kolwiek. Jeśli odwołujemy się do plików systemowych to prędkość odczytu jest taka sama.
Znalazłem inny projekt który pięknie działa.
https://github.com/danjperron/BitBangingDS18B20
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Termometr → Zbyt wolny odczyt czujników ds1820
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc