Skillnad mellan versioner av "OWFS HowTo"
Ahoff (diskussion | bidrag) m |
Ahoff (diskussion | bidrag) m |
||
Rad 11: | Rad 11: | ||
==Programvaror== | ==Programvaror== | ||
− | * [http://www.ubuntu.com/ Ubuntu server] (funkar på samtliga versioner och Desktop versionen, även Debian | + | * [http://www.ubuntu.com/ Ubuntu server] (funkar på samtliga versioner och Desktop versionen, även Debian Squeeze fungerar). |
* [http://owfs.org/ OWFS] (senast testat på 2.8p13) | * [http://owfs.org/ OWFS] (senast testat på 2.8p13) | ||
Versionen från 7 november 2012 kl. 10.37
Här följer en beskrivning för att komma igång med OWFS
Bakgrund
Jag har av egen erfarenhet insett att det inte är så lätt att hitta alla pusselbitar för att lyckas och sen lägga dom i rätt ordning. All information man behöver finns där ute men det är just att sätta ihop det till en komplett lösning som är problemet. Så därför tänkte jag här försöka sammanställa allt jag har hittat och gjort för att få det att funka. Jag är långt ifrån någon guru på Linux så det kan givetvis finnas felaktigheter!
Mål
Att få igång 1-wire nät med OWFS på Ubuntu.
Programvaror
- Ubuntu server (funkar på samtliga versioner och Desktop versionen, även Debian Squeeze fungerar).
- OWFS (senast testat på 2.8p13)
Hårdvara
USB adaptern DS9490R Går även bra att använda den seriella adaptern, se instruktion längre ned.
Beskrivning
Beskrivningen bygger på att du har en helt "ren" installation med Ubuntu server (senaste testade version 10.04 LTS). Om det inte redan är gjort så ladda ned image-filen från Ubuntu och bränn ut och installera Ubuntu först. Skulle du ha en installation som inte är helt ny så funkar även det säkert men det kan finnas skillnader. Lika så andar versioner av Ubuntu bör fungera.
Efter installationen av Ubuntu, se till att modulerna ds2490 och wire inte laddas. Görs genom att lägga till dom i blacklist.
sudo nano /etc/modprobe.d/blacklist.conf
Längst ned lägg till...
# Prohibit interference with OWFS blacklist ds2490 blacklist wire
...och spara. Detta kommer att göra att dessa moduler inte kommer att laddas automatiskt för USB-adaptern.
Installera lite paket som behövs för att kunna installera och kompilera OWFS senare.
sudo apt-get update sudo apt-get install automake autoconf autotools-dev gcc g++ libtool libusb-dev libfuse-dev swig python2.6-dev tcl8.4-dev php5-dev make build-essential
Svara JA på eventuella frågor.
(För Debian Lenny så kan även fuse-utils
behövas installeras)
Ladda ned OWFS.
cd /usr/src sudo wget http://sourceforge.net/projects/owfs/files/owfs/2.8p15/owfs-2.8p20.tar.gz
som sagt, funkar även på senare versioner enligt utsago, ett tips kan vara att välja den senaste stabila versionen.
Packa upp OWFS
sudo tar -zxvf owfs-2.8p20.tar.gz
Kompilera och installera OWFS
cd owfs-2.8p20 sudo ./configure
Resultatet bör då bli
Current configuration: Deployment location: /opt/owfs Compile-time options: Caching is enabled USB is enabled I2C is enabled HA7Net is enabled W1 is enabled Multithreading is enabled Parallel port DS1410E is enabled TAI8570 barometer is enabled Thermocouple is enabled Zeroconf/Bonjour is enabled Debug-output is enabled Profiling is DISABLED Tracing memory allocation is DISABLED 1wire bus traffic reports is DISABLED Module configuration: owlib is enabled owshell is enabled owfs is enabled owhttpd is enabled owftpd is enabled owserver is enabled ownet is enabled ownetlib is enabled owtap is enabled owmon is enabled owcapi is enabled swig is enabled owperl is enabled owphp is DISABLED owpython is enabled owtcl is enabled
Sedan själva installationen
sudo make && sudo make install
Skapa katalogen för OFWS att mounta i.
sudo mkdir /mnt/1wire
För att FUSE skall funka så måste vi även lägga till en sak i konfigurationen för den. Öppna konfigurationen för FUSE
sudo nano /etc/fuse.conf
Ändra
#user_allow_other
till
user_allow_other
(ta bort # framör)
Nu skall det bara vara att starta OWFS!
sudo /opt/owfs/bin/owfs -u --allow_other /mnt/1wire/
Byt ut -u (USB) mot -d /dev/ttyS0 för att använda en seriell adapter istället.
För DS9097E kan man eventuellt behöva använda --passive, exempelvis /opt/owfs/bin/owfs --allow_other --passive=/dev/ttyS0 /mnt/1wire. Se Tips om installation av owfs och seriell adapter
För att använda HA7net så använd istället --ha7net=xxx.xxx.xxx.xxx (ip nummer eller domän).
Kontrollera att det funkar (ändra sensor till vad du har)
cat /mnt/1wire/10.F6877C010800/temperature
Om allt står rätt till så skall det nu komma upp en temperatur på skämren
Se till så att OWFS startar automatiskt vid boot
För att se till så att OWFS skall starata automatiskt vi start av datorn så får vi lägga till ett lite startscript.
Skapa ett start script i /etc/init.d/
cd /etc/init.d sudo nano start1wire.sh
Lägg till följande, och spara sen
#!/bin/bash ### BEGIN INIT INFO # Provides: start1wire # Required-Start: $local_fs $syslog # Required-Stop: $local_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start OWFS at boot time # Description: Start OWFS at boot time ### END INIT INFO # Starts OWFS /opt/owfs/bin/owfs -u --allow_other --usb_regulartime /mnt/1wire
(Sektionen "INIT INFO" behövs för att slippa få ett felmeddelande om "missing LSB information" när man kör update-rc.d enligt nedan.)
För att skriptet skall bli körbart måste vi lägga till körrättigheter på det
sudo chmod +x start1wire.sh
Sen för att se till att scriptet körs vid boot
sudo update-rc.d start1wire.sh defaults
Så nu skall OWFS startas automatiskt vid boot!
Fortsätt
För att fortsätta med loggning och att rita graf med RRDtool läs RRDtool HowTo
Som jag skrev ovan, det kan finnas felaktigheter. Hittar ni några felaktigheter eller om ni har andra kommentarer/frågor så skriv gärna en kommentar på forumet så ser jag till att hålla HOWTO'n uppdaterad. Håll till godo!
Man kan även kolla här för guider om hur man hanterar 1-wiresensorer i Linux samt loggning av data med MySQL.