Temperatursensor DHT11 am Raspberry Pi

Bestellung und Lieferung des Temperatursensors DHT11

Vor kurzem ist bei mir ein DHT11 Temperatursensor für 99 Cent aus China bei mir angekommen. Bestellt habe ich ihn bei Ebay. Wer ein paar Cent sparen möchte bestellt über ebay.com statt über ebay.de. Der Versand erfolgte bei mir Versandkostenfrei aus China und allzu lange hat die Lieferung nicht gedauert.

Doch jetzt soll der DHT11 auch  in Betrieb genommen werden.

Die obligatorische Google Suche

Die obligatorische Google Suche hat auf Adafruit eine eine prima Anleitung zur Einrichtung eines Temperatursensors zu Tage geführt, die mir als Grundlage für meine Experimente diente. Ganz ohne Hindernisse lief jedoch auch diesmal nicht alles ab … Aber daran bin ich ja mittlerweile gewöhnt.

https://github.com/adafruit/Adafruit_Python_DHT

Probleme und Lösungen

Temperatur und Luftfeuchtigkeit werden beim DHT11 nicht ausgelesen

Ein Fehler war, dass ich zunächst den DHT Treiber aus dem Paket https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code verwendet habe. In meiner Aufregung habe ich übersehen, dass der DHT Treiber hier deprecated ist. Wer lesen kann …. Der Temperatursensor hat zwar anfangs ein, zwei Mal ein Ergebnis geliefert, doch schließlich mehrten sich die Fehler, dass keine Temperatur ausgelesen wurde. Ich habe immer wieder Ausgaben wie diese erhalten:

pi@raspberrypi ~/Adafruit-Raspberry-Pi-Python-Code/Adafruit_DHT_Driver $ sudo ./Adafruit_DHT 11 4
Using pin #4
Data (39): 0x5c 0x0 0x32 0x0 0x44

Nur leider hat die Ausgabe auf der Konsole regelmäßig keine Temperatur und Luftfeuchtigkeit angezeigt. Offenbar bin ich aber nicht der Einzige, der dieses Problem hat oder hatte. Das gibt einem doch schon mal Hoffnung 😉

Nach einer kurzen Suche im Netz bin ich schließlich bei Chris Baume fündig geworden, mit dessen DHT11 Programm die Ausgabe von Temperatur und Luftfeuchtigkeit nun zuverlässig funktioniert.

Schließlich aber wollte ich doch auch die Daten in ein Google Spreadsheet hochladen und habe mir deshalb noch einmal die Adafruit Anleitung angeschaut. Hier ist mir dann mein Fehler aufgefallen. Nachdem ich das richtige Paket bei Adafruit geklont habe funktioniert auch hier das beigefügte fast direkt einwandfrei.

Punkt statt Komma in der Google Tabelle – das Problem mit dem Diagramm

Das Beispiel für das Google Spreadsheet von Adafruit schreibt als Temperaturwert z.B. „24.0“ in eine Tabelle. Soweit alles prima, solange nicht weiter tragisch, wenn man kein Diagramm ausgeben möchte. Denn hier gibt Google bei der Auswahl eines Liniendiagramms nur den Fehler „Das erforderliche Datenformat für „Liniendiagramm“ stimmt nicht mit den aktuellen Daten überein“ aus.

Klar, eine Zahl mit einem Punkt als Nachkommatrenner stimmt nicht mit dem Deutschen Zahlenformat überein. Auch hier eine Websuche zur Lösung bei Herr Thees geführt. Die Sprache der Tabelle muss in der Google Tabelle unter

Datei -> Tabelleneingenschaften -> Sprache

umgestellt werden. Ich habe hier „Vereinigte Staaten“ eingestellt und alles ist gut.

Also was hat zum Erfolg geführt?

Hier nochmal die Schritte, die bei mir zum erfolgreichen Auslesen des DHT11 mit dem Raspberry Pi geführt haben:

DHT11 mit einem 10K Ohm Wiederstand an den Raspberry Pi geknöpert. Ich verwende Pin 16 vom Pi, was GPIO4 entspricht. Außerdem noch mit GND und 3,3 V verbinden. Fertig. Der Raspberry ist dafür natürlich vom Strom entfernt.

DHT11 am Raspberry Pi_Steckplatine

Als nächstes das Adafruit DHT herunterladen, in das entsprechende Verzeichnis wechseln und das Installationsscript aufrufen (setzt installiertes Python und die notwendigen Python libraries voraus):

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install

Im Ordner examples findet sich die Datei AdafruitDHT.py, mit der ein erster Test gemacht werden kann:

sudo ./AdafruitDHT.py 11 4

Die 11 steht dabei für den DHT11. Wer eine DHT22 verwendet muss hier eine 22 eingeben. Die 4 steht für den GPIO4. Das ganze führt zu folgender Ausgabe:

Temp=23.0*C  Humidity=46.0%

Prima, die Inbetriebnahme des DHT11 hat also funktioniert. Kuschelig warm. Ist halt Sommer 🙂

Als nächstes will ich die Daten noch in der Google Tabelle speichern. Also der OAuth2 Anleitung von hier gefolgt bis die notwendige JSON Datei auf meinem Rechner landete.

Die Datei habe ich mit Fugu (ich verwende einen Mac) auf den Raspberry in das Verzeichnis examples geschoben. Ach ja: ich verwende ein Mac-Book Air mit Intel Prozessor und Yosemite. Daher muss ich die Fugu unstable Version fugu-1.2.1pre1 verwenden. Aber fluppt prima.

Zwischendrin habe ich flott bei Google Docs eine neue Tabelle angelegt und ihr den Namen „DTH11 Temperatur und Luftfeuchtigkeit“ gegeben. Nicht vergessen, wie oben beschrieben die Google Tabelle auf Sprache „Vereinigte Staaten“ einzustellen.

In der JSON Datei findet sich ein Eintrag für „client_email“ etwa in der Form wie 12345678901-abcdefghijklmnop1234567890abcdefghijklmnop@developer.gserviceaccount.com

Für diese E-Mail muss die Google Tabelle zum lesen und schreiben freigegeben werden. Dazu in Google Spreadsheet auf „Freigeben“ klicken und diese E-Mail Adresse hineinkopieren.

Zuletzt muss noch die google_spreadsheet.py angepasst werden:

nano gogle_spreadsheet.py

Hier passe ich die folgenden Einträge an:

GDOCS_OAUTH_JSON       = 'DHT11Temprature-123456789012345.json' 

In der Zeile oben muss natürlich der Name der zuvor heruntergeladenen JSON Datei gegen euren Dateinamen ausgetauscht werden.

GDOCS_SPREADSHEET_NAME = 'DTH11 Temperatur und Luftfeuchtigkeit'

Und hier muss natürlich der Name eurer Google Tabelle eingetragen werden.

DHT_PIN = 4

Und hier schließlich der GPIO4. DHT_PIN ist etwas verwirrend wie ich finde. Tatsächlich muss hier der GPIO angegeben werden.  In meinem Beispiel von oben also 4.

Und los geht das Vergnügen:

sudo ./google_spreadsheet.py

 

IP Kamera DB Power VA033K+ einrichten an der Synology Surveillance Station

Schon wieder ein Selbstversuch… ?

Es musste mal wieder irgendwas elektrisches mit Kabel her. Die Wahl fiel diesmal auf eine IP Kamera. Neu auf dem Gebiet der Heimüberwachung sollte es erstmal ein günstiges Modell sein. Ich entschied mich für die DB Power VA033K+ für unter 40 Euro. Wie gewohnt traf die Lieferung kurz nach Bestellung auch schon daheim ein. Also frisch ans Werk…

Schnell war die App P2Pipc auf das iPhone heruntergeladen und die Kamera, angeschlossen an das heimische Netzwerk über ein Ethernet Kabel, mittels Scan Funktion anhand des QR Codes auf der Unterseite der Kamera erkannt.  Na, das ging doch einfach … Schnell noch das Passwort für den Admin in der App geändert und das heimische WLAN ebenfalls über die App konfiguriert. Und nun kann es richtig losgehen.

Doch dann begannen die Schwierigkeiten, die mich bei der Recherche nach einer Lösung in abseitige Ecken des Internets, auf chinesische, niederländische und französische Homepages und auf privat betriebene FTP Server führte. Hoffentlich habe ich mir hier nichts eingefangen 🙂

Grund für die ausgedehnte Recherche war, dass der Zugriff zwar über iPhone App prima funktionierte, aber nicht über das Webfrontend des in die Kamera eingebauten Webservers. Die IP Adresse, die die Kamera per DHCP bezogen hatte, konnte ich noch leicht über die Adminoberfläche der Fritz.box herausfinden. Der Aufruf der Webseite jedoch gestaltete sich hingegen schwieriger. Nach dem Tausch von Netzwerkkabeln, mehreren Resets der Kamera und etlichen verzweifelten Logikversuchen später viel es mir auf: Der Zugriff auf das Webfrontend war nicht möglich, solange das LAN-Kabel noch in der Kamera steckte…. hä? OK, WLAN ist ja konfiguriert, da mache ich mir lieber keine weiteren Gedanken drüber.

Der Login auf die Weboberfläche klappte nun schließlich. Auch ein Live-Bild wurde angezeigt. Na, das scheint doch alles ganz gut zu funktionieren. Doch leider folgt die Ernüchterung auf dem Fuß: Kein Schwenken der Kamera ist möglich. Keine Einstellungen konnten über das Menü geändert werden. Hier bekomme ich immer nur die Fehlermeldung „var result=“Auth Failed“. Komisch. Ich habe mich doch grade erst mit dem Account auf der Kamera angemeldet?

Der Versuch über Wireshark herauszufinden, was genau den hier grade schief läuft hat leider nicht zum Erfolg geführt. Muss vielleicht an der Firmware der Kamera liegen. Nix war zu finden. Die Homepage von DB Power ist leider nicht erreichbar. Argh…

Und schließlich die Lösung

… und die kann manchmal so einfach sein.

Entnervt habe ich mich dazu entschlossen, schließlich doch noch die Software auf der mitgelieferten CD auszuprobieren. Klar, es handelt sich nur um eine dieser kleinen Mini CDs, die ich in mein nicht vorhandenes CD Laufwerk beim Macbook Air nicht hineinschieben kann. Also einen alten Windows Rechner angeschmissen, der noch ein CD Laufwerk besitzt, die CD geöffnet und ein wenig vertrauenserweckendes Programm chinesischer Herkunft installiert. Mehrere Dialoge bei der Installation konnte ich nur auf Verdacht bestätigen, da die Software offenbar komplett auf Chinesisch erstellt wurde.

Doch schließlich konnte ich das Tool zum Suchen der Kamera starten und dort in den Einstellungen feststellen, dass die Länge des Passwortes für den Admin Benutzer offenbar auf 15 Zeichen beschränkt ist. Da ich ein Freund langer Passworte bin hatte ich mir ein schönes langes Passwort ausgesucht, dass grundsätzlich auch von der Kamera akzeptiert wurde. Offenbar ist nur die Web-GUI nicht in der Lage längere Passworte zu verarbeiten.

Über die P2Pipc App konnte ich dann das Kennwort auf ein kürzeres ändern (man sollte offenbar auch Sonderzeichen vermeiden … habe ich zumindest irgendwo gelesen) und siehe da:

Nun klappt auch die Schwenk-Funktion über das Webfrontend (bei mir war sie standardmäßig übrigens auf Port 81 eingestellt) der Kamera, Einstellungen lassen sich speichern … Nun scheint alles Prima.

Zum Schluss dann noch in die Synology Surveillance Station einbinden…

Die DB Power VA033K+ ließ sich dann auch noch relativ einfach in die Synology Surveillance Station einbinden. Bei meinen Recherchen in den dunklen Ecken des Internets bin ich auf verschiedene Hinweise zu baugleichen oder ähnlichen IP Kameras gestoßen. Die DB Power ist offenbar ähnlich zu Kameras von FOSCAM, HEDEN und WANSCAM.

in der Surveillance Station funktioniert bei mir die Einstellung Marke HEDEN, Kameramodell CAMHEDP5IPWB ganz prima. Inklusive Presets für das Schwenken.

Ich bin nun zumindest zufrieden.

Hat ja lange genug gedauert die Kamera zum Laufen zu bekommen. Aber irgendwie macht es ja auch immer Spaß…

 

Ralink USB WIFI Adapter mit MT7601 Chip am Raspberry Pi unter raspbmc betreiben

Damit fing alles an

Vor einiger Zeit habe ich einen günstigen USB WLAN Adapter bei ebay gekauft, den ich am Raspberry Pi betreiben wollte. Nun war es soweit und ich wollte den Wifi Adapter in Betrieb nehmen.

Am Raspberry Model B Revision 2 angeschlossen wurde der Adapter zwar erkannt, die Eingabe von lsusb führte zu folgendem Ergebnis:

pi@raspbmc:~$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 148f:7601 Ralink Technology, Corp.

Aha, es scheint sich um einen Adapter von Ralink zu handeln.

ifconfig hingegen hat keinen W-Lan Adapter angezeigt.

pi@raspbmc:~$ ifconfig

Nun ging die Suche los und hat mich über einige Webseiten und Foren geführt.

Die Suche nach der Ralink ID „148f:7601“ brachte es schnell ans Licht. Der WLAN Adapter verwendet einen MT7601 Chip von Ralink, der offenbar nicht vom Kernel direkt unterstützt wird.

Nun denn, also erstmal nach dem Rechten sehen. Um welches Linux geht es denn genau?

pi@raspbmc:~$ uname -a
Linux raspbmc 3.12.31 #2 PREEMPT Wed Oct 29 09:24:56 UTC 2014 armv6l GNU/Linux

Also suchte ich danach, wie ich einen Treiber für mein raspbmc Linux 3.12.31 kompiliere und wurde hier bei Dodger Tools  fündig. Eine prima Anleitung, der ich nahezu Stück für Stück gefolgt bin. Doch dazu gleich mehr. Erst noch die richtigen Treibersourcen suchen, die ich bei Mediatek gefunden habe. Für die Konfiguration des Network Interfaces habe ich mich dieser Quelle bedient. 

Nun aber Schritt für Schritt

Als erstes habe ich die Treibersourcen bei Mediatek auf meinen lokalen Rechner heruntergeladen und anschließend per scp (Secure Copy) auf den Pi übertragen. Dieser Schritt war notwendig, da Mediatek für den Download eine E-Mail Adresse wissen wollte. Die Datei DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 landete in meinem Downloadverzeichnis.

Auf dem Mac wird dann ein Terminal geöffnet. Unter Windows geht sowas prima mit Putty.

#ins Verzeichnis Downloads wechseln
cd Downloads/
#Treiber auf den Raspberry Pi in das Verzeichnis /tmp kopieren
scp DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 pi@192.168.178.38:/tmp

Anschließend per ssh mit dem PI verbinden und dort geht’s weiter.

ssh pi@192.168.178.25

Die IP Adresse müsst ihr natürlich durch die IP Adresse eures PI ersetzen.

Und weiter gehts auf dem Pi

Die nachfolgenden Zeilen habe ich dann einzeln auf dem Raspberry Pi ausgeführt. Die Kommentare (Zeilen die mit # beginnen) natürlich nicht.

#Werde root
sudo bash

#Die grafische Oberfläche stoppen 
#(verringert die CPU Last und spart RAM)
initctl stop xbmc

#Installiere Notwendige Pakete um die Treiber zu bauen
apt-get -y install build-essential bc gcc make wireless-tools

#Module.symvers aus den Kernel headers herunterladen
cd /tmp
wget http://www.mirrorservice.org/sites/raspbmc.com/downloads/bin/kernel/linux-headers-latest.deb.gz
mkdir x
dpkg-deb -x linux-headers-latest.deb.gz x
mv -v x/usr/src/linux-headers-$(uname -r)/Module.symvers /usr/src

#Kernel source laden und vorbereiten
cd /usr/src
gKernel=$(uname -r | sed 's/[0-9]*$/y/')
#der folgende Schritt dauert eine Weile, da nun die Kernel Quellen geladen werden
wget --no-check-certificate https://github.com/raspberrypi/linux/archive/rpi-$gKernel.tar.gz
#auspacken des Quellarchives
tar xzf rpi-*.tar.gz
mv linux-rpi-*y rpi-linux

Als nächstes habe ich den Treiber aus dem Verzeichnis /tmp nach /usr/src kopiert, dann haben wir alles beieinander. Hier weicht die Anleitung von der Anleitung bei Dodger Tools ab, da wir einen anderen Treiber kompilieren wollen.

cp /tmp/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 /usr/src/
#Treiber entpacken
tar xvjf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2

Und weiter geht’s wieder mit der Anleitung von Dodger Tools:

#Kernel konfigurieren
cd /usr/src/rpi-linux
make mrproper
zcat /proc/config.gz > .config
sed -i 's/CONFIG_CROSS_COMPILE.*/CONFIG_CROSS_COMPILE=""/' .config
make modules_prepare
cp /usr/src/Module.symvers .

#Symlinks erstellen, damit die Modul Source die Kernel Source finden
rm -r /lib/modules/$(uname -r)/build
rm -r /lib/modules/$(uname -r)/source
rm -r /usr/src/linux
ln -s /usr/src/rpi-linux /lib/modules/$(uname -r)/build
ln -s /usr/src/rpi-linux /lib/modules/$(uname -r)/source
ln -s /usr/src/rpi-linux /usr/src/linux

Hier wieder eine leichte Abweichung wegen des anderen Treibers

#Modul kompilieren und installieren
cd /usr/src/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913
make
make install
#Alte Kernel Module entfernen
rm -r /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2x00

#Raspberry pi Rebooten
reboot 

#Wieder einloggen, Root werden und dann Prüfen, ob ein WLAN Adapter angezeigt wird
iwconfig

Yippieh, das hat funktioniert

Die Ausgabe zeigt:

root@raspbmc:/usr/src/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913# iwconfig
ra0 Ralink STA ESSID:"MeineSSID" Nickname:"MT7601STA"
 Mode:Managed Frequency=2.437 GHz Access Point: 10:9A:DD:81:CE:6D 
 Bit Rate=58.5 Mb/s 
 RTS thr:off Fragment thr:off
 Encryption key:1234-ABCD-2345-BCDE-3456-CDEF-4567-DEFG Security mode:open
 Link Quality=79/100 Signal level:-62 dBm Noise level:-81 dBm
 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

lo no wireless extensions.

eth0 no wireless extensions.

Jetzt nur noch das Network interface konfigurieren

nano /etc/network/interfaces

Dort dann folgendes einfügen (SSID und PASSWORD müssen durch eure Werte ersetzt werden):

auto ra0
allow-hotplug ra0
iface ra0 inet dhcp
wpa-ssid "ENTER YOUR NETWORK SSID"
wpa-psk "ENTER YOUR NETWORK PASSWORD"

Nach einem Reboot des Pi war dieser über WLAN erreichbar und hat eine schöne eigene IP Adresse erhalten:

ra0 Link encap:Ethernet HWaddr 00:0d:a3:1c:3f:e8 
 inet addr:192.168.178.38 Bcast:192.168.178.255 Mask:255.255.255.0
 inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:126797 errors:0 dropped:5 overruns:0 frame:0
 TX packets:5455 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000 
 RX bytes:29841593 (28.4 MiB) TX bytes:912324 (890.9 KiB)

Viel Spaß!

Animals4Kids Android App

Animals4Kids Android App für KinderEinige Zeit hat es ja gedauert, aber jetzt ist es soweit. Ich habe meine App Aninmals4Kids im Android Market veröffentlicht.

Gedacht war das ganze erst als Fingerübung. Hauptzweck war es herauszufinden, was man machen muss, um eine App im Market zu veröffentlichen. Aber dann hat es wirklich viel Spass gemacht, die App zu entwicklen.
Eigentlich war alles ganz einfach. Hier die wichtigsten Schritte:

  • Als erstes musste natürlich die Idee geboren werden. Nach der Installation des Google Android SDKs habe ich mir den Beispielcode angeschaut und einige interessante Dinge gefunden. TTS hatte es mir gleich angetan. Mit Text To Speach ist es sehr einfach möglich die Sprachsynthese von Google zu nutzen. OK, also irgendwas mit TTS. Warum nicht noch Tiere dazu, das passt doch immer gut 🙂
  • Eclipse, Android SDK, ADB, … damit kommt dann halt jeder in Kontakt, wenn er eine App für Android bastelt
  • Wenn man die App fertiggestellt hat und veröffentlichen möchte muss man sie für ein Release kompilieren. Mit Eclipse Projekt/Export ging es ganz einfach. Inklusive der Erstellung des notwendigen Keys
  • Als nächstes noch schnell beim Publishing für den Android Market angemeldet. Unter market.android.com/publish ging das ganz flott. Inklusive der Anmeldung für den Google Developer Account. Die 25$ müssen über Google Checkout bezahlt werden. Dafür ist eine Kreditkarte notwendig.
  • Beim ersten Versuch die App zu publishen gab es ein paar Probleme. Zur App müssen mindestens zwei Screenshots hochgeladen werden. Obwohl ich das gemacht habe, zeigte Google eine Fehlermeldung an, ich müsse mindestens zwei Bilder hochladen. Also flugs den Browser geschlossen, und das ganze nochmal gestartet. Dann funktionierte das Einstellen in den Market reibungslos. Schön wäre es gewesen, ich hätte alle Texte, die zur Beschreibung der App notwendig sind gespeichert. So musste ich sie mir nochmal ausdenken. Nun denn, jetzt bin ich klüger. 🙂
  • Und siehe da, schon wenige Minuten später konnte ich die App Over The Air aus dem Market installieren. Das ging wirklich einfach!

1und1 Smartdrive unter Ubuntu einbinden

Das Einbinden eines 1und1 Smartdrive unter Ubuntu 10.10 gestaltet sich ganz einfach. Allerdings sind einige Schritte zu beachten. Eine ausführliche Anleitung findet man hier:

http://wiki.ubuntuusers.de/webdav

Eine schöne übersichtliche Schritt für Schritt Anleitung habe ich hier gefunden. Damit ging das Einrichten ganz schnell:

http://croesnet.eu/trixbox/1und1-smartdrive-under-ubuntu-10-10-maverick/

It has taken me some time to get the 1und1 Smartdrive to work correctly under Ubuntu 10.10 Maverick through webdav. Capturing the steps here, to remind myself and share with the community.
Most of this info is created by testing, trial and error, using pieces of information found on the internet and the man pages.
1) Install davfs2 (via synaptic or command line: sudo apt-get install davfs2)
2) Allow users to mount by setting this option through this program
"sudo dpkg-reconfigure davfs2"
3) Create folder /media/1und1 (sudo mkdir /media/1und1)
4) Edit /etc/fstab by adding this line
https://sd2dav.1und1.de /media/1und1 davfs user,noauto,rw 0 0
5) Edit /etc/davfs2/davfs2.conf, changing the following line:
a) from: # ignore_home # system wide config file only
to: ignore_home kernoops # system wide config file only
b) from: # if_match_bug 0
to: if_match_bug 1
6) Edit /etc/davfs2/secrets, adding the line with credentials
https://sd2dav.1und1.de kaxxxx-xxx@online.de your-password
7) Add yourself to the user-group davfs2
(System -> Administration -> Users and Groups)
You can now mount /media/1und1 to your 1und1 Smartdrive as user

QR Codes generieren

Die 2D QR Codes setzen sich immer stärker durch. Sei es um Visitenkarteninformationen auszutauschen oder um eine URL darin unterzubringen. Sinnvoll zum Beispiel, um zu erklärungsbedürftigen Produkten zusatzinformationen aus dem Web aufzurufen.

Alles was man benötigt ist ein Handy mit Kamera und einen Barcodereader.

QR Codes eignen sich hervorragend zur Weitergabe von kleinen Informationshäppchen und können auch mit Handykameras gut gelesen werden, da sie einen Fehlertoleranz von 30% besitzen.

Um schnell mal einen eigenen QR Code zu generieren hilft ein Online Barcode Generierer wie http://goqr.me/

Hier ein generierter Beispielcode:

QR Code

Eine andere Möglichkeit einen QR Code zu erzeugen ist die Nutzung der Google Chart API:
http://chart.apis.google.com. Einen QR Code kann man ganz einfach per

<img src=“http://chart.apis.google.com/chart?cht=qr&chs=200×200&chl=Mein+QR+Code“/>

erzeugen.

JazzRally beginnt

DSC00320.JPG

Na endlich 🙂

Die JazzRally beginnt gut besucht in der Kaiserswerther Kaiserpfalz bei Sonnenschein. Den Auftakt machen auch dieses Jahr wieder die Gewinner des Jazz Wettbewerbes auf Mallorca.
Ali Haurand erzählt wieder von der 3. Sprache der Musik… alles also wie gehabt … Man könnte auch sagen: bewährt 🙂
Gleich gehts mit Flamenco weiter. Als Zwischenmusik läuft grade Donald Fagen … vielleicht um die Gemüter vorher noch zu kühlen 🙂

Nachtrag:
Rafael Cortés der im Anschluß gespielt hat war großartig und hat die Stimmung noch einmal richtig angeheizt. Flamenco vom Feinsten und mit einer unglaublichen Technik gespielt! Wirklich großartig!

Rafael Cortés bei der JazzRally Düsseldorf
Rafael Cortés bei der JazzRally Düsseldorf

Rafael Cortés

Die Abendstimmung in der Kaiserpfalz in Kaiserswerth
Die Abendstimmung in der Kaiserpfalz in Kaiserswerth