Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Przygotowanie sprzętu
- Krok 2: Instalacja Cloud4RPi
- Krok 3: Podłączanie czujnika
- Krok 4: Wysyłanie odczytów czujnika do chmury
- Krok 5: Wykresy i alarmy
Wideo: Wilgotność w chmurze: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Zbliża się lato, a osoby bez klimatyzacji powinny być przygotowane na ręczne kontrolowanie atmosfery w pomieszczeniu. W tym poście opisuję nowoczesny sposób pomiaru najważniejszych parametrów komfortu człowieka: temperatury i wilgotności. Zebrane dane są przesyłane do chmury i tam przetwarzane.
Kieszonkowe dzieci
Używam płytki Raspberry Pi i czujnika DHT22. Możesz zrobić to samo na dowolnym komputerze, który ma Internet, GPIO i Python. Tańszy czujnik DHT11 również działa dobrze.
Krok 1: Przygotowanie sprzętu
Zacznijmy od samego początku, ponieważ dość długo nie korzystałem z Raspberry Pi.
Będziemy potrzebować:
- Płyta Raspberry Pi (lub inna platforma zorientowana na IoT).
- Karta SD lub microSD (w zależności od platformy).
- 5V/1A przez kabel micro-USB. LAN, który zapewnia połączenie z Internetem.
- Wyświetlacz HDMI, wyświetlacz RCA lub port UART (w celu włączenia SSH).
Pierwszym krokiem jest pobranie Raspbian. Wybrałem wersję Lite, ponieważ zamierzam używać SSH zamiast wyświetlania.
Rzeczy się zmieniły od ostatniego razu, kiedy to robiłem: teraz jest świetne oprogramowanie do nagrywania o nazwie Etcher, które działa doskonale i ma oszałamiający wygląd.
Po zakończeniu nagrywania obrazu włożyłem kartę SD do mojego Pi, podłączyłem kabel LAN i zasilający, a po chwili router zarejestrował nowe urządzenie.
Świetny! Przejdźmy dalej i SSH do tego.
Bezpieczeństwo jest w porządku, podoba mi się, ale to trochę utrudnia sprawę. Użyję adaptera UART-USB, aby uzyskać dostęp do powłoki i włączyć SSH…
Użycie wyświetlacza zamiast UART znacznie to ułatwia.
Po ponownym uruchomieniu w końcu jestem w środku.
Po pierwsze, zaktualizujmy:
aktualizacja sudo apt && aktualizacja sudo apt -y
Teraz połączmy to nowe urządzenie z chmurą.
Krok 2: Instalacja Cloud4RPi
Postanowiłem wypróbować platformę chmurową o nazwie Cloud4RPi, która jest przeznaczona dla IoT.
Zgodnie z dokumentacją do uruchomienia potrzebujemy następujących pakietów:
sudo apt zainstaluj git python3 python3-pip -y
Bibliotekę klienta można zainstalować jednym poleceniem:
sudo pip3 zainstaluj cloud4rpi
Teraz potrzebujemy przykładowego kodu.
klon git https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
Skrypt wykonywalny to control.py.
Potrzebujemy tokena, który pozwoli Cloud4RPi połączyć urządzenia z kontami. Aby je zdobyć, utwórz konto na cloud4rpi.io i naciśnij przycisk Nowe urządzenie na tej stronie. Zastąp ciąg _YOUR_DEVICE_TOKEN_ w pliku control.py tokenem urządzenia i zapisz plik. Teraz jesteśmy gotowi do pierwszego uruchomienia.
sudo python3 control.py
Otwórz stronę urządzenia i sprawdź, czy są tam dane.
Przejdźmy teraz do danych ze świata rzeczywistego.
Krok 3: Podłączanie czujnika
Będziemy potrzebować:
- Czujnik wilgotności DHT22 lub DHT11
- Rezystor podciągający (5-10 KΩ)
- Przewody
Czujnik DHT22 mierzy jednocześnie temperaturę i wilgotność. Protokół komunikacyjny nie jest ustandaryzowany, więc nie musimy go włączać w raspi-config - wystarczy prosty pin GPIO.
Aby zebrać dane, użyję świetnej biblioteki Adafruit dla czujników DHT, ale może nie działać tak, jak jest. Kiedyś znalazłem dziwne ciągłe opóźnienie w kodzie, które nie działało na moim sprzęcie, a po dwóch latach moje żądanie ściągnięcia wciąż jest w toku. Zmieniłem również stałe wykrywania płytki, ponieważ mój Raspberry Pi 1 z BCM2835 został niespodziewanie wykryty jako Raspberry Pi 3. Chciałbym, żeby to była prawda… Dlatego polecam używać mojego widelca. Jeśli masz z tym jakieś problemy, wypróbuj oryginalne repozytorium, może działa dla kogoś, ale ja do nich nie należę.
klon git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Ponieważ biblioteka jest napisana w C, wymaga kompilacji, więc potrzebujesz pakietów build-essential i python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Podczas instalacji pakietów podłącz DHT22, jak pokazano na rysunku.
I przetestuj to:
cd ~python -c "importuj Adafruit_DHT jako d; print d.read_retry(d. DHT22, 4)"
Jeśli widzisz coś takiego (39.2000076293945, 22.60000381469727), powinieneś wiedzieć, że jest to wilgotność w procentach i temperatura w stopniach Celsjusza.
Teraz zbierzmy wszystko razem!
Krok 4: Wysyłanie odczytów czujnika do chmury
Użyję pliku control.py jako bazy i dodam do niego interakcję DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
Usuń przykładowy kod, jak na obrazku powyżej.
Ponieważ DHT22 zwraca zarówno temperaturę, jak i wilgotność w jednym wywołaniu, zamierzam przechowywać je globalnie i aktualizować tylko raz w żądaniu, zakładając, że opóźnienie między nimi wynosi ponad 10 sekund. Rozważmy następujący kod, który pozyskuje dane DHT22:
importuj Adafruit_DHT
temp, szum = Brak, Brak
last_update = czas.czas() - 20
def aktualizacja_danych():
globalne last_update, hum, temp if time.time() - last_update > 10: hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT. DHT22, 4) last_update = time.time()
def get_t():
update_data() return round(temp, 2) jeśli temp nie jest Żadne inne Brak def get_h(): update_data() return round(hum, 2) jeśli hum nie jest Żadne inne Brak
Wstaw ten kod po istniejących importach i edytuj sekcję zmiennych tak, aby korzystała z nowych funkcji:
zmienne = { 'DHT22 Temp': { 'type': 'numeric', 'bind': get_t }, 'DHT22 Humidity': { 'type': 'numeric', 'bind': get_h }, 'CPU Temp': { 'type': 'numeric', 'bind': cpu_temp } }
Jeśli uważasz, że manipulacje są mylące, pobierz ostateczną wersję tego pliku. Wciśnij czerwony przycisk, aby rozpocząć transfer danych:
Następnie możesz sprawdzić stronę urządzenia.
python3 cloud_dht22.py
Następnie możesz sprawdzić stronę urządzenia.
Możesz zostawić to tak, jak jest, ale wolę mieć usługę na wszystko. Gwarantuje to, że skrypt jest zawsze uruchomiony. Tworzenie usługi z w pełni zautomatyzowanym skryptem, który już masz w katalogu cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Uruchomienie usługi:
usługa sudo cloud4rpi start
I sprawdzając to:
pi@raspberrypi:~ $ sudo service cloud4rpi status -l● cloud4rpi.service - demon Cloud4RPi Załadowany: załadowany (/lib/systemd/system/cloud4rpi.service; włączony) Aktywny: aktywny (działa) od środy 2017-05-17 20:22:48 UTC; 1min temu Główny PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 /usr/bin/python /home/pi/cloud_dht22.py
17 maja 20:22:51 raspberrypi python[560]: Publikowanie iot-hub/wiadomości: {'typ': 'config', 'ts': '2017-05-17T20…y'}]}
17 maja 20:22:53 raspberrypi python[560]: Publikowanie iot-hub/wiadomości: {'typ': 'dane', 'ts': '2017-05-17T20:2…40'}} 17 maja 20: 22:53 raspberrypi python[560]: Publikowanie iot-hub/wiadomości: {'typ': 'system', 'ts': '2017-05-17T20….4'}}
Jeśli wszystko działa zgodnie z oczekiwaniami, możemy kontynuować i wykorzystać możliwości platformy Cloud4RPi do manipulowania danymi.
Krok 5: Wykresy i alarmy
Przede wszystkim wykreślmy zmienne, aby zobaczyć, jak się zmieniają. Można to zrobić, dodając nowy Panel sterowania i umieszczając w nim wymagane wykresy.
Kolejną rzeczą, którą możemy tutaj zrobić, jest ustawienie Alertu. Ta funkcja umożliwia skonfigurowanie bezpiecznego zakresu dla zmiennej. Gdy tylko zakres zostanie przekroczony, wysyła powiadomienie e-mail. Na stronie edycji Panelu sterowania możesz przełączyć się na Alerty i skonfigurować je.
Zaraz potem wilgotność w moim pokoju zaczęła gwałtownie spadać bez zauważalnego powodu i wkrótce nastąpił alarm.
Możesz używać Cloud4RPi za darmo z dowolnym sprzętem, który jest w stanie uruchomić Pythona. Jeśli chodzi o mnie, teraz zawsze wiem, kiedy włączyć nawilżacz powietrza, a nawet mogę podłączyć go do przekaźnika w celu zdalnego sterowania przez Cloud4RPi. Jestem przygotowany na upały! Witamy lato!
Dzięki Cloud4RPi możesz zdalnie sterować Raspberry Pi i innymi urządzeniami IoT w czasie rzeczywistym. Odwiedź naszą stronę i podłącz nieograniczoną liczbę urządzeń za darmo.
Zalecana:
Automatyzacja szklarni z LoRa! (Część 1) -- Czujniki (temperatura, wilgotność, wilgotność gleby): 5 kroków
Automatyzacja szklarni z LoRa! (Część 1) || Czujniki (temperatura, wilgotność, wilgotność gleby): W tym projekcie pokażę, jak zautomatyzowałem szklarnię. Oznacza to, że pokażę Ci, jak zbudowałem szklarnię i jak podłączyłem elektronikę energetyczną i automatykę. Pokażę ci również, jak zaprogramować płytkę Arduino, która używa L
Jak opublikować dane ESP32 ze znacznikiem czasu NTP w chmurze IoT: 5 kroków
Jak opublikować dane ESP32 ze znacznikiem czasu NTP w chmurze IoT: W wielu aplikacjach użytkownicy muszą wysyłać swoje dane wraz z lokalnym znacznikiem czasu wartości, które mają zostać wysłane w ładunku do chmury AskSensors IoT. Format znacznika czasu to czas UNIX Epoch: liczba milisekund, które upłynęły od stycznia
Zautomatyzowana inteligentna akwaponika (z pulpitem nawigacyjnym w chmurze): 11 kroków
Zautomatyzowana inteligentna akwaponika (z pulpitem nawigacyjnym w chmurze): Aquaponics pozwala uprawiać własną żywność organiczną w dowolnym miejscu (wewnątrz lub na zewnątrz), na bardzo mniejszej przestrzeni, z większym wzrostem, mniejszym zużyciem wody i bez żadnych zewnętrznych nawozów chemicznych. Możesz także monitorować warunki na pulpicie nawigacyjnym w chmurze
Rejestrowanie temperatury i wilgotności Raspberry PI, stacja pogodowa w chmurze, Wi-Fi i statystyki mobilne: 6 kroków
Rejestrowanie temperatury i wilgotności Raspberry PI, Cloud Weather Station, Wifi i Mobile Stats: Dzięki urządzeniu Raspberry PI można całkowicie za darmo rejestrować dane dotyczące temperatury i wilgotności na zewnątrz, w pokoju, szklarni, laboratorium, pomieszczeniu chłodniczym lub w dowolnym innym miejscu. Ten przykład użyjemy do rejestrowania temperatury i wilgotności.Urządzenie zostanie podłączone do internetu v
Arduino Fingerprint Attendance System z przechowywaniem danych w chmurze: 8 kroków
Arduino Fingerprint Attendance System W/Cloud Data Storage: Możesz przeczytać ten i inne niesamowite samouczki na oficjalnej stronie ElectroPeakPrzeglądW dzisiejszych czasach nauka o działaniu i implementacji urządzeń IoT jest tak ważna ze względu na rosnące wykorzystanie systemów IoT. W tym samouczku zrobimy