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

Sambungkan Perkara Android ke Telefon Pintar Dengan Sambungan Berdekatan 2.0

by
Difficulty:IntermediateLength:MediumLanguages:

Malay (Melayu) translation by Hamdan Veerlax (you can also view the original English article)

Salah satu perkara pertama pengguna akan mahu lakukan dengan peranti rumah pintar baru adalah mendapat rangkaian wayarles mereka. Banyak IoT peranti kekurangan sesuatu skrin atau papan kekunci, jadi salah satu cara untuk melakukan ini ialah dengan membenarkan pengguna untuk berpasangan telefon pintar ke peranti itu supaya mereka dapat mengawal dan mengkonfigurasi peranti. Ini adalah bagaimana sarang dan Laman Utama Google bekerja, antara lain, dan API 2.0 sambungan berdekatan memungkinkan.

Google Home companion app connection screen

Dalam artikel ini anda akan mendapat pengenalan kepada API 2.0 sambungan berdekatan dan bagaimana ia boleh digunakan untuk berpasangan dengan telefon pintar Android untuk peranti Android perkara untuk menyediakan pengguna dengan peranti teman pengalaman.

Apakah API Sambungan Berdekatan?

API Sambungan Berdekatan membolehkan dua peranti untuk berkomunikasi satu sama lain secara langsung melalui Bluetooth atau tanpa wayar tanpa menggunakan pusat akses terpusat. Terdapat dua peranan yang mungkin diambil oleh peranti: pengiklan, yang membolehkan peranti lain tahu bahawa ia tersedia untuk disambungkan kepada, dan penemu, yang cuba mencari pengiklan dan menyambung kepada mereka. Sebaik sahaja satu set peranti (juga dikenali sebagai '' endpoints'' pada peringkat ini) telah disambungkan bersama-sama, mereka boleh menghantar data ke mana-mana titik tamat yang lain di dalam rangkaian sambungan berdekatan.

Terdapat dua strategi yang boleh digunakan oleh API sambungan berdekatan untuk menyambung peranti bersama-sama. Yang pertama, P2P_STAR, adalah yang paling mudah untuk bekerja dengan. Terdapat dua strategi yang boleh digunakan oleh API sambungan berdekatan untuk menyambung peranti bersama-sama. Yang pertama, P2P_STAR, adalah yang paling mudah untuk bekerja dengan. Ini mencipta rangkaian mesh dengan titik tolak berpusat kegagalan, walaupun ia juga memakan lebih banyak trafik. Strategi ini adalah ideal untuk payloads kecil yang tidak perlu untuk pergi melalui alat yang utama, seperti untuk permainan.

Tutorial ini akan memberi tumpuan kepada menggunakan strategi bintang yang mudah untuk menyambung peranti IoT sebagai pengiklan dan akan menggunakan telefon pintar pengguna sebagai penemu. Walau bagaimanapun, pada akhirnya, anda juga harus mempunyai maklumat yang cukup untuk melaksanakan strategi kluster juga.

Mari Kita Sediakan!

Terdapat dua modul untuk tutorial ini: aplikasi mudah alih dan apl Android Things. Sebaik sahaja anda telah mencipta orang-orang di Android Studio, anda perlu menyertakan pergantungan Perkhidmatan Google Play untuk Sambungan Berdekatan dalam fail build.gradle peringkat modul untuk kedua-dua aplikasi.

Selepas anda menjalankan penyegerakan gradle, buka fail AndroidManifest.xml untuk kedua-dua modul dan termasuk keizinan berikut dalam nod permohonan.

Peranti Android perkara-perkara yang akan mempunyai keizinan ini diberikan kepada peranti selepas boot semula, walaupun anda perlu untuk meminta kebenaran lokasi daripada pengguna aplikasi telefon.

Kelas MainActivity dalam kedua-dua perkara dan modul mudah alih perlu melaksanakan antara muka yang digunakan untuk panggilan balik Google Play Services, seperti:

Sebaik sahaja anda telah mengesahkan bahawa pengguna mempunyai izin lokasi yang sesuai di onCreate(), anda boleh mula menyambung ke perkhidmatan Main Google untuk menggunakan API sambungan berdekatan.

Apabila GoogleApiClient ini telah selesai menyambung, kaedah onConnected() akan dipanggil. Ini adalah di mana anda akan mula iklan atau proses penemuan untuk peranti anda. Di samping itu, kedua-dua permohonan perlu id Perkhidmatan, yang merupakan rentetan pengenalan yang unik.

Pengiklanan di Sambungan Berdekatan

Apabila bekerja dengan API Sambungan Berdekatan, anda perlu mencipta ConnectionLifecycleCallback yang akan, seperti namanya, dicetuskan pada pelbagai acara kitaran hayat sambungan. Untuk demo ini, kami hanya akan menggunakan kaedah onConnectionInitiated(). Ia akan menjimatkan merujuk kepada titik tamat pertama yang cuba untuk menyambung kepadanya, menerima sambungan dan kemudian berhenti pengiklanan. Jika sambungan tidak berjaya, aplikasi ini boleh memulakan pengiklanan.

Anda mungkin sudah perhatikan bahawa kaedah di atas juga rujukan objek PayloadCallback. Objek ini mempunyai kaedah yang disebut apabila muatan data dihantar dari pengiklan kepada satu titik tamat, serta apabila data yang diterima daripada satu titik tamat. Kaedah onPayloadReceived() adalah di mana kami akan mengendalikan sebarang hantar data ke peranti Android perkara kami. Kaedah ini mengandungi objek muatan yang boleh bertukar menjadi jujukan bait dan rentetan mewakili alamat titik tamat peranti penghantaran.

Pada masa ini, anda boleh mulakan iklan pada peranti IoT anda dengan kaedah berikut:

Anda mungkin perasan bahawa ini adalah di mana kami menggunakan strategi P2P_STAR ke rangkaian sambungan berdekatan kami.

Apabila anda ingin menghantar muatan yang ke peranti lain, anda boleh menggunakan kaedah Nearby.Connections.sendPayload() dengan rujukan pelanggan Google API, nama anda titik tamat, dan pelbagai bait data yang anda ingin hantar.

Petua: Dayakan WiFi pada Reboot

Satu silap mata yang saya dapati berguna semasa bekerja dengan API sambungan berdekatan pada peranti Android perkara ini semula membolehkan WiFi apabila but semula, dengan peranti boleh berakhir dengan tanpa wayar dinyahdayakan jika peranti adalah menutup atau kehilangan kuasa semasa pengiklanan. Anda boleh melakukan ini dengan mendapatkan khidmat sistem WifiManager dan memanggil setWifiEnabled().

Mencari Peranti Dengan Sambungan Berdekatan

Menemui alat mengikut pola yang kebanyakannya sama untuk pengiklanan. Peranti akan bersambung kepada pelanggan API Google dan mula menemui. Apabila pengiklan didapati, penemu tersebut akan meminta untuk menyambung kepada pengiklan. Jika pengiklan meluluskan permintaan, dua peranti akan sambung kepada anda dan boleh menghantar payloads belakang dan ke hadapan. Ini adalah yang akan menggunakan PayloadCallback seperti pengiklan.

Penemu ke di ConnectionLifecycleCallback (mudah alih apl) akan juga kelihatan serupa dengan pengiklan:

Apa yang berbeza ialah bahawa discoverers akan memerlukan seorang EndpointDiscoveryCallback yang akan digunakan apabila pengiklan ditemui tetapi belum lagi disambungkan ke. Objek ini akan memulakan permintaan untuk menyambung kepada pengiklan.

Sekali adalah anda telah disambungkan ke perkhidmatan Main Google, anda boleh memulakan penemuan dengan arahan berikut:

Akhirnya, apabila anda ingin nyahsambung daripada pengiklan, anda boleh menggunakan kaedah disconnectFromEndpoint() dari API sambungan yang berdekatan. Secara amnya, ia adalah satu idea yang baik untuk melakukan ini di panggil balik onDestroy() aktiviti anda.

Kesimpulan

Dalam artikel ini anda belajar tentang API 2.0 sambungan berdekatan untuk Android dalam konteks mewujudkan teman aplikasi untuk peranti Android perkara IoT.

Ia adalah diperhatikan bahawa API ini boleh digunakan untuk mana-mana peranti Android yang anda ingin untuk rangkaian bersama-sama, dari telefon dan tablet Android TV kotak dan smartwatches pakai Android. API menyediakan cara yang mudah untuk berhubung dan berkomunikasi tanpa menggunakan Internet atau penghala yang berpusat dan menambah utiliti hebat koleksi anda alat untuk pembangunan Android.

Semasa anda berada di sini, Semaklah kami jawatan lain pembangunan IoT perkara Android!

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.