Skillnad mellan versioner av "OWFS HowTo"

Från Temperatur.nu
Hoppa till navigeringHoppa till sök
 
(7 mellanliggande versioner av 3 användare visas inte)
Rad 1: Rad 1:
Här följer en beskrivning för att komma igång med [[OWFS]]
+
[http://wiki.m.nu/index.php/OWFS_HowTo Denna guide har flyttat till http://wiki.m.nu/index.php/OWFS_HowTo]
{| align="right"
 
  | __TOC__
 
  |}
 
 
 
==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==
 
* [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)
 
 
 
==Hårdvara==
 
[http://www.m.nu/adapter-usb-1wire-ds9490r-p-49.html 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å [http://www.ubuntu.com/getubuntu/download 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. Likaså andra 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 -y install automake autoconf autotools-dev gcc g++ libtool libusb-dev libfuse-dev swig python2.6-dev tcl8.4-dev php5-dev make build-essential
 
 
 
(För Debian Lenny så kan även <code>fuse-utils</code> behövas installeras)
 
 
 
Ladda ned OWFS.
 
cd /usr/src
 
sudo wget http://sourceforge.net/projects/owfs/files/owfs/2.8p20/owfs-2.8p20.tar.gz
 
som sagt, funkar även på senare versioner enligt utsago, ett tips kan vara att [http://sourceforge.net/projects/owfs/files/ 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
 
(Lägg till --enable-debian om du kör debian.)
 
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
 
Om kompileringen tar lång tid kan du bli tvungen att skriva in sudo-lösenordet igen för 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 [http://www.temperatur.nu/forum/owfs/tips-om-installation-av-owfs-och-seriell-adapter-t1769.html Tips om installation av owfs och seriell adapter]
 
 
 
För att använda [https://www.m.nu/ha7net-ethernet-1wire-host-adapter-din-rail-mount-p-338.html 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)[[File:Owfs_ls_example.png|thumb|Exempel på hur det kan se ut]]
 
cat /mnt/1wire/10.F6877C010800/temperature
 
Om allt står rätt till så skall det nu komma upp en temperatur på skärmen. Om något trasslar kan du välja att starta owfs med
 
sudo /opt/owfs/bin/owfs --error_level 6 --error_print 2 -u --allow_other /mnt/1wire/
 
för att få lite debug-utskrifter.
 
 
 
==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|RRDtool HowTo]]
 
 
 
Som jag skrev ovan, det kan finnas felaktigheter. Hittar ni några felaktigheter eller om ni har andra kommentarer/frågor så [http://www.temperatur.nu/forum/guider-artiklar-how-to/howto-installera-owfs-pa-ubuntu-server-t608.html 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 [http://www.technotes.se/?cat=16 här] för guider om hur man hanterar 1-wiresensorer i Linux samt loggning av data med MySQL.
 
 
 
==Källor==
 
* http://tomasz.korwel.net/2006/07/02/owfs-instalation-on-ubuntu-606/
 
* http://owfs.org/index.php?page=ubuntu
 
* http://owfs.org/index.php?page=fuse
 
* http://www.temperatur.nu/forum/viewtopic.php?f=24&t=489#p2616
 
 
 
[[Kategori:Linux]]
 
[[Kategori:HowTo]]
 

Nuvarande version från 26 september 2014 kl. 18.45