Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Konfiguracja Raspberry Pi
- Krok 2: Tworzenie obwodu elektronicznego
- Krok 3: Arduino + programowanie
- Krok 4: Testowanie czujników i elementów wykonawczych na Pi
- Krok 5: Baza danych
- Krok 6: Frontend
- Krok 7: Backend
- Krok 8: Łączenie rzeczy
- Krok 9: Testowanie
Wideo: Projekt ElectroTerra: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Zrobiłem "inteligentne" terrarium/wiwarium jako projekt szkolny.
ElectroTerra jest obsługiwany przez Raspberry Pi, który obsługuje stronę internetową i przechowuje dane zebrane z czujników w bazie danych MariaDB.
Strona pokazuje temperaturę i wilgotność względną z czujników oraz umożliwia sterowanie wentylatorem i taśmą LED. Ten pasek może również działać automatycznie z czujnikiem LDR.
Zakładam praktyczną znajomość obsługi Raspberry Pi, Arduino, MariaDB (Mysql) oraz okablowania płytek stykowych.
Kieszonkowe dzieci
Zrobiłem listę materiałów, dzięki czemu można znaleźć wszystko, co potrzebne do tego projektu.
Krok 1: Konfiguracja Raspberry Pi
Najpierw musisz skonfigurować podstawy Raspberry Pi:
Użyłem połączenia ssh do sterowania Pi za pomocą laptopa:
Do kodowania użyłem Visual Studio Code z rozszerzeniem ssh:
Aby udostępnić stronę internetową w swojej sieci prywatnej, możesz sprawdzić tę instrukcję od kroku 1 - 3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Nie ma dodatkowej wersji zabezpieczeń w tym projekcie, więc uważaj na ujawnienie go w Internecie.
Krok 2: Tworzenie obwodu elektronicznego
W schemacie fritzowania możesz zobaczyć każdy potrzebny element w tym projekcie. Czujnik temperatury 1-przewodowy można zastąpić wbudowanym czujnikiem temperatury DHT22.
Arduino jest zasilane przez Pi za pomocą kabla USB.
Krok 3: Arduino + programowanie
Ponieważ funkcje w bibliotekach Arduino dla DHT22 i sterownika taśmy LED są bardzo rozbudowane, postanowiłem dodać Arduino do tych części.
Dlatego potrzebujesz Arduino IDE.
Pamiętaj, aby zaimportować te biblioteki:
- Biblioteka DHT:
- RGBdriver: w repozytorium github electroterra
Krok 4: Testowanie czujników i elementów wykonawczych na Pi
W repozytorium Github znajdują się pliki testowe dla poszczególnych komponentów.
Są to klasy: mcp.py (pokrywający dane analogowe z LDR) pcf.py (komunikujące dane I2C) oraz pcf_lcd.py (interfejs z LCD).
Krok 5: Baza danych
Utwórz bazę danych electroterra na Mysql worckbench za pomocą pliku zrzutu (final_dump_electroterra.sql w repozytorium Github) z danymi testowymi.
Wystąpił problem ze zgodnością przy użyciu kreatora "Forward Engineer to Database" w Mysql Workbench. Pamiętaj, aby usunąć parametr VISIBLE z instrukcji sql, ponieważ nie działa to w MariaDB.
Krok 6: Frontend
Kod HTML, CSS i Javascript można znaleźć w repozytorium Github. Należy je umieścić w katalogu, w którym będzie hostowana witryna. Projekt jest zoptymalizowany do użytku mobilnego i został przetestowany na najnowszych stabilnych wersjach Chrome, Firefox i Edge.
Krok 7: Backend
Kod app.py, datarepository.py i Database.py musi znajdować się w katalogu domowym użytkownika Pi. Aby Pi uruchomić plik automatycznie przy ponownym uruchomieniu, skorzystaj z tych instrukcji:
Kod znajdziesz w repozytorium github:
Krok 8: Łączenie rzeczy
Ta konfiguracja jest dowodem koncepcji.
Wentylator mocuje się za pomocą gorącego kleju. W listwie wentylacyjnej wywiercono dodatkowe otwory na okablowanie.
Następne było pudełko do przechowywania części elektronicznych. Zastosowano proste plastikowe pudełko. Rozważ dodanie listwy wentylacyjnej w przypadku przegrzania.
Krok 9: Testowanie
Włącz Raspberry Pi i zasilacze.
Przejdź do adresu IP pokazanego na wyświetlaczu LCD.
Dzięki temu możesz monitorować dane i sterować elementami wykonawczymi.
Zalecana:
Linefollower HoGent - Projekt Synthese: 8 kroków
Linefollower HoGent - Syntheseproject: Voor het vak syntezeproject kregen we de opdracht een linefollower te maken. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Zautomatyzowane EKG-BME 305 Projekt końcowy Dodatkowy kredyt: 7 kroków
Zautomatyzowane EKG-BME 305 Final Project Extra Credit: Elektrokardiogram (EKG lub EKG) służy do pomiaru sygnałów elektrycznych wytwarzanych przez bijące serce i odgrywa dużą rolę w diagnozowaniu i prognozowaniu chorób sercowo-naczyniowych. Niektóre informacje uzyskane z EKG obejmują rytm
Projekt zautomatyzowanej miski na karmę dla zwierząt: 13 kroków
Projekt zautomatyzowanej miski na karmę dla zwierząt: Ta instrukcja przedstawia i wyjaśnia, jak zbudować automatyczny, programowalny karmnik dla zwierząt domowych z dołączonymi miskami na karmę. Załączam tutaj film przedstawiający działanie produktu i jego wygląd
(Projekt IOT) Uzyskaj dane pogodowe za pomocą ESP8266 i Openweather API: 5 kroków
(Projekt IOT) Uzyskaj dane pogodowe za pomocą ESP8266 i Openweather API: W tej instrukcji zbudujemy prosty projekt IOT, w którym pobierzemy dane pogodowe naszego miasta z openweather.com/api i wyświetlimy je za pomocą oprogramowania do przetwarzania
Palnik zasilany przez USB! Ten projekt może przepalić plastik/drewno/papier (zabawny projekt musi być również bardzo drobny): 3 kroki
Palnik zasilany przez USB! Ten projekt może palić się przez plastik/drewno/papier (zabawny projekt musi być również bardzo cienki): NIE WOLNO TEGO UŻYWAĆ Z USB!!!! Dowiedziałem się, że może uszkodzić twój komputer ze wszystkich komentarzy. mój komputer jest w porządku. Użyj ładowarki do telefonu 600mA 5V. użyłem tego i działa dobrze i nic nie może zostać uszkodzone, jeśli użyjesz wtyczki bezpieczeństwa, aby zatrzymać zasilanie