Spisu treści:

Powiadamianie drzwi Raspberry Pi: 6 kroków (ze zdjęciami)
Powiadamianie drzwi Raspberry Pi: 6 kroków (ze zdjęciami)

Wideo: Powiadamianie drzwi Raspberry Pi: 6 kroków (ze zdjęciami)

Wideo: Powiadamianie drzwi Raspberry Pi: 6 kroków (ze zdjęciami)
Wideo: Donald Tusk: Majonez? Lepiej łączyć niż dzielić. 2024, Wrzesień
Anonim
Powiadamianie drzwi Raspberry Pi
Powiadamianie drzwi Raspberry Pi

Czy zastanawiałeś się kiedyś, czy lub kiedy ludzie wchodzą do drzwi? Czy chcesz dyskretny, tani i szybki sposób na monitorowanie ruchu drzwi… a może mały projekt? Nie szukaj dalej! To proste urządzenie będzie śledzić wibracje emitowane przez przesuwające się drzwi i zgłaszać się do użytkownika za pomocą wiadomości e-mail na określony adres e-mail.

Ten projekt da ci trochę praktyki z Flask, Raspberry Pis, czujnikami GPIO i Mandrill API! Budowanie jest nie tylko przyjemne, ale także bardzo użyteczne. Intruzi strzeżcie się…

Krok 1: Materiały eksploatacyjne

Kieszonkowe dzieci
Kieszonkowe dzieci

Nadal planujesz zbudować to urządzenie? Oto, czego potrzebujesz:

  • Raspberry Pi 3
  • Karta micro sd
  • 3 przewody żeńsko-żeńskie
  • 1 czujnik wibracji
  • Bank mocy
  • Paski poleceń

Jeśli planujesz zbudować ten projekt dla wielu drzwi, pomnóż każdą dostawę przez liczbę potrzebnych urządzeń.

Jeśli jesteś w trakcie budowania/testowania tego urządzenia, nie jest konieczne posiadanie następujących elementów… jednak na pewno byłoby to bardzo pomocne.

  • Monitor komputerowy
  • Klawiatura USB
  • Zestaw do ładowania micro USB

Krok 2: Okablowanie

Okablowanie
Okablowanie
Okablowanie
Okablowanie

Chociaż Raspberry Pi to sprytne urządzenie, które jest dostarczane z wieloma różnymi czujnikami i urządzeniami peryferyjnymi, musimy dodać główny czujnik do okablowania Pi, aby mógł dokonywać potrzebnych pomiarów. Główny czujnik użyty w tym projekcie widać na powyższym zdjęciu – jest to czujnik drgań o wysokiej czułości. Chociaż moglibyśmy użyć płytki stykowej lub innego urządzenia montażowego, aby umieścić ten czujnik i poprowadzić przez niego nasze przewody, po prostu połączyliśmy go przewodami żeńskimi z żeńskimi bezpośrednio do pinów urządzenia Raspberry Pi.

Schemat okablowania można znaleźć powyżej (pochodzący z https://www.piddlerintheroot.com/vibration-sensor/). Po prostu podłącz wszystkie przewody, jak pokazano na tym obrazku, a czujnik drgań powinien być gotowy do pracy. Pamiętaj też, że w końcu będziesz potrzebować zestawu baterii do tego projektu, ale jeśli testujesz, prawdopodobnie pomocne będzie podłączenie urządzenia do gniazdka ściennego.

Krok 3: Konfiguracja rzeczy

Gratulacje! Dotarłeś tak daleko. Idźmy dalej!

Teraz zaczniemy bezpośrednio pracować z Pi. Wszystkie poniższe czynności można wykonać na urządzeniu za pomocą klawiatury i monitora (lub przez SSH, jeśli jest to wygodne).

Istnieje wiele wstępnych ustawień, aby każdy czujnik GPIO działał z Pi i Flask. Cierpliwość jest cnotą. Jest sporo bibliotek Pythona, które musisz najpierw zainstalować. Można to zrobić za pomocą Pip, menedżera bibliotek/pakietów dla Pythona. Aby użyć, wpisz `pip install ` Aby wymienić niektóre potrzebne biblioteki:

  • upraszanie
  • RPi. GPIO
  • kolba
  • flask_spokojny
  • flask_wtf
  • wtformy
  • e-mail
  • mandryl

Możesz chcieć napić się kawy, czekając na ich instalację - może to zająć trochę czasu.

Teraz, gdy wszystkie biblioteki są zainstalowane, możesz rozpocząć swój projekt Flask. Flask to lekka platforma, która obsługuje strony z urządzenia, na którym działa. W takim przypadku Raspberry Pi staje się serwerem. Całkiem fajnie, co? Tutaj dowiesz się, jak skonfigurować bardzo prostą aplikację Flask. Zrób to przed wykonaniem jakichkolwiek dalszych instrukcji.

Krok 4: Kod i bieganie

Po zakończeniu możesz rozpocząć tworzenie plików projektu. Poniżej zamieściłem wszystkie potrzebne pliki - prawdopodobnie powinieneś jednak przepisać kod, a nie tylko skopiować pliki (DOWIESZ SIĘ WIĘCEJ!).

Oto jak powinny wyglądać organizacje katalogowe:

+-- iotapp | +-- folder aplikacji | +-- szablony | +-- index.html | +-- _init_.py | +-- formularze.py | +-- mcemail.py | +-- trasy.py | +-- iotapp.py | +-- vibes.py

Umieść wszystkie te pliki we właściwej kolejności i powinieneś być w stanie uruchomić swój projekt w mgnieniu oka. Aby następnie uruchomić serwer Flask, należy przejść do katalogu głównego. Powinieneś wtedy wpisać:

$ export FLASK_APP=iotapp.py

$ python -m flask run --host 0.0.0.0

Dzięki temu powinieneś otrzymać komunikat wskazujący, że twój serwer działa i powinieneś być w stanie obsłużyć stronę z urządzenia na inne urządzenie w sieci.

Teraz byłby dobry moment, aby przejrzeć swoje pliki i naprawdę spróbować uzyskać jist, co robi kod. Oczywiście żaden kod nie jest osadzony w kamieniu… można go zaktualizować/zmienić, aby dopasować go do specyficznych potrzeb projektu. Na przykład, od tej chwili, gdy urządzenie wykonuje POST po otrzymaniu danych wejściowych z czujnika wibracji, wysyła znacznik czasu, kiedy dane wejściowe wystąpiły. Jednak serwer nie zapisuje tych danych. Można to zrobić, jeśli użytkownik wolał zachować informacje historyczne i chciał je gdzieś pokazać.

Jedną z rzeczy, które prawdopodobnie zauważysz, jest to, że KOD NIE JEST KOMPLETNY. Ten projekt wykorzystuje zewnętrzne API do wysyłania wiadomości e-mail z powiadomieniami po wibracji (otwarciu drzwi). Aby to skonfigurować, musisz utworzyć konto Mandrill i utworzyć klucz API.

Po zweryfikowaniu domeny wysyłającej i uzyskaniu klucza API możesz umieścić swój klucz w pliku `mcemail.py` (gdzie jest obecny) i dostosować informacje o wysyłaniu (albo zmieniając domyślny parametr w tym samym pliku, albo przekazując w innym e-mailu w pliku `routes.py`. Jeśli chcesz uzyskać więcej dokumentacji na temat Mandrill i jak z niej korzystać, możesz ją znaleźć tutaj.

Krok 5: Testowanie

Testowanie
Testowanie

Zanim zamontujesz urządzenie w swojej stałej lokalizacji, prawdopodobnie dobrym pomysłem jest przetestowanie wszystkiego, co robi. Oto jak prowadzisz te rzeczy.

Urządzenie faktycznie uruchamia dwa programy: `vibes.py` i serwer Flask. Pierwszy powinien być uruchomiony najpierw w tle, a następnie można uruchomić serwer Flask. `vibes.py` to po prostu POST do serwera, a serwer interpretuje żądanie POST.

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

Powinieneś wtedy być w stanie przejść do prawidłowego URI/IP i ustawić adres e-mail, na który chcesz wysyłać wszystkie powiadomienia. Powinieneś dotknąć czujnika wibracji, aby spróbować wysłać kilka testowych wiadomości e-mail i upewnić się, że projekt działa.

Wszystko dobrze wygląda? OK, jesteśmy gotowi do biznesu!

Krok 6: Montaż

Montowanie
Montowanie

Montaż urządzenia jest dość oczywisty. Zasadniczo wystarczy upewnić się, że urządzenie jest podłączone do akumulatora i użyć listew sterujących, aby przymocować urządzenie do drzwi.

Uwaga: urządzenie musi być ustawione z czujnikiem wibracji prostopadle do drzwi, aby czujnik wychwycił ruch drzwi

Po zakończeniu powinieneś być w stanie połączyć się z urządzeniem przez SSH i uruchomić programy, jak wspomniano w poprzednim kroku, i czekać na intruzów!

Aby uzyskać dodatkowe punkty, spróbuj ukryć przewody/urządzenie, aby intruzi nie podejrzewali twojego sprytnego urządzenia!… lub po prostu nie umieszczaj go na szklanych drzwiach. \_(ツ)_/¯

Zalecana: