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

Android Things: Proyek Pertama Anda

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Android Things.
Introduction to Android Things
Android Things: Peripheral Input/Output

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

Android Things, platform baru dari Google untuk menciptakan Internet of Things (IOT) perangkat yang terhubung , adalah cara mudah untuk mendapatkan melangkah dengan salah satu teknologi kunci dari masa depan.  Dalam tutorial ini anda akan belajar bagaimana cara mengaturnya dengan Android Things. Anda akan membuat proyek sederhana pertama anda dan mulai menggunakan GPIO (General Purpose Input / Output) untuk membaca penekanan tombol dan menyalakan LED.

Untuk lebih banyak latar belakang tentang Android Things, lihat artikel saya di Envato Tuts +.

Flashing Board Anda

Sebelum anda dapat memulai pemrograman untuk Android Things, Anda harus menyiapkan papan prototip fisik untuk menjalankan sistem operasi.  

Saat ini ada tiga pilihan untuk boards: 

  • Raspberry Pi· 
  • Intel Edison dengan Arduino Breakout Board
  • NXP  Pico i.MX6UL

Dalam tutorial ini, saya akan menunjukkan kepada anda bagaimana cara mengaturnya dengan Raspberry Pi, karena ini adalah prototyping boards yang paling umum dan terjangkau. Jika anda menggunakan lingkungan pengembangan yang berbeda, anda dapat menemukan petunjuk khusus untuk mengarahkan boards anda ke halaman dokumentasi Android Things resmi .  

Raspberry Pi

Untuk menempatkan Android Things di Pi, anda memerlukan Raspberry Pi 3 B dan perangkat keras tambahan berikut:

  • · Kabel HDMI dan layar (seperti monitor komputer)· 
  • Kabel Ethernet terhubung ke internet anda· 
  • Kabel micro-USB 
  •  Kartu micro SD dengan ruang minimal 8GB, dan adaptor kartu SD
SD card and adapter
  • · Komputer yang bisa membaca dan menulis ke kartu SD

Setelah mengumpulkan semua komponen yang dibutuhkan, anda perlu mendownload gambar sistem terbaru untuk Pi Raspberry dari Google. Semua gambar terbaru bisa ditemukan di halaman Android Things System Image Downloads.  

Setelah mendownload file tersebut, anda perlu unzip untuk mengambil kembali .img. Karena ukuran file, beberapa program mungkin mengalami masalah unzip, seperti Archive Utility standar pada OS X, yang akan mengembalikan .cpgz   atau .zip dalam satu loop.  Jika ini terjadi, anda bisa menginstal Unarchiver untuk OS X atau 7zip  agar Windows bisa mengekstrak file dengan tepat.Dengan file .

img  yang diekstraksi, anda perlu meletakkannya di kartu SD anda. Proses ini bisa berbeda dengan sistem operasi. Bagian ini akan melalui proses di OS X, meskipun petunjuk juga ada Linux dan Windows. 

Pertama, masukkan kartu SD ke komputer anda. Jika kartu SD anda tidak diformat sebagai FAT-32, anda perlu melakukan ini sekarang. Selanjutnya, anda perlu menjalankan diskutil list command untuk menemukan jalan ke kartu SD anda.

Terminal output from diskutil list command

Pada screenshot di atas, seluruh kartu SD memiliki jalur /dev/disk3 (jangan dikelirukan dengan partisi identifier disk3s1). Dengan menggunakan jalur ini, jalankan   diskutil unmountDisk command sehingga disk bisa melintas. 

Terminal output from diskutil unmountDisk command

Langkah terakhir dalam flashing gambar Android Things untuk Raspberry Pi adalah menyalin gambar ke kartu SD anda dengan perintah berikut (diperbarui dengan jalur yang benar untuk gambar dan nomor disk Anda):   sudo dd bs=1m if=image.img of=/dev/rdisk

Terminal output from checking progress on Android Things image copying to sd card

Penting untuk dicatat bahwa operasi ini mungkin memakan waktu beberapa menit. Anda dapat memeriksa kemajuan saat ini dengan Control-T command.

Saat gambar anda selesai flashing ke kartu SD, lepaskan kartu micro SD dari adaptor anda dan masukkan ke bagian bawah Pi Raspberry.

Raspberry Pi with inserted SD card

Selanjutnya, hubungkan Pi Raspberry anda ke layar melalui kabel HDMI, ke jaringan anda dengan kabel ethernet, dan ke sumber listrik (seperti komputer anda) dengan kabel tipe USB mikro. 

Raspberry Pi with minimum connections necessary to finish setup

Saat Raspberry Pi anda telah boot, anda harus melihat yang berikut di layar anda.  

Android Things display screen with IP address shown

Anda akan melihat alamat IP perangkat anda di bagian bawah layar. anda akan memerlukannya untuk terhubung ke board Android Things anda dengan adb connect  command.

Pada titik ini, anda akan dapat terhubung ke Android Things board yang baru muncul dan memuat aplikasi ke dalamnya, itulah yang akan kita bahas di sesi berikutnya. Jika anda ingin melepaskan Raspberry Pi dari koneksi jaringan fisik anda dan menggunakan chip Wi-Fi built-in, anda perlu menjalankan perintah berikut.

Ini akan memungkinkan anda untuk me-restart perangkat anda dan mengaksesnya melalui jaringan WiFi tanpa ditambatkan ke koneksi ethernet.

Proyek Sederhana Pertama

Sebelum mulai menulis kode untuk aplikasi Android Things baru, anda harus memastikan bahwa perangkat keras anda disiapkan untuk proyek yang ingin anda bangun.  Untuk proyek pengantar kami, kami akan membuat perangkat sederhana yang memungkinkan pengguna menekan tombol, yang akan menyalakan LED. Saat tombol dilepaskan, lampu LED akan mati. Anda memerlukan komponen perangkat keras berikut ini: 

  • · Boards Android Things yang kompatibel yang berkelebat dengan versi terbaru OS· 
  • LED· 
  • tombol· 
  • 10k Ω resistor (resistor band warna coklat, hitam, orange)· 
  • resistor 470 Ω (band warna resistor kuning, ungu, coklat)· 
  • kabel· 
  • breadboard

Begitu anda memiliki komponen anda, anda bisa mulai memasukkan Things. Saya telah memasukkan dua diagram untuk proyek pertama anda: satu diagram pengkabelan untuk Edison Intel dengan Arduino breakout board, dan satu untuk Pi Raspberry.  

Wiring diagram for project using Intel Edison with Arduino breakout board
Wiring diagram for Raspberry Pi

Setelah anda memiliki papan kabel bersama-sama, saatnya untuk menulis aplikasi pertama anda.

Setup aplikasi

Android Things memerlukan proyek yang akan dibangun dengan minimal SDK 24. Anda bisa memulai tutorial ini dengan membuat proyek baru dengan persyaratan minimum dan Activity kosong.

Ketika proyek dasar anda telah dibuat, buka app module's build.gradle file anda. Di bawah dependencies node, sertakan pustaka Android Things. Pada saat penulisan ini, perpustakaan masih di pengembang preview satu.

Selanjutnya, buka AndroidManifest.xml file. Anda harus menyatakan bahwa aplikasi anda menggunakan pustaka Android Things dengan menambahkan baris berikut di dalam aplikasi node

Hal terakhir yang harus dilakukan dalam file manifest anda adalah menambahkan intent-filter  untuk MainActivity node anda  yang memungkinkan perangkat anda tahu bahwa itu harus memulai Aktivitas  pada startup. Karena Android Things meluncurkan aplikasi saat startup, anda umumnya hanya ingin satu aplikasi dipasang pada perangkat setiap kalinya.

Setelah selesai dengan manifes, anda bisa membuka MainActivity.java, karena ini adalah di mana logika inti untuk proyek Android Things pertama anda akan terjadi. Objek yang akan memberi instantiate koneksi input dan output anda disebut PeripheralManagerService, jadi mari kita mulai dengan mendapatkan referensi ke dalam onCreate ().

Sekarang anda sudah punya PeripheralManagerService, mari kita lakukan satu hal lagi sebelum menggali ke dalam menulis kode kendali kita. Sebelumnya anda menghubungkan semua komponen anda ke boards dengan pin tertentu.  Untuk mengendalikan periferal yang anda pasang pada pin ini, anda perlu mengetahui nama masing-masing pin di board anda. Anda dapat mencetak daftar masing-masing komponen dengan menggunakan PeripheralManagerService seperti:

Baris di atas akan mencetak hal berikut pada Raspberry Pi:

Di diagram pengkabelan Raspberry Pi sebelumnya di bagian ini, anda menghubungkan tombolnya BCM21 dan LED ke BCM6. Di dalam Edison Intel dengan diagram pengkabelan Arduino Breakout, anda menghubungkan tombolnya IO12 dan LED ke IO13.  Mari kita simpan nilai ini sebagai item string di bagian atas Activity kita. Sampel ini akan menggunakan nilai Raspberry Pi, meskipun anda dapat menggunakan nama pin mana saja yang sesuai untuk pemasangan kabel dan board anda. 

Dalam beberapa bagian berikutnya, kita akan menggunakan informasi ini untuk berkomunikasi dengan kedua komponen.

Output ke LED

Komponen dasar, seperti LED, bisa diakses menggunakan obyek Gpio Android Things. Di bagian atas Aktivitas anda,  buat obyek Gpio. Ini akan digunakan untuk merujuk koneksi kita ke LED di aplikasi kita. 

Begitu anda memiliki objek referensi, anda perlu menginisialisasinya di  onCreate (). Anda bisa melakukan ini dengan memanggil openGpio dengan nama pin dari obyek PeripheralManagerService anda.  Anda juga ingin mendeklarasikan keadaan komponen yang diinisialisasi, yang dalam kasus ini adalah   DIRECTION_OUT_INITIALLY_LOW (intinya "off"). Anda perlu membungkus panggilan setup I/O di try/catch block jika IOException terjadi.

Sekarang setelah kita membuat referensi LED kita,  anda harus bisa mengubah keadaan LED (on dan off). Anda bisa menggunakan metode setValue (boolean) di Gpio untuk mengubah keadaan komponen.

Akhirnya, saat  Aktivitas  anda hancur, anda harus menutup semua koneksi dan membatalkan referensi perangkat keras anda di onDestroy ().

Dan itu semua ada untuk menulis ke komponen dasar. Meski aplikasi bisa mengendalikan LED, namun tidak ada logika di tempat untuk mengubah keadaan LED. Pada langkah selanjutnya, kita akan membaca penekanan tombol untuk mengaktifkan atau mematikan komponen ini.

Input Tombol Baca

Sementara tombol komponennya cukup lugas, Google tetap merilis set perpustakaan driver yang memudahkan penggunaan tombol dan berbagai komponen lainnya. Untuk bagian ini, anda akan menggunakan driver tombol untuk terhubung ke tombol dan membaca statusnya, tapi pertama-tama anda perlu mengimpor driver tombol di build.gradle file anda.

Selanjutnya, nyatakan objek ButtonInputDriver sebagai variabel member untuk kelas MainActivity anda.

Anda bisa menginisialisasi objek ini dan mendaftarkannya di dalam try block yang digunakan di  onCreate() untuk komponen LED anda.

Saat ButtonInputDriver  anda dibuat, ia akan mengirimkan event tekan tombol ke metode onKeyDown() dan onKeyU() dengan kode kunci yang anda tentukan pada penciptaan driver, yang dapat diganti dalam Activity anda  untuk mengubah keadaan LED anda.

Akhirnya, anda perlu membatalkan pendaftaran dan membatalkan ButtonInputDriver  anda di onDestroy (), sama seperti yang anda lakukan dengan LED Anda.

Kesimpulan

Dalam tutorial ini, anda belajar cara memotret Raspberry Pi dengan Android Things, menyiapkan rangkaian sederhana yang terdiri dari sebuah tombol dan LED, dan menulis sebuah aplikasi Android untuk mengendalikan LED berdasarkan penekanan tombol menggunakan perpustakaan driver.  

Pada titik ini, anda harus bisa menggunakan pustaka driver lain dan membuat sirkuit anda sendiri yang lebih kompleks. Pada tutorial selanjutnya dari seri ini, kita akan melihat berbagai jenis input / output periferal yang tersedia di Android Things, lalu kita lanjutkan untuk membuat driver komponen kita sendiri!Sementara itu, lihat beberapa kursus dan tutorial kami yang lain tentang pengembangan Android!

Sementara itu, lihat beberapa kursus dan tutorial kami yang lain tentang pengembangan 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.