Spisu treści:
- Krok 1: Krok 1: Zbieranie komponentów
- Krok 2: Krok 2: Schematy
- Krok 3: Krok 3: Konfiguracja Raspberry Pi
- Krok 4: Krok 4: Podłączanie Raspberry Pi
- Krok 5: Krok 5: Zmień ustawienia za pomocą Raspi-config
- Krok 6: Krok 6: Zmień ustawienia w /boot/config.txt
- Krok 7: Krok 7: Dodaj użytkownika do właściwych grup
- Krok 8: Krok 8: Baza danych
- Krok 9: Krok 9: Kod Pythona
- Krok 10: Krok 10: Automatyczne uruchomienie kodu Pythona
- Krok 11: Krok 11: Kod Arduino
- Krok 12: Krok 12: Serwer WWW
- Krok 13: Krok 13: Budowanie Zewnątrz
Wideo: Inteligentny budzik: 13 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
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 zmieniłoby nasze życie lub życie ludzi, których znamy. Znalezienie projektu było dla mnie dość trudne i kiedy próbowałem znaleźć pasujący projekt, często myślałem: „Jestem na to zbyt zmęczony”. W końcu zdałem sobie sprawę, że to może być mój projekt: zrobię inteligentny budzik, który zarówno pomoże mi wstać rano, jak i wieczorem położy się spać na czas. Ponieważ wymagania tego zadania dyktowały, że powinniśmy używać Raspberry Pi do uruchamiania wszystkiego, postanowiłem nazwać moje urządzenie „Sleepi” jako gra słów.
Jeśli chcesz zrobić to urządzenie samodzielnie i uzyskać przyzwoitą rutynę spania, tak jak ja, zapoznaj się z tym przydatnym przewodnikiem, który napisałem poniżej. Jeśli chcesz dowiedzieć się więcej o mnie i innych projektach, które wykonałem lub będę wykonywał, zajrzyj do mojego portfolio.
Krok 1: Krok 1: Zbieranie komponentów
Więc po pierwsze, upewnijmy się, że mamy wszystko, czego potrzebujemy, zanim zaczniemy budować. Zrobiłem listę najważniejszych komponentów. Poniżej znajdziesz plik PDF z bardziej szczegółowymi informacjami na temat komponentów.
- 1 x Raspberry Pi 3 model B
- 1 x (pusta) karta microSD i adapter (mam kartę 16GB, ale 8GB wystarczy)
- 1 x zasilacz 5V dla Raspberry Pi
-1 x kabel ethernet
- 2 baterie 9V
- 2 zaciski na baterie 9V
-1 x 40-pinowa karta rozszerzeń GPIO i kabel tęczowy;
-2 x BB830 bez lutowania wtykowego Breadbord
- 1 x Arduino Uno
-1x0.56 cala 4*7 segmentowy wyświetlacz;
- 1x czujnik temperatury DS18B20
- 1 x czujnik jasności TSL2561
-1x1602A ekran LCD;
- 1 x konwerter poziomów
- 1 x rejestr zmiany biegów SN74HC595N
-1 x enkoder obrotowy
-1 x potencjometr
-1 x dioda LED zasilania RGB
-1 x głośnik
- 4 tranzystory 337B
- 1 x dioda
-1 x przycisk
-3 x xl4005 31 LED sterownik
- 7 x rezystory (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)
- Różne kable rozruchowe (męski na męski i męski na żeński)
Opcjonalny:
- 1 x panel z drewna multiplex (użyłem jednego o następujących wymiarach, które w zupełności wystarczyły: 860mm x 860mm x 5mm)
- Różne narzędzia do obróbki drewna
- Farba akrylowa w wybranym przez Ciebie kolorze
Krok 2: Krok 2: Schematy
Po zebraniu wszystkich komponentów mogłem zacząć wszystko łączyć. Najpierw zrobiłem schemat Fritzinga, aby upewnić się, że nie usmażym żadnych komponentów, łącząc je źle. Po kilku informacjach zwrotnych od moich nauczycieli wprowadziłem kilka poprawek, które zaowocowały następującym schematem ideowym i schematem elektrycznym:
Większość pinów GPIO jest wymienna, więc możesz zmienić kilka z nich, jeśli chcesz. Nie zapomnij jednak odpowiednio zmienić numerów PIN w kodzie.
Niektóre elementy muszą być jednak podłączone do określonych pinów. Upewnij się, że czujnik jasności jest podłączony odpowiednio do GPIO 23 (SDA) i GPIO 24 (SCL). Wyjaśnię, dlaczego jest to ważne w kroku 5.
Krok 3: Krok 3: Konfiguracja Raspberry Pi
Teraz czas na ustawienie naszego Pi:
1. Włóż kartę microSD do adaptera i podłącz ją do komputera.
Jeśli karta microSD nie jest pusta, sformatuj ją najpierw za pomocą preferowanej metody.
2. Zainstaluj oprogramowanie Raspbian OS ze strony Raspberry pi.
Pobierz plik ZIP i rozpakuj go do wybranej lokalizacji.
3. Pobierz menedżera dysków Win32.
Kliknij ikonę folderu, aby wybrać obraz Wybierz kartę microSD w „Urządzenie” Kliknij „Zapisz”
Gdy obraz jest zapisany na karcie MicroSD, możesz go otworzyć w Eksploratorze Windows.
Otwórz plik "cmdline.txt" Na końcu pliku dodaj następujący wiersz tekstu: ip=169.254.10.1 Upewnij się, że wszystko jest w tym samym wierszu. Zapisz plik.
Teraz wyjmij kartę MicroSD z komputera. Upewnij się, że zasilanie twojego Pi jest wyłączone i włóż kartę do twojego Raspberry Pi.
Podłącz kabel Ethernet do Pi i komputera.
Podłącz zasilanie do swojego Pi za pomocą zasilacza 5, 2 V.
Krok 4: Krok 4: Podłączanie Raspberry Pi
Połączyć
Pi z naszym komputerem, użyjemy Putty.
1. Zainstaluj Putty i otwórz go.
2. Wpisz adres IP i port, jak pokazano na rysunku i kliknij „Otwórz”.
3. Zaloguj się z następującymi ustawieniami domyślnymi:
a. Nazwa użytkownika: pi
b. Hasło: malina
4. Aby skonfigurować WiFi:
a. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf
b. Na dole pliku dodaj te wiersze:
i. Sieć = {
ii. ssid="Wypełnij nazwę swojej sieci bezprzewodowej"
iii. psk=”Wpisz hasło swojej sieci bezprzewodowej”
iv. }
C. Zamknij plik i zapisz go
5. Wpisz następujące polecenie, aby ustalić adres IP swojego Pi: ifconfig wlan0
6. Możesz teraz użyć tego adresu IP w Putty, aby nawiązać połączenie bezprzewodowe (patrz wyżej).
Krok 5: Krok 5: Zmień ustawienia za pomocą Raspi-config
Teraz musimy upewnić się, że Pi może komunikować się ze wszystkimi naszymi komponentami.
Zmienimy niektóre ustawienia w raspi-config
Otwórz raspi-config poleceniem:
sudo raspi-config
2. Wybierz 4 opcje lokalizacji.
3. Wybierz I2 Zmień strefę czasową.
4. Zmień strefę czasową na lokalną i zakończ, aby wrócić do raspi-config.
5. Wybierz 5 opcji interfejsu.
6. Wybierz P5 I2C.
7. Włącz komunikację I2C.
8. Wybierz 5 opcji interfejsu
9. Wybierz szeregowy P6
10. Wyłącz powłokę logowania.
11. Włącz komunikację szeregową
Krok 6: Krok 6: Zmień ustawienia w /boot/config.txt
Teraz musimy przekonfigurować niektóre rzeczy w pliku /boot/config.txt
1. Uzyskaj dostęp do pliku:
sudo nano /boot/config.txt
2. Na dole powinieneś zobaczyć:
enable_uart=1
Dzieje się tak, ponieważ wcześniej włączyliśmy port szeregowy.
3. Dodaj następujące dwie linie:
dtoverlay=pi3-miniart-bt
dtoverlay=i2c-gpio, autobus=3
Raspberry Pi 3 ma 2 porty szeregowe: sprzętowy port szeregowy i programowy port szeregowy. Za pomocą pierwszego polecenia przypisujemy port szeregowy oprogramowania do funkcji Bluetooth i przypisujemy sprzętowy port szeregowy do pinów Rx i Tx, których będziemy używać do komunikacji z Arduino.
Druga linia aktywuje programową magistralę I²C na Pi. Dzieje się tak, ponieważ sprzętowa magistrala I²C czasami daje błędy, gdy czujnik podłączony do tej magistrali I²C wykorzystuje rozciąganie zegara. Programowa magistrala I²C będzie automatycznie aktywna na GPIO 23 (SDA) i GPIO 4 (SCL), dlatego tak ważne było prawidłowe podłączenie czujnika jasności, który wykorzystuje I²C do przesyłania danych.
Krok 7: Krok 7: Dodaj użytkownika do właściwych grup
Na koniec dodaj użytkownika do kilku grup:
1. Sprawdź, do jakich grup należy Twój aktualny użytkownik:
grupuje twoja_nazwa użytkownika
2. Aby wszystkie funkcje działały, użytkownik musi należeć do następujących grup:
adm dialout sudo wejście netdev gpio i2c spi ·
W razie potrzeby dodaj użytkownika do odpowiednich grup:
sudo adduser twoja_nazwa_użytkownika nazwa_grupy
Krok 8: Krok 8: Baza danych
Aby móc przechowywać różne czasy alarmów ustawione przez użytkownika i różne wartości czujników, musiałem stworzyć bazę danych. Możesz zobaczyć schemat bazy danych powyżej.
Aby dodać bazę danych do Raspberry Pi, wykonaj następujące czynności:
1. Nawiąż połączenie przez Putty
2. Zaktualizuj MySQL
aktualizacja sudo apt-get
sudo apt-get install mysql-server --fix-missing -y
ponowne uruchomienie sudo
3. Zabezpiecz MariaDB
sudo mysql_secore_installation
4. Zaloguj się do MariaDB
sudo mysql -u root
5. Baza danych obecnie nie ma użytkowników. Używamy tego kodu do tworzenia użytkownika, wystarczy podać użytkownika i hasło:
PRZYZNAJ WSZYSTKIE PRZYWILEJE W DNIU *.* DO „wypełnij_wybraną_nazwę użytkownika”@”%”
ZIDENTYFIKOWANE PRZEZ „wypełnij_wybrane_hasło” Z OPCJĄ PRZYZNANIA;
PRZYWILEJE DO SPŁUKANIA; WYJŚCIE;
6. Pobierz bazę danych z Github.
7. Zainstaluj stół warsztatowy.
8. Nawiąż połączenie w warsztacie ze swoim pi i uruchom plik.
Krok 9: Krok 9: Kod Pythona
1. Pobierz i zapisz pliki Pythona z Github.
2. Pobierz i otwórz Pycharm.
3. Stwórz interpreter i konfigurację wdrożenia odpowiednią dla Twojego Raspberry Pi.
4. Edytuj plik mainCode1.py w Pycharm i zmień numery pinów i ustawienia bazy danych na swoje osobiste ustawienia z poprzednich kroków.
Krok 10: Krok 10: Automatyczne uruchomienie kodu Pythona
1. Nawiąż połączenie Putty ze swoim Pi.
2. Otwórz plik /etc/rc.local:
sudo nano /etc/rc.local
3. Przed wyjściem dodaj następujące wiersze:
spać 60
python3 /ścieżka_od_głównego_do_twojego_pliku_pythona/nazwa_twojego_pliku_pythona.py
Krok 11: Krok 11: Kod Arduino
1. Pobierz i zapisz plik.ino z Github.
2. Połącz Arduino z laptopem przez USB.
3. Odłącz kable Rx i Tx łączące Arduino z Raspberry Pi.
4. Otwórz plik i wgraj go do Arduino.
5. Odłącz Arduino od laptopa i ponownie podłącz poprawnie kable Rx i Tx.
6. Daj moc Arduino. Wyświetlacz segmentowy 4*7 powinien teraz pokazywać 12:34
Krok 12: Krok 12: Serwer WWW
1. Zainstaluj Apache:
sudo apt zainstaluj apache2 -y
2. Zostań właścicielem katalogu /var/www/html:
sudo chown pi /var/www/html
3. Przejdź do katalogu:
cd /var/www/html
4. Sprawdź, czy jesteś właścicielem, a nie rootem:
ls -al
5. Pobierz i otwórz Filezilla
6. Nawiąż połączenie ze swoim pi, jak pokazano na rysunku. (Użyj 169.254.10.1 i kabla Ethernet lub połącz się przez Wi-Fi)
a. Przejdź do katalogu /var/www/html
b. Usuń domyślną stronę index.html
C. Przenieś wszystkie pliki frontendu do tego katalogu
Krok 13: Krok 13: Budowanie Zewnątrz
Możesz zrobić zewnętrzną część budzika, jak tylko chcesz! Zrobiłem pudełko do mojego budzika z panelem z drewna multiplex o szerokości 5 mm. Jeśli chcesz zrobić coś podobnego, oto kroki dla wspomnianego pudełka:
1. Narysuj następujące kształty na panelu multipleksu:
Boki: 2 x kwadrat (180 mm x 180 mm)
Góra i dół: 2 x prostokąt (180 mm x 300 mm)
Przód i tył: 2 x prostokąt (170 mm x 300 mm)
2. Zobacz i wyszlifuj każdy kształt kwadratu i prostokąta
3. Zdobądź trochę drewna i wykonaj małe deski o wysokości 20 mm i szerokości 20 mm.
4. Przykręć małe deski do wewnętrznej strony (spód, przód i tył) multipleksu, jak widać na zdjęciach.
5. Zdecyduj, gdzie chcesz zrobić odpowiednie otwory na ekran LCD, wyświetlacz 4*7-segmentowy, głośnik, czujnik jasności, diodę LED RGB, enkoder obrotowy i przycisk.
6. Zmierz każdy element, który chcesz pokazać na zewnątrz i narysuj kształty o odpowiedniej wielkości na multipleksie.
7. Wytnij niezbędne kawałki.
8. Zamocuj zawiasy na zewnątrz pudełka, łącząc górę i tył.
9. Przymocuj magnes po wewnętrznej stronie frontu i małą metalową płytkę po wewnętrznej stronie górnej części.
10. Przykręć lub przyklej wszystko tam, gdzie chcesz.
11. Zmontuj skrzynkę, skręcając wszystkie zewnętrzne elementy razem (z wyjątkiem górnej).
Możesz pominąć 3 i 4, jeśli używasz mniejszych śrub (ja użyłem śrub 12 mm). Użycie mniejszych śrub nieznacznie zmniejsza jednak stabilność pudełka.
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
Inteligentny budzik: inteligentny budzik z Raspberry Pi: 10 kroków (ze zdjęciami)
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 Inteligentny 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 2 światła będą
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