Tag Archiv für Raspberry PI

Raspberry PI und DS18S20 Temperatursensor

zeus hatte die Idee mal etwas an den GPIO Port des Raspberry PI an zu schließen. Schnell kamen wir auf die Idee einen 1Wire Temperatursensor zu nehmen.

Stückliste:

  • 1Wire Sensor DS18S20
  • Widerstand 4,7kOhm
  • Buchsenleiste 5 Polig

An die 5 Polige Buchsenleiste klemmt man vom DS18S20 entsprechend so an:

  • Leiste Pin 1 (3.3V) auf DS18S20 Pin 3 (Vdd)
  • Leiste Pin 2 und 3 bleiben frei
  • Leiste Pin 4 (GPIO 4) auf DS18S20 Pin 2 (DQ)
  • Leiste Pin 5 (GND) auf DS18S20 Pin 1 (GND)

Den Widerstand lötet man zwischen Pin 1 und 4. Dann kann die Buchsenleiste auf das PI gesteckt werden wie auf dem Bild zu sehen. Pin 1 der Buchsenleiste ist auf „P1“ vom Raspberry.

Auf dem System dann:

modprobe wire
modprobe w1-gpio
modprobe w1-therm

ausführen um unter „/sys/bus/w1/devices/10-*/w1_slave“ die Temperatur mit dem Lieblingstool auszulesen. (z.B. cat)

Datasheet DS18S20, GPIO Belegung

Raspberry PI und MPD mit alsa, cifs ohne Bildschirm

Um auf dem Raspberry PI den MPD gescheit zum laufen zu bewegen sind ein paar Handgriffe von nöten. Alles wie folgt, total einfach.

1. Installation von einem Raspbian Hexxeh Image

Download von hier, dann entpacken und mit DD auf eine SD-Karte kopieren:

dd if=raspbian-r3/raspbian-r3.img of=/dev/sdX bs=1M

Für /dev/sdX nimmt man natürlich seine SD-Karte.

2. Konfiguration vom Netzwerk und Root Passwort

Die frisch gebügelte SD-Karte nun im eigenen PC mounten.

Dann in der Datei /meine/sdkarte/etc/network/interfaces die IP-Adresse einstellen. (Beispielhaft für den CTDO)

auto lo
auto eth0

iface lo inet loopback
iface eth0 inet static
        address 195.160.169.16
        netmask 255.255.255.128
        gateway 195.160.169.1

Dann gleich noch das Passwort vom Root Benutzer setzen, sonst kann man sich gleich nicht per SSH einloggen.

mkpasswd -m sha-512

Und das Ergebnis in die Datei /meine/sdkarte/etc/shadow in der Zeile, wo auch root steht anstelle des ersten * eintragen. In etwa so:

root:$6$IbM/a2W...OJ1oZQaVAziJ.Vo5IiQ.:15604:0:99999:7:::

Nun unmount und Karte ins Raspberry PI verstöpseln.

3. Booten, Updaten und Installieren

Sollte es widererwarten bis hier geklappt haben, stehen nun die Updates an. Ein herzhaftes

apt-get update && apt-get upgrade

verhelfen dem kleinen PI zu neuem Leben. Eine ewigkeit später (je nach SD-Karte) ist alles auf Paketseite aktuell.

Als Nächstes mal alles wichtige drauf packen:

apt-get install alsa-utils cifs-utils ntp fake-hwclock mpd vim

Nun fehlt das Firmware-Update, welches man mit dem Befehl

rpi-update

erledigen kann. Danach ist ein reboot erforderlich.

Dieses Update ist wichtig, denn ansonsten gibts Stress mit ALSA. Der Sound macht nämlich komische Klick-Geräusche bei Play/Pause/Stop.

4. Konfiguration der Pakete

Wenn das durchexerziert ist, stellen wir die zu ladenden Kernelmodule ein. Dazu in der Datei /etc/modules zwei Einträge machen:

snd-bcm2835
ipv6

Natürlich laden wir auch IPv6! ;-) Das snd- Modul ist für die Soundkarte.

Danach kommt das Netzlaufwerk dran. Wir wollen von unserem NAS eine SMB (jetzt cifs) Freigabe unter /mnt/filebase einhängen. Also erstellen wir das Verzeichnis mit mkdir und tragen den Mountpoint in die /etc/fstab ein;

//SERVER/pub /mnt/filebase cifs auto,noperm,user=anonymous,pass=bla 0 0

Die Angabe von user und pass sind erforderlich, damit beim mount keine Abfrage kommt. Die Freigabe ist bei uns per Anonymous erreichbar, somit kann man beliebige Werte nehmen. Unsere Freigabe trägt den Namen pub.

Nachdem dies erledigt ist, konfigurieren wir den MPD in der /etc/mpd.conf nach unseren wünschen. Das kann z.B. sein:

music_directory       "/mnt/filebase/audio"
playlist_directory    "/mnt/filebase/audio"
db_file               "/mnt/filebase/raspberry_netfs/raum3/mpd/tag_cache"
log_file              "/dev/null"
pid_file              "/var/run/mpd/pid"
state_file            "/var/lib/mpd/state"
sticker_file          "/mnt/filebase/raspberry_netfs/raum3/mpd/sticker.sql"
auto_update           "no"
[...]

Wie man sehen kann, liegt die MPD Datenbank auch auf dem Netzlaufwerk. Die Audio Daten kommen natürlich auch von dort.

Damit die ganzen Raspberry uns beim einschalten nicht sofort die Bude in allerfeinster Maximallautstärke beschallen ist noch ein kleiner Workaround nötig.

Beim Einschalten vom PI startet irgendwann nachdem das Netzlaufwerk da ist, der MPD und dieser spielt von selber das letzte Lied ab der gestoppten Position ab. Und das bei 100% Lautstärke. Freude!

Also passen wir die Datei /etc/rc.local einfach an, und schreiben folgendes rein:

amixer sset 'PCM' on
amixer sset 'PCM' 10%

Und schon steht unser ALSA auf 10% Lautstärke nach dem booten. Wunderbar!

Zum Schluss noch die IPv6 Adresse konfigurieren und autoconf abschalten (Geschmackssache). Also in der Datei /etc/network/interfaces noch folgendes hinzufügen:

iface eth0 inet6 static
        address 2001:67c:275c:a9::10
        netmask 64

Und zum Abschalten von autoconf kann man folgende Befehle nehmen:

sysctl -w net.ipv6.conf.all.autoconf=0
sysctl -w net.ipv6.conf.all.accept_ra=0

 

Wenn ich mich recht entsinne müsste es das nun auch gewesen sein. Viel Spaß damit. Fragen stellt uns im IRC oder auf unsere Mailingliste.