Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: Raspberry Pi
- 3 -қадам: Сымдарды жалғау
- 4 -қадам: мәліметтер базасы
- 5 -қадам: код
- 6 -қадам: іс
Бейне: EasyTalk: Оңай байланыс және қасындағы күнтізбе: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Менің атым Коби Марчал, мен Бельгияның Хоуст қаласында оқимын, мен мультимедиялық және коммуникациялық технологияның (MCT) студентімін. Бірінші курстың соңғы тапсырмасы үшін маған IoT құрылғысын жасау керек болды.
Үйде бізде інім үнемі ойынмен айналысатын мәселе бар, ал анама төменгі қабаттан бірдеңе айту керек болғанда, ол айқайлауы керек, себебі ол құлаққап тағып, ештеңені естімейді. Мен оған бұл мәселені шешкім келді, сондықтан мен веб -сайттан хабарлама жіберуге болатын құрылғыны құрдым. Ол сонымен қатар күнтізбе ретінде пайдаланылады, онда сіз өзіңіздің оқиғаларыңызды сақтай аласыз немесе URL арқылы сыртқы күнтізбені импорттай аласыз. Бұл құрылғы температура мен ауа сапасының мәндерін сақтайды, сондықтан сіз ойын кезінде немесе жұмыс кезінде оның қаншалықты сау екенін көре аласыз, себебі сіз жиі байқамайсыз.
Бұл құрылғы EasyTalk деп аталады және бұл мәселені шешеді. Бұл OLED экранын қолданатын шағын құрылғы, сондықтан сіз оқиғаларды, уақытты немесе температураны және ауа сапасын көре аласыз. Хабар жіберілген кезде, ол сізді хабарландыру дыбысымен байқайды және хабарды экранда көрсетеді, онда сіз иә немесе жоқ деп жауап бере аласыз.
Егер сіз бұл затты салғыңыз келсе немесе оның қалай жасалғанын көргіңіз келсе, мен оқуды ұсынамын. Егер сіз мен туралы көбірек білгіңіз келсе, менің портфолиоға кіре аласыз.
1 -қадам: материалдар
Бірінші қадам - бұл жобада қолданылатын барлық материалдарды жинау. Мен сізге адал боламын. Бұл арзан құрылғы емес, жалпы құны - 271 евро. Төменде олардың тізімі және түсіндіру үшін бірнеше фотосуреттер берілген.
- Raspberry Pi 4 моделі B - 4 ГБ
- Pibow Coupé 4 - ниндзя
- 12 x Premium Jumperwires жолағы - 40 дана - M/M - 20см
- 6 x Premium Jumperwires жолағы - 40 дана - M/F - 20см
- 2 x 36 істікшелі Стекинг тақырыбы
- 40 істікшелі ерлер қорапшасы
- 40 түйреуіш Regenboog GPIO кабелі
- Монохромды 2.42 дюймдік 128x64 OLED графикалық дисплей модульдерінің жинағы
- Kleine Metalen спикері Драаджеспен кездесті - 8 Ом 0,5 Вт
- Adafruit Mono 2.5W D сыныпты дыбыстық таратқыш
- 3,5 мм Aux Jack кабелі
- 7 мм жіппен бір мезетте басу түймесі
- Түймелшакелаар
- PIR Bewegings сенсоры
- DS18B20 Digitale температура сенсоры
- Grove - Lucht kwaliteit сенсоры v1.3
- Гроув - I2C ADC
- Raspberry Pi 4 USB-C қарау
- Flexibel шағын статусы
- 470 Ом резисторлар
- 4, 7К Ом резисторы
- Жылуды төмендететін құбырлар
- 6 x бұрандалар M2 x 6mm
- 6 x бұрандалар M2 x 8 мм
- 3 x бұрандалар M2 x 16 мм
- Глинозем 3 мм
Мен сондай -ақ материалдардың есебін (БОМ) жасадым, сондықтан сіз барлық материалдар үшін қанша төлегенімді және оларды қайдан алғанымды көре аласыз.
2 -қадам: Raspberry Pi
Бұл жоба үшін біз Raspberry Pi қолданамыз, себебі оны орнату оңай және оны көп нәрсеге қолдануға болады. Бұл біз жасағымыз келетін нәрсе үшін өте қолайлы.
Raspberry Pi Desktop OS жүктеп алып, оны Raspberry Pi -ге орнатыңыз. Raspi-config-де SPI, I2C және One Wire мүмкіндіктерін қосу қажет. Мен жүктеу опцияларындағы кейбір нәрселерді өшіруді ұсынамын, ол тез жүктеледі. Бұдан басқа, мен бұл жұмысты орындау үшін pip арқылы орнату керек кейбір кітапханаларды қолданамын.
pip3 орнату:
- adafruit-circuitpython-ssd1305
- ics
- Колба
- Flask-Cors
- Flask-JWT-Extended
- mysql-қосқыш-питон
Веб -сайтты орнату үшін сізге apache2 қажет, мұнда біз apt қолданамыз:
sudo apt install apache2 -y
Сіз сымсыз қосылымды орнатуыңыз керек, себебі Raspberry Pi -де UTP кабелін алу мүмкін емес.
Мәліметтер қорына кіру үшін MariaDB -ді де орнату қажет.
3 -қадам: Сымдарды жалғау
Келесі қадам - барлығын сыммен біріктіру және барлық компоненттердің жұмыс істейтінін тексеру. Мен тақтаны алып тастау және сымды азайту үшін құрылғы кішірек болуы үшін ПХД жасадым. Бұл қажет, себебі ол сіздің мониторыңыздың жанында болады және көп орын алмайды, сондықтан сіздің жұмысыңызға кедергі жасамайды.
4 -қадам: мәліметтер базасы
Бұл құрылғы MySQL -дің нормаланған мәліметтер базасын қолданады, ол барлық ақпаратты сақтайды және оны веб -сайтта және құрылғыда көрсетеді. Мен оны MySQL Workbench -те жасадым.
Бұл мәліметтер қорында 5 кесте бар.
Activiteiten кестесі (= әрекеттер, оқиғалар) күнтізбенің барлық оқиғаларын сақтау үшін қолданылады. Бұл басқа күнтізбеден импортталған барлық оқиғаларды қамтиды.
Table Apparaten (= құрылғылар) Historiek (= тарих) кестесінде қолданылатын әр түрлі құрылғыларды сақтау үшін қолданылады. Бұл жобада екі сенсор бар: температура сенсоры мен ауа сапасы сенсоры, бірақ менде үшінші «құрылғы» бар, ол веб -сайттан құрылғыға жіберілетін хабарларды сақтауға арналған.
Gebruikers кестесі (= пайдаланушылар) пайдаланушыларды сақтайды. Олар өздерінің құпия сөзімен кіре алады және құрылғыға жіберген кезде хабарламада көрсетілетін бүркеншік атын көрсете алады.
Historiek кестесі (= тарих) сенсордың мәндері мен құрылғыға жіберілетін хабарларды сақтау үшін қолданылады.
Соңында кесте сілтемелері (= URL мекенжайлары) барлық сыртқы күнтізбелік URL мекенжайларын сақтайды.
5 -қадам: код
Мен жаңа пайдаланушыны жасауды ұсынамын, себебі бұл ең жақсы тәжірибе, бірақ қажет емес, сіз әдепкі pi пайдаланушысын да пайдалана аласыз.
Алдыңғы код apache2 -ден әдепкі html қалтасына қойылады. Сіз бұл қалтаны/var/www/html сайтынан таба аласыз.
Артқы жағы үшін сіз өзіңіздің қалтаңызға қалта жасап, барлық кодты сол жерге қоюыңыз керек.
Біз осы кодтағы кейбір мәндерді өзгертуіміз керек. Алдымен app.py сайтына өтіңіз. 23 -жолда бір сымды температура сенсорының атауын орнатыңыз. Бұл сіз үшін басқаша болар. Дұрыс атауды табу үшін терминалды ашып, теріңіз:
ls/sys/bus/w1/құрылғылар
және әр түрлі саннан тұратын жолды іздеңіз және 23 -жолдағы жолды ауыстырыңыз.
Біз өзгертуіміз керек басқа нәрсе config.py файлында, дерекқордың құпия сөзін өзгертіңіз.
Егер сіз оны жүктеу кезінде іске қосқыңыз келсе, EasyTalk.service файлын да өзгертуіңіз керек. Жұмыс директориясын және пайдаланушыны өзгертіңіз. Бұл файлды келесі пәрменмен көшіру керек:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Содан кейін оны іске қосыңыз:
sudo systemctl EasyTalk.service іске қосыңыз
Содан кейін оны қосыңыз, осылайша ол жүктеуден басталады
sudo systemctl EasyTalk.service қызметін қосады
6 -қадам: іс
Мен корпусты мүмкіндігінше кішкентай етіп 3D басып шығаруды шештім. Баспа 3 бөліктен тұрады, қораптың өзі, қақпақ және динамик ұстағыш, себебі оның болттарды бұрауға арналған тесіктері жоқ.
Барлығын біріктіру үшін сізге батылдық қажет болады.
- 6 x бұрандалар M2 x 6mm
- 6 x бұрандалар M2 x 8 мм
- 3 x бұрандалар M2 x 16 мм
Мен шынымды айтсам да. Бұл затты жасауға 4-5 сағат уақыт кетті. Кішкене болғандықтан, бәрі сәйкес келеді, ал кейде батылдықтарды бұрау қиын, бірақ егер сіз мұны мұқият жасасаңыз, ол жұмыс істейді.
Мен сонымен қатар нан тақтасын ауыстыру үшін ПХД жасадым, сізге алдымен тақырыптар мен 5 резисторды (4 x 470 Ом, 1 x 4.7K Ом) дәнекерлеу керек.
Егер сізде ПХД болса, мен ПХД -ге қосылатын барлық нәрсеге кабельдерді дәнекерлеуден бастауды ұсынамын.
Бұл аяқталған кезде, сіз OLED дисплейін бұрап, оған ПХД қосасыз. Дисплейде ПХД бар. Ол үшін 6 мм бұрандалар қолданылады.
Содан кейін сіз ауа сапасы сенсорын қажет жерге бұрап аласыз, бірақ бұл біршама қиын, себебі ADC оған қосылады. Мұны істеу үшін екі компонент бір -біріне тиіп кетпеуі үшін сіз көруге тиіс 3х5 мм алюминий құбырлары бар 16 мм бұрандаларды қолданасыз. Мен мұны екі бұрандамен жасадым, себебі мен үшіншісіне жете алмадым. Сіз 4 сымды ПХД -ге қажет жерге қосасыз.
Содан кейін сіз дыбыс күшейткішті ПХД -ге қосып, динамикті 3D басып шығарғыш ұстағышпен орнына қоясыз.
Осы қадамдардан кейін ең қиын бөлшектер аяқталды және сіз қалғандарын ПХД -ге қосып, орнына бұрап қоюға болады. Назар аударыңыз, сіз көрген фотосуреттерде мен басқа температура сенсорын қолданамын, соңғы өнім үшін мен температура сенсорын ұзын кабельмен қолдандым, себебі ол қораптың ішінен жылуды өлшеді.
Осының бәрі орнында болған кезде, сіз Raspberry Pi -ді бұрап алуыңыз керек. Мен корпусты бұл үшін қолданамын, себебі мен ол шығаратын жылуға сенбеймін, бұл жағдайда қорғаныс бар, сондықтан 3D басып шығарылмайды. Орнатпас бұрын, қуат кабелі мен қосалқы кабельді жалғау керек (бір сымды ашып, дәнекерлеу керек, содан кейін Raspberry Pi -ден ПХД -ге жалғау керек), себебі сіз оған жете алмайсыз.
Содан кейін PCIO -дан Raspberry Pi -ге GPIO тақырып кабелін жалғап, қақпақты жаппас бұрын бәрі жұмыс істейтінін тексеріңіз.
Төменгі жағында штативті қосуға болатын тесік бар, бірақ бұл міндетті емес.
Міне бітті! Сізге бұл мақаланы оқу ұнады деп сенемін! -Коби
Ұсынылған:
Nextion сенсорлы экраны Outlook күнтізбе жиналысының еске салуы: 6 қадам
Nextion сенсорлы экраны Outlook күнтізбесі кездесуі туралы еске салғыш: Бұл жобаны бастауымның себебі, жиі кездесулерді өткізіп жіберіп, маған жақсы еске салғыштар жүйесі қажет деп ойладым. Біз Microsoft Outlook күнтізбесін қолдансақ та, мен көп уақытымды Linux/UNIX -те сол компьютерде өткіздім. Онымен жұмыс істеу кезінде
Апта күні, күнтізбе, уақыт, ылғалдылық/температура батареяны үнемдеу: 10 қадам (суреттермен)
Апта күні, күнтізбе, уақыт, ылғалдылық/температура батареяны үнемдеу режимі: мұнда энергия үнемдеу режимі осы нұсқаулықты аптаның күнін, айын, ай күнін, уақытты, ылғалдылық пен температураны көрсететін басқа мысалдардан ерекшелейді. Дәл осы мүмкіндік бұл жобаны аккумуляторсыз жұмыс істеуге мүмкіндік береді
Серво қозғалтқышы бар реттелген күнтізбе: 4 қадам
Серво қозғалтқышы бар реттелген күнтізбе: адамдар кейде жұмыс үстелінде отырғанда шаршайды. Егер үстелде сәндік нәрсе болса, бұл сөзсіз көңілді болар еді. Бұл жоба үшін мен жеке күнтізбе жасаймын. Күнтізбеден басқа, сіз басқа элементтерді қоса аласыз
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру оңай, пайдалану оңай, портқа оңай: 3 қадам
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру, пайдалану оңай, портқа оңай. Бұл жоба Arduino тақтасына 18 жарықдиодты (6 қызыл + 6 көк + 6 сары) қосуға және компьютердің дыбыстық картасының нақты уақыттағы сигналдарын талдауға және оларды таратуға көмектеседі. жарық диодтары оларды соққы әсеріне қарай жарықтандырады (тұзақ, биік қалпақ, соққы)
Raspberry Pi: Қабырғаға бекітілген күнтізбе және хабарландыру орталығы: 5 қадам (суреттермен)
Raspberry Pi: Қабырғаға бекітілген күнтізбе мен хабарландыру орталығы: «сандық дәуірге дейін»; көптеген отбасылар алдағы оқиғалардың айлық көрінісін көрсету үшін қабырға күнтізбелерін қолданды. Қабырғаға бекітілген күнтізбенің осы заманауи нұсқасы бірдей негізгі функцияларды қамтиды: Отбасы мүшелерінің ай сайынғы күн тәртібін синхрондау