Spisu treści:
- Krok 1: Materiały
- Krok 2: Raspberry Pi
- Krok 3: Okablowanie
- Krok 4: Baza danych
- Krok 5: Kod
- Krok 6: Sprawa
Wideo: EasyTalk: łatwa komunikacja i kalendarz obok Ciebie: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Nazywam się Kobe Marchal, studiuję w Howest w Belgii i jestem studentem technologii multimedialnych i komunikacyjnych (MCT). Aby wykonać ostatnie zadanie w pierwszym roku, musiałem stworzyć urządzenie IoT.
W domu mamy taki problem, że mój brat zawsze gra i kiedy mama musi mu coś powiedzieć z dołu, musi krzyczeć, bo on nosi słuchawki i nic nie słyszy. Chciałem rozwiązać dla niej ten problem, więc zbudowałem urządzenie, na które można wysyłać wiadomości ze strony internetowej. Jest również używany jako kalendarz, w którym możesz przechowywać własne wydarzenia lub importować kalendarz zewnętrzny za pośrednictwem adresu URL. To urządzenie przechowuje również wartości temperatury i jakości powietrza, dzięki czemu możesz zobaczyć, jak zdrowe jest podczas grania lub pracy, ponieważ często tego nie zauważasz.
To urządzenie nazywa się EasyTalk i rozwiązuje ten problem. Jest to małe urządzenie, które wykorzystuje ekran OLED, dzięki czemu możesz teraz zobaczyć swoje wydarzenia, godzinę lub temperaturę i jakość powietrza. Gdy wiadomość zostanie wysłana, powiadamia Cię dźwiękiem powiadomienia i wyświetla wiadomość na ekranie, na której możesz odpowiedzieć tak lub nie.
Jeśli chcesz zbudować tę rzecz lub chcesz zobaczyć, jak jest wykonana, gorąco zachęcam do dalszej lektury. Jeśli chcesz dowiedzieć się o mnie więcej, możesz przejść do mojego portfolio.
Krok 1: Materiały
Pierwszym krokiem jest zebranie wszystkich materiałów do wykorzystania w tym projekcie. Będę z tobą szczery. To nie jest tanie urządzenie, całkowity koszt to 271 euro. Poniżej znajduje się ich lista i kilka zdjęć do wyjaśnienia.
- Raspberry Pi 4 Model B - 4 GB
- Pibow Coupé 4 – Ninja
- 12 x Premium Jumperwires op strip - 40 sztuk - M/M - 20cm
- 6 x Premium Jumperwires op strip - 40 sztuk - M/F - 20cm
- 2 x 36-pinowe złącze do łączenia w stos
- 40-pinowy męski nagłówek skrzynkowy
- 40 pinów Regenboog GPIO kabel
- Monochromatyczny zestaw modułu wyświetlacza graficznego OLED 2,42" 128x64
- Głośnik Kleine Metalen z Draadjes - 8 ohm 0,5 W
- Adafruit Mono 2.5W Klasa D Audio Versterker
- Kabel 3,5 mm Aux Jack
- Gwint 7mm Chwilowy przycisk
- Tuimelschakelaar
- Czujnik ruchu PIR
- DS18B20 Cyfrowy czujnik temperatury
- Grove - Lucht kwaliteit czujnik v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Ministatek Flexibel
- Rezystory 470 Ohm
- Rezystor 4, 7K Ohm
- Rurki termokurczliwe
- 6 x śruby M2 x 6mm
- 6 x śruby M2 x 8mm
- 3 x śruby M2 x 16mm
- Szyna aluminiowa 3 mm
Sporządziłem też zestawienie materiałów (BOM), więc możesz zobaczyć, ile zapłaciłem za wszystkie materiały i skąd je dostałem.
Krok 2: Raspberry Pi
W tym projekcie używamy Raspberry Pi, ponieważ jest łatwy w konfiguracji i może być używany do wielu rzeczy. Jest idealny do tego, co chcemy robić.
Pobierz system operacyjny Raspberry Pi Desktop i zainstaluj go na swoim Raspberry Pi. Musisz włączyć SPI, I2C i One Wire w raspi-config. Sugeruję wyłączenie niektórych rzeczy w opcjach rozruchu, aby przyspieszyć uruchamianie. Poza tym używam kilku bibliotek, które musisz zainstalować z pipem, aby to działało.
instalacja pip3:
- adafruit-obwód-python-ssd1305
- krzywka
- Kolba
- Flask-Cors
- Kolba-JWT-Extended
- mysql-connector-python
Potrzebujesz również apache2 do założenia strony internetowej, tutaj używamy apt:
sudo apt zainstaluj apache2 -y
Musisz skonfigurować połączenie bezprzewodowe, ponieważ nie możesz uzyskać kabla UTP w Raspberry Pi, gdy jest w etui.
Musisz również skonfigurować MariaDB, aby uzyskać dostęp do bazy danych.
Krok 3: Okablowanie
Następnym krokiem jest połączenie wszystkiego razem i sprawdzenie, czy wszystkie komponenty działają. Stworzyłem płytkę drukowaną, aby usunąć płytkę stykową i zmniejszyć okablowanie, dzięki czemu urządzenie może być mniejsze. Jest to konieczne, ponieważ będzie stać obok monitora i nie zajmie dużo miejsca, więc nie odciąga Cię od pracy.
Krok 4: Baza danych
To urządzenie korzysta ze znormalizowanej bazy danych MySQL do przechowywania wszystkich swoich informacji i pokazywania ich na stronie internetowej oraz na samym urządzeniu. Stworzyłem go w MySQL Workbench.
W tej bazie danych jest 5 tabel.
Tabela Activiteiten (= aktywności, wydarzenia) służy do przechowywania wszystkich wydarzeń w kalendarzu. Obejmuje to również wszystkie wydarzenia zaimportowane z innego kalendarza.
Table Apparaten (= urządzenia) służy do przechowywania różnych typów urządzeń używanych w tabeli Historiek (= historia). W tym projekcie wykorzystywane są dwa czujniki, czujnik temperatury i czujnik jakości powietrza, ale mam też trzecie „urządzenie”, czyli samą witrynę do przechowywania komunikatów wysyłanych z witryny do urządzenia.
Tabela Gebruikers (= users) przechowuje użytkowników. Mogą zalogować się za pomocą swojego hasła i określić pseudonim, który pojawia się w wiadomości po wysłaniu na urządzenie.
Tabela Historiek (=historia) służy do przechowywania wartości czujników i komunikatów wysyłanych do urządzenia.
I wreszcie tabela Links (= adresy URL) przechowuje wszystkie adresy URL kalendarza zewnętrznego.
Krok 5: Kod
Zalecam utworzenie nowego użytkownika, ponieważ jest to najlepsza praktyka, ale nie jest to konieczne, możesz również użyć domyślnego użytkownika pi.
Kod frontendu jest umieszczany w domyślnym folderze html z apache2. Możesz znaleźć ten folder w /var/www/html.
W przypadku backendu musisz utworzyć folder w swoim folderze domowym i umieścić tam cały kod.
Musimy również zmienić niektóre wartości w tym kodzie. Najpierw przejdź do app.py. W linii 23 ustaw nazwę jednoprzewodowego czujnika temperatury. To będzie prawdopodobnie dla Ciebie coś innego. Aby znaleźć właściwą nazwę, otwórz terminal i wpisz:
ls /sys/bus/w1/urządzenia
i poszukaj ciągu składającego się z wielu różnych liczb i zastąp ten w wierszu 23.
Kolejną rzeczą, którą musimy zmienić, jest w pliku config.py zmiana hasła do bazy danych.
Jeśli chcesz, aby to działało podczas rozruchu, musisz również zmienić plik EasyTalk.service. Po prostu zmień WorkingDirectory i User. Musisz skopiować ten plik za pomocą następnego polecenia:
sudo cp EasyTalk.service /etc/systemd/system/ EasyTalk.service
Następnie uruchom go:
sudo systemctl start EasyTalk.service
A następnie włącz go, aby uruchomił się przy starcie
sudo systemctl włącz EasyTalk.service
Krok 6: Sprawa
Postanowiłem wydrukować obudowę w 3D, aby była jak najmniejsza. Nadruk składa się z 3 części, samego pudełka, pokrywy i uchwytu głośnika, ponieważ nie ma otworów do przykręcenia śrub.
Będziesz też potrzebował trochę odważników, aby wszystko skręcić.
- 6 x śruby M2 x 6mm
- 6 x śruby M2 x 8mm
- 3 x śruby M2 x 16mm
Będę jednak szczery. Zbudowanie tego zajęło mi 4-5 godzin. Ponieważ jest tak mały, wszystko po prostu pasuje i czasami ciężko jest wkręcić pogrubienia, ale działa, jeśli robisz to ostrożnie.
Zaprojektowałem też płytkę do wymiany płytki stykowej, najpierw trzeba przylutować nagłówki i 5 rezystorów (4 x 470 Ohm, 1 x 4,7K Ohm).
Jak już masz płytkę to proponuję zacząć od przylutowania kabli do wszystkiego, co ma się łączyć z płytką.
Kiedy to zrobisz, wkręcisz wyświetlacz OLED na miejsce i podłączysz do niego płytkę drukowaną. Wyświetlacz zawiera płytkę PCB. Używasz do tego śrub 6mm.
Następnie przykręcasz czujnik jakości powietrza tam, gdzie powinien być, ale jest to trochę trudne, ponieważ łączy się z nim ADC. Aby zrobić to prawidłowo, tak aby te dwa elementy nie stykały się ze sobą, użyj śrub 16 mm z rurami aluminiowymi 3 x 5 mm, które musisz wyciąć. Zrobiłem to za pomocą dwóch śrub, ponieważ nie mogłem dosięgnąć trzeciej. Podłączasz 4 przewody tam, gdzie mają iść na PCB.
Następnie podłączasz wzmacniacz audio do płytki drukowanej i umieszczasz głośnik na miejscu za pomocą drukowanego w 3D uchwytu.
Po tych krokach najtrudniejsze części są skończone i możesz podłączyć wszystko inne do płytki drukowanej i przykręcić ją na miejsce. Zauważ, że na zdjęciach, które widzisz używam innego czujnika temperatury, do produktu końcowego użyłem czujnika temperatury z długim kablem wybiegającym z pudełka, ponieważ mierzył ciepło z wnętrza pudełka.
Kiedy to wszystko jest na swoim miejscu, musisz wkręcić Raspberry Pi. Używam do tego obudowy, ponieważ nie ufam wytwarzanemu przez nie ciepła, ta obudowa służy do ochrony, aby wydruk 3D się nie stopił. Zanim wkręcisz go na miejsce, musisz podłączyć kabel zasilający i kabel aux (które musisz otworzyć i przylutować jeden przewód, a następnie podłączyć z Raspberry Pi do PCB), ponieważ nie możesz go później dosięgnąć.
Następnie wystarczy podłączyć kabel nagłówka GPIO z PCB do Raspberry Pi i przed zamknięciem pokrywy sprawdzić, czy wszystko działa.
Na dole znajduje się otwór do podłączenia statywu, ale jest to opcjonalne.
Otóż to! Mam nadzieję, że podobało Ci się czytanie tego artykułu! -Kobe
Zalecana:
Zrób to sam rejestrator danych GPS dla ciebie Następna jazda / szlak pieszy: 11 kroków (ze zdjęciami)
DIY GPS Data Logger for You Next Drive/Hike Trail: Jest to rejestrator danych GPS, którego można używać do wielu celów, na przykład, jeśli chcesz zarejestrować długą jazdę, którą przejechałeś w weekend, aby sprawdzić kolory jesieni. lub masz ulubiony szlak, który odwiedzasz jesienią każdego roku i
Nextion Ekran dotykowy Outlook Kalendarz Przypomnienie o spotkaniu: 6 kroków
Nextion Touchscreen Outlook Calendar Meeting Reminder: Powodem, dla którego zacząłem ten projekt, było to, że często przegapiłem spotkania i pomyślałem, że potrzebuję lepszego systemu przypomnień. Mimo że używamy kalendarza Microsoft Outlook, większość czasu spędziłem na Linuksie/UNIXie na tym samym komputerze. Podczas pracy z
Maska Covid-19, która krzyczy do Ciebie, gdy dotkniesz twarzy: 4 kroki
Maska Covid-19, która krzyczy na ciebie, gdy dotkniesz twarzy: nie możesz przestać dotykać swojej twarzy? Przyklej tę elektronikę do maski, którą masz, a będziesz ciągle przypominał, żebyś tego nie robił
Dzień tygodnia, kalendarz, godzina, wilgotność/temperatura z oszczędzaniem baterii: 10 kroków (ze zdjęciami)
Dzień tygodnia, kalendarz, czas, wilgotność / temperatura z oszczędzaniem baterii: Tryb oszczędzania energii odróżnia ten Instruktaż od innych przykładów pokazujących dzień tygodnia, miesiąc, dzień miesiąca, godzinę, wilgotność i temperaturę. To właśnie ta zdolność pozwala na uruchomienie tego projektu z akumulatora, bez t
Stwórz bazę dla Ciebie Ipod Dock (2 pomysły): 7 kroków
Make a Base for You Ipod Dock (2 pomysły): potrzebne do plastiku jeden długopis plastikowy pojemnikX1 pistolet do gorącego kleju do iPoda (lub normalny klej) nóż do etui do dokowania jedno złącze stacji dokującej do iPoda PUDEŁKO do dokowania iPoda pistolet do gorącego kleju (lub normalny klej) correcto ipod z nożem (nie duh:P)