Software:


Tja hier kann man viel schreiben (absichtlich zweideutig)!

Derzeit entwickelt Sascha die hardwarenahen Sachen, hauptsächlich in C.
Das Ganze steht natürlich unter GPL zur Verfügung.

Das AlpinNavi soll ja auch Sprechen können: Hier mal diese Seite vorgelesen.

Seite vorlesen von der Dame.

Seite vorlesen von dem Herrn.


HDMM01 - Memsic - Compass-Chip
momentan fix auf I²C-1 (I²C auf GPIOs unter Raspberry Ver.2)

Hints: der Chip sollte waagerecht positioniert werden!

Compile:

$>_ gcc -Wall -lm -o hdmm01 hdmm01.c


Files:
hdmm01   hdmm01.c
DSPC01 - Dorji - Kombi-Chip, Luftdruck, Kompass, Temperatur

momentan fix auf I²C-1 (I²C auf GPIOs unter Raspberry Ver.2)

Hints:
Bitte die falschen kommentare am anfang des Sourcefiles ignorieren es ist der Source fuer den DSPC01

Note:
Der Chip kann nur mit 10kHz arbeiten
Um I²C auf 10kHz zu stellen, macht man folgendes

#>_ modprobe -r i2c_bcm2708
#>_ modprobe i2c_bcm2708 baudrate=10000


Compile:

$>_ gcc -Wall -o dspc01 dspc01.c


Files:
dspc01   dspc01.c
HP03S - HopeRF - Luftdruck & Temperatur-Chip

momentan fix auf I²C-0 (I²C auf GPIOs unter Raspberry Ver.1)
GPIO-Steuerung für den Chip liegt momentan fix auf GPIO 22 (Pin 15)

Hints:
Die ausgegebene Höhe basiert nur auf dem Luftdruck ohne Korrekturwerte.

Note:
Die wiringPi-Library wird benötigt um den GPIO zu steuern

Compile:

$>_ gcc -Wall -lwiringPi -o hp03s hp03s.c


Files:
hp03s   hp03s.c   hp03s.sh
Rotaryencoder mit Tastfunktion bassiernd auf dem und dieser Arbeit. (Authoren leider Unbekannt)
Von Sascha für das AlpinNavi angepasst.

momentan fix auf GPIO 23, 24, 25 (Pins 16, 18, 22, auf GPIO unter Raspberry Ver.2)

Hints:
Die Drehrichtung lässt sich durch vertauschen der anschlüsse Pin 16 und 18 einstellen.

Note:
Die wiringPi-Library wird benötigt um den GPIO zu steuern

Compile:

$>_ gcc -Wall -lwiringPi an-rotaryenc.c anrotaryenc.c -o anrotaryenc


Files:
an-rotaryenc.h   an-rotaryenc.c   anrotaryenc.c
SHT21 Temperatur und Luftfeuchte

Info:
raspi-sht21

Hardware:
SHT21 Breakout Board

Files:
Raspi-SHT21-V3_0_0.zip
INA219 Strom- Spannungsmesser mittels I²C

Hints: Die Defaultaddresse ist durch den SHT21 belegt, bitte eine andere verwenden.
Info:
solarbatteryload-power-logging-with-raspberry-pi-and-ina219

Hardware:
INA219 Breakout Board

Files:
subfact_pi_ina219 Power Check Power Log

Das meiste ist ohnehin unter Raspbian verfügbar.
Hier mal eine Auflistung welche Pakete Installiert werden sollten.

firmware-linux
ntp (bei aktuellen Raspbians schon vorinstalliert)
openssh-server (kann schon bei der ersteinrichtung aktiviert werden(raspi-config))
w3m
i2c-tools
gpsd
gpsd-clients
gpscorrelate (zum nachträglichen einfügen der Position in JPEG Bilder(EXIF))
lighttpd
blueman
bluez
bluez-tools
bc (zum umrechenen und formatieren diverser Sensorwerte)
mobile-broadband-provider-info (für GSM HSDPA/HSUPA)
modemmanager
smstools
espeak (fuer sprachausgabe), (Die Installation von mbrola werde ich noch an anderer stelle Erklären)
vorbis-tools
exif
python-smbus (für den ina219)
git-core (um wiringPi aus dem gitrepository zu installieren)
hostapd
wireless-tools
wpagui
wpasupplicant
mc
ploticus (zum erstellen der Höhen und Geschwindigkeitsgraphen)


Das ganze als einzeiler ...

#>_ aptitude update ; aptitude -y upgrade ; aptitude install firmware-linux ntp openssh-server w3m i2c-tools gpsd gpsd-clients gpscorrelate lighttpd blueman bluez bluez-tools
bc mobile-broadband-provider-info modemmanager smstools espeak vorbis-tools exif python-smbus git-core hostapd wireless-tools wpagui wpasupplicant mc ploticus ; aptitude clean




Dinge die Configuriert werden müssen:

In der Datei:
/etc/inittab
... die letzte Zeile von

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

   nach

# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100


... Auskommentieren/Ändern, um die serielle Konsole(getty) abzuschahlten.

In der Datei:
/boot/cmdline.txt
... die Zeile von

dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

   nach

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait


... Ändern("console=ttyAMA0,115200" löschen), um die Ausgabe der Kernelmeldungen auf der Seriellen Schnitstelle abzuschalten (GPIO Pins 8 & 10 bzw. GPIO 14 & GPIO 15)hier wird das GPS-Modul angeschlossen. Dessen Daten dann von /dev/ttyAMA0 gelesen werden können.


In der Datei:
/etc/modprobe.d/raspi-blacklist.conf
... die letzte Zeile von

blacklist i2c-bcm2708

   nach

# blacklist i2c-bcm2708


... Auskommentieren/Ändern, um das i2c-bcm2708 Modul schon beim Booten in den Kernel zu laden. Dies ist bereits erledigt wenn man es bei der ersteinrichtung aktiviert hat.
Zu Finden in "raspi-config" -> "Advanced Options" -> "I2C"

In der Datei:
/etc/modules

i2c-dev


... einfügen/anhängen, um das i2c-dev Modul schon beim Booten in den Kernel zu laden.
Bitte dies nachkontrollieren es kann sein das auch dieser Schritt bereits durch raspi-config erledigt wird.


In der Datei:
/etc/default/gpsd
sollte in etwa

# Default settings for gpsd.
# Please do not edit this file directly - use `dpkg-reconfigure gpsd' to
# change the options.
START_DAEMON="true"
GPSD_OPTIONS=""
DEVICES="/dev/ttyAMA0"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"


... dies stehen.


In der Datei:
/etc/fstab

# RAM-Disk
ramfs /media/RAM-Disk ramfs rw,auto,users 0 0


... einfügen/anhängen, damit die RAM-Disk bereits beim Booten aktiviert wird.
Nach dem eintragen sind noch folgende befehle als root auszuführen um sie sofort zu aktivieren und die rechte richtig zu setzen.

#>_ mkdir /media/RAM-Disk
#>_ mount -t ramfs ramfs /media/RAM-Disk
#>_ chmod 777 /media/RAM-Disk


Damit ist es allen Usern verfügbar und wird auch nach einem reboot noch da sein(möglicherweise erfolgt zu einem späteren zeitpunkt ein umstieg auf tmpfs).




































mbrola Installieren   So wird es gemacht.
Debianpaket bauen, und Installieren dann weis auch aptitude das es vorhanden ist und die Sprachen lassen sich ganz normal dazu installieren.
(Wir missbrauchen das armel Paket von mbrola, ist nicht schön aber der einfachste weg.)

Als user (pi)

$>_ cd ~
$>_ wget http://tcts.fpms.ac.be/synthesis/mbrola/bin/raspberri_pi/mbrola.tgz
$>_ tar -xzvf mbrola.tgz
$>_ wget http://ftp.at.debian.org/debian/pool/non-free/m/mbrola/mbrola_3.01h-6_armel.deb
$>_ mkdir pkg
$>_ dpkg-deb -R mbrola_3.01h-6_armel.deb pkg
$>_ rm pkg/usr/bin/mbrola
$>_ mv mbrola pkg/usr/bin/.
$>_ cd pkg


... in der Datei DEBIAN/md5sums die alte durch die neue md5-Summe ersetzen

$>_ NEWMD5=`md5sum usr/bin/mbrola | cut -d ' ' -f 1`
$>_ sed -i "s/^.*\W\(usr.*mbrola\)$/${NEWMD5} \1/g" DEBIAN/md5sums


... Architektur anpassen

$>_ sed -i 's/^\(Architecture:\).*/\1 armhf/g' DEBIAN/control


... Paket bauen

$>_ cd ~
$>_ dpkg -b pkg mbrola_3.01h-6_armhf.deb


... installieren als root

$>_ su
Passwort:
#>_ dpkg -i mbrola_3.01h-6_armhf.deb



Meine empfehlung an dieser stelle die Deutschen Sprachpakete zu installieren.

#>_ aptitude update ; aptitude -y upgrade ; aptitude install mbrola-de6 mbrola-de7 ; aptitude clean


Wer Deutsch nicht braucht, sollte sich seine Sprachpakete auswählen!