Raspberry PI mit DHT11 Temperatur und Feuchte Sensor

Endlich gibts dafür eine halbwegs zuverlässig laufende Software :
(Die auch bei höherer CPU last bzw. verringertem CPU Takt noch funktioniert)

https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated

Kurz :

apt-get update
apt-get install build-essential python-dev
mkdir -p /install/newAdafruit
cd /install/newAdafruit
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
python setup.py install
cd examples
cp AdafruitDHT.py /bin

So kann man den Sensor dann ansprechen :

y=$(/bin/AdafruitDHT.py 11 4)
t=$(echo $y|cut -d" " -f1 | tr '=' ' ' | tr '*' ' ' | cut -d" " -f2)
f=$(echo $y|cut -d" " -f2 | tr '=' ' ' | tr '%' ' ' | cut -d" " -f2)
echo "Temperatur : $t Feuchte $f

(11 = Sensor-Typ, 4 = GPIO Pin)

Die Werte werden bei mir stündlich in eine Datenbank geschrieben.
Werde in einigen Tagen nochmal berichten, ob es wieder Timing-Probleme gibt.
Schaut aber wesentlich besser aus, als die erste SW, die es dafür gab…
(gabs nur für den DHT22, musste ich etwas umschreiben)

Verkabelung :
https://www.endian.se/content/?p=127

Update : läuft jetzt völlig stabil und fehlerfrei.

Raspberry PI CPU Temperatur senken

in der /boot/config.txt folgendes anpassen :

für Raspberry PI 2

arm_freq=900

für Raspberry PI A/B/B+

arm_freq=700

und dann :

arm_freq_min=200
start_x=0
gpu_mem=16
core_freq=250
core_freq_min=75
sdram_freq=450
over_voltage=0

Achtung : mit der neuesten Firmware geht das NICHT mehr !
Muss ich aber erst noch genauer untersuchen, warum.

Ausserdem kann man noch den HDMI Ausgang abschalten. (Falls man den nicht benötigt)
Beim Starten wird ein Script gestartet, welches nach 30 Minuten den Ausgang abschaltet.
So hat man im Notfall (z.B. Firewall blockiert alles) noch genug Zeit, den PI zu reparieren.
/root/scripts/hdmi.sh


#/bin/sh
sleep 1800
/opt/vc/bin/tvservice -off

Und in die /etc/rc.local vor dem „exit 0“ noch das einfügen :

/root/scripts/hdmi.sh &

Um die CPU-Temperatur leicher prüfen zu können, empfielt es sich, ein kleines script anzulegen;
z.B. /bin/temperatur

#!/bin/bash
x=$(cat /sys/class/thermal/thermal_zone0/temp)
t1=$(echo „$x/1000“ | bc -l | cut -b1-7)
echo $t1

Damit das funktioniert, benötigt man noch „bc“ :

apt-get update
apt-get install bc

…und was bringt das ?
Bittesehr :
RaspberryPI_CPU_Temperatur

Raspberry PI Webcam streamen (mjpg-streamer)


mkdir /install
cd /install
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
cd mjpg-streamer
make
make install

dann noch in die Datei „/etc/rc.local“ (am Ende aber noch VOR dem „exit 0“)


export LD_LIBRARY_PATH=/usr/local/lib/
/usr/local/bin/mjpg_streamer -i „input_uvc.so -d /dev/video0 -r 1280×960 -n -y“ -o „output_http.so -p 8080 -w /usr/local/www“ &

Parameter :
-y = von der Webcam yuv Werte empfangen, das ist zwar schlecht, weil dann
die CPU die MPG Komprimmierung machen muss (1 Core ca. 100%!), aber anders
läufts bei mir nicht (warum auch immer; die selbe Kamera an einem „echten“
Linux-Server läuft auch ohne -y; CPU Auslastung ist dort sehr gering !!)

-n „Controls“ abschalten (PAN,Tilt,Zoom) kann diese Kamera alles nicht
(sonst kommen haufenweise Fehlermeldungen)

Kamera ist eine Logitech C270 (?)

Mit „dmesg“ kann man schaun, ob die Webcam richtig erkannt wurde :

input: UVC Camera (046d:0825) as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input0

Raspberry PI WLAN konfigurieren

/etc/network/interfaces

auto lo
iface lo inet loopback
#iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
auto wlan0
iface wlan0 inet static
address IP-ADRESSE
netmask NETZMASKE
gateway GATEWAY
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

/etc/wpa-supplicant/wpa_supplicant.conf

update_config=1
network={
ssid=“NETZWERK-NAME“
psk=“WLAN-Schlüssel“
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}

Ausserdem musste ich noch die „Firmware“ für meinen Dongle (TP-Link)
herunterladen. Die wird offensichtlich bei jedem Anstecken/Strom EIN
neu in den Stick geladen :

cd /lib/firmware/rtlwifi
wget http://www.lwfinger.com/download/rtl8188eufw.bin

DNS stellt man in der „/etc/resolv.conf“ ein.
(Wird offenbar sofort aktiv)
Am besten man installiert dazu :
apt-get install dnsutils

dann kann man mit „nslookup“ checken, welcher DNS Server verwendet wird.

NTP sollte (falls ein lokaler vorhanden) auch umgestellt werden.
/etc/ntp.conf

Und dann mit „service ntp restart“ neustarten.

FBAS to VGA Konverter

Offensichtlich verfügt mein FBAS to VGA Konverter über einen Infrarotempfänger. Obwohl keine Fernbedienung dabei ist.
(Ist auch nicht nötig, was will man da schon gross umstellen ?)
Leider kam es aber immer wieder zu willkürlichen Reaktionen,
wenn das Ding von anderen Fernbedienungen was empfangen hat.
Drum hab ich den Empfänger kurzerhand ausgelötet, und bei der Gelegenheit gleich ein paar Bilder gemacht :

image

image

image

image