Isi kandungan:

Buluh Ringan (Lampu Bersambung): 3 Langkah
Buluh Ringan (Lampu Bersambung): 3 Langkah

Video: Buluh Ringan (Lampu Bersambung): 3 Langkah

Video: Buluh Ringan (Lampu Bersambung): 3 Langkah
Video: Cara pemasangan lampu sorot 3 kabel ? 2024, November
Anonim
Buluh Ringan (Lampu Bersambung)
Buluh Ringan (Lampu Bersambung)

Helo dan selamat datang!

Buluh ringan adalah lampu tersambung yang menyala ketika pemberitahuan diterima pada telefon pintar Android yang disambungkannya. Tujuan pengajaran ini adalah untuk menunjukkan kepada anda tahap reka bentuk projek: dari seni bina perkakasan, ke sambungan Bluetooth Tenaga Rendah (BLE) dan bangunan aplikasi Android.

Untuk lampu kami, kami memilih kilang plastik untuk reka bentuk hiasan yang sejuk. Untuk projek ini, pemberitahuan yang ditampilkan adalah dari aplikasi berikut: panggilan, sms / mms, facebook, messenger, instagram, whatsapp ang gmail. Satu warna terang diberikan untuk setiap jenis pemberitahuan.

Untuk projek ini, anda memerlukan:

  • A uC dengan modul BLE bersepadu: nFR51822 RedBearLab
  • 3 Cincin NeoPixel (12 RGB LED)
  • Telefon pintar Android
  • Android Studio

Setiap pemberitahuan mempunyai keutamaan tertentu, bergantung pada kepentingannya. Contohnya, pemberitahuan panggilan masuk lebih penting daripada pemberitahuan Facebook. Sekiranya demikian, warna LED akan dikaitkan dengan pemberitahuan panggilan masuk.

Telefon pintar yang kami kembangkan aplikasi ini adalah Samsung Galaxy A5.

Langkah 1: Bahagian Perkakasan

Bahagian Perkakasan
Bahagian Perkakasan

Senibina kami cukup ringkas.

Sambungkan pin Cincin NeoPixel ke papan nRF51822 seperti berikut:

  • Inout Data pin NeoPixel Ring ke port 3 uC.
  • Vcc Cincin NeoPixel hingga 3.3V uC.
  • GND Cincin NeoPixel ke GND uC.

Anda dapat melihat bahawa kami tidak menggunakan pin Data Output dari NeoPixel Ring. Ini kerana pin Data Input dari tiga NeoPixel Rings yang kami gunakan dalam projek ini semuanya disambungkan ke port yang sama dari papan nRF51822 (pin 3).

Langkah 2: Bahagian Perisian

Bahagian Perisian
Bahagian Perisian
Bahagian Perisian
Bahagian Perisian
Bahagian Perisian
Bahagian Perisian

1. Komunikasi Tenaga Rendah Bluetooth:

Dalam komunikasi BLE, pelayan (yang dalam hal ini uC) dan pelanggan (telefon pintar) bertukar data menggunakan transaksi GATT. Dalam urus niaga tersebut, data disusun secara hierarki dalam bahagian yang disebut perkhidmatan, yang mengelompokkan data pengguna yang secara konseptual disebut ciri. Dalam kes kami, enkapsulasi data adalah mudah kerana kami hanya mempunyai satu maklumat untuk disampaikan dari klien ke pelayan (lihat gambar di atas).

  • di sisi pelayan: Untuk dapat menggunakan papan nrf51822 sebagai pelayan BLE, pasang dahulu perpustakaan "BLEPeripheral.h" di Arduino IDE. Perpustakaan ini menyediakan fungsi yang siap digunakan untuk membuat perkhidmatan dan ciri serta iklan.
  • di sisi klien: Untuk memulakan komunikasi BLE di Android Studio, konfigurasikan terlebih dahulu kebenaran BLE dalam fail Manifest. Kemudian, dalam fail activity_main.xml, tambahkan 4 butang: imbas, hentikan imbasan, sambungkan dan putuskan sambungan yang akan membolehkan aplikasi mengimbas peranti BLE yang berdekatan, menghentikan imbasan, menyambung dan memutuskan sambungan ke peranti. Dalam fail main_activity.java, laksanakan fungsi yang berkaitan dengan butang sebelumnya: startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Akhirnya, laksanakan fungsi callback yang dipanggil apabila keadaan klien berubah.

2. Pengurusan pemberitahuan

  • di sisi klien (di Android Studio): Untuk mendengarkan pemberitahuan yang datang dari telefon pintar, jalankan pendengar pemberitahuan yang diaktifkan ketika pemberitahuan terjadi di bar status. Pendengar pemberitahuan ini akan mengirim "pesan", disebut niat, ke aktivitas utama ketika pemberitahuan diposkan atau dihapus. "Mesej" ini berisi kode pemberitahuan yang membantu mengenali aplikasi yang memposting pemberitahuan. Untuk memproses pemberitahuan dalam kegiatan utama, buat penerima siaran yang akan menerima pesan dari pendengar pemberitahuan. Kemudian, bergantung pada kod pemberitahuan, watak yang berbeza dihantar ke pelayan.
  • di sisi pelayan (di Arduino IDE): pemberitahuan yang mempunyai keutamaan tertinggi dipaparkan.

Langkah 3: Langkah 3: Lampiran

Di sini, anda akan menemui semua sumber kod.

Disyorkan: