Spisu treści:
- Krok 1: Materiały
- Krok 2: Połączenia
- Krok 3: Wydruk 3D
- Krok 4: Kod
- Krok 5: Baza danych
- Krok 6: Połącz się z Wi-Fi
- Krok 7: Składanie wszystkiego razem
- Krok 8: Rozpocznij
Wideo: AirPi - czujnik jakości powietrza: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Czy kiedykolwiek zastanawiałeś się, dlaczego boli cię głowa? A jeśli to z powodu złej jakości powietrza? Za pomocą tego urządzenia możesz sprawdzić, czy tak jest. To urządzenie mierzy wartość CO2, wartość TVOC, temperaturę i wilgotność. Możesz zobaczyć jakość powietrza na żywo na wyświetlaczu LCD i zobaczyć wyraźne wskazanie, czy robi się niebezpiecznie. W ten sposób możesz otworzyć swoje okna na czas.
Jeśli wprowadzisz adres IP - wyświetlany podczas uruchamiania urządzenia w przeglądarce - otworzy się strona internetowa. Możesz zobaczyć wiele informacji o środowisku wewnętrznym, wraz z wykresami z ostatnich minut / godzin. Na desce rozdzielczej znajduje się również wskaźnik na żywo oraz kilka informacji i wskazówek.
Ten projekt został wykonany przez studenta Howest Kortrijk, NMCT (nowe media i technologia komunikacji).
Krok 1: Materiały
To wszystko, co kupiłem, aby stworzyć ten projekt. Jest to stosunkowo tani projekt, w zależności od kosztu wydruku 3D. Jeśli jesteś w stanie wydrukować go w szkole, może to być bardzo tanie. W przeciwnym razie zależy to od tego, gdzie je drukujesz i z jakiego materiału drukujesz. Zauważysz, że kupiłem dużo hurtowo, po prostu dlatego, że ciężko jest znaleźć pojedyncze rezystory lub diody, a to czyni go jeszcze tańszym. Jeśli masz czas, możesz zamówić większość przedmiotów na aliexpress.com, dostawa może chwilę potrwać, ale w ten sposób możesz ograniczyć wydatki.
Bez druku pieniądze, które wydałem na ten projekt, to 81,80 euro.
Oto materiały, których potrzebujesz:
Okrążenie:
- Raspberry Pi 3
- Karta SD 8GB (minimum)
- Czujnik jakości powietrza CCS811
- Czujnik temperatury i wilgotności DHT22
- Potencjometr (kontrastowy wyświetlacz LCD)
- LCD 16x2
- Przewody połączeniowe żeńskie do żeńskich
- Zielona i czerwona dioda LED
- Rezystory (2x470ohm i 1 4700ohm)
Sprawa:
- Druk 3D
- Śruby
- Klej dwuskładnikowy (lub inny klej na gorąco)
- narzędzie do gwintowania
Tylko ty używasz PCB:
- Lutownica
- Flux (ułatwia)
- Cyna
- Płytka eksperymentalna 2x4cm
Krok 2: Połączenia
Podłącz przewody jak powyżej. Możesz zobaczyć obwód elektryczny w spiczastym pliku. Nie jest to zbyt skomplikowany obwód, ale jeśli chcesz go tak mały, jak to tylko możliwe, zdecydowanie chcesz uzyskać eksperymentalną płytkę PCB. Okablowanie byłoby takie samo, z wyjątkiem tego, że GND i Vin zostaną podłączone do płytki PCB. Czujniki podłącza się przewodami połączeniowymi żeńskimi lub męskimi z lutowaniem. Nie zapomnij przylutować rezystora do czujnika DHT22.
Polecam również używać krótkich kabli, 10cm powinno wystarczyć. W przeciwnym razie pudełko byłoby jeszcze bardziej wypełnione kablem. Nie potrzebujesz bardzo długich, ponieważ rozmiar nadruku jest tak mały, jak to tylko możliwe.
Krok 3: Wydruk 3D
Pierwszą myślą, jaka przyszła mi do głowy, gdy myślałem o sprawie, był wydruk 3D. Ponieważ mój tata wydrukował kilka innych rzeczy i sam je zaprojektował. Wspólnie stworzyliśmy ten projekt i zastanowiliśmy się nad każdym aspektem. Powinien być wystarczająco dobrze schłodzony, wszystko można przykręcić na miejsce, a jeśli nie, można go wsunąć na miejsce.
Narysowaliśmy nawet każdy element, aby sprawdzić, czy wszystko pasuje. Plik jest dostępny dla wszystkich i chcielibyśmy usłyszeć opinie. Byliśmy bardzo zadowoleni z wyniku.
Krok 4: Kod
Kod tego projektu można znaleźć na Github. Jeśli użyłeś innych pinów (na przykład innego pinu GPIO dla diod LED, będziesz musiał dostosować te zmienne. Będą uruchomione dwa skrypty Pythona, web.py dla strony internetowej i sensor.py do odczytu czujników i aktualizacji bazy danych. Będziemy importować klasę LCD z lcd.py.
Po skonfigurowaniu raspberry pi możesz zacząć. Przede wszystkim musisz zaktualizować i uaktualnić wszystkie pakiety:
aktualizacja sudo apt-get && aktualizacja sudo apt-get
Następnie musisz zainstalować następujące pakiety:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Teraz stwórz wirtualne środowisko:
ja@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools koło virtualenv
ja@moje-rpi:~ $ mkdir projekt1 && cd projekt1 ja@moje-rpi:~/projekt1 $ python3 -m venv --system-site-packages env ja@moje-rpi:~/projekt1 $ source env/bin/ aktywuj (env)me@my-rpi:~/project1 $ python -m pip zainstaluj mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Ponieważ tak się stanie, możesz sklonować kod z mojego GitHub do swojego środowiska wirtualnego. Można to zrobić na wiele sposobów.
W katalogu conf znajdziesz cztery pliki, które będziesz musiał dostosować w razie potrzeby. Na pewno będziesz musiał zmienić katalog użytkownika i katalog domowy w każdym pliku. Ini uWSGI powinno być w porządku, o ile nie zmieniłeś mojego kodu, upewnij się, że zmieniłeś użytkownika i virtualenv, jeśli to konieczne.
Ponieważ czujnik CCS811 został celowo użyty w arduino, nie może on komunikować się przez magistralę i2c z prędkością raspberry pi. Będziesz musiał zmniejszyć prędkość do 10000 baudrate (użyłem 9600) w pliku konfiguracyjnym.
Będziesz także musiał pobrać bibliotekę czujnika adafruit. Mógłbym to wyjaśnić tutaj, ale jest doskonały przewodnik adafruit, który bardzo dobrze to wszystko wyjaśnia.
Ponieważ chcemy, aby skrypty Pythona uruchamiały się automatycznie, gdy malina jest podłączona, będziesz musiał skorzystać z usług. Powinny być w porządku, jeśli zachowasz mój kod. Wszystko, co musisz zrobić, aby działały, to je włączyć. Zanim to zrobisz, jest jeszcze jedna rzecz.
Ponieważ używamy serwera WWW nginx, będziemy musieli dezaktywować ustawienie domyślne i zastąpić je własną konfiguracją. W tym celu należy wykonać następujące kroki:
- skopiuj conf/nginx do *dostępnych witryn*
- Usuń link do domyślnej konfiguracji
- Dodaj link do nowej konfiguracji
- Zrestartuj nginx, aby zapisać zmiany
ja@my-rpi:~/project1 $ sudo cp conf/project1-*.service /etc/systemd/system/
ja@my-rpi:~/project1 $ sudo systemctl daemon-reload ja@my-rpi:~/project1 $ sudo systemctl start project1-* ja@my-rpi:~/project1 $ sudo systemctl status project1-*
Nginx i mysql powinny być zawsze uruchomione. Zaczynają wraz z Raspberry Pi. Skrypt sieciowy i skrypt sensora jeszcze nie.
Aby to zrobić, nadal musisz włączyć te dwie usługi za pomocą tych poleceń:
sudo systemctl włącz project1-flask.service
sudo systemctl włącz project1-sensor.service
Krok 5: Baza danych
Moja baza danych składa się z trzech tabel. Użytkownik nie ma związku z innymi tabelami. Służy tylko do logowania i przyznania dostępu do witryny. Gdy urządzenie jest włączone, wartość CO2 i wartość TVOC będą zapisywane do bazy danych co 50 sekund. Temperatura i wilgotność co 5 minut. W ten sposób uzyskujemy jasny obraz przeszłości.
Plik SQL można znaleźć tutaj, ale aby uzyskać bazę danych na raspberry pi, należy wykonać następujące kroki:
Po zainstalowaniu pakietów w poprzednim kroku mariadb/mysql powinien działać natychmiast. Możesz to sprawdzić za pomocą tej linii:
ja@my-rpi:~ $ sudo systemctl status mysql
Aby utworzyć bazę danych i użytkowników, wystarczy uruchomić skrypty sql w kodzie z GitHub. Jeśli zrobiłeś to poprawnie, powinieneś zobaczyć swoje tabele za pomocą tego polecenia:
ja@my-rpi:~ $ echo 'pokaż tabele;' | mysql projekt1 -t -u projekt1-admin -p
Teraz wszystko gotowe, możesz to przetestować bez obudowy, aby upewnić się, że wszystko działa. Jeśli nie masz połączenia z Wi-Fi, musisz podłączyć je kablem Ethernet i uruchomić ręcznie.
Krok 6: Połącz się z Wi-Fi
Otwórz plik konfiguracyjny wpa-supplicant w nano (nie ma to większego znaczenia, tylko upewnij się, że możesz pracować z edytorem tekstu).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Przejdź na dół pliku i dodaj następujące elementy (zastąp nazwę ssid i nazwę hasła swoimi):
sieć={
ssid="nazwa-ssid" psk="nazwa-hasła"}
Aby utworzyć zaszyfrowane hasło, możesz użyć wpa_passphrase i po prostu skopiować je do psk wpa_supplicant.conf, aby wszystko było bezpieczniejsze.
wpa_passphrase "nazwa-ssid" "nazwa-hasła"
Jeśli chcesz, aby automatycznie łączył się z tą siecią Wi-Fi, a w pliku konfiguracyjnym są inne, upewnij się, że zmieniłeś priorytet na wyższy poziom, dodając tę linię do sieci w pliku konfiguracyjnym:
priorytet=2
Nie zapomnij przekonfigurować interfejsu za pomocą:
wpa_cli -i ponownie konfiguruję wlan0
Teraz wszystko jest gotowe i połączone z siecią Wi-Fi.
Krok 7: Składanie wszystkiego razem
Skoro wszystko jest okablowane i zlutowane, możemy dostać się do obudowy. Zostało to zaprojektowane tak, aby można było otworzyć obudowę bez luźnych przewodów. Oznacza to, że wszystko jest przymocowane do dolnej części. Pierwszą rzeczą do zrobienia jest małe dostosowanie do maliny. Ma dziury na każdym rogu, ale te nie są tak duże, jak powinny. Średnica powinna wystarczyć, aby zmieściła się w środku śruba 3mm. Musieliśmy wypolerować otwory, aby trochę się poszerzyły.
Drugą rzeczą do zrobienia jest nacięcie gwintu w każdym otworze. Może to wydawać się trudne, ale można to łatwo zrobić za pomocą odpowiednich narzędzi. Polecam zrobić to w lokalnym sklepie z narzędziami, po prostu poproś o narzędzie do gwintowania. Ponieważ mój tata jest złotnikiem, miał narzędzia do tego w pracy. Mógłbym przesłać nowy plik stl, aby został wydrukowany później, ale wymagałoby to bardzo dokładnej drukarki.
Trzecim krokiem jest przykręcenie pi do dolnej części. Będziesz potrzebować 4 śrub o długości 7 mm i średnicy 3 mm. Następnie możesz wsunąć płytkę PCD w przewidziane miejsce w górnej części dolnej części. Czujnik CCS811 można wsunąć w przewidziane miejsce po lewej stronie i przymocować DHT11 do prawej płyty. Oba są wystarczająco izolowane i wentylowane, ale potem zauważyliśmy, że w środku wciąż jest gorąco. Więcej o tym później.
Następnie musisz przymocować diody LED do ich tuby. Zrobiliśmy to za pomocą kleju dwuskładnikowego, ale możesz to zrobić w dowolny sposób. Upewnij się, że się tam trzymają.
Teraz możesz przymocować wyświetlacz LCD, będziesz potrzebować śrub o tej samej średnicy co poprzednie, ale nieco dłuższych. Moje miały 1cm. Jeśli cztery śruby są wkręcone, pozostaje tylko jedna rzecz do zrobienia. Dołącz górną część. Wszystko czego potrzebujesz to cztery śruby o tej samej średnicy i są to 2cm. Teraz wszystko powinno być na swoim miejscu i możesz je uruchomić.
Krok 8: Rozpocznij
Proces uruchomienia tego projektu jest bardzo prosty:
- Podłącz kabel zasilający do lewej strony obudowy. Nie jest to bardzo widoczne, ale widać przez otwory wentylacyjne. Jeśli zdobędziesz go raz, nie będzie to ponownie problemem.
- Daj mu trochę czasu na uruchomienie.
- Adres IP pojawi się na wyświetlaczu przez dziesięć sekund. Jedyne, co musisz zrobić, to upewnić się, że jesteś podłączony do tej samej sieci i wpisać adres IP w pasku adresu przeglądarki.
- Jesteś teraz na stronie. Nie masz jeszcze konta, więc załóż konto.
- Jeśli jesteś zarejestrowany, zaloguj się.
- Gotowe! Możesz zobaczyć wszystkie dane na stronie internetowej, a wyświetlacz LCD pokazuje aktualną jakość powietrza.
Ponieważ ciepło rośnie, umieściliśmy czujniki na spodzie obudowy. W ten sposób temperatura nie miałaby dużego wpływu na rejestrowane wartości. Aby uzyskać optymalne pomiary, ustaw urządzenie w pozycji stojącej lub po prostu powieś je na ścianie.
Zalecana:
Miernik jakości powietrza w pomieszczeniach: 5 kroków (ze zdjęciami)
Miernik jakości powietrza w pomieszczeniu: Prosty projekt sprawdzania jakości powietrza w twoim domu. Ponieważ ostatnio często pracujemy w domu, dobrym pomysłem może być monitorowanie jakości powietrza i przypominanie sobie, kiedy nadszedł czas, aby otworzyć okno i zaczerpnij świeżego powietrza?
Airduino: Mobilny monitor jakości powietrza: 5 kroków
Airduino: Mobilny monitor jakości powietrza: Witam w moim projekcie, Airduino. Nazywam się Robbe Breens. Studiuję technologię multimedialną i komunikacyjną w Howest w Kortrijk w Belgii. Pod koniec drugiego semestru musimy zrobić urządzenie IoT, które jest świetnym sposobem na sprowadzenie wszystkich
Panel interfejsu API jakości powietrza AirVisual: 5 kroków
AirVisual Air Quality API Dashboard: AirVisual (https://www.airvisual.com) to strona internetowa, która dostarcza dane na temat jakości powietrza na całym świecie. Mają interfejs API, którego użyjemy do uzyskania danych o jakości powietrza do wysłania do pulpitu nawigacyjnego. Będziemy współdziałać z tym interfejsem API podobnie jak w przypadku
Monitorowanie jakości powietrza za pomocą DSM501A z wyświetlaczem Nokia LCD: 7 kroków
Monitorowanie jakości powietrza za pomocą DSM501A Za pomocą Nokia LCD: Witajcie przyjaciele! W tej krótkiej instrukcji pokażę, jak monitorować jakość powietrza w domu lub w dowolnym miejscu. Montaż tej niedrogiej stacji monitorowania jakości powietrza jest dość łatwy
Niedrogi monitor jakości powietrza IoT oparty na RaspberryPi 4: 15 kroków (ze zdjęciami)
Niedrogi monitor jakości powietrza IoT oparty na RaspberryPi 4: Santiago, Chile podczas zimowej katastrofy środowiskowej ma przywilej życia w jednym z najpiękniejszych krajów na świecie, ale niestety to nie tylko róże. Chile w okresie zimowym bardzo cierpi z powodu zanieczyszczenia powietrza, mai