Was kann ich mit dem RPi verbinden, um die Temperatur zu messen? Ich denke, Geräte, die an den I²C oder SPI angeschlossen sind, wären am sinnvollsten.
Hier ist eine Frage zu DHT-22 und anderen 1-Draht- Geräten. In diesem Stadium scheint es jedoch schwierig zu sein, das RPi mit 1-Draht zu beschalten, da die Timings kritisch sind
gpio
peripherals
temperature
sensor
John La Rooy
quelle
quelle
Antworten:
So schließen Sie einen MCP9804 an .
Du kannst es so benutzen:
Das Umwandeln von 0x67c1 in eine Temperatur ist etwas kompliziert. Das MSB ist 0xc1 und das LSB ist 0x67
Die ersten 4 Bits des MSB werden verworfen und verlassen die Temperatur in 16stel Grad
Python-Beispiel
Zusätzlich zum Laden der oben genannten i2c-Module müssen Sie das Paket python-smbus installieren. Sie können die Selbsterwärmung verringern, indem Sie den MCP9804 zwischen den Messungen ausschalten.
quelle
Sie können den integrierten seriellen Anschluss des Raspberry Pi verwenden und ihn an einen digitalen Thermometer-IC (z. B. DS1620 ) anschließen.
Sie können eine Schnittstelle von Raspberry Pi serielle Schnittstelle finden Sie heraus , hier
Wichtig : Denken Sie daran, dass der RPi-UART mit einer TTL von 3,3 V betrieben wird. Achten Sie darauf, dass Sie keine Hochspannungs-Uarts mit 5 V / 12 V direkt an den RPi anschließen. Es wird Schaden anrichten!
quelle
Ich habe zwei Ansätze zur Temperaturmessung ausprobiert. Für I2C habe ich ein TMP102-Modul verwendet, das dem ähnelt, was der Gnibbler beschreibt. Hier ist mein Beitrag dazu :
Für 1-Wire hat Adafruit kürzlich ein eigenes Image veröffentlicht, das 1-Wire-Unterstützung enthält. Ich konnte damit einen DS18B20 1-Draht-Temperatursensor auslesen. Weitere Details in diesem Beitrag :
Schließlich besteht ein anderer Ansatz darin, einen analogen Temperatursensor und einen externen ADC zu verwenden. Adafruit hat ein nettes Tutorial dazu.
quelle
Ein einfaches, billiges USB "HID TEMPer" -Thermometer funktioniert auch und ist viel einfacher anzuschließen für diejenigen, die noch nicht mit UARTs oder GPIOs experimentiert haben, wie ich.
Mein RPi bietet genügend Strom, um es ohne Hub direkt über den USB-Anschluss zu betreiben.
Um dies mit Raspbian Wheezy einzurichten, folgte ich diesen Anweisungen, die für Ubuntu geschrieben wurden (Haftungsausschluss: Link ist für einen Beitrag in meinem eigenen Blog). Für den Raspberry Pi musste ich nur eine kleine Änderung vornehmen, um
LIBUSB_LIBDIR
dasDevice::USB
Perl-Modul so zu installieren, dass es sichlibusb
an der nicht standardmäßigen Armposition befindet. Die vollständigen Anweisungen folgen.Installieren Sie die Abhängigkeiten wie folgt (als root), um eine einfache Lesung ohne Munin-Inhalte zu erhalten :
Erstellen
readtemp.pl
:Führen Sie das als root aus, um die Ausgabe zu sehen. In meinem Fall ist es heute Abend ein bisschen kühl in der Garage:
quelle
Das, was ich gerade benutze, ist das DS18B20 .
Öffne zuerst den Pi und tippe:
Dann fügen Sie das Wort
untested
danach hinzumain
.Dann tippe:
In meinem Fall hat es lange gedauert, obwohl es von Ihrer WLAN / Ethernet-Geschwindigkeit abhängt. Danach starten Sie neu:
Verbinden Sie das weiße Kabel mit GPIO4, das rote Kabel mit 3V3 und das schwarze Kabel mit GND. Sie schließen auch einen 4,7-K-Widerstand zwischen dem weißen und dem roten Draht an.
Sie können es lesen, indem Sie die folgenden Befehle ausführen:
Dann sollte die Seriennummer des Temperatursensors angegeben werden, gefolgt von
w1_bus_master1
Dann geh:
Und dann sollte es 2 Codezeilen anzeigen, wobei die 5 Ziffern am Ende der zweiten Zeile die Temperatur sind.
Hierfür wird das sogenannte "Dallas One-Wire Temperature Sensor Protocol" verwendet.
quelle
Ich lese gerade dieses Buch und mag es. Wenn Sie diesen Weg gehen, ist meine Vision, dass Sie einen Temperatursensor, einen Arduino und ein Xbee-Radio haben, die zusammengeklebt sind. Das ist Ihr Fernbedienungssensor, der überall sein kann, solange er sich in Reichweite der Wohnungsstation befindet. Dann für die Wohnungsstation eine Himbeere und ein anderes xbee haben. Ich vermute, dass es vielleicht einfacher ist, die Heimstation xbee auf einem Arduino zu haben und dann Arduino und Rasberry miteinander zu sprechen. Damit könnten Sie mehrere Fernsensoren und verschiedene Arten von Sensoren haben.
quelle