Мазмуну:
- 1 -кадам: материалдар
- 2 -кадам: Raspberry Pi
- 3 -кадам: Кабелдөө
- 4 -кадам: Маалыматтар базасы
- 5 -кадам: Код
- 6 -кадам: Case
Video: EasyTalk: Оңой баарлашуу жана жаныңыздагы календарь: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Менин атым Коби Марчал, мен Бельгиянын Хоуст шаарында окуйм жана мен мултимедиа жана коммуникация технологиясынын (MCT) студентимин. Биринчи курстун акыркы тапшырмасы үчүн IoT түзмөгүн жасоого туура келди.
Үйдө бизде бул көйгөй бар, иним дайыма ойноп жүрөт жана апам ылдый жактан бир нерсе айтуусу керек болгондо, ал кыйкырышы керек, анткени ал наушник тагынып, эч нерсени укпайт. Мен ага бул маселени чечүүнү кааладым, ошондуктан сиз веб -сайттан билдирүүлөрдү жөнөтө турган түзмөк курдум. Ал ошондой эле өзүңүздүн окуяларыңызды сактай турган же тышкы календарды URL аркылуу импорттой ала турган календар катары колдонулат. Бул түзмөк температура менен абанын сапатын да сактайт, андыктан сиз ойноп жатканда же иштеп жатканда канчалык дени сак экенин көрө аласыз, анткени сиз көп байкабайсыз.
Бул аппарат EasyTalk деп аталат жана бул маселени чечет. Бул OLED экранын колдонгон кичинекей түзмөк, ошондуктан сиз окуяларды, убакытты же температураны жана абанын сапатын азыр көрө аласыз. Кабар жөнөтүлгөндө, ал сизди эскертүү үнү менен байкайт жана ооба же жок деп жооп бере турган билдирүүнү экранда көрсөтөт.
Эгерде сиз бул нерсени кургуңуз келсе же анын кантип жасалганын көргүңүз келсе, анда мен андан ары окууну сунуштайм. Мен жөнүндө көбүрөөк билгиңиз келсе, портфолиомо кирсеңиз болот.
1 -кадам: материалдар
Биринчи кадам - бул долбоордо колдонуу үчүн бардык материалдарды чогултуу. Мен сизге чынчыл болом. Бул арзан аппарат эмес, жалпы баасы 271 евро. Төмөндө алардын тизмеси жана тактоо үчүн кээ бир сүрөттөр.
- Raspberry Pi 4 Model B - 4GB
- Pibow Coupé 4 - ниндзя
- 12 x Premium Jumperwires оп тилкеси - 40 стук - M/M - 20см
- 6 x Premium Jumperwires оп тилкеси - 40 стук - M/F - 20см
- 2 x 36-pin Stacking header
- 40-пин эркек кутунун башы
- 40 казык Regenboog GPIO кабели
- Монохром 2.42 "128x64 OLED графикалык дисплей модулу
- Kleine Metalen Спикери Draadjes менен жолугушту - 8 Ом 0.5W
- Adafruit Mono 2.5W D класстагы аудио верстеркер
- 3.5 мм Aux Jack кабели
- 7мм жип Моменталдык баскыч
- Tuimelschakelaar
- PIR Bewegingssensor
- DS18B20 Digitale температура сенсору
- Grove - Lucht kwaliteit сенсор v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel мини статусу
- 470 Ом резисторлор
- 4, 7K Ом каршылыгы
- Жылуулукту кыскартуучу түтүк
- 6 х бурамалар M2 x 6mm
- 6 х бурамалар M2 x 8mm
- 3 х бурамалар M2 x 16mm
- Глинозем 3 мм
Мен ошондой эле Билл Материалдарын (БОМ) түздүм, ошон үчүн бардык материалдарга канча акча төлөгөмдү жана аларды кайдан алдым.
2 -кадам: Raspberry Pi
Бул долбоор үчүн биз Raspberry Pi колдонобуз, анткени аны орнотуу оңой жана аны көп нерсеге колдонсо болот. Бул биз кылгысы келген нерсе үчүн идеалдуу.
Raspberry Pi Desktop OS жүктөп алып, аны Raspberry Piге орнотуңуз. Сиз raspi-конфигурациясында SPI, I2C жана One Wire иштетишиңиз керек. Мен тезирээк жүктөө үчүн Жүктөө Параметрлериндеги кээ бир нерселерди өчүрүүнү сунуштайм. Мындан тышкары, мен бул ишти аткаруу үчүн пип менен орнотушуңуз керек болгон кээ бир китепканаларды колдоном.
pip3 орнотуу:
- adafruit-circuitpython-ssd1305
- ics
- Колба
- Flask-Cors
- Flask-JWT-Extended
- mysql-Connector-python
Вебсайтты орнотуу үчүн сизге apache2 да керек, бул жерде биз apt колдонобуз:
sudo apt install apache2 -y
Сиз зымсыз байланышты орнотушуңуз керек, анткени Raspberry Pi учурда UTP кабелин ала албайт.
Маалымат базасына кирүү үчүн MariaDBди да орнотушуңуз керек.
3 -кадам: Кабелдөө
Кийинки кадам - бардыгын зым менен бириктирүү жана бардык компоненттердин иштээрин текшерүү. Нан тактасын алып салуу жана зымдарды кичирейтүү үчүн ПХБ түздүм, ошондуктан аппарат кичине болушу мүмкүн. Бул зарыл, анткени ал сиздин монитордун жанында турат жана көп орунду албайт, андыктан ал сиздин ишиңизден алаксыбайт.
4 -кадам: Маалыматтар базасы
Бул түзмөк MySQLдин маалымат базасын колдонуп, бардык маалыматты сактайт жана муну веб -сайтта жана түзмөктө көрсөтөт. Мен аны MySQL Workbenchте түздүм.
Бул базада 5 таблица бар.
Table Activiteiten (= иш -чаралар, окуялар) календардын бардык окуяларын сактоо үчүн колдонулат. Бул башка календардан импорттолгон бардык окуяларды камтыйт.
Table Apparaten (= түзмөктөр) стол Historiekте (= тарых) колдонулган ар кандай түзүлүштөрдү сактоо үчүн колдонулат. Бул долбоордо колдонулган эки сенсор бар, температура сенсору жана абанын сапаты сенсору, бирок менде үчүнчү "түзмөк" бар, веб -сайттан түзмөккө жөнөтүлгөн билдирүүлөрдү сактоо үчүн веб -сайттын өзү.
Table Gebruikers (= колдонуучулар) колдонуучуларды сактайт. Алар сырсөзү менен кирип, түзмөккө жөнөтүүдө билдирүү менен көрсөтүлүүчү лакап атты көрсөтө алышат.
Table Historiek (= тарыхы) сенсордун маанилерин жана түзмөккө жөнөтүлгөн билдирүүлөрдү сактоо үчүн колдонулат.
Жана, акыры, стол Шилтемелери (= URL) бардык тышкы календардык URL'дерди сактайт.
5 -кадам: Код
Мен жаңы колдонуучу кылууну сунуштайм, анткени бул эң жакшы практика, бирок бул зарыл эмес, сиз демейки пи колдонуучуну дагы колдоно аласыз.
Frontend коду apache2ден баштапкы HTML папкасына салынат. Бул папканы/var/www/html сайтынан таба аласыз.
Арткы бет үчүн үй папкаңызга папка жасап, ошол жердеги бардык кодду салышыңыз керек.
Биз бул коддогу кээ бир баалуулуктарды да өзгөртүшүбүз керек. Алгач app.py.ге өтүңүз. 23 -сапта бир зымдуу температура сенсорунун аталышы коюлган. Бул, балким, сиз үчүн башка нерсе болот. Туура аталышты табуу үчүн терминалды ачыңыз жана териңиз:
ls/sys/bus/w1/түзмөктөр
жана бир нече ар кандай сандан турган сапты издеңиз жана 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 -кадам: Case
Мүмкүн болушунча кичине болушу үчүн, ишти 3D басып чыгарууну чечтим. Басып чыгаруу 3 бөлүктөн турат, кутунун өзү, капкак жана динамик кармагыч, анткени мында болтторду буроо үчүн тешиктер жок.
Баарын бириктирүү үчүн сизге кээ бир тайманбастык керек.
- 6 х бурамалар M2 x 6mm
- 6 х бурамалар M2 x 8mm
- 3 х бурамалар M2 x 16mm
Мен чынчыл болом. Бул нерсени жасоо үчүн 4-5 саат кеттим. Бул кичинекей болгондуктан, баары жөн эле туура келет жана кээде тайманбастык менен буруш кыйын, бирок кылдаттык менен жасасаңыз иштейт.
Мен ошондой эле нан тактасын алмаштыруу үчүн ПХБ түздүм, адегенде баштарды жана 5 резисторду (4 x 470 Ohm, 1 x 4.7K Ohm) ширетүү керек.
Сизде ПХБ болгондо, мен ПХБга туташууга тийиш болгон нерселердин баарына кабелдерди ширетүүдөн баштоону сунуштайм.
Бул бүткөндөн кийин, сиз OLED дисплейин бурап, ПХБны ага туташтырасыз. Дисплейде ПХБ бар. Бул үчүн сиз 6 мм бурамаларды колдоносуз.
Андан кийин абанын сапатынын сенсорун керектүү жерге бурасыз, бирок бул бир аз татаал, анткени ADC ага туташат. Муну туура жасоо үчүн, эки компонент бири -бирине тийбеши үчүн, сиз көрүшүңүз керек болгон 3 х 5мм алюминий түтүктөрү бар 16мм бурамаларды колдоносуз. Мен муну эки бурама менен кылдым, анткени үчүнчүсүнө жете албадым. Сиз 4 зымды ПКБга барышы керек болгон жерге туташтырасыз.
Андан кийин аудио күчөткүчтү ПХБга туташтырып, динамикти 3D басып чыгаргычтын ордуна коюңуз.
Бул кадамдардан кийин, эң оор бөлүктөр бүтүп, калганын ПХБга туташтырып, аны бурап коюңуз. Көңүл буруңуз, сиз көргөн сүрөттөрдө мен башка температура сенсорун колдонуп жатам, акыркы продукт үчүн мен температура сенсорун узун кабель менен колдондум, анткени ал кутунун ичинен жылуулукту өлчөп жаткан.
Булардын баары ордунда болгондо, сиз Raspberry Pi'ди бурап салышыңыз керек. Мен бул ишти колдоном, анткени ал чыгарган жылуулукка ишенбейм, бул коргонуу үчүн бар, ошондуктан 3D принтер эрип кетпейт. Орнотуудан мурун, сиз электр кабелин жана жардамчы кабелди туташтырышыңыз керек (бир зымды ачып, андан кийин Raspberry Piден ПХБга туташтыруу керек), анткени ага жете албайсыз.
Андан кийин, GPIO баш кабелин PCBден Raspberry Pi -ге туташтырыңыз жана капкакты жабуудан мурун баары иштээрин текшериңиз.
Төмөндө штативди туташтыра турган тешик бар, бирок бул милдеттүү эмес.
Дал ушул! Бул макаланы окуу сизге жакты деп ишенем! -Коби
Сунушталууда:
LORA Ардуино менен теңтуштар менен баарлашуу: 9 кадам
LORA Peer to Peer to Arduino менен баарлашуу: Мен электрониканын энтузиастымын жана бул менин биринчи үйрөткүчүм, андыктан сураныч, комментарийлерде катаал болбоңуз. Бул көрсөтмөдө мен эки LORA түйүнүн TTNсиз (нерселер тармагы) түз байланышууга кантип түшүндүрөм. Бул эмне
Салам Блинк! Blynk тиркемеси менен SPEEEduino менен баарлашуу: 5 кадам
Салам Блинк! SPEEEduino Blynk тиркемеси менен интерфейс: SPEEEduino-бул мугалимдер үчүн курулган Arduino экосистемасынын тегерегинде негизделген Wi-Fi иштетилген микроконтроллер тактасы. SPEEEduino форма факторун жана Arduino микроконтроллерин ESP8266 Wi-Fi SoC менен айкалыштырып
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: 7 кадам
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: Бул окуу куралы боюнча биз алыскы маалыматтарды UV (Ultra-Violet радиация), абанын температурасы жана нымдуулугу катары тартып алабыз. Бул маалыматтар абдан маанилүү болот жана келечекте толук аба ырайы станциясында колдонулат
DIY MusiLED, Windows менен Linuxтун бир чыкылдатуусу менен музыканын синхрондуу LEDлери (32-бит жана 64-бит). Оңой жаратуу, колдонууга оңой, портко оңой: 3 кадам
DIY MusiLED, Windows менен Linuxтун бир чыкылдатуусу менен музыканын синхрондуу LEDлери (32-бит жана 64-бит). Оңой жаратуу, колдонууга оңой, портко оңой .: Бул долбоор сизге 18 LED (6 Кызыл + 6 Көк + 6 Сары) Arduino тактасына туташтырууга жана компьютериңиздин Үн картасынын реалдуу убакыт сигналдарын талдоого жана аларды өткөрүүгө жардам берет. Светодиоддор аларды эффекттерге жараша күйгүзүшөт (Snare, High Hat, Kick)
Cleverbotтун жардамы менен тандоо жана жасалма интеллект менен баарлашуу: 14 кадам (сүрөттөр менен)
Cleverbotтун жардамы менен Pick жана Жасалма Интеллект Чаты менен сүйлөшүңүз: Бул жерде мен үн буйругун гана эмес, Cleverbotтун жардамы менен ЭЭМ менен Жасалма Интеллект Чатын да сынап көрөм. Чынында, идея балдардын түсүн бир түстөн эң жакынына чейин алганда, боёк кутусуна түстөрдү аралаштырганда пайда болгон. Бирок акыры ишке ашпай жатат