Hab nach langer Zeit wieder mal meinen eeePC hervorgekramt.
Diesen hatte ich ja mangels Betriebssystemupdates eingemottet.
Und tatsächlich :
Mit dem original OS geht rein gar nix mehr.
Sogar Skype geht nicht mehr.
Drum hab ich jetzt mal das aktuelle Lubuntu (32 Bit) heruntergeladen und installiert.
Damit das geht, benötigt man unbedingt eine SD Karte oder einen USB Stick. (Weil der installer mind. 5,1 GB freien Speicher voraussetzt, der eeePC hat aber nur 4GB)
Hält man die Installation schlank genug, braucht man den danach natürlich nicht mehr.
Kategorie: Allgemein
Raspberry PI GPIO Tests
#!/bin/sh
rot=18
gruen=2
gelb=3
echo „$rot“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$rot/direction
echo „$gruen“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$gruen/direction
echo „$gelb“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$gelb/direction
echo „0“ > /sys/class/gpio/gpio$rot/value
echo „0“ > /sys/class/gpio/gpio$gruen/value
echo „0“ > /sys/class/gpio/gpio$gelb/value
while (true)
do
echo „1“ > /sys/class/gpio/gpio$rot/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$rot/value
echo „1“ > /sys/class/gpio/gpio$gelb/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gelb/value
echo „1“ > /sys/class/gpio/gpio$gruen/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gruen/value
echo „1“ > /sys/class/gpio/gpio$gelb/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gelb/value
done
Raspberry Backups und Wiederherstellung
Manchmal kommt es leider vor, dass so ein PI einfach nicht mehr starten will. Schlimmstenfalls muss man dann alles neu machen.
Ausser – man hat ein Backup gemacht. (Einfach das unter Windows mit dem win32diskimager die SD-Karte einlesen, und die Datei aufheben)
Aber das geht auch im Betrieb.
Dieses Beispiel sichert die komplette SD-karte auf ein anderes Linux-System :
dd if=/dev/mmcblk0 | gzip -9 | ssh ZIELSERVER „dd of=/Z/I/E/L.img.gz“
die .gz Datei kann man dann einfach entpacken, und (sogar mit Windows) wieder auf die Karte schreiben.
(das hat zumindest bei mir schon öfters funktioniert.)
Mit diesem Kommand kann man sich den Fortschritt anzeigen lassen :
lsof |grep mmcblk0| awk ‚{printf(„%d M\n“,strtonum($7)/1024/1024);}‘
Weil dabei die SD-Karte „im Betrieb“ weggesichert wird, können natürlich offene Dateien (Logfiles etc.) kaputt sein.
-> Nach dem ersten Reboot einen Filesystem Check erzwingen :
shutdown -rF 0
Wenn man das System neu aufsetzt, und nur ein Paar Dateien aus dem Backup haben möchte, dann kann man nat. auch die Systempartition extrahieren und mounten :
sfdisk -l -uS DATEINAMEDESIMAGES
ergibt z.B.:
Disk DATEINAMEDESIMAGES: 968 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
DATEINAMEDESIMAGESp1 8192 122879 114688 c W95 FAT32 (LBA)
DATEINAMEDESIMAGESp2 122880 15564799 15441920 83 Linux
start: (c,h,s) expected (7,165,31) found (896,0,1)
end: (c,h,s) expected (968,220,20) found (511,3,16)
DATEINAMEDESIMAGESp3 0 – 0 0 Empty
DATEINAMEDESIMAGESp4 0 – 0 0 Empty
Wäre dann in dem Fall :
dd if=DATEINAMEDESIMAGES of=PARTITION bs=512 skip=122880 count=15441920
mkdir /mnt/PIVERZEICHNIS
mount -o loop PARTITION /mnt/PIVERZEICHNIS
Möchte man die Daten nicht nur auslesen, sondern auch bearbeiten (reparieren)
und dann wieder zurückspielen, dann kann man das relativ einfach auch in einer Virtual Box
(wo ein x86 Linux installiert ist) machen.
Dazu muss das image zuerst mit WindiskImager eingelesen, und dann konvertiert werden :
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe convertfromraw d:\IMAGE-DATEI d:\IMAGEDATEI.vdi
Reparieren, und dann wieder zurück-Konvertieren :
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands converttoraw d:\IMAGEDATEI.vdi d:\NEUEIMAGEDATEI
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 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.