Съдържание:
- Стъпка 1: Материали
- Стъпка 2: Raspberry Pi
- Стъпка 3: Окабеляване
- Стъпка 4: База данни
- Стъпка 5: Код
- Стъпка 6: Дело
Видео: EasyTalk: Лесна комуникация и календар до вас: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Казвам се Кобе Маршал, уча в Хоуест, Белгия и съм студент по мултимедийни и комуникационни технологии (MCT). За последната ми задача за първата година трябваше да направя IoT устройство.
Вкъщи имаме този проблем, че брат ми винаги играе и когато майка ми трябва да му каже нещо от долния етаж, тя трябва да извика, защото той носи слушалки и не чува нищо. Исках да реша този проблем за нея, затова изграждам устройство, на което можете да изпращате съобщения до уебсайт. Използва се и като календар, където можете да съхранявате свои собствени събития или да импортирате външен календар чрез URL адрес. Това устройство също съхранява стойности на температурата и качеството на въздуха, за да можете да видите колко здравословно е, когато играете или работите, защото често не забелязвате.
Това устройство се нарича EasyTalk и решава този проблем. Това е малко устройство, което използва OLED екран, така че можете да видите вашите събития, часа или температурата и качеството на въздуха в момента. Когато се изпрати съобщение, то ви забелязва със звук на известие и показва съобщението на екрана, където можете да отговорите с да или не.
Ако искате да изградите това нещо или искате да видите как е направено, силно препоръчвам да прочетете нататък. Ако искате да научите повече за мен, можете да отидете в портфолиото ми.
Стъпка 1: Материали
Първата стъпка е да съберете всички материали, които да използвате в този проект. Ще бъда честен с вас. Това не е евтино устройство, общата цена е 271 евро. По -долу е даден списък с тях и няколко снимки за уточняване.
- Raspberry Pi 4 Модел B - 4GB
- Pibow Coupé 4 - Нинджа
- 12 x Premium Jumperwires оп лента - 40 пръчки - M/M - 20 см
- 6 x премиум ленти за джъмпери - 40 пръчки - M/F - 20 см
- 2 х 36-пинов подреждащ хедър
- 40-пинов мъжки заглавие на кутия
- 40 пина Regenboog GPIO кабел
- Монохромен 2.42 "128x64 OLED модул за графичен дисплей
- Kleine Metalen Speaker met Draadjes - 8 ома 0.5W
- Adafruit Mono 2.5W Class D Audio Versterker
- 3,5 мм Aux жак кабел
- Моментен бутон със 7 мм конец
- Tuimelschakelaar
- PIR Bewegingssensor
- DS18B20 Цифров температурен сензор
- Grove - Lucht kwaliteit sensor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel мини-статичен
- Резистори 470 ома
- 4, 7K Ohm резистор
- Термосвиваеми тръби
- 6 x Винтове M2 x 6 мм
- 6 x Винтове M2 x 8 мм
- 3 x Винтове M2 x 16 мм
- Алуминиева тръба 3 мм
Направих и Bill of Materials (BOM), за да можете да видите колко съм платил за всички материали и откъде съм ги взел.
Стъпка 2: Raspberry Pi
За този проект използваме Raspberry Pi, защото е лесен за настройка и може да се използва за много неща. Той е идеален за това, което искаме да направим.
Изтеглете Raspberry Pi Desktop OS и го инсталирайте на вашия Raspberry Pi. Трябва да активирате SPI, I2C и One Wire в raspi-config. Предлагам да деактивирате някои неща в опциите за зареждане, за да се зареди по -бързо. Освен това използвам някои библиотеки, които трябва да инсталирате с pip, за да работи това.
pip3 инсталиране:
- adafruit-circuitpython-ssd1305
- ics
- Колба
- Flask-Cors
- Flask-JWT-Extended
- mysql-конектор-python
Вие също се нуждаете от apache2, за да настроите уебсайт, тук използваме apt:
sudo apt инсталирате apache2 -y
Трябва да настроите безжична връзка, защото не можете да получите UTP кабел в Raspberry Pi, когато е в кутията.
Ще трябва да настроите и MariaDB, за да имате достъп до базата данни.
Стъпка 3: Окабеляване
Следващата стъпка е да свържете всичко заедно и да проверите дали всички компоненти работят. Създадох печатна платка, за да премахна основната платка и да направя окабеляването по -малко, за да може устройството да бъде по -малко. Това е необходимо, защото ще стои до монитора ви и не може да заема много място, така че да не ви разсейва от работата ви.
Стъпка 4: База данни
Това устройство използва нормализирана база данни MySQL, за да съхранява цялата си информация и да показва това на уебсайта и самото устройство. Създадох го в MySQL Workbench.
В тази база данни има 5 таблици.
Таблицата Activiteiten (= дейности, събития) се използва за съхраняване на всички събития от календара. Това включва и всички събития, импортирани от друг календар.
Table Apparaten (= устройства) се използва за съхраняване на различните видове устройства, които се използват в таблицата Historiek (= история). В този проект се използват два сензора, температурен сензор и сензор за качество на въздуха, но имам и трето „устройство“, самият уебсайт за съхраняване на съобщенията, изпращани от уебсайта до устройството.
Таблица Gebruikers (= потребители) съхранява потребителите. Те могат да влязат с паролата си и да посочат псевдоним, който да се показва със съобщение при изпращане до устройството.
Таблица Historiek (= история) се използва за съхраняване на стойностите на сензора и съобщенията, изпратени до устройството.
И накрая, връзки към таблици (= URL адреси) съхраняват всички URL адреси на външния календар.
Стъпка 5: Код
Препоръчвам да направите нов потребител, тъй като това е най -добрата практика, но не е необходимо, можете да използвате и потребителя по подразбиране pi.
Кодът на интерфейса се поставя в html папката по подразбиране от apache2. Можете да намерите тази папка в/var/www/html.
За бекенда трябва да направите папка в домашната си папка и да поставите целия код там.
Трябва да променим някои стойности и в този код. Първо отидете на app.py. На ред 23 задайте името на едножилния сензор за температура. Това вероятно ще бъде нещо различно за вас. За да намерите правилното име, отворете терминал и въведете:
ls/sys/bus/w1/devices
и потърсете низ, който се състои от множество различни числа и заменете този на ред 23.
Другото, което трябва да променим, е във файла config.py, променете паролата на базата данни.
Ако искате това да се стартира при зареждане, трябва да промените и файла EasyTalk.service. Просто сменете WorkingDirectory и User. Трябва да копирате този файл със следната команда:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
След това го стартирайте:
sudo systemctl стартирайте EasyTalk.service
И след това го активирайте, така че да стартира при стартиране
sudo systemctl активира EasyTalk.service
Стъпка 6: Дело
Реших да отпечатам 3D корпуса, за да бъде възможно най -малък. Печатът се състои от 3 части, самата кутия, капак и държач за високоговорители, тъй като няма отвори за завинтване на болтове.
Ще ви трябват и някои удебелени шрифтове, за да завиете всичко заедно.
- 6 x Винтове M2 x 6 мм
- 6 x Винтове M2 x 8 мм
- 3 x Винтове M2 x 16 мм
Ще бъда честен все пак. Изграждането на това нещо ми отне 4-5 часа. Тъй като е толкова малък, всичко просто се вписва и понякога е трудно да се завият удебелените шрифтове, но работи, ако го правите внимателно.
Също така проектирах печатна платка, която да замени платката, първо трябва да запоите заглавките и 5 резистора (4 x 470 Ohm, 1 x 4.7K Ohm).
Когато имате печатна платка, предлагам да започнете с запояване на кабели към всичко, което трябва да се свърже към печатната платка.
Когато това стане, ще завиете OLED дисплея на място и свържете печатната платка към него. Дисплеят съдържа печатната платка. За това използвате 6 мм винтове.
След това завинтвате сензора за качество на въздуха там, където трябва да отидете, но това е малко сложно, защото ADC се свързва с него. За да направите това правилно, така че двата компонента да не се допират помежду си, използвате 16 мм винтове с 3 x 5 мм алуминиеви тръби, които трябва да режете. Направих това с два винта, защото не успях да стигна до третия. Свързвате 4 -те проводника там, където трябва да отидат на печатната платка.
След това свържете аудио усилвателя към печатната платка и поставете високоговорителя на място с държача за 3D отпечатване.
След тези стъпки най -трудните части приключват и можете да свържете всичко останало към печатната платка и да я завиете на място. Обърнете внимание, че на снимките, които виждате, използвам различен температурен сензор, за крайния продукт използвах температурния сензор с дълъг кабел, който изтича от кутията, защото измерваше топлината от вътрешността на кутията.
Когато всички те са на място, трябва да завиете Raspberry Pi. Използвам кутията за това, защото не вярвам на топлината, която произвежда, този калъф е там за защита, така че 3D печатът не се стопява. Преди да го завиете на място, трябва да свържете захранващия кабел и допълнителния кабел (който трябва да отворите и да запоите един проводник към и след това да се свържете от Raspberry Pi към печатна платка), защото след това не можете да го достигнете.
След това просто свържете кабела на GPIO заглавката от печатната платка към Raspberry Pi и проверете дали всичко работи, преди да затворите капака.
В долната част има дупка, където можете да свържете статив, но това е по избор.
Това е! Надявам се да ви хареса да прочетете тази статия! -Кобе
Препоръчано:
DIY Адвентен календар: 3 стъпки
DIY Адвентен календар: Ще опиша как направихме този аналогов часовник, който двойно функционира като адвентен календар. Има 24 светодиода ws2811 денонощно в кръг и всеки от тях светва в зелено до дните преди Коледа. На Коледа всички светлини светят
Nextion Сензорен екран Outlook Календар Напомняне за среща: 6 стъпки
Nextion Сензорен екран Outlook на календара Напомняне за среща: Причината, поради която започнах този проект, беше, че често пъти пропусках срещи и реших, че се нуждая от по -добра система за напомняне. Въпреки че използваме Microsoft Outlook Calendar, но прекарах по -голямата част от времето си в Linux/UNIX на същия компютър. Докато работите с
Ден от седмицата, календар, време, влажност/температура с пестене на батерията: 10 стъпки (със снимки)
Ден от седмицата, календар, време, влажност/температура с режим на пестене на батерията: Режимът за пестене на енергия тук е това, което отличава тази инструкция от други примери, показващи ден от седмицата, месец, ден от месеца, час, влажност и температура. Именно тази възможност позволява този проект да се изпълнява от батерия, без
Събития в Google Календар до ESP8266: 10 стъпки
Събития от Google Календар към ESP8266: В този урок ще обясня как да импортирам данни за събития от Google Календар в Arduino IDE за платката ESP8266. Ще импортирам крайния и началния час на обучението си от Google Календар и ще ги отпечатам в серийния монитор на Arduino IDE
Интелигентно огледало за много потребители с Google Календар: 10 стъпки
Интелигентно огледало за много потребители с Google Календар: В тази инструкция ще създадем интелигентно огледало, интегрирано с Google Календар. Направих този проект, защото намирам интелигентните огледала за страхотни, те са божи дар на сутринта. Но реших да направя един от нулата, защото всички останали