İçindekiler:

Hafif Bambu (Bağlı Lamba): 3 Adım
Hafif Bambu (Bağlı Lamba): 3 Adım

Video: Hafif Bambu (Bağlı Lamba): 3 Adım

Video: Hafif Bambu (Bağlı Lamba): 3 Adım
Video: Işığı Açık Bıraktıran Cin Konulu 3 Paranormal Hikaye | Korku Hikayeleri 2024, Kasım
Anonim
Hafif Bambu (Bağlı Lamba)
Hafif Bambu (Bağlı Lamba)

Merhaba ve hoşgeldin!

Light bambu, bağlı olduğu Android akıllı telefonda bir bildirim alındığında yanan bağlı bir lambadır. Bu talimatın amacı size projenin tasarım aşamasını göstermektir: donanım mimarisinden Bluetooth Düşük Enerji (BLE) bağlantısına ve Android uygulama oluşturmaya kadar.

Lambamız için havalı bir dekorasyon tasarımı için plastik bir bitki seçtik. Bu proje için, görüntülenen bildirimler şu uygulamalardandır: aramalar, sms/mms, facebook, messenger, instagram, whatsapp ve gmail. Her bildirim türü için bir açık renk atanır.

Bu proje için ihtiyacınız olacak:

  • Entegre BLE modülüne sahip bir uC: nFR51822 RedBearLab
  • 3 NeoPiksel Halka (12 RGB LED)
  • Android akıllı telefon
  • Android Stüdyosu

Her bildirimin önemine bağlı olarak belirli bir önceliği vardır. Örneğin, bir gelen arama bildirimi, bir Facebook bildiriminden daha önemlidir. Bu durumda, LED'lerin rengi gelen çağrı bildirimiyle ilişkilendirilecektir.

Uygulamayı geliştirdiğimiz akıllı telefon bir Samsung Galaxy A5.

Adım 1: Donanım Parçası

Donanım Parçası
Donanım Parçası

Mimarimiz oldukça basit.

NeoPixel Halka pimlerini nRF51822 kartına aşağıdaki gibi bağlayın:

  • NeoPixel Ring'in Inout Data pini, uC'nin 3. portuna.
  • NeoPixel Halkasının Vcc'si uC'nin 3.3V'sine.
  • NeoPixel Halkasının GND'si, uC'nin GND'sine.

NeoPixel Ring'in Çıkış Veri pinini kullanmadığımızı fark edebilirsiniz. Bunun nedeni, bu projede kullandığımız üç NeoPixel Halkasının Giriş Veri pinlerinin hepsinin nRF51822 kartının aynı portuna (pim 3) bağlı olmasıdır.

2. Adım: Yazılım Bölümü

Yazılım Bölümü
Yazılım Bölümü
Yazılım Bölümü
Yazılım Bölümü
Yazılım Bölümü
Yazılım Bölümü

1. Bluetooth Düşük Enerji iletişimi:

Bir BLE iletişiminde, sunucu (bizim durumumuzda uC) ve istemci (akıllı telefon) GATT işlemlerini kullanarak veri alışverişinde bulunur. Bu işlemlerde, veriler, karakteristik olarak adlandırılan kullanıcı verilerinin kavramsal olarak ilişkili parçalarını gruplandıran, hizmetler adı verilen bölümlerde hiyerarşik olarak düzenlenir. Bizim durumumuzda, veri kapsüllemesi basittir çünkü istemciden sunucuya aktarılacak yalnızca bir bilgimiz vardır (yukarıdaki resme bakın).

  • sunucu tarafında: nrf51822 kartını BLE sunucusu olarak kullanabilmek için öncelikle Arduino IDE üzerinde "BLEPeripheral.h" kütüphanesini kurun. Bu kütüphane, hizmetleri ve özellikleri ve reklamları oluşturmak için kullanıma hazır işlevler sağlar.
  • istemci tarafında: Android Studio'da bir BLE iletişimi başlatmak için önce Manifest dosyasındaki BLE izinlerini yapılandırın. Ardından, aktivite_main.xml dosyasına 4 düğme ekleyin: tara, taramayı durdur, bağlan ve bağlantıyı kes, uygulamanın yakındaki BLE cihazlarını taramasına izin verecek, taramayı durduracak, bir cihaza bağlan ve bağlantısını kes. main_activity.java dosyasında, önceki düğmelerle ilişkili işlevleri uygulayın: startScanning(), stopcanning(), connectToDeviceSelected(),connectDeviceSelected(). Son olarak, istemcinin durumu değiştiğinde çağrılan geri arama işlevlerini uygulayın.

2. Bildirim yönetimi

  • istemci tarafında (Android Studio'da): Akıllı telefondan gelen bildirimleri dinlemek için durum çubuğunda bir bildirim oluştuğunda etkinleştirilen bir bildirim dinleyicisi uygulayın. Bu bildirim dinleyicisi, bir bildirim gönderildiğinde veya kaldırıldığında ana etkinliğe niyet adı verilen bir "mesaj" gönderir. Bu "mesaj", bildirimi yayınlayan uygulamayı tanımlamaya yardımcı olan bir bildirim kodu içerir. Ana aktivitede bildirimi işlemek için bildirim dinleyicisinden mesajı alacak bir yayın alıcısı oluşturun. Ardından, bildirim koduna bağlı olarak sunucuya farklı bir karakter gönderilir.
  • sunucu tarafında (Arduino IDE'de): en yüksek önceliğe sahip olan bildirim görüntülenir.

Adım 3: Adım 3: Ekler

Burada, tüm kod kaynağını bulacaksınız.

Önerilen: