RaspberryPi

Aus Wiki
Zur Navigation springenZur Suche springen


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 (der letzte Buchstabe ist immer das Port (A oder B)

Register Bezeichnung Beschreibung Anmerkungen
00h IODIRA I/O Direction Register 0=Ausgang, 1=Eingang
01h IODIRB
02h IPOLA Input Polarity Port Register
03h IPOLB
04h GPINTENA Interrupt-n-Change Control Register Port A
05h GPINTENB
06h DEFVALA
07h DEFVALB
08h INTCONA
09h INTCONB
0Ah IOCON
0Bh IOCON
0Ch GPPUA GPIO 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.......das sind die Ein- & Ausgänge (Port A)
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