RaspberryPi: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springenZur Suche springen
(i2c)
(i2c)
Zeile 98: Zeile 98:
  
 
''Register des MCP-23017''
 
''Register des MCP-23017''
* 00h IODIRA   IO Direction (Port A)
+
* 00h IODIRA....IO Direction (Port A)
 
* 01h IODIRB
 
* 01h IODIRB
* 02h IPOLA     Input Polarität umpolen (Port A)
+
* 02h IPOLA.....Input Polarität umpolen (Port A)
 
* 03h IPOLB
 
* 03h IPOLB
 
* 04h GPINTENA
 
* 04h GPINTENA
Zeile 110: Zeile 110:
 
* 0Ah IOCON
 
* 0Ah IOCON
 
* 0Bh IOCON
 
* 0Bh IOCON
* 0Ch GPPUA       GP PullUp Port A(100k Ohm)
+
* 0Ch GPPUA.......GP PullUp Port A(100k Ohm)
 
* 0Dh GPPUB
 
* 0Dh GPPUB
* 0Eh INTFA       Interrupt ein/aus (Port A)
+
* 0Eh INTFA.......Interrupt ein/aus (Port A)
 
* 0Fh INTFB
 
* 0Fh INTFB
* 10h INTCAPA     Zustand der Ports wird zwischengespeichert wenn ein Interrupt ausgelöst wird (Port A)
+
* 10h INTCAPA.....Zustand der Ports wird zwischengespeichert wenn ein Interrupt ausgelöst wird (Port A)
 
* 11h INTCAPB
 
* 11h INTCAPB
 
* 12h GPIOA
 
* 12h GPIOA
 
* 13h GPIOB
 
* 13h GPIOB
* 14h OLATA       Output Latches (Port A)
+
* 14h OLATA.......Output Latches (Port A)
 
* 15h OLATB
 
* 15h OLATB
  

Version vom 13. Juli 2014, 19:07 Uhr


der RaspberryPi ist ein scheckkarten großer stromsparender Computer der sich besonders zum Messen und Regeln einigt

PaspBerry Pi Homepage

Es gibt einen Klone(Nachfolger) den [Bana Pi] der hat mehr Rechneleistung und ist angeblich kompatibel mit dem Paspberry Pi

Raspberry Pi auf elektronik-kompendium.de

Betriebssysteme

Raspbian

raspbian.org

Standart User : pi

Tipps und Tricks

  • Configuration starten : sudo raspi-config
  • cron logging aufdrehen : in der Datei /etc/rsyslog.conf die Zeile #cron.* editieren (# am Anfang löschen)

= WLAN Verbindung mit der Commandline herstellen

  • wpa_cli starten (default interface ist wlan0
  • scan durchsucht die vorhanden Netzwerke
  • mit scan_results werden die gefundenen Netzwerke angezeigt
  • add_network legt eine neue Netzwerkkonfiguration an (beim ersten MAl die Konfiguration 0, dies wird als Wert angezeigt) dieser muss als ID angegeben werden
  • set_network 0 ssid "WLAN-Network"
  • set_network 0 psk "SupahSecretPassphrase"

Pakete

update der Paketlisten

# sudo apt-get update

Pakete updaten

# sudo apt-get upgrade


  • mc (Midnight Comander) => sudo apt-get install mc
  • iceweasel (firefox Ersatz) => sudo apt-get install iceweasel
  • php => sudo apt-get install php5
  • php-mysql => sudo apt-get install php5-mysql
  • git => sudo apt-get install git-core

Software

OpenVpn auf Raspberry Pi installieren

GPIO

PiFace

Messen und steuern

WireingPi installieren

cd
mkdir -p Programming
cd Programming
git clone git://git.drogon.net/wiringPicdwiringPi
git pull origin
./build

1Wire

Ds1820 an Raspberry Pi

Bevor man mit dem Rasperry den 1Wire Bus benutzen an, müssen die Kernel Module geladen werden

  • sudo modprobe w1-gpio pullup=1
  • sudo modprobe w1-therm

damit diese Module beim Start automatisch geladen werden, müssen sie in das File /etc/modules eingetragen werden

w1-gpio pullup=1
w1-therm

auf die Sensoren wird via Device zugegriffen. Für jeden Sesnor gibt es ein Verzeichnis unter /sys/bus/w1/devices in diesem Unterverzeichnis dann die Datei w1_slave. mit dem Befehl

/sys/bus/w1/devices/10-000802bd06e4/w1_slave

wird der Sensor mit der ID 10-000802bd06e4 ausgelesen (dauert ca. 0,5 - 1 Sekunde.

i2c

Raspberry Pi auf I2C Raspberry Pi and the MCP23017 I2C I/O Expander

I2C ist default im Rasberry abgedreht. Um es zu aktivieren mus in der Datei /etc/modprobe.d/raspi-blacklist.conf die Zeile blacklist i2c-bcm2708 auskommentiert werden.

Beschaltung: Wichtig, Pin 18 (Reset) muss auf + gelegt werden

  • sudo modprobe i2c-bcm2708 i2c Kernelmodule laden
  • sudo modprobe i2c_dev i2c Kernelmodule laden
  • sudo apt-get install i2c-tools i2c Tools installieren
  • testen des i2c mit sudo i2cdetect -y 1 Auf einer Adresse sollte ein Gerät angezeigt werden (zum Beispiel 0x20)
  • mit sudo i2cdump -y 1 0x20 werden alle Register des Chips auf der Adresse 0x20 ausgelesen

Register des MCP-23017

  • 00h IODIRA....IO Direction (Port A)
  • 01h IODIRB
  • 02h IPOLA.....Input Polarität umpolen (Port A)
  • 03h IPOLB
  • 04h GPINTENA
  • 05h GPINTENB
  • 06h DEFVALA
  • 07h DEFVALB
  • 08h INTCONA
  • 09h INTCONB
  • 0Ah IOCON
  • 0Bh IOCON
  • 0Ch GPPUA.......GP PullUp Port A(100k Ohm)
  • 0Dh GPPUB
  • 0Eh INTFA.......Interrupt ein/aus (Port A)
  • 0Fh INTFB
  • 10h INTCAPA.....Zustand der Ports wird zwischengespeichert wenn ein Interrupt ausgelöst wird (Port A)
  • 11h INTCAPB
  • 12h GPIOA
  • 13h GPIOB
  • 14h OLATA.......Output Latches (Port A)
  • 15h OLATB

Umschalten der Ports vom GPIOA auf Ausgang mit dem Befehl sudo i2cset 1 0x20 0x00 0x00 Parameter:

1    => i2c Bus 1
0x20 => Adresse des Bausteins
0x00 => IODIRA (Input Output Direction Bus A)
0xff => 1111 1111 => alle als Imput (0x00 => 0000 0000 => alle als Output)

Einschalten eines Ausganges sudo i2cset 1 0x20 0x12 0x01

1    => i2c Bus 1
0x20 => Adresse des Bausteins
0x12 => GPIOA
0x01 => 0000 0001 => Port 1 einschalten (LED leuchtet)


damit diese Module beim Start automatisch geladen werden, müssen sie in das File /etc/modules eingetragen werden

i2c_dev
i2c-bcm2708

Programmierung "C"

Wireing Pi I2C: MCP23008 & MCP23017



Interrupts

Tutorial: Interrupt-Driven Event-Counter on the Raspberry Pi