Мазмұны:
- 1 -қадам: аппараттық бөлік
- 2 -қадам: Бағдарламалық қамтамасыз ету бөлігі
- 3 -қадам: 3 -қадам: Қосымшалар
Бейне: Жеңіл бамбук (қосылған шам): 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Сәлем және қош келдіңіз!
Жеңіл бамбук - бұл қосылған смартфонға хабарландыру алған кезде жанатын қосылған шам. Бұл нұсқаулықтың мақсаты - сізге жобаның жобалау кезеңін көрсету: аппараттық архитектурадан Bluetooth төмен энергия (BLE) қосылымы мен Android қосымшасының ғимаратына дейін.
Біздің шам үшін біз сәндік безендіруге арналған пластикалық зауытты таңдадық. Бұл жоба үшін келесі хабарландырулар көрсетіледі: қоңыраулар, sms/mms, facebook, мессенджер, инстаграм, whatsapp ang gmail. Хабарламаның әр түріне бір ақшыл түс беріледі.
Бұл жоба үшін сізге қажет:
- Біріктірілген BLE модулі бар UC: nFR51822 RedBearLab
- 3 NeoPixel сақинасы (12 RGB жарық диоды)
- Android смартфоны
- Android студиясы
Әрбір хабарламаның маңыздылығына байланысты белгілі бір басымдығы бар. Мысалы, кіріс хабарламасы Facebook хабарламасынан маңызды. Бұл жағдайда жарық диодтарының түсі кіріс қоңырауы туралы хабарламамен байланысты болады.
Біз қосымшаны жасаған смартфон - бұл Samsung Galaxy A5.
1 -қадам: аппараттық бөлік
Біздің архитектурамыз өте қарапайым.
NeoPixel Ring түйреуіштерін nRF51822 тақтасына келесідей жалғаңыз:
- NeoPixel сақинасының кіріс түйінін UC портына 3.
- NeoPixel сақинасының кернеуі uC 3.3V дейін.
- NeoPixel сақинасының GND uC GND дейін.
Сіз NeoPixel сақинасының шығыс деректерінің түйреуішін пайдаланбайтынымызды байқай аласыз. Себебі, біз осы жобада қолданатын үш NeoPixel сақинасының кіріс деректері түйрегіштері nRF51822 тақтасының бір портына қосылған (түйреуіш 3).
2 -қадам: Бағдарламалық қамтамасыз ету бөлігі
1. Bluetooth төмен энергия байланысы:
BLE байланысында сервер (біздің жағдайда uC) мен клиент (смартфон) GATT транзакцияларын қолдана отырып мәліметтермен алмасады. Бұл транзакцияларда деректер иерархиялық түрде қызметтер деп аталатын бөлімдерде ұйымдастырылады, олар сипаттамалар деп аталатын пайдаланушы деректерінің тұжырымдамалық байланысты бөліктерін топтастырады. Біздің жағдайда деректерді инкапсуляциялау қарапайым, өйткені бізде клиенттен серверге өтетін бір ғана ақпарат бар (жоғарыдағы суретті қараңыз).
- сервер жағында: nrf51822 тақтасын BLE сервері ретінде пайдалану үшін алдымен Arduino IDE -де «BLEPeripheral.h» кітапханасын орнатыңыз. Бұл кітапхана қызметтер мен сипаттамалар мен жарнама жасау үшін пайдалануға дайын функцияларды ұсынады.
- клиент жағында: Android Studio -да BLE байланысын бастау үшін алдымен Manifest файлындағы BLE рұқсаттарын конфигурациялаңыз. Содан кейін, activity_main.xml файлына 4 түймені қосыңыз: сканерлеу, қарап шығуды тоқтату, қосу және ажырату, бұл қосымшаға жақын орналасқан BLE құрылғыларын іздеуге, қарап шығуды тоқтатуға, құрылғыға қосуға және ажыратуға мүмкіндік береді. Main_activity.java файлында алдыңғы түймелермен байланысты функцияларды іске қосыңыз: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Соңында, клиенттің күйі өзгерген кезде шақырылатын кері шақыру функцияларын орындаңыз..
2. Хабарламаны басқару
- клиент жағында (Android Studio -да): смартфоннан келетін хабарландыруларды тыңдау үшін күй жолағында хабарландыру пайда болған кезде іске қосылатын хабарландыру тыңдаушысын іске қосыңыз. Бұл хабарлама тыңдаушысы хабарландыру орналастырылған немесе жойылған кезде негізгі әрекетке ниет деп аталатын «хабарды» жібереді. Бұл «хабарламада» хабарламаны орналастырған қосымшаны анықтауға көмектесетін хабарландыру коды бар. Негізгі қызмет түріндегі хабарландыруды өңдеу үшін хабарлама тыңдаушысынан хабар алатын хабар тарату қабылдағышын жасаңыз. Содан кейін хабарландыру кодына байланысты серверге басқа таңба жіберіледі.
- сервер жағында (Arduino IDE -де): басымдыққа ие хабарландыру көрсетіледі.
3 -қадам: 3 -қадам: Қосымшалар
Мұнда сіз барлық код көздерін таба аласыз.
Ұсынылған:
WiFi қосылған матрицалық шам: 6 қадам (суреттермен)
WiFi қосылған матрицалық шам: Үйде анимацияны көрсететін және басқа лампалармен синхрондауға болатын керемет шамның болуын кім қаламайды? Дұрыс, ешкім. Шам 256 жеке адрестелетін жарықдиодтардан тұрады және барлық жарықдиодты контраст болуы мүмкін
Жеңіл жарықдиодты түсті өзгерту «шам»: 5 қадам (суреттермен)
Жеңіл жарықдиодты түстерді өзгерту «шам»: Бұл балалар мен ересектер үшін өте жақсы түс өзгертетін жарық. Жарықсыз бөлмеде әдемі көрінеді, демалыс үшін тамаша және түнде өте жақсы жарық береді
Arduino қуатты дыбысы бар 3D басып шығарылған жеңіл сабер (файлдар қосылған): 6 қадам
Arduino қуатты дыбысы бар 3D басып шығарылған жеңіл сабер (файлдар қосылған): Мен бұл жобада жұмыс істегенде ешқашан жақсы оқулық таба алмадым, сондықтан мен оны құрамын деп ойладым. Бұл оқулықта 3DPRINTINGWORLD файлдары пайдаланылады және кодтың кейбір бөліктері JakeS0ftThings -тен алынған: 1. 3D принтері
RabbitPi - Alexa қосылған, IFTTT қосылған, құлақ түретін IoT көмекшісі: 12 қадам
RabbitPi - Alexa қосылған, IFTTT қосылған, IoT -тың құлағын ұстайтын көмекшісі: бұл 2005 жылы ескірген Nabaztag " ақылды қоян " Мен Raspberry Pi 3 пен Adafruit Motor HAT көмегімен заманауи IoT көмекшісіне, веб камера микрофонымен және Philips Soundshooter динамигімен сүйкімді түпнұсқа корпусында қайта құрдым
Жеңіл робот: жеңіл ізбасар: 4 қадам
Жеңіл робот: Жеңіл ізбасар: Бағдарламалау немесе микрочиптер жоқ! Роботтар, ең керемет нәрсе, әсіресе оны көптеген адамдар жасай алатын кезде! Мен бұл роботы досымнан сыйлыққа алдым. рахмет, Рудольф. Қалай болғанда да, бұл робот жарықты сезіну үшін жарыққа тәуелді 2 резисторды қолданады