Spisu treści:
- Krok 1: Komponenty i materiały
- Krok 2: Łączenie sprzętu
- Krok 3: Model bazy danych (mySQL)
- Krok 4: Połączenie z Raspberry Pi
- Krok 5: Oprogramowanie na Raspberry Pi
- Krok 6: Konfiguracja serwera WWW na Raspberry Pi
- Krok 7: Oprogramowanie: Python
- Krok 8: Oprogramowanie: Strona internetowa
- Krok 9: Budowanie sprawy
- Krok 10: Instrukcja użytkownika
Wideo: Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
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:
- Adres IP strony internetowej
- Zegar / data
- Czas następnego alarmu
- 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
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
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.
- 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.
- Dostępny jest ekran LCD, który wyświetla 4 stany (adres IP, data/godzina, następny alarm, temp/hum)
- Dht11, który mierzy temperaturę i wilgotność powietrza
- Przycisk wyłączający alarm lub jeśli naciśniesz dłużej niż 3 sekundy, rpi się wyłączy
- Brzęczyk, który wydaje dźwięk, jeśli ustawiony czas alarmu jest zgodny z bieżącym czasem
- Czujnik LDR do pomiaru światła w pomieszczeniu
- 2 diody LED, aby rozjaśnić pokój, jeśli jest ciemno -> LDR
Krok 3: 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
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
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
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
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
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
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:
Inteligentny budzik za pomocą Magicbit (Arduino): 10 kroków
Inteligentny budzik za pomocą Magicbit (Arduino): Ten samouczek pokazuje, jak zrobić inteligentny budzik za pomocą wyświetlacza OLED na płycie deweloperskiej Magicbit bez użycia modułu RTC
WakeupNow – inteligentny budzik: 8 kroków
WakeupNow – Inteligentny budzik: Jak wszyscy wiedzą, życie studentów jest bardzo ciężkie, mają długi dzień z wykładami, dużo prac domowych i ogólnie mają szalone życie. Nie mają czasu na nic, a jeśli zasugerujesz im dodanie kilku godzin do dnia, będą zadowoleni. Unfo
Obudź mnie - inteligentny budzik: 6 kroków
Wake Me Up – inteligentny budzik: Wake me up to inteligentny budzik, który może być również używany jako inteligentne światło. Wbudowany pasek led symuluje naturalne światło wpadające do pokoju. Umożliwia to spokojny, naturalny sposób na rozpoczęcie dnia. Budzik jest również wyposażony w segment 4*7
GOOB - inteligentny budzik: 15 kroków (ze zdjęciami)
GOOB – inteligentny budzik: GOOB to akronim od „Wyjdź z łóżka”, dobrze pasująca nazwa dla mojego projektu. Chciałem stworzyć urządzenie, które pomoże mi obudzić mnie rano, ponieważ nie jest to najłatwiejsze zadanie. Główną ideą jest to, że budzik nie zatrzymuje alarmu
Inteligentny budzik: 13 kroków
Inteligentny budzik: Witam, nazywam się Alexandra Christiaens i studiuję technologię mediów i komunikacji w Howest w Kortrijk w Belgii. Jako zadanie szkolne musieliśmy stworzyć urządzenie IoT. Zachęcano nas do zrobienia czegoś, co miałoby znaczenie