Spisu treści:
- Krok 1: Lista części
- Krok 2: Przygotuj koniec kabla RPI
- Krok 3: Końcówka kabla czujnika
- Krok 4: Podłączanie kabli
- Krok 5: Instalacja oprogramowania Homebridge
- Krok 6: Zainstaluj Homebridge-dht
- Krok 7: Instalacja PIGPIO
- Krok 8: Monitorowanie temperatury procesora Raspberry PI - opcjonalnie
- Krok 9: Uruchom Homebridge
- Krok 10: Testowanie za pomocą zestawu domowego
- Krok 11: Rozdział bonusowy - Podwójne czujniki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Szukałem taniego czujnika temperatury / wilgotności, którego mógłbym użyć do monitorowania tego, co dzieje się w mojej przestrzeni, ponieważ stwierdziłem, że tej wiosny było bardzo mokro i było dużo wilgoci. Szukałem więc czujnika w rozsądnej cenie, który mógłbym tam postawić i monitorować zdalnie. Po wykopaniu w sieci tego, co było dostępne lokalnie i okazało się, że działa z RaspBerry PI i NodeMCU (więcej na ten temat później). Zdecydowałem się na czujnik DHT22. Był tani, oferował zarówno temperaturę, jak i wilgotność i był dostępny lokalnie.
Aktualizacja kwiecień 2019 - Po kilku latach korzystania z biblioteki pigpiod przeszedłem na bibliotekę bcm2835 i opublikowałem tutaj nowe instrukcje.
Aktualizacja z grudnia 2016 r. - Po kilku miesiącach korzystania z nich zauważyłem, że dokładność czujnika wilgotności zmienia się znacznie w czasie i przestałem ufać im, jeśli chodzi o dość dokładne informacje o wilgotności. I zmieniam wszystkie moje urządzenia na czujnik temperatury/wilgotności/ciśnienia barometrycznego Bosch BME280. Stworzyłem więc nową instrukcję pokazującą, jak podłączyć ten czujnik do RaspberryPI (Podłącz swój RaspberryPI do temperatury BME280 i NodeMCU/ESP8266 (Homebridge-MCUIOT).
Krok 1: Lista części
Więc poszedłem do mojego lokalnego sklepu z częściami i kupiłem
1-DHT22/AM2303 czujnik temperatury/wilgotności
Rezystor 1 - 4,7K
4-stykowe złącze żeńskie (strona czujnika)
5-stykowe złącze żeńskie (strona RPI)
Rurki termokurczliwe wąskie i szerokie
Stara mysz szeregowa
Aby podłączyć czujnik do PI, użyłem kabla ze starej myszy szeregowej, którą leżałem. Można użyć dowolnego używanego kabla, o ile ma 3 przewody. Ten, którego użyłem, miał kilka przewodów, ale użyłem czerwonego, żółtego i czarnego, aby wszystko było proste.
Krok 2: Przygotuj koniec kabla RPI
Następnie przylutowałem szpilki do mojego drutu. Piny, które miałem, były zagniatane, ale nie mogłem ich poprawnie zacisnąć, więc zamiast tego wybrałem lut.
Po przylutowaniu pinów włożyłem je do 5-pinowego żeńskiego nagłówka, z czerwonym na 1, żółtym na 4 i czarnym na 5.
Połączenie RPI jest okablowane w ten sposób
RPI -> 5-pinowe złącze -> Opis -> Kolor przewodu
1 -> 1 -> Zasilanie 3,3 VDC -> Czerwony
7 -> 4 -> GPIO4 -> Żółty
9 -> 5 -> Ziemia -> Czarny
Krok 3: Końcówka kabla czujnika
W tym celu używamy 4-pinowego złącza żeńskiego, rezystora i rurki termokurczliwej.
Przylutuj czerwony i żółty przewód do bolca, a między nimi również umieść opornik. Przykryj je również folią termokurczliwą, aby nie doznać spięcia. Następnie przylutuj również czarny przewód do szpilki. Włóż szpilki do 4-pinowego nagłówka w następujący sposób
1 - Czerwony
2 - Żółty
3 - Pusty
4 – Czarny
Następnie zakryj przewody większymi rurkami termokurczliwymi.
Krok 4: Podłączanie kabli
Po wyłączeniu RPI ostrożnie podłącz 5-stykowe złącze żeńskie do połączenia GPIO, z czerwonym przewodem w styku 1 wyrównanym z stykiem 1 na złączu GPIO. Nagłówek powinien obejmować tylko pierwsze 5 nieparzystych pinów GPU.
Po stronie czujnika zrównaj piny czujnika z główką i upewnij się, że pin 1 czujnika (po lewej stronie) łączy się z pinem 1 główki (czerwonym przewodem).
Po założeniu koszulki termokurczliwej nie widziałem już koloru drutu, więc zaznaczyłem go ostrym ostrzem.
Krok 5: Instalacja oprogramowania Homebridge
Ponieważ jest ich wiele innych przewodników dotyczących konfiguracji raspberry pi, nie będę tego tutaj powtarzał, ale zakładam, że masz konfigurację RPI z Raspbian Jessie, z zainstalowanym Node. JS i uruchomionym Homebridge. Jest kilka przewodników po homebridge, które już to obejmują.
Krok 6: Zainstaluj Homebridge-dht
1. Zainstaluj homebridge-dht za pomocą polecenia
sudo npm install -g homebridge-dht
2. Zaktualizuj plik config.json w ~/.homebridge za pomocą następujących
{ "most": {
"name": "Penny", "username": "CC:22:3D:E3:CD:33", "port": 51826, "pin": "031-45-154" }, "description": " HomeBridge", "platformy": , "akcesoria": [{ "akcesoria": "Dht", "name": "dht22", "name_temperature": "Temperatura", "name_humidity": "Wilgotność", "serwis ": "dht22" }]}
Krok 7: Instalacja PIGPIO
1. Zainstaluj bibliotekę pigpiod za pomocą tych poleceń
aktualizacja sudo apt-get
sudo apt-get zainstaluj pigpio python-pigpio python3-pigpio
2. Skopiuj dht22 do /usr/local/bin/dht22 i zrób plik wykonywalny.
Po instalacji na moim RPI znajduje się on w /usr/lib/node_modules/homebridge-dht. Twoja instalacja może umieścić go w innym miejscu. Skontaktuj się z
ls -l /usr/lib/node_modules/homebridge-dht/dh22
sudo cp /usr/lib/node_modules/homebridge-dht/dht22 /usr/local/bin/dht22
sudo chmod a+x /usr/local/bin/dht22
3. W tym momencie powinieneś być w stanie przetestować czujnik DHT22 za pomocą polecenia
dht22
I powinien odpowiedzieć
0 18,4 C 51,0%
Krok 8: Monitorowanie temperatury procesora Raspberry PI - opcjonalnie
Jest to opcjonalny krok, który pozwala również zdalnie monitorować temperaturę procesora Raspberry PI.
1. Utwórz plik w /usr/local/bin/cputem zawierający
#!/bin/bashcpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1)) echo $cpuTemp1" C"
2. Uczyń plik wykonywalny
chmod a+x /usr/local/bin/cputem
3. Zaktualizuj plik config.json w ~/.homebridge i zastąp sekcję akcesoria następującym:
"Akcesoria": [{ "akcesoria": "Dht", "name": "cputemp", "service": "Temperatura" }, { "akcesoria": "Dht", "name": "Czujnik temperatury/wilgotności", "serwis": "dht22" }]
Krok 9: Uruchom Homebridge
Uruchom Homebridge, a plik dziennika powinien wyglądać tak
[21.06.2016, 21:37:31] Załadowana wtyczka: homebridge-dht [21.06.2016, 21:37:31] Rejestracja akcesorium 'homebridge-dht. Dht'
[21.06.2016, 21:37:31] ---
[21.06.2016, 21:37:31] Załadowany plik config.json z 2 akcesoriami i 0 platformami.
[21.06.2016, 21:37:31] ---
[21.06.2016, 21:37:32] Wczytuję 0 platform…
[21.06.2016, 21:37:32] Ładowanie 2 akcesoriów…
[21.06.2016, 21:37:32] [cputemp] Inicjalizacja akcesorium Dht…
[21.06.2016, 21:37:32] [cputem] POCZĄTEK: cputem
[21.06.2016, 21:37:32] [Czujnik temp./wilgotności] Inicjalizacja akcesorium Dht…
[21.06.2016, 21:37:32] [Czujnik temperatury/wilgotności] INIT: Czujnik temperatury/wilgotności
Zeskanuj ten kod za pomocą aplikacji HomeKit na urządzeniu z systemem iOS, aby sparować z Homebridge:
┌────────────┐
│ 031-45-154 │
└────────────┘
[21.06.2016, 21:37:32] Homebridge działa na porcie 51826.
Krok 10: Testowanie za pomocą zestawu domowego
Uruchom swojego ulubionego klienta zestawu domowego i sparuj z nowym akcesorium. Powinieneś wtedy zobaczyć nowy czujnik temperatury/wilgotności.
Jeśli masz problemy lub problemy, zgłoś problem na GitHub
Krok 11: Rozdział bonusowy - Podwójne czujniki
Po zapytaniu kilku osób pomyślałem, że dołączę notatki potrzebne do dodania drugiego czujnika.
Jeśli chodzi o okablowanie, spójrz na załączony obraz, to jest ten, który udostępniłem Hector305, aby podłączyć drugi czujnik.
A dla zaktualizowanego pliku konfiguracyjnego jest to config.json.
{ "akcesoria": "Dht", "name": "dht22 - indoor", "name_temperature": "Temperatura wewnętrzna", "name_humidity": "Wilgotność wewnętrzna", "gpio": "4", "service": "dht22" }, { "akcesoria": "Dht", "name": "dht22 - outdoor", "name_temperature": "Temperatura zewnętrzna", "name_humidity": "Wilgotność zewnętrzna", "gpio": "2", "service": "dht22" }