Mündəricat:

Yüngül Bambuk (Bağlı Lampa): 3 addım
Yüngül Bambuk (Bağlı Lampa): 3 addım

Video: Yüngül Bambuk (Bağlı Lampa): 3 addım

Video: Yüngül Bambuk (Bağlı Lampa): 3 addım
Video: Ruhsal Yorgunluk Nasıl Geçer [Hakem 4 / 30. Lema 3. Nükte 3. Nokta] @Mehmedyildiz 2024, Dekabr
Anonim
İşıq Bambuk (Bağlı Lampa)
İşıq Bambuk (Bağlı Lampa)

Salam və xoş gəldiniz!

Yüngül bambuk, qoşulduğu Android smartfonunda bildiriş alındıqda yanan bağlı bir lampadır. Bu təlimatın məqsədi sizə layihənin dizayn mərhələsini göstərməkdir: hardware arxitekturasından, Bluetooth Low Energy (BLE) bağlantısına və Android tətbiq binasına qədər.

Lampamız üçün sərin bir bəzək dizaynı üçün plastik bir bitki seçdik. Bu layihə üçün nümayiş olunan bildirişlər aşağıdakı tətbiqlərdəndir: zənglər, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. Hər bir bildiriş növü üçün bir açıq rəng verilir.

Bu layihə üçün sizə lazım olacaq:

  • İnteqrasiya edilmiş BLE modulu olan uC: nFR51822 RedBearLab
  • 3 NeoPixel Üzük (12 RGB LED)
  • Android smartfonu
  • Android Studio

Hər bir bildirişin əhəmiyyətindən asılı olaraq xüsusi bir prioriteti vardır. Məsələn, gələn zəng bildirişi Facebook bildirişindən daha vacibdir. Bu vəziyyətdə, LEDlərin rəngi gələn zəng bildirişi ilə əlaqələndiriləcəkdir.

Tətbiqi hazırladığımız smartfon Samsung Galaxy A5 -dir.

Addım 1: Avadanlıq hissəsi

Avadanlıq hissəsi
Avadanlıq hissəsi

Memarlığımız olduqca sadədir.

NeoPixel Ring pinlərini nRF51822 lövhəsinə aşağıdakı kimi bağlayın:

  • NeoPixel Halqasının Məlumat pinini uC -nin 3 -cü limanına.
  • NeoPixel Ring -in VC uC -nin 3.3V -ə qədər.
  • NeoPixel Halqasının GND -si uC -nin GND -nə.

NeoPixel Ring -in Çıxış Məlumatları pinindən istifadə etmədiyimizi görə bilərsiniz. Bunun səbəbi, bu layihədə istifadə etdiyimiz üç NeoPixel Üzükün Giriş Məlumatı pinlərinin hamısının nRF51822 lövhəsinin eyni portuna (pin 3) bağlı olmasıdır.

Addım 2: Proqram Bölməsi

Proqram Bölməsi
Proqram Bölməsi
Proqram Bölməsi
Proqram Bölməsi
Proqram Bölməsi
Proqram Bölməsi

1. Bluetooth Aşağı Enerji ünsiyyəti:

BLE ünsiyyətində server (bizim vəziyyətimizdə uC) və müştəri (smartfon) GATT əməliyyatlarından istifadə edərək məlumat mübadiləsi aparırlar. Bu əməliyyatlarda, məlumatlar hiyerarşik olaraq xüsusiyyətlər adlanan istifadəçi məlumatlarının konseptual olaraq əlaqəli hissələrini qruplaşdıran xidmətlər bölmələrində təşkil edilir. Bizim vəziyyətimizdə, məlumatların inkapsulyasiyası sadədir, çünki müştəridən serverə keçmək üçün yalnız bir məlumatımız var (yuxarıdakı şəklə baxın).

  • server tərəfində: nrf51822 lövhəsini BLE server kimi istifadə etmək üçün əvvəlcə Arduino IDE -də "BLEPeripheral.h" kitabxanasını quraşdırın. Bu kitabxana, xidmətlər və xüsusiyyətlər və reklam yaratmaq üçün istifadəyə hazır funksiyaları təmin edir.
  • müştəri tərəfində: Android Studio -da BLE ünsiyyətinə başlamaq üçün əvvəlcə Manifest faylında BLE icazələrini konfiqurasiya edin. Ardından, activity_main.xml faylına 4 düymə əlavə edin: tarama, taramanı dayandırma, qoşulma və əlaqəni kəsmə, bu da tətbiqin yaxınlıqdakı BLE cihazlarını axtarmasına, taramanı dayandırmasına, cihaza qoşulmasına və ayrılmasına imkan verəcəkdir. Main_activity.java faylında əvvəlki düymələrlə əlaqəli funksiyaları həyata keçirin: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Nəhayət, müştərinin vəziyyəti dəyişəndə çağırılan geri çağırma funksiyalarını tətbiq edin..

2. Bildirişlərin idarə edilməsi

  • müştəri tərəfində (Android Studio -da): Smartfondan gələn bildirişləri dinləmək üçün vəziyyət çubuğunda bir bildiriş meydana gəldikdə aktiv olan bir bildiriş dinləyicisini tətbiq edin. Bu bildiriş dinləyicisi, bildiriş yerləşdirildikdə və ya silindikdə əsas fəaliyyətə niyyət adlanan "mesaj" göndərəcək. Bu "mesaj", bildirişi göndərən tətbiqin tanınmasına kömək edən bir bildiriş kodu ehtiva edir. Əsas fəaliyyətdə bildirişi işlətmək üçün bildiriş dinləyicisindən mesajı alacaq bir yayım alıcısı yaradın. Sonra bildiriş kodundan asılı olaraq fərqli bir xarakter serverə göndərilir.
  • server tərəfində (Arduino IDE -də): ən yüksək prioritetə malik olan bildiriş göstərilir.

Addım 3: Addım 3: Əlavələr

Burada bütün kod mənbələrini tapa bilərsiniz.

Tövsiyə: