Temat: Pytanie o ds18b20, digitemp i cron - dziwne.
Witam panowie, dziwna sprawa, posiadam MR3220 z RS232/usb (ftdi) na nim od dawien dawna dwa czujniki DS18b20 i digitemp do ich obsługi, wszytsko wpisane w CRONTABS i działa super.
Przykład:
/etc/crontabs/root:
0,20,40 * * * * /temperatura/gettemp.sh
/temperatura/gettemp.sh:
echo `digitemp_DS9097 -t0 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/tempsalon.txt
echo `digitemp_DS9097 -t1 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/tempout.txt
Problem pojawił się gdy dołączyłem trzeci czujnik, wykonałem przeszukanie magistrali 1wire,
digitempem:
root@xxx:/temperatura# digitemp_DS9097 -s /dev/ttyUSB0 -a -i
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
...
Searching the 1-Wire LAN
283A282D05000022 : DS18B20 Temperature Sensor
28FD0D2E0500009A : DS18B20 Temperature Sensor
283FBD2D050000AC : DS18B20 Temperature Sensor
ROM #0 : 283A282D05000022
ROM #1 : 28FD0D2E0500009A
ROM #2 : 283FBD2D050000AC
Wrote .digitemprc
Jan 03 21:13:49 Sensor 0 C: 13.50 F: 56.30
Jan 03 21:13:50 Sensor 1 C: 3.13 F: 37.63
Jan 03 21:13:51 Sensor 2 C: 53.00 F: 127.40
Program widzi wszystkie czujniki, ale gdy plik gettemp o zmienionym wnętrzu wrzuce pod CRON to czujnik trzeci (nowy) "zawsze" wyrzuca puste dane.
/temperatura/gettemp.sh:
echo `digitemp_DS9097 -t0 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/tempsalon.txt
echo `digitemp_DS9097 -t1 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/tempout.txt
echo `digitemp_DS9097 -t2 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/temppiec.txt
UWAGA: Tylko z pod CRONa nie dostaje temperatury do pliku temppiec.txt bo gdy wywolam z palca w konsoli:
echo `digitemp_DS9097 -t2 -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /temperatura/temppiec.txt
to plik temppiec.txt zostaje poprawnie wypełniony danymi.
Jak bym nie kombinował to z CRONa nie mogę wywołać danych do pliku temppiec.txt.
Nawet dodając do CRONa osobny skryp wywołujący tylko ten czujnik, odpowiedź jest ta sama.
Z palca zawsze otrzymuję odpowiedź o temperaturze.
O co może tu chodzić? Przecież nie bedę ręcznie dodawał danych do jednego czujnika...?!