Skillnad mellan versioner av "OWFS på Rasperry Pi"

Från wiki.m.nu
Hoppa till: navigering, sök
(Skapade sidan med 'Här följer en beskrivning för att komma igång med OWFSRaspberry Pi - Guiden fungerar oavsett om du använder i2c-kortet eller USB-adaptern. {| align="right"...')
 
(Installation av OWFS)
 
(10 mellanliggande versioner av 4 användare visas inte)
Rad 9: Rad 9:
  
 
==Programvaror==
 
==Programvaror==
* [http://www.raspberrypi.org/downloads Raspian Wheezy]  
+
* [http://www.raspberrypi.org/downloads Noobs 1.3.12 (2015-02-02) / Raspian Wheezy]  
* [http://owfs.org/ OWFS] (senast testat på 2.8p20)
+
* [http://owfs.org/ OWFS] (senast testat på 3.0p0)
  
 
==Hårdvara==
 
==Hårdvara==
* [https://www.m.nu/raspberry-pi-raspberry-pi-c-97_96.html Raspberry Pi]
+
* [https://www.m.nu/dator-raspberry-quad-core-p-2060.html Raspberry Pi 2]
 
* [https://www.m.nu/rpi-i2c-1wire-expansion-module-v11-p-677.html i2c 1wire breakout board]
 
* [https://www.m.nu/rpi-i2c-1wire-expansion-module-v11-p-677.html i2c 1wire breakout board]
  
 
==Förutsättningar==
 
==Förutsättningar==
Denna beskrivning bygger på att du har en helt ren installation av Raspbian Wheezy (2013-05-25).
+
Denna beskrivning bygger på att du har en helt ren installation av Raspbian Wheezy installerad via Noobs 1.3.12 (2015-02-02).
  
==Moduler==
+
==Moduler och /boot/config.txt==
 
Om du använder USB-adaptern behöver du inte ändra något som är relaterat till dessa moduler.
 
Om du använder USB-adaptern behöver du inte ändra något som är relaterat till dessa moduler.
  
Se till att modulen till i2c-bussen inte ligger i blacklist
+
Se till att modulerna i2c-bcm2708 och i2c-dev ligger i /etc/modules
  sudo nano /etc/modprobe.d/raspi-blacklist.conf
+
  sudo nano /etc/modules
 +
 
 +
Lägg till dem på egna rader i filen.
 +
i2c-bcm2708
 +
i2c-dev
  
Lägg till "#" före
+
Öppna /boot/configt.txt
  blacklist i2c-bcm2708
+
  sudo nano /boot/config.txt
så raden ser ut så här:
 
#blacklist i2c-bcm2708
 
  
Se till att modulen i2c-dev ligger i /etc/modules
+
Lägg till följande rader längst ner i filen
  sudo nano /etc/modules
+
dtparam=i2c1=on
 +
dtparam=i2c_arm=on
 +
 
 +
Starta sedan om:
 +
sudo reboot
 +
 
 +
==Verifiera att du har kontakt med i2c-kortet==
 +
Om du använder USB-adaptern kan du hoppa över detta steg
 +
 
 +
Installera paketet i2c-tools som innehåller i2cdetect:
 +
sudo apt-get install i2c-tools
 +
 
 +
Kör sedan:
 +
  sudo i2cdetect -y 1
 +
 
 +
Vilket ger output som denna:
 +
 
 +
      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 +
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 +
10: -- -- -- -- -- -- -- -- -- -- -- '''1b''' -- -- -- --
 +
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
70: -- -- -- -- -- -- -- --
  
Lägg till i2c-dev på en egen rad i filen.
+
Ser du '''1b''' i resultatet hittas i2c-kortet (resultat "18" kan också förekomma)
i2c-dev
 
  
 
==Installation av OWFS==
 
==Installation av OWFS==
Rad 41: Rad 67:
 
owfs finns som färdigt paket till Raspian Wheezy. Perfekt för dig som inte behöver/vill köra senaste versionen av owfs.
 
owfs finns som färdigt paket till Raspian Wheezy. Perfekt för dig som inte behöver/vill köra senaste versionen av owfs.
  
 +
'''OBS OBS OBS 2021-03-29 - Det har kommit in rapporter att det inte går att kompilera  owfs pga förändringar i GlibC. Det snabba sättet är rekommenderat sätt!
 +
'''
 
För att installera skriver du:
 
För att installera skriver du:
 
  sudo apt-get install owfs  
 
  sudo apt-get install owfs  
Rad 50: Rad 78:
 
Installera paket som behövs för att kunna kompilera och installera OWFS
 
Installera paket som behövs för att kunna kompilera och installera OWFS
 
  sudo apt-get update
 
  sudo apt-get update
  sudo apt-get install automake autoconf autotools-dev gcc-4.7 libtool libusb-dev libfuse-dev swig python2.7-dev tcl8.5-dev php5-dev i2c-tools
+
  sudo apt-get install automake autoconf autotools-dev gcc-4.7 libavahi-client-dev libtool libusb-dev libusb-1.0-0-dev libfuse-dev swig python2.7-dev tcl8.5-dev php5-dev
 
Svara JA på eventuella frågor.
 
Svara JA på eventuella frågor.
  
Ladda ned senaste versionen av OWFS (2013-11-30 är senaste versionen 2.9p1.)
+
Ladda ned senaste versionen av OWFS (2015-02-07 är senaste versionen 3.0p0.)
 
  cd /usr/src
 
  cd /usr/src
 
  sudo wget  -O owfs-latest.tgz http://sourceforge.net/projects/owfs/files/latest/download
 
  sudo wget  -O owfs-latest.tgz http://sourceforge.net/projects/owfs/files/latest/download
Rad 61: Rad 89:
  
 
Kompilera och installera OWFS
 
Kompilera och installera OWFS
  cd owfs-2.9p1 (eller motsvarande för vilken version som är senast)
+
  cd owfs-3.0p0 (eller motsvarande för vilken version som är senast)
 
  sudo ./configure
 
  sudo ./configure
  
Rad 104: Rad 132:
 
                     owtcl is enabled
 
                     owtcl is enabled
  
Sedan själva installationen som kan ta upp till 40 minuter
+
Sedan kompilering och installationen som kan ta upp till 30 minuter på Raspberry Pi A/B/A+/B+, och upp till 5 minuter på Raspberry Pi 2
 +
 
 +
A/B/A+/B+:
 
  sudo make && sudo make install  
 
  sudo make && sudo make install  
 
+
Pi 2: (-j 4 gör att samtliga 4 kärnor används när owfs kompileras, vilket gör att det går mycket snabbare att kompilera)
 +
sudo make -j 4 && sudo make install
  
 
==Testa installationen==
 
==Testa installationen==
Rad 175: Rad 206:
  
 
[[Kategori:OWFS]]
 
[[Kategori:OWFS]]
 +
[[Kategori:HowTo]]

Nuvarande version från 29 mars 2021 kl. 07.13

Här följer en beskrivning för att komma igång med OWFSRaspberry Pi - Guiden fungerar oavsett om du använder i2c-kortet eller USB-adaptern.

Mål

Att få igång 1-wire på Raspberry Pi via i2c 1wire module.

Programvaror

Hårdvara

Förutsättningar

Denna beskrivning bygger på att du har en helt ren installation av Raspbian Wheezy installerad via Noobs 1.3.12 (2015-02-02).

Moduler och /boot/config.txt

Om du använder USB-adaptern behöver du inte ändra något som är relaterat till dessa moduler.

Se till att modulerna i2c-bcm2708 och i2c-dev ligger i /etc/modules

sudo nano /etc/modules

Lägg till dem på egna rader i filen.

i2c-bcm2708
i2c-dev

Öppna /boot/configt.txt

sudo nano /boot/config.txt

Lägg till följande rader längst ner i filen

dtparam=i2c1=on
dtparam=i2c_arm=on

Starta sedan om:

sudo reboot

Verifiera att du har kontakt med i2c-kortet

Om du använder USB-adaptern kan du hoppa över detta steg

Installera paketet i2c-tools som innehåller i2cdetect:

sudo apt-get install i2c-tools

Kör sedan:

sudo i2cdetect -y 1

Vilket ger output som denna:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- 1b -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Ser du 1b i resultatet hittas i2c-kortet (resultat "18" kan också förekomma)

Installation av OWFS

Snabba sättet

owfs finns som färdigt paket till Raspian Wheezy. Perfekt för dig som inte behöver/vill köra senaste versionen av owfs.

OBS OBS OBS 2021-03-29 - Det har kommit in rapporter att det inte går att kompilera owfs pga förändringar i GlibC. Det snabba sättet är rekommenderat sätt! För att installera skriver du:

sudo apt-get install owfs 

Gå sedan till Testa installationen

Kompilera själv

Installera paket som behövs för att kunna kompilera och installera OWFS

sudo apt-get update
sudo apt-get install automake autoconf autotools-dev gcc-4.7 libavahi-client-dev libtool libusb-dev libusb-1.0-0-dev libfuse-dev swig python2.7-dev tcl8.5-dev php5-dev

Svara JA på eventuella frågor.

Ladda ned senaste versionen av OWFS (2015-02-07 är senaste versionen 3.0p0.)

cd /usr/src
sudo wget  -O owfs-latest.tgz http://sourceforge.net/projects/owfs/files/latest/download

Packa upp OWFS

 sudo tar xzvf owfs-latest.tgz

Kompilera och installera OWFS

cd owfs-3.0p0 (eller motsvarande för vilken version som är senast)
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
               owexternal 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 DISABLED
                    owtcl is enabled

Sedan kompilering och installationen som kan ta upp till 30 minuter på Raspberry Pi A/B/A+/B+, och upp till 5 minuter på Raspberry Pi 2

A/B/A+/B+:

sudo make && sudo make install 

Pi 2: (-j 4 gör att samtliga 4 kärnor används när owfs kompileras, vilket gör att det går mycket snabbare att kompilera)

sudo make -j 4 && sudo make install

Testa installationen

Har du kommit så här långt är det bara att testa din installation

Skapa först katalogen för OFWS att mounta i.

sudo mkdir /mnt/1wire

För att FUSE skall fungera smärtfritt måste konfigurationen justeras. Öppna konfigurationen för FUSE

sudo nano /etc/fuse.conf

Ändra

#user_allow_other

till

user_allow_other

Har du installerat owfs-paketet via apt-get install owfs kör du:

sudo /usr/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire/

Har du följt hela guiden och kompilerat senaste versionen kör du:

sudo /opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire/

Om du använder USB-adpatern DS9490R byter du ut "--i2c=ALL:ALL" mot "-u" - gäller oavsett installationssätt.

Kontrollera att det fungerar (ändra sensor till vad du har)

Fil:Owfs ls example.png
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

Se till så att OWFS startar automatiskt vid boot

För att se till så att OWFS skall starta automatiskt vid start av datorn så får vi lägga till ett lite startscript.

Skapa ett startscript 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 --i2c=ALL:ALL --allow_other /mnt/1wire

Om du installerat det färdiga paketet byts "/opt/owfs/bin/owfs" ut mot "/usr/bin/owfs" Om du använder USB-adapter DS9490R byter du ut "--i2c=ALL:ALL" mot "-u"

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

Källor