Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android Things
Code

Hubungkan Android Things ke Smartphone dengan Nearby Connections 2.0

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Agus (you can also view the original English article)

Salah satu hal pertama yang ingin dilakukan users dengan smart home device baru adalah mendapatkannya di wireless network mereka. Banyak IoT devices tidak memiliki layar atau keyboard, jadi salah satu cara untuk melakukannya adalah dengan memungkinkan users memasangkan smartphone ke perangkat sehingga mereka dapat mengontrol dan mengkonfigurasi perangkat. Ini adalah cara kerja Nest dan Google Home, antara lain, dan Nearby Connections 2.0 API memungkinkannya.

Google Home companion app connection screen

Dalam artikel ini Anda akan mendapatkan pengantar untuk Nearby Connections 2.0 API dan bagaimana ia dapat digunakan untuk memasangkan smartphone Android ke Android Things device untuk memberikan pengalaman pengguna perangkat Anda kepada pengguna..

Apa itu Nearby Connections API?

Nearby Connections API memungkinkan dua perangkat berkomunikasi satu sama lain secara langsung melalui Bluetooth atau wireless tanpa menggunakan jalur akses terpusat. Ada dua peran yang dapat dilakukan oleh perangkat: advertiser, yang memungkinkan perangkat lain tahu bahwa itu tersedia untuk dihubungkan ke, dan discoverer, yang mencoba menemukan pengiklan dan menyambungkan ke mereka. Setelah satu set perangkat (juga dikenal sebagai "endpoints" pada tahap ini) telah terhubung bersama, mereka dapat mengirim data ke titik akhir lainnya di Nearby Connections network

Ada dua strategi yang dapat digunakan Nearby Connections API untuk menghubungkan perangkat bersama-sama. Yang pertama, P2P_STAR, adalah yang paling mudah untuk digunakan. Ini terdiri dari satu advertiser yang dapat mendukung beberapa discoverer yang terhubung dengannya. Yang kedua, P2P_CLUSTER, memungkinkan sejumlah perangkat untuk terhubung, dan menerima koneksi dari, sejumlah perangkat lainnya. Ini menciptakan jaringan mesh dengan titik kegagalan yang kurang terpusat, meskipun juga membutuhkan lebih banyak bandwidth. Strategi ini sangat ideal untuk payload yang lebih kecil yang tidak perlu melalui perangkat pusat, seperti untuk game.

Tutorial ini akan fokus pada penggunaan star strategy yang lebih sederhana untuk menghubungkan IoT device sebagai pengiklan dan akan menggunakan smartphone pengguna sebagai penemu. Namun, pada akhirnya, Anda juga harus memiliki informasi yang cukup untuk menerapkan strategi klaster juga.

Mari Bersiap!

Akan ada dua modul untuk tutorial ini: aplikasi seluler dan aplikasi Android Things. Setelah Anda membuatnya di Android Studio, Anda harus menyertakan dependensi Layanan Google Play untuk Nearby Connections di file build.gradle level modul untuk kedua aplikasi.

Setelah Anda menjalankan sinkronisasi gradle, buka file AndroidManifest.xml untuk kedua modul dan sertakan izin berikut dalam application nodes.

Perangkat Android Things akan memiliki izin yang diberikan ke perangkat setelah melakukan boot ulang, meskipun Anda perlu meminta izin lokasi dari pengguna di aplikasi ponsel.

Kelas MainActivity baik dalam things dan modul mobile perlu mengimplementasikan interfaces yang digunakan untuk callback Layanan Google Play, seperti:

Setelah Anda memvalidasi bahwa pengguna memiliki izin lokasi yang tepat di onCreate (), Anda dapat mulai menghubungkan ke Layanan Google Play untuk menggunakan Nearby Connections API.

Ketika GoogleApiClient selesai terhubung, metode onConnected () akan dipanggil. Di sinilah Anda akan memulai proses iklan atau penemuan untuk perangkat Anda. Selain itu, kedua aplikasi akan membutuhkan id layanan, yang merupakan pengenal String yang unik.

Beriklan di Nearby Connections

Saat bekerja dengan Nearby Connections API, Anda harus membuat ConnectionLifecycleCallback yang akan, sesuai namanya, dipicu pada berbagai aktivitas siklus hidup koneksi. Untuk demo ini, kita hanya akan menggunakan metode onConnectionInitiated (). Ini akan menyimpan referensi ke titik akhir pertama yang mencoba menyambung ke sana, menerima koneksi, dan kemudian menghentikan iklan. Jika koneksi tidak berhasil, aplikasi dapat restart iklan.

Anda mungkin telah memperhatikan bahwa metode di atas juga merujuk objek PayloadCallback. Objek ini memiliki metode yang dipanggil ketika muatan data dikirim dari pengiklan ke titik akhir, serta ketika data diterima dari titik akhir. Metode onPayloadReceived () adalah tempat kita menangani setiap pengiriman data ke perangkat Android Things kita . Metode ini berisi objek Payload yang dapat diubah menjadi array byte, dan String yang mewakili alamat titik akhir perangkat pengirim.

Pada titik ini, Anda dapat mulai beriklan di IoT device Anda dengan metode berikut:

Anda mungkin memperhatikan bahwa ini adalah tempat kita menerapkan strategi P2P_STAR ke Nearby Connections network kita.

Saat Anda ingin mengirim payload ke perangkat lain, Anda dapat menggunakan metode Nearby.Connections.sendPayload () dengan referensi klien Google API, nama titik akhir Anda, dan susunan byte data yang ingin Anda kirim.

Kiat: Aktifkan WiFi saat Reboot

Salah satu trik yang saya anggap berguna saat bekerja dengan Nearby Connections API pada perangkat Android Things adalah mengaktifkan kembali WiFi saat reboot, karena perangkat dapat berakhir dengan wireless disabled  jika perangkat dimatikan atau kehilangan daya saat beriklan. Anda dapat melakukan ini dengan mengambil layanan sistem WifiManager dan memanggil setWifiEnabled ().

Temukan Perangkat Dengan Nearby Connections

Menemukan perangkat mengikuti pola yang hampir serupa dengan iklan. Perangkat akan terhubung ke Klien Google API dan mulai menemukan. Ketika pengiklan ditemukan, penemu akan meminta untuk terhubung ke pengiklan. Jika pengiklan menyetujui permintaan, maka kedua perangkat akan terhubung dan dapat mengirim payload bolak-balik. Penemu akan menggunakan PayloadCallback seperti pengiklan.

ConnectionLifecycleCallback (aplikasi mobile) dari penemu juga akan terlihat mirip dengan pengiklan:

Apa yang berbeda adalah bahwa penemu akan memerlukan EndpointDiscoveryCallback yang akan digunakan ketika pengiklan ditemukan tetapi belum terhubung. Objek ini akan memulai permintaan untuk terhubung ke pengiklan.

Setelah penemu Anda terhubung ke Layanan Google Play, Anda dapat memulai penemuan dengan perintah berikut:

Akhirnya, ketika Anda ingin memutuskan sambungan dari pengiklan, Anda dapat menggunakan metode disconnectFromEndpoint () dari Nearby Connections API. Secara umum adalah ide yang baik untuk melakukan hal ini dalam Activity's onDestroy() callback Anda.

Kesimpulan

Dalam artikel ini Anda mempelajari tentang Nearby Connections 2.0 API untuk Android dalam konteks membuat aplikasi pendamping untuk Android Things IoT device.

Perlu dicatat bahwa API ini dapat digunakan untuk perangkat Android apa pun yang ingin Anda jaringan bersama, dari ponsel dan tablet hingga kotak Android TV dan jam tangan Android Wear. API menyediakan cara sederhana untuk terhubung dan berkomunikasi tanpa menggunakan Internet atau router terpusat, dan menambahkan utilitas hebat untuk koleksi alat Anda untuk pengembangan Android.

Saat Anda berada di sini, periksa beberapa posting kami lainnya di Android Things IoT development!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.