Daftar Isi:

Bambu Ringan (Lampu Terhubung): 3 Langkah
Bambu Ringan (Lampu Terhubung): 3 Langkah

Video: Bambu Ringan (Lampu Terhubung): 3 Langkah

Video: Bambu Ringan (Lampu Terhubung): 3 Langkah
Video: Pembuatan Atap Rumah Dari Bambu Ala China 2024, Desember
Anonim
Bambu Ringan (Lampu Terhubung)
Bambu Ringan (Lampu Terhubung)

Halo dan selamat datang!

Bambu ringan adalah lampu terhubung yang menyala ketika pemberitahuan diterima di smartphone Android yang terhubung. Tujuan dari instruksi ini adalah untuk menunjukkan kepada Anda tahap desain proyek: dari arsitektur perangkat keras, hingga koneksi Bluetooth Low Energy (BLE) dan pembuatan aplikasi Android.

Untuk lampu kami, kami memilih tanaman plastik untuk desain dekorasi yang keren. Untuk proyek ini, notifikasi yang ditampilkan berasal dari aplikasi berikut: panggilan, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. Satu warna terang dikaitkan untuk setiap jenis notifikasi.

Untuk proyek ini, Anda akan membutuhkan:

  • UC dengan modul BLE terintegrasi: nFR51822 RedBearLab
  • 3 Cincin NeoPixel (12 LED RGB)
  • Ponsel pintar Android
  • Android Studio

Setiap notifikasi memiliki prioritas khusus, tergantung pada kepentingannya. Misalnya, notifikasi panggilan masuk lebih penting daripada notifikasi Facebook. Dalam hal ini, warna LED akan dikaitkan dengan notifikasi panggilan masuk.

Smartphone yang kami kembangkan aplikasinya adalah Samsung Galaxy A5.

Langkah 1: Bagian Perangkat Keras

Bagian Perangkat Keras
Bagian Perangkat Keras

Arsitektur kami cukup sederhana.

Hubungkan pin NeoPixel Ring ke board nRF51822 sebagai berikut:

  • Pin Data Keluar dari Cincin NeoPixel ke port 3 UC.
  • Vcc Cincin NeoPixel ke 3.3V dari UC.
  • GND Cincin NeoPixel ke GND UC.

Anda dapat melihat bahwa kami tidak menggunakan pin Output Data dari NeoPixel Ring. Itu karena pin Data Input dari tiga Cincin NeoPixel yang kami gunakan dalam proyek ini semuanya terhubung ke port yang sama pada papan nRF51822 (pin 3).

Langkah 2: Bagian Perangkat Lunak

Bagian Perangkat Lunak
Bagian Perangkat Lunak
Bagian Perangkat Lunak
Bagian Perangkat Lunak
Bagian Perangkat Lunak
Bagian Perangkat Lunak

1. Komunikasi Bluetooth Hemat Energi:

Dalam komunikasi BLE, server (yang dalam kasus kami UC) dan klien (smartphone) bertukar data menggunakan transaksi GATT. Dalam transaksi tersebut, data diatur secara hierarkis dalam bagian yang disebut layanan, yang mengelompokkan bagian data pengguna yang terkait secara konseptual yang disebut karakteristik. Dalam kasus kami, enkapsulasi data sederhana karena kami hanya memiliki satu informasi untuk diteruskan dari klien ke server (lihat gambar di atas).

  • pada sisi server: Untuk dapat menggunakan board nrf51822 sebagai server BLE, terlebih dahulu instal library "BLEPeripheral.h" pada Arduino IDE. Pustaka ini menyediakan fungsi siap pakai untuk membuat layanan dan karakteristik serta iklan.
  • di sisi klien: Untuk memulai komunikasi BLE di Android Studio, pertama-tama konfigurasikan izin BLE di file Manifest. Kemudian, di file activity_main.xml, tambahkan 4 tombol: pindai, hentikan pemindaian, sambungkan, dan putuskan sambungan yang memungkinkan aplikasi memindai perangkat BLE terdekat, menghentikan pemindaian, menyambungkan, dan memutuskan sambungan ke perangkat. Dalam file main_activity.java, implementasikan fungsi yang terkait dengan tombol sebelumnya: startScanning(), stopscanning(), connectToDeviceSelected(), disconnectDeviceSelected(). Terakhir, implementasikan fungsi callback yang dipanggil saat status klien berubah.

2. Manajemen notifikasi

  • di sisi klien (di Android Studio): Untuk mendengarkan notifikasi yang datang dari smartphone, implementasikan pendengar notifikasi yang diaktifkan saat notifikasi muncul di bilah status. Listener notifikasi ini akan mengirimkan "pesan", yang disebut intent, ke aktivitas utama saat notifikasi diposting atau dihapus. "Pesan" ini berisi kode notifikasi yang membantu mengidentifikasi aplikasi yang memposting notifikasi. Untuk memproses notifikasi di aktivitas utama, buat penerima siaran yang akan menerima pesan dari pendengar notifikasi. Kemudian, tergantung pada kode notifikasi, karakter yang berbeda dikirim ke server.
  • di sisi server (pada Arduino IDE): notifikasi yang memiliki prioritas tertinggi ditampilkan.

Langkah 3: Langkah 3: Lampiran

Di sini, Anda akan menemukan semua sumber kode.

Direkomendasikan: