Spisu treści:

Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)
Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)

Wideo: Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)

Wideo: Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)
Wideo: Dlaczego sterownik PLC w domu? PLC + HomeAssistant pomysł i rozwiązanie SmartMyHome 2024, Lipiec
Anonim
Inteligentny budzik: inteligentny budzik z Raspberry Pi
Inteligentny budzik: inteligentny budzik z Raspberry Pi

Czy kiedykolwiek chciałeś mieć inteligentny zegar? Jeśli tak, to jest to rozwiązanie dla Ciebie!

Zrobiłem Smart Budzik, jest to zegar, w którym możesz zmienić godzinę alarmu zgodnie ze stroną internetową. Gdy alarm się włączy, rozlegnie się dźwięk (brzęczyk) i zaświecą się 2 światła (2 diody LED). Diody LED zaświecą się tylko wtedy, gdy jest ciemno (czujnik światła). Diody LED zapewniają doświetlenie pomieszczenia, dzięki czemu możesz naturalnie wstać. Aby wyłączyć alarm, naciśnij przycisk. Gdy chcesz skorzystać z funkcji drzemki (+5min), musisz trzymać rękę przed czujnikiem ultradźwiękowym. W przypadku wykrycia ruchu (czujnik ultradźwiękowy) zmieni się stan wyświetlacza LCD.

Stan LCD:

  1. Adres IP strony internetowej
  2. Zegar / data
  3. Czas następnego alarmu
  4. Temperatura i wilgotność

To mój pierwszy projekt na moim kierunku studiów: Multimedia i technologia komunikacji (MCT) w Howest (Kortrijk, belgia).

Krok 1: Komponenty i materiały

Komponenty i materiały
Komponenty i materiały
Komponenty i materiały
Komponenty i materiały
Komponenty i materiały
Komponenty i materiały

Do mojego projektu użyłem wielu części, które wymienię poniżej, dodam również plik excel ze wszystkimi odpowiednimi cenami komponentów, a także strony internetowe, z których je zamówiłem.

składniki

  • Raspberry Pi 3 model B+
  • Zasilacz Raspberry Pi
  • Wyświetlacz LCD
  • Brzęczyk
  • LDR
  • 2 diody LED
  • DHT-11
  • HC-SR04 Ultradźwiękowy czujnik odległości
  • Przycisk
  • Przycinarka

Materiały:

  • Drewno 7mm
  • Drewno 2cm
  • Folia spożywcza

Narzędzia:

  • Lutowanie
  • Super klej
  • Piła
  • Wkrętaki
  • Wiertarka

W poniższym pliku PDF możesz zobaczyć pełny cennik.

Krok 2: Łączenie sprzętu

Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu

Zbudowałem swój obwód, wykonując mój schemat Fritzing, który zrobiłem, przesłałem poniższy schemat. Obwód ma wiele czujników i siłownik, który działa razem jako jeden. Wymienię, jakie są różne obwody, jak będziesz musiał je połączyć, które znajdziesz na schemacie.

  1. Istnieje ultradźwiękowy czujnik odległości, który wykrywa ruch w odległości 15 cm (odległość samokodowana) i zmienia stan wyświetlacza LCD, ale jeśli alarm jest włączony, włącza drzemkę na 5 minut.
  2. Dostępny jest ekran LCD, który wyświetla 4 stany (adres IP, data/godzina, następny alarm, temp/hum)
  3. Dht11, który mierzy temperaturę i wilgotność powietrza
  4. Przycisk wyłączający alarm lub jeśli naciśniesz dłużej niż 3 sekundy, rpi się wyłączy
  5. Brzęczyk, który wydaje dźwięk, jeśli ustawiony czas alarmu jest zgodny z bieżącym czasem
  6. Czujnik LDR do pomiaru światła w pomieszczeniu
  7. 2 diody LED, aby rozjaśnić pokój, jeśli jest ciemno -> LDR

Krok 3: Model bazy danych (mySQL)

Model bazy danych (mySQL)
Model bazy danych (mySQL)

Możesz zobaczyć mój diagram ERD powyżej, połączę również plik zrzutu, abyś mógł sam zaimportować bazę danych.

Dzięki tej bazie danych będziesz mógł pokazać wiele rzeczy, takich jak:

  • Temperatura
  • Wilgotność
  • Wartość światła
  • Ustawiony/wyłączony/uśpiony czas alarmu
  • Jeśli brzęczyk działa
  • Jeśli światła są włączone

Jeśli chcesz odtworzyć tę bazę danych, musisz utworzyć nowego użytkownika, aby móc połączyć się z Raspberry Pi.

Krok 4: Połączenie z Raspberry Pi

Połączenie z Raspberry Pi
Połączenie z Raspberry Pi

Przede wszystkim musisz pobrać Putty, na ich stronie internetowej dostępna jest darmowa wersja. Będziesz także potrzebował Raspbian, który możesz pobrać tutaj.

Kiedy otworzysz Putty, musisz kliknąć „sesję”. Kiedy to zrobisz, będziesz musiał wpisać adres IP Pi w „Remote Host”. Następnie możesz wprowadzić nazwę użytkownika, którą możesz wybrać. następnie kliknij „OK”.

Zwykle po wykonaniu wszystkich tych kroków automatycznie uruchomi połączenie. Następnie musisz podać swoje hasło i masz połączenie.

Krok 5: Oprogramowanie na Raspberry Pi

Oprogramowanie na Raspberry Pi
Oprogramowanie na Raspberry Pi

Aby mój kod działał (do którego link poniżej) będziesz musiał zainstalować kilka pakietów i bibliotek. Pierwszą rzeczą, która jest potrzebna, jest aktualizacja Pi.

Najpierw zaktualizuj listę pakietów systemu, wpisując następujące polecenie: sudo apt-get update Następnie zaktualizuj wszystkie zainstalowane pakiety do ich najnowszych wersji za pomocą następującego polecenia: sudo apt-get dist-upgrade Po zainstalowaniu pakietów trzeba zainstalować kilka bibliotek:

  • Flaskflask_cors
  • RPI. GPIO
  • data i godzina
  • gwintowanie
  • czas
  • podproces
  • mysq
  • lSocketIO

Krok 6: Konfiguracja serwera WWW na Raspberry Pi

Konfigurowanie serwera WWW na Raspberry Pi
Konfigurowanie serwera WWW na Raspberry Pi

Przejdź do konsoli Putty.

zamierzamy zainstalować serwer WWW Apache. W ten sposób będziesz mógł otworzyć witrynę na dowolnym urządzeniu podłączonym do Twojej sieci. Wpisz następujące polecenie i naciśnij enter: sudo apt-get install apache2

Teraz przejdź do folderu: /var/www/html/ Tutaj możesz umieścić wszystkie pliki ze swojej witryny, a strona index.html zostanie otwarta za każdym razem, gdy przejdziesz do adresu IP swojego Pi. uważaj, aby nie wpisać wielkiej litery I w index.html, w przeciwnym razie strona indeksu nie zostanie automatycznie otwarta.

Krok 7: Oprogramowanie: Python

Oprogramowanie: Python
Oprogramowanie: Python

Zrobiłem wiele skryptów pythonowych, podlinkuję mój githubhere, abyś mógł zobaczyć kod dla siebie. Ale już to trochę wyjaśnię.

Zakodowałem kilka klas dla czujnika ultradźwiękowego, świateł, LDR i LCD. Użyłem bibliotek dla czujnika DHT11. (import Adafruit_DHT) Ostatecznie używam tylko jednego pliku, aby cały projekt działał, nazywa się to app.py. Również w tym pliku zakodowałem kilka tras, abym mógł odczytać dane z mojej bazy danych i wysłać je do obiektu json, którego następnie użyłem w moich plikach javascript.

Krok 8: Oprogramowanie: Strona internetowa

Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa
Oprogramowanie: Strona internetowa

Ponieważ stworzyłem możliwość ustawienia alarmu na stronie. Stworzyłem więc stronę internetową, która pozwoli mi to zrobić. Za pośrednictwem strony internetowej można również obserwować wilgotność, temperaturę i historię.

Podczas uruchamiania Pi rozpocznie się uruchamianie mojego skryptu Pythona. Zadbamy o to, aby dane były wyświetlane na stronie internetowej i umożliwimy ustawienie alarmu. Witryna jest również responsywna, więc można ją otworzyć na telefonie komórkowym bez utraty funkcji lub w inny sposób.

Mój kod można znaleźć na githubie tutaj.

Krok 9: Budowanie sprawy

Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy

W moim przypadku buduję pudełko naśladujące zegar.

Zamieszczam również zdjęcia, na których można zobaczyć proces budowy obudowy. Do pomiarów prześlę również plik poniżej, w którym możesz zobaczyć mój schemat tego, jak możesz go odtworzyć.

Krok 10: Instrukcja użytkownika

Tutaj znajdziesz krótką instrukcję działania projektu. Mam nadzieję, że Twój dzień będzie lepszy, jeśli zrobisz ten inteligentny budzik na końcu tego samouczka!

Dziękuję za przeczytanie.

Zalecana: