Spisu treści:

Inteligentny budzik: 13 kroków
Inteligentny budzik: 13 kroków

Wideo: Inteligentny budzik: 13 kroków

Wideo: Inteligentny budzik: 13 kroków
Wideo: 12 Trików i Przydatnych Funkcji na Apple Watcha ⭐️ Warto Je Znać! 2024, Grudzień
Anonim
Inteligentny budzik
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 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

Krok 1: Zbieranie komponentów
Krok 1: Zbieranie komponentów
Krok 1: Zbieranie komponentów
Krok 1: Zbieranie komponentów
Krok 1: Zbieranie komponentów
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

Krok 2: Schematy
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

Krok 4: Podłączanie Raspberry Pi
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

Krok 8: Baza danych
Krok 8: Baza danych
Krok 8: Baza danych
Krok 8: Baza danych
Krok 8: Baza danych
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

Krok 10: Automatyczne uruchomienie kodu Pythona
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

Krok 12: Serwer WWW
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

Krok 13: Budowanie na zewnątrz
Krok 13: Budowanie na zewnątrz
Krok 13: Budowanie na zewnątrz
Krok 13: Budowanie na zewnątrz
Krok 13: Budowanie na zewnątrz
Krok 13: Budowanie na 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: