Android : Microsoft Band Tutorial

mband

Rasanya sudah lama sekali enggak update blog karena kebetulan ada beberapa kegiatan dan kerjaan yang mengharuskan saya mengurangi jadwal posting, atau bisa jadi karena emang¬†males [?] ūüôĀ

Anyway, pada posting kali ini saya akan coba sharing bagaimana membuat aplikasi Android yang mengoneksikan Microsoft Band dengan aplikasi yang nantinya aplikasi tersebut dapat menerima data-data yang dihitung dalam gadget Microsoft Band. Apa itu microsoft band ? Microsoft Band adalah wearable device yang dikeluarkan oleh microsoft sekitar akhir tahun lalu. Di Indonesia sendiri sepertinya Microsoft Band belum dijual secara masal, baru dijual secara resmi di Amerika Serikat. Microsoft Band dibandrol dengan harga 199 USD atau sekitar Rp 2.600.000. Microsoft Band difokuskan untuk monitoring dan fitness tracker. Dilengkapi dengan sensor-sensor yang dapat mendeteksi step (Langkah), Heartrate, skin temperature, kalori terbakar, dan lain sebagainya. Tugas akhir yang saya kerjakan kebetulan salah satu fiturnya menggunakan Microsoft Band, sehingga saya diberi kesempatan untuk mengeksplor fitur-fitur canggih yang ada didalam Microsoft Band tersebut.

Just in case, ada yang sudah menggunakan Microsoft Band dan ingin mencoba membuat aplikasi tracker sendiri, berikut saya jelaskan langkah-langkahnya. Semoga membantu.

Pertama yang harus Anda lakukan adalah mendownload SDK nya terlebih dahulu disitus resmi Microsoft Band Developer di : http://developer.microsoftband.com/, pilih Band SDK for Android. Jika sudah, buat project baru pada IDE yang Anda gunakan. Saya sendiri menggunakan Eclipse, maka tambahakna libari / SDK yang sudah Anda download di situs Microsoft Band Developer tadi pada project Anda.

Jika sudah, buat layout untuk membaca output sensor dari Microsoft Band :

activity_main.xml

Didalam doc nya, ada banyak data yang bisa ditampilkan dari Microsoft Band. Namun pada tutorial kali ini saya hanya akan menampilkan 5 data, sehingga pada layout dibuat 5 TextView untuk menampilkan : Heartrate, Step, Skin Temperature, Speed, dan Distance.

Oke, sekarang kita masuk ke file Javanya. Pertama import dahulu package yang akan gunakan :

Kemudian tambahkan juga Variable-variable yang akan digunakan :

Kemudian kita buat method untuk handle koneksi ke Band :

Method ini tidak bisa langsung dipanggil lewat UI Thread dan hanya bisa dipanggil lewat Background Thread, sehingga kita bisa memanggilnya dalam Asynctask seperti berikut :

Sehingga kita tinggal call saja Asynctask nya, misal dari OnCreate atau dari Button event :

Selanjutnya adalah subscribe masing-masing Listener. Kita menggunakan 4 sensor yaitu : Band Distance, Band Heartrate, Band Skin Temperature dan Band Pedometer. Khusus untuk sbscribe Heartrate listener, terlebih dahulu kita harus mengecek apakah user atau aplikasi diperbolehkan menggunakan Heartrate listener menggunakan Heart Rate Consent Listener. Sehingga kita perlu membuat beberapa objek Listener.

Heartrate Consent Listener :

Heartrate Listener :

Pedometer Listener :

Skin Temperature Listener :

Distance Listener :

dari masing-masing event tersebut, kita bisa mendapatkan value yang diterima dari band. Sehingga nantinya value-value yang didapatkan tadi kita tampilkan dalam TextView yang sudah dibuat di layout.

Heartrate dari Heartrate Listener, satuan Bpm, Tipedata Integer :

Steps dari Pedometer Listener, satuan step, tipe data Long :

Skin Temperature dari Skin Temperature Listener, Satuan derajat celcius, tipe data Float :

Speed dari Distance Listener, satuan Cm/s, tipe data float :

Distance dari Distance Listener, Satuan Cm, tipe data Long :

Selanjutnya kita perlu membuat sebuah method runnable untuk menampilkan data-data yang diterima tadi kedalam TextView secara realtime.

 

Setiap kali listener menerima data dari band, maka method tersebut dipanggil dengan parameter tertentu sehingga setiap data nantinya tertampil di TextView :

Terakhir, register setiap listener dalam Asynctask ketika band terkoneksi dengan device :

Selanjutnya Install Microsoft Health pada device yang akan dijalankan aplikasinya. Ini bersifat wajib, karena jika tersebut tidak terinstall Mirosoft Health maka aplikasinya tidak akan jalan dan akan mendapatkan Exception :

Download Microsoft Health via Playstore : https://play.google.com/store/apps/details?id=com.microsoft.kapp. Karena Microsoft Band belum tersedia di Indonesia, maka Microsoft Health pun belum bisa didownload dari device dengan Provider Indonesia. Anda bisa mendownload nya via web-web penyedia apk.

Tambahkan permision pada Manifest :

Pairing terlebih dahulu Microsoft Band anda dengan device. Misal saya pairing Microsoft Band dengan Zenfone, maka pada setting Microsoft band akan terlihat device yang terpairing :

Kemudian Jalankan aplikasi yang telah dibuat tadi pada device Anda, maka tampilan pertama kali Aplikasi tersebut seperti berikut :

Kemudian jika user menekan tombol Connect maka aplikasi akan menjalankan Asyntask yang akan menghubungkan aplikasi dengan Band. Pertama kali aplikasi dijalankan akan memangil band service yang menyatakan user boleh menerima atau membaca data heartrate :

Restart kembal aplikasi nya, kemudian jika stepnya benar maka aplikasi akan membaca data dari Microsoft Band secara Realtime :

 

Full Scripts :

MainActivity.java

Anda bisa menambahkan field-field yang lain yang ingin Anda tampilkan dengan melihat Doc pada Microsoft Band Developer. Semoga bermanfaat!

Related Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *