Hallo liebe Leserinnen und Leser!

Heute möchte ich euch zeigen, wie ihr den Temperatur- und Luftfeuchtigkeitssensor DHT11 am Banana Pi anschließen und auslesen könnt.

Ich verwende hier wieder das schlanke OS Bananian für den Banana Pi, das Tutorial sollte aber auch auf Raspbian umzusetzen sein. Hier muss der erste Schritt (Installation von WiringBPi) allerdings nicht durchgeführt werden, da dieses Bereits vorinstalliert ist.

 

1. Installation von WiringBPi

WiringBPi ist das Pendant zu WiringPi für den Raspberry Pi und wird von LeMaker über GitHub zur Verfügung gestellt. Um WiringBPi auf eurem Banana Pi mit Bananian zu installieren, müsst ihr folgende Schritte ausführen (falls ihr den Standard-Nutzer root benutzt, müsst ihr das „sudo“ am Anfang jeweils weglassen!):


Update [21.02.2015]: LeMaker hat das GitHub-Repository mittlerweile in WiringBP umbenannt und die Bibliothek um den Banana Pro ergänzt. Ich habe den Artikel hier gerade dahingehend überarbeitet.


Für den normalen Banana Pi führt ihr nun folgendes aus:

bzw. für den Banana Pro das hier:

Anschließend wechselt ihr in das heruntergeladene Verzeichnis über  cd WiringBP . Um die build-Datei ausführbar zu machen, nutzt ihr diesen Befehl:

Dann startet ihr das Script mit sudo ./build und installiert WiringBPi mit sudo ./build install .

 

2. Anschluss des DHT11 an den Banana Pi

Der Anschluss des DHT11 an den Banana Pi ist relativ simpel. Ihr braucht nur 3 Kabel, um den Sensor mit den GPIOs eures BPi zu verbinden. Allerdings ist es empfehlenswert, zusätzlich einen Pull-Up-Widerstand anzubringen, um Übertragungsfehler zu vermeiden. Ich habe ich die beiden Anschlussvarianten mal bildlich dargestellt.

Zuerst ohne Pull-Up-Widerstand:Schaltung Banana Pi mit DHT11

Und nun mit Pull-Up-Widerstand (hier: 4.7kΩ):

Schaltung Banana Pi mit DHT11 und Pull-Up-Widerstand

Für den Widerstandswert schaut ihr am Besten in das Datenblatt eures DHT11, bei meinem war ein Widerstand von 5,1kΩ angegeben.

Hier noch die Pinbelegung des DHT11 im Detail:DHT11 Pins

Und so müsst ihr ihn mit dem Banana Pi verbinden (tabellarische Form):

DHT11          Banana Pi

VCC               5V bzw. 3.3V

GND               GND

DATA            GPIO 7

 

3. Programm zum Auslesen des DHT11

Es war etwas schwierig ein fertiges Programm zu finden, um den DHT11 am Banana Pi auslesen zu können mit WiringBPi. Das liegt wohl an kleineren Problemen mit der aktuellen Version von WiringBPi im Zusammenspiel mit einigen OS-Varianten. Ich habe allerdings eine Lösung gefunden, die zumindest bei mir funktioniert.

Hier ist der entsprechende Quellcode (Quelle):

Diesen Code speichert ihr unter dem Namen „dht11.c“ auf dem Banana Pi. Jetzt müssen wir den Code nur noch kompilieren. Dazu geben wir folgenden Befehl ein (zuvor natürlich in das Verzeichnis mit der gerade angelegten Datei „dht11.c“ wechseln):

Nun sollte das Programm einsatzbereit sein. Ihr könnt es über sudo ./dht11 aufrufen. Jetzt werden euch alle 3 Sekunden die vom Sensor gemessenen Werte für die Luftfeuchtigkeit und die Temperatur auf das Terminal ausgegeben.

Für die Speicherung der Werte in einer .csv-Datei und die Visualisierung der aktuellen und historischen Werte über ein Webinterface folgt noch ein weiteres Tutorial, das auf diesem aufbauen wird.

Bei Fragen, Anregungen oder Problemen könnt ihr wie immer das Kommentarfeld unten benutzen.

Und nun: Gutes Gelingen bei der Umetzung!