Spisu treści:

Mini-Serre: 11 kroków
Mini-Serre: 11 kroków

Wideo: Mini-Serre: 11 kroków

Wideo: Mini-Serre: 11 kroków
Wideo: Dzwoneczek na choinkę #1 2024, Lipiec
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

Jako student mam zły nawyk zapominania o rzeczach. Z tego powodu, jeśli chcę wyhodować jakiś rodzaj rośliny, zwykle o niej zapominam i ona umiera, bo nie ma nikogo, kto by się nią zaopiekował.

Spróbuję rozwiązać ten problem za pomocą Mini-Serre. Mini-Serre to zautomatyzowany system monitorowania ogrodnictwa, który wysyła dane z różnego rodzaju czujników zainstalowanych do serwera WWW działającego na Raspberry Pi. W ten sposób użytkownik może monitorować swoje rośliny na stronie internetowej, gdziekolwiek się znajduje. Koncepcja ta jest opracowywana jako końcowy projekt w pierwszym roku technologii multimedialnej i komunikacyjnej w Howest Kortrijk w Belgii.

Krok 1: Materiały

Materiały
Materiały

Aby zbudować ten projekt, będziesz potrzebować następujących elementów:

Elektronika

  1. Raspberry pi 3 - zestaw
  2. Deska do krojenia chleba
  3. Złącza męskie-męskie
  4. Złącza męskie-żeńskie
  5. Dallas 18B20 (czujnik temperatury)
  6. Wykrywanie fotorezystora Światłoczuły czujnik światła
  7. MCP3008
  8. Potencjometr
  9. Wyświetlacz LCD
  10. Rezystory
  11. Niebieska dioda LED
  12. LED RGB

Obudowa:

13. Kweekkas w Central Parku (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Drewniana płytka (spód obudowy) 15. Gwoździe 16. Śruby

Narzędzia:

17. Młotek 18. Piła 19. Śrubokręt 20. Wiertło

Krok 2: Tworzenie obwodu

Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu

W kroku 2 zrobimy obwód dla tego projektu. To absolutne minimum, którego potrzebujesz, jeśli chcesz, aby działało. Użyj tabeli fryzowania i schematu, aby wykonać kopię obwodu. Tutaj potrzebujesz wszystkich materiałów elektrycznych z kroku 1.

Informacje o obwodzie:

Mamy 2 czujniki podłączone do MCP3008, które są czujnikiem światła i czujnikiem wilgotności gleby. Czujnik temperatury ma wyjście cyfrowe i wykorzystuje pin GPIO na Raspberry Pi.

Dodatkowy:

Zaimplementowałem również wyświetlacz LCD, który ułatwi później podłączenie do Raspberry Pi bez konieczności łączenia się z laptopem. Nie jest to konieczne, ale jest wysoce zalecane.

Krok 3: Utwórz bazę danych

Utwórz bazę danych
Utwórz bazę danych

Bardzo ważne jest przechowywanie danych z czujników w zorganizowany, ale także bezpieczny sposób. Dlatego zdecydowałem się przechowywać moje dane w bazie danych. Tylko w ten sposób mogę uzyskać dostęp do tej bazy danych (za pomocą konta osobistego) i utrzymać ją w porządku. Na powyższym obrazku znajduje się mój schemat z mojej bazy danych, a poniżej plik do wyeksportowania bazy danych do programu bazodanowego np. MySQL.

Program bazy danychWażne jest, aby nasza baza danych mogła działać samodzielnie z naszego Raspberry Pi. Możesz to zrobić, pobierając MySQL lub MariaDB dla Raspberry Pi. Najpierw chcesz utworzyć bazę danych na swoim komputerze w MySQL Workbench. Następnie eksportujesz tę bazę danych jako samodzielny plik. Teraz połącz się z bazą danych Raspberry Pi przez MySQL Workbench i przywróć bazę danych tutaj. Teraz masz bazę danych działającą na swoim Raspberry Pi!

Krok 4: Zapis danych czujnika do bazy danych

Po uruchomieniu bazy danych na Twoim Raspberry Pi chcemy, aby nasze czujniki mogły w niej przechowywać swoje dane. Możemy to zrobić, tworząc 3 oddzielne skrypty (co robimy w PyCharm). Przyjemną funkcją zawartą w PyCharm jest to, że możesz połączyć się ze swoim Pi, dzięki czemu możesz uzyskać dostęp do bazy danych i pisać do niej bezpośrednio. Dane są również odczytywane bezpośrednio przez Raspberry Pi, a diody LED zaświecą się zgodnie z potrzebami.

Świeci się niebieska dioda: gleba nie jest wystarczająco wilgotna. Dioda RGB świeci na zielono: wszystko w porządku. Dioda RGB świeci na czerwono: jest za gorąco, otwórz dach, aby trochę ochłodzić. Dioda RGB świeci na niebiesko: jest za zimno, zamknij dach, jeśli jest otwarty.

Możesz pobrać wszystkie skrypty z mojego repozytorium github:

Uwaga: użyłem moich osobistych danych logowania do baz danych, więc być może będziesz musiał je zmienić, aby pasowały do twoich.

Uwaga: Folder DB1 zawiera klasę 'database', która jest importowana w kodzie, który połączy się z twoją bazą danych.

Krok 5: Wyświetlanie swojego adresu IP na wyświetlaczu

Wyświetlanie Twojego adresu IP na wyświetlaczu
Wyświetlanie Twojego adresu IP na wyświetlaczu

Wyświetlacz pokazuje adres IP, na którym działa Twoje Raspberry Pi, w ten sposób możesz łatwo połączyć się z Raspberry Pi bez żadnych przewodów. Napisałem również do tego skrypt, który odczytuje adres IP twojego pi i wyświetla go na wyświetlaczu (zauważ, że twoje piny GPIO pasują, w przeciwnym razie może nie działać). Raspberry Pi uruchamia ten skrypt automatycznie podczas uruchamiania. Możesz to zrobić, dodając kod do pliku rc.local na swoim Raspberry Pi. Możesz się tam dostać, wpisując 'sudo nano /etc/rc.local' przed ostatnim wierszem kodu, który chcesz dodać 'Python3.5 /home/user/filelocation &'.

Skrypt można znaleźć tutaj:

Uwaga: znak „&” na końcu spowoduje, że skrypt zostanie uruchomiony raz i natychmiast go zatrzyma, aby inne skrypty również mogły działać.

Krok 6: Pomiar czujników co 10 minut

Pomiar czujników co 10 minut
Pomiar czujników co 10 minut

Nie chcemy, aby nasza baza danych była zapełniana danymi czujnika co 0,001 sekundy, w przeciwnym razie będzie to trudne dla bazy danych, aby nadążyć za wszystkimi przychodzącymi danymi i może się zawiesić. Dlatego dodałem notatkę do "crontab" na Raspberry Pi. Crontab to program, który śledzi zaplanowane zadania, dzięki czemu możesz po prostu uruchomić skrypt co 10 minut tylko raz.

Jak to skonfigurować:

Możesz to ustawić, wpisując najpierw w wierszu poleceń Raspberry Pi „crontab -e”, otwiera to edytor dla crontab. Przewiń w dół pliku i dodaj 3 wiersze, po jednym dla każdego czujnika.

'*/10 * * * * python3.5 /home/user/filepath/sensor1'

Uwaga: „*/10” to 10 minut, które chcemy mieć między każdym pomiarem. Kod, który wpisałem po nim, to wersja Pythona, którą używasz, i plik, który chcesz uruchomić, więc musisz napisać jedną linię dla każdego czujnika, ponieważ istnieją one z 3 różnych plików.

Krok 7: Tworzenie strony internetowej

Tworzenie strony internetowej
Tworzenie strony internetowej

Swoją stronę wykonałem w programie Atom. Jest to bardzo prosty w użyciu program i godny polecenia, jeśli jesteś nowy w pisaniu HTML i CSS, tak jak ja.

Możesz znaleźć cały kod i obrazy użyte pod tym linkiem:

Front-end witryny stworzyłem w Visual Studio Code, więc jeśli nie planujesz samodzielnie tworzyć HTML i CSS, możesz po prostu dodać pliki do nowego folderu w Visual Studio Code zamiast Atom.

Krok 8: Tworzenie zaplecza

Back-end i front-end będą to rzeczy, które faktycznie sprawią, że coś się wydarzy na stronie, którą właśnie stworzyliśmy. W back-endzie ponownie łączymy się z naszą bazą danych i zamiast wprowadzać dane do bazy. Teraz odczytamy wszystkie dane z różnych czujników i za pomocą Socket. IO wyślemy je do naszego front-endu, abyśmy mogli wyświetlić je na stronie internetowej.

Kod do back-endu znajdziesz tutaj:

Uwaga: Używamy klasy bazy danych, której używaliśmy wcześniej, więc nie uwzględniłem tego w tym repozytorium.

Krok 9: Tworzenie interfejsu użytkownika

Front-end to miejsce, w którym łączymy nasz kod HTML i CSS wraz z JavaScript i naszym Back-endem. Napisany przeze mnie JavaScript próbuje nawiązać połączenie z zapleczem, które musi być uruchomione. Teraz Back-end prześle nam wszystkie dane z czujników i możemy wykonać kilka funkcji w JavaScript, które edytują plik HTML tak, aby pasował do naszych aktualnych wartości.

JavaScript można znaleźć tutaj:

Uwaga: upewnij się, że łączysz w swoim kodzie HTML z właściwym folderem miejsca swojego JavaScript, w przeciwnym razie może nie działać.

Krok 10: Tworzenie szklarni

Tworzenie szklarni
Tworzenie szklarni
Tworzenie szklarni
Tworzenie szklarni

Kupiłem gotowy pakiet od Brico:

Wystarczy postępować zgodnie z instrukcjami dołączonymi do pakietu. Po wykonaniu tej czynności nie jesteśmy jeszcze gotowi, aby umieścić tam nasze Raspberry Pi. Najpierw musimy zrobić „podłogę” lub spód dla szklarni, możesz to zrobić, biorąc drewniany talerz i mierząc, jak duży musi być, aby pasował. Najpierw wykonałem drewnianą ramę, aby drewniana płyta miała na czym oprzeć.

Krok 11: Składanie wszystkiego razem

Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem

Jesteśmy prawie gotowi! Jeszcze tylko ten ostatni krok i jesteś gotowy do pracy. Weź Raspberry Pi i szklarnię, zrób kilka otworów, aby przełożyć przez nie diody LED, zrób otwór na wyświetlacz i otwór na zasilacz Raspberry Pi. Umieść wszystko w szklarni, podłącz Pi i gotowe! Masz własną szklarnię!

Zalecana: