Ge din Cisco Linksys NSLU2 några muskler. (del 1) (11 / 11 steg)
Steg 11: Temperaturkännande.
http://martybugs.net/Electronics/tempsensor/Hardware.cgi
$ sudo apt-get digitemp
När inststalled du kan använda
$ sudo digitemp_DS9097u -s/dev/ttyUSB0 -w
"
Nu, att läsa temperaturerna. Du vill digitemp paketet, som är förpackade i Debian och förmodligen de flesta andra Linuxdistributioner. När det installeras, måste veta vilket program för att använda. Flera är tillgängliga för olika DS masters, men i LinkUSBi fall, du digitemp_DS9097U. Till att börja kontrollera bussen fungerar korrekt genom att gå den:
# digitemp_DS9097U -w -s/dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 av Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Stänga av alla DS2409 kopplare
...
Enheter på största LAN
28D1483C0200002F: DS18B20 temperaturgivare
28E9393C020000C3: DS18B20 temperaturgivare
010EBED512000046: DS2401/DS1990A serienummer Nyckelringsfäste
Detta visar två DS18B20 temperaturgivare (T-Sense sonder), liksom DS2401 inbäddad i min LinkUSBi. (DS2401 bokstavligen gör ingenting men returnerar ett serienummer. Fortfarande, som tidigare nämnts är det bra att behöva kontrollera bussen fungerar korrekt även om inga andra enheter är anslutna till den.)
Härnäst ska du skapa en konfigurationsfil. Jag valde att spara den i /etc/digitemp.conf.
# digitemp_DS9097U -i - c /etc/digitemp.conf -s/dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 av Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Stänga av alla DS2409 kopplare
...
Söker 1-Wire LAN
28D1483C0200002F: DS18B20 temperaturgivare
28E9393C020000C3: DS18B20 temperaturgivare
ROM #0: 28D1483C0200002F
ROM #1: 28E9393C020000C3
Skrev /etc/digitemp.conf
Du kommer att vara kvar med en fil som heter /etc/digitemp.conf som ser ut så här:
TTY/dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d % H: % m %S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d % H: % m %S Sensor %s #%n %C"
HUM_FORMAT "%b %d % H: % m %S Sensor %s C: %.2C F: %.2F H: %h %%"
SENSORER 2
ROM 0 0X28 0XD1 0X48 0X3C 0X02 0X00 0X00 0X2F
ROM 1 0x28 0xE9 0x39 0x3C 0x02 0x00 0x00 0xC3
Du kan ordna om ROM mappningar som du vill. 1-wire avser enheter genom sin 64-bitars ID; Det har numeriska motsvarigheter för digitemp's fördel. I mitt fall är 28D1483C0200002F sonden jag använder, så #0 är bra.
Nu, låt oss se vad som returneras:
# digitemp_DS9097U - q - c /etc/digitemp.conf - en
04 Mar 22:22:43 Sensor 0 C: 25,38 F: 77.67
04 Mar 22:22:44 Sensor 1 C: 27.56 F: 81.61
Bra, fungerar bra. Vi behöver snart data i ett maskinläsbart format, så här är hur man gör det:
# digitemp_DS9097U - q - c /etc/digitemp.conf -o 3 - en
0 77.79 81.50
"