Mundarija:

Engil bambuk (ulangan chiroq): 3 qadam
Engil bambuk (ulangan chiroq): 3 qadam

Video: Engil bambuk (ulangan chiroq): 3 qadam

Video: Engil bambuk (ulangan chiroq): 3 qadam
Video: Очаровательный заброшенный замок 17 века во Франции (полностью замороженный во времени на 26 лет) 2024, Noyabr
Anonim
Yengil bambuk (ulangan chiroq)
Yengil bambuk (ulangan chiroq)

Salom va xush kelibsiz!

Yengil bambuk - bu ulangan Android smartfoniga bildirishnoma kelganda yonadigan chiroq. Ushbu ko'rsatmaning maqsadi sizga loyihaning dizayn bosqichini ko'rsatishdir: apparat arxitekturasidan tortib, Bluetooth past energiyali (BLE) ulanishi va Android ilovalar binosigacha.

Chiroqimiz uchun biz ajoyib bezatish dizayni uchun plastik zavodni tanladik. Ushbu loyiha uchun quyidagi ilovalardan xabarlar keladi: qo'ng'iroqlar, sms/mms, facebook, messenjer, instagram, whatsapp ang gmail. Har bir bildirishnoma turiga bitta ochiq rang beriladi.

Ushbu loyiha uchun sizga kerak bo'ladi:

  • Integratsiyalashgan BLE moduliga ega UC: nFR51822 RedBearLab
  • 3 NeoPixel uzuk (12 RGB LED)
  • Android smartfoni
  • Android studiyasi

Har bir bildirishnomaning ahamiyatiga qarab o'ziga xos ustuvorligi bor. Masalan, kiruvchi qo'ng'iroqlar haqida bildirishnoma Facebook xabaridan ko'ra muhimroqdir. Bunday holda, LEDlarning rangi kiruvchi qo'ng'iroqlar haqida bildirishnoma bilan bog'liq bo'ladi.

Biz dasturni ishlab chiqqan smartfon - bu Samsung Galaxy A5.

1 -qadam: Uskuna qismi

Uskuna qismi
Uskuna qismi

Bizning arxitekturamiz juda oddiy.

NeoPixel Ring pinlarini nRF51822 kartasiga quyidagicha ulang:

  • NeoPixel halqasining ma'lumot pinini shahar 3 portiga ulang.
  • NeoPixel halqasining VC -si 3.3 V ga teng.
  • NeoPixel halqasining GND dan shahar GND gacha.

Siz NeoPixel halqasining chiqish ma'lumotlari pinidan foydalanmasligimizni sezishingiz mumkin. Buning sababi shundaki, biz ushbu loyihada foydalanadigan uchta NeoPixel uzukning kirish ma'lumotlari nRF51822 kartasining bitta portiga ulangan (pin 3).

2 -qadam: dasturiy ta'minot qismi

Dasturiy ta'minot qismi
Dasturiy ta'minot qismi
Dasturiy ta'minot qismi
Dasturiy ta'minot qismi
Dasturiy ta'minot qismi
Dasturiy ta'minot qismi

1. Bluetooth past energiyali aloqa:

BLE aloqasida server (bizda uC) va mijoz (smartfon) GATT operatsiyalari yordamida ma'lumotlar almashadilar. Bu tranzaktsiyalarda ma'lumotlar ierarxik tarzda xizmatlar deb nomlangan bo'limlarda tashkil etilgan bo'lib, ular xarakteristikalar deb nomlangan foydalanuvchi ma'lumotlarining kontseptual bog'liq qismlarini guruhlaydi. Bizning holatlarimizda, ma'lumotlarni inkassulyatsiya qilish juda oddiy, chunki bizda mijozdan serverga o'tish uchun faqat bitta ma'lumot bor (yuqoridagi rasmga qarang).

  • server tomonida: nrf51822 kartasini BLE serveri sifatida ishlatish uchun avval "BLEPeripheral.h" kutubxonasini Arduino IDE -ga o'rnating. Ushbu kutubxona xizmatlar va xususiyatlarni yaratish va reklama uchun ishlatishga tayyor funktsiyalarni ta'minlaydi.
  • mijoz tomonida: Android Studio -da BLE aloqasini boshlash uchun avval Manifest faylidagi BLE ruxsatnomalarini sozlang. Keyin, activity_main.xml fayliga 4 ta tugma qo'shing: skanerlash, skanerlashni to'xtatish, ulanish va uzilish, bu ilovaga yaqin atrofdagi BLE qurilmalarini qidirish, skanerlashni to'xtatish, qurilmani ulash va uzish imkonini beradi. Main_activity.java faylida oldingi tugmalar bilan bog'liq funktsiyalarni bajaring: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Nihoyat, mijozning holati o'zgarganda chaqiriladigan qayta qo'ng'iroq qilish funktsiyalarini bajaring..

2. Xabarnomalarni boshqarish

  • Mijoz tomonida (Android Studio -da): Smartfondan kelgan bildirishnomalarni tinglash uchun, holat satrida xabar paydo bo'lganda faollashtiriladigan bildirishnoma tinglovchini ishga tushiring. Bu xabarnoma tinglovchisi xabar yuborilganda yoki o'chirilganda asosiy harakatga "niyat" deb nomlangan xabar yuboradi. Bu "xabar" xabarnomani joylashtirgan ilovani aniqlashga yordam beruvchi bildirishnoma kodini o'z ichiga oladi. Xabarni asosiy faoliyatda qayta ishlash uchun, xabar tinglovchidan xabar oladigan eshittirish qabul qiluvchisini yarating. Keyin, xabar kodiga qarab, serverga boshqa belgi yuboriladi.
  • server tomonida (Arduino IDE -da): eng yuqori ustuvorlikka ega bo'lgan bildirishnoma ko'rsatiladi.

3 -qadam: 3 -qadam: ilovalar

Bu erda siz barcha kod manbalarini topasiz.

Tavsiya: