Di tengah kemajuan teknologi nirkabel, aplikasi Android yang mampu mengintegrasikan fungsionalitas Bluetooth semakin menjadi fokus pengembang. Dalam artikel ini, kita akan membahas secara mendalam langkah-langkah untuk membangun aplikasi Android yang mampu mengirim dan menerima data melalui koneksi Bluetooth menggunakan modul HC-05, MIT App Inventor untuk desain antarmuka pengguna yang intuitif, Node.js sebagai server penghubung, dan Arduino sebagai otak pemrosesan pada perangkat keras. Proses ini akan menggambarkan perjalanan dari perencanaan hingga implementasi, membawa pembaca melalui tahapan detail dalam mengintegrasikan teknologi tersebut dan menghasilkan aplikasi yang responsif dan inovatif. Mari eksplorasi dunia pengembangan aplikasi Android yang terkoneksi secara nirkabel, membuka pintu untuk berbagai proyek menarik dalam Internet of Things (IoT) dan komputasi terdistribus
Bagaimana cara kerja aplikasi ini?
Pengembangan aplikasi Android untuk pengiriman data melalui Bluetooth HC-06 dengan MIT App Inventor dan Node.js melibatkan beberapa tahapan penting. Proses dimulai dengan penggunaan MIT App Inventor untuk merancang antarmuka pengguna aplikasi Android. Setelah selesai, komponen Bluetooth ditambahkan ke aplikasi, memungkinkan perangkat Android terhubung dengan modul Bluetooth HC-06. Selanjutnya, modul HC-06 dikonfigurasi melalui perintah AT pada Arduino, memastikan bahwa modul berfungsi sebagai slave dan siap menerima koneksi Bluetooth.
Pengembang kemudian membuat server menggunakan Node.js pada laptop atau komputer pengembangan. Server ini berperan sebagai perantara antara aplikasi Android dan perangkat Arduino yang terhubung melalui modul HC-06. Kode server ditulis menggunakan
Node.js, dengan penggunaan paket ‘express’ dan ‘bluetooth-serial-port’ untuk menangani rute dan mengelola koneksi Bluetooth.
Setelah server diinisialisasi, aplikasi Android dapat mengirimkan data melalui koneksi Bluetooth ke server Node.js. Data ini diteruskan oleh server ke perangkat Arduino melalui modul HC-06, di mana perangkat Arduino mengolah informasi sesuai dengan logika program yang telah ditentukan sebelumnya. Respons dari perangkat Arduino juga dapat dikirim kembali ke aplikasi Android melalui jalur yang sama, membuka potensi implementasi data dua arah.
Proses ini membentuk aliran data yang efektif dan nirkabel antara aplikasi Android dan perangkat Arduino melalui server Node.js sebagai perantara. Pendekatan ini memberikan solusi yang fleksibel dan dapat diadaptasi untuk berbagai aplikasi yang melibatkan komunikasi Bluetooth dalam pengembangan perangkat keras. Dengan demikian, keseluruhan proses ini memberikan wawasan mendalam tentang integrasi teknologi ini untuk menciptakan aplikasi Android yang inovatif dan responsif.
Pentingnya pemahaman tentang perangkat keras dan perangkat lunak juga dapat memberikan landasan untuk memahami bagaimana komponen-komponen ini berinteraksi dalam pengembangan aplikasi yang melibatkan komunikasi Bluetooth dan pemrosesan data. Perangkat keras menyediakan platform fisik, sementara perangkat lunak memberikan kemampuan intelektual dan fungsionalitas untuk mengaktifkan kinerja yang diinginkan. Berikut ini merupakan definisi umum dari hardware dan software yang akan kita gunakan dalam pembuatan aplikasi ini.
- Hardware
Apa itu modul HC-06?
Modul HC-06 adalah perangkat keras berbentuk modul Bluetooth yang digunakan untuk mengaktifkan komunikasi nirkabel antar perangkat elektronik. Modul ini memiliki komponen fisik berupa rangkaian elektronik yang memungkinkan perangkat untuk berkomunikasi melalui Bluetooth. Modul HC-06 umumnya dilengkapi dengan antarmuka serial untuk koneksi dengan perangkat mikrokontroler seperti Arduino.
Apa itu Arduino Uno?
Arduino Uno adalah papan pengembangan berbasis mikrokontroler yang dapat diprogram dan digunakan untuk mengontrol perangkat keras. Dalam konteks pengembangan aplikasi ini, Arduino Uno bertindak sebagai otak dari perangkat keras yang menerima, mengolah, dan merespons data yang diterima melalui koneksi Bluetooth HC-06. Ini termasuk komponen fisik seperti mikrokontroler, pin I/O, dan sirkuit elektronik lainnya
- Software
Apa itu Node.js?
Node.js adalah runtime lingkungan JavaScript yang digunakan untuk menjalankan kode JavaScript di sisi server. Dalam implementasi aplikasi ini, Node.js berfungsi sebagai server yang mengelola koneksi Bluetooth antara perangkat Android dan Arduino. Software ini memberikan lingkungan runtime untuk menjalankan skrip JavaScript pada server, memfasilitasi pertukaran data antara perangkat keras dan aplikasi Android.
Apa itu Arduino IDE?
Arduino IDE (Integrated Development Environment) adalah perangkat lunak yang digunakan untuk mengembangkan dan mengupload program ke papan Arduino. IDE menyediakan antarmuka untuk menulis, mengedit, dan mengunggah kode ke Arduino Uno. Dalam proyek ini, Arduino IDE digunakan untuk mengkode perangkat lunak yang dijalankan pada Arduino Uno, memungkinkan perangkat keras untuk memproses dan merespons data dari aplikasi Android
Apa itu MIT App Inventor?
MIT App Inventor adalah platform pengembangan aplikasi visual yang memungkinkan pembuatan aplikasi Android tanpa memerlukan pengetahuan pemrograman mendalam. Dengan antarmuka drag-and-drop, pengguna dapat merancang aplikasi dengan menarik dan melepaskan elemen antarmuka serta logika program yang diimplementasikan dalam blok-blok visual. Platform ini dirancang agar mudah diakses oleh berbagai kalangan, memungkinkan orang tanpa latar belakang teknis yang kuat untuk menciptakan aplikasi fungsional yang dapat dijalankan pada perangkat Android.
Untuk mengenal lebih jauh mengenai App Inventor dapat dipelajari pada link berikut.
Cara Kerja Aplikasi Pengiriman Data Bluetooth HC-05 dengan MIT App Inventor, Node.js, dan Arduino Uno
- Hardware
- 1. Modul Bluetooth HC-06
Koneksi Fisik:
– Sambungkan kaki TX pada modul HC-06 ke pin RX pada Arduino Uno.
– Sambungkan kaki RX pada modul HC-06 ke pin TX pada Arduino Uno.
– Hubungkan kaki VCC modul HC-06 ke pin 5V pada Arduino Uno.
– Sambungkan kaki GND modul HC-06 ke pin GND pada Arduino Uno.
- 2. Arduino Uno
Koding:
– Gunakan Arduino IDE untuk menulis program yang akan diunggah ke Arduino Uno.
– Program tersebut harus memahami dan menanggapi data yang diterima dari
aplikasi Android melalui modul HC-06, serta mengirimkan respons kembali.
Penjelasan detail cara penggunaan Arduino IDE dapat dipelajari di link berikut.
2. Software
Pada bagian software ini akan kita bahas tiga tahap yaitu:
- Pengiriman data dari mobile apps ke server dengan Metode Get
- Pengiriman data dari server ke mobile apps dengan Metode Post
- Pengiriman data dari Arduino melalui bluetooth ke mobile apps dan dilanjutkan ke server, lalu dipantau oleh mobile apps kedua
Pengiriman data dari Mobile Apps ke server dengan Metode Get
Pada aplikasi ini kita menggunakan apk1 yang diinstal di mobile apps1 dan dirancang menggunakan MIT App Inventor dan script *.js yang diinstal di server dengan menggunakan Node Js
- Pembuatan Apk1 dengan menggunakan MIT App Inventor
Berikut adalah langkah-langkah yang dilakukan untuk membuat aplikasi pada artikel ini dengan menggunakan MIT App Inventor.
- Pertama kita atur dahulu lay out dari tampilan yang diinginkan dengan melakukan drag komponen verticalArrangement di Bagian Lay Out di Palette dan drop ke ke Bagian Viewer
- Kemudian atur filed width di Bagian Properties menjadi Fill Parent agar lay out memenuhi lebar layar perangkat
- Ambil komponen Button dari User Interface di Bagian Palette dan drop ke Bagian Viewer
- Atur tombol agar berada di posisi tengah dengan klik komponen verticalArrangement di Bagian All Components dan atur AlignHorizontal ke posisi centre
- Untuk menampilkan data yang diperoleh dari server kita ambil komponen label di User Interface Bagian Palette dan drop di dalam lay out verticalArrangement
- Untuk koneksi dengan server kita ambil komponen web dari bagian connectivity di Bagian Palette dan letakkan di Bagian Viewer. Komponen ini sifatnya non visible sehingga tidak akan tampil di Bagian Viewer hanya terdaftar di Bagian All Components
- Selanjutnya kita masuk ke Bagian Block Editor untuk mulai merancang kode
- Ambil blok initialize global di bagian variabel dari Bagian Blocks dan letakkan di Bagian Viewer untuk membuat global variabel
- Beri nama variabel tersebut dengan “list”
- Ambil blok “a text string” dan letakkan di blok initialize global untuk mendeklarasikan bahwa variabel list typenya adalah string
- Ambil blok When Button1 Click di bagian button dari Bagian Blocks dan drop di Bagian Viewer. Bagian ini untuk menentukan apa yang terjadi saat tombol button1 diklik
- Kemudian ambil blok set web1 url dan drop di blok When Button1 Click agar saat button1 di klik maka akan dilakukan get data dari url yang ditulis di bagian ini
- Ambil blok “a text string” dari Bagian Blocks dan letakkan di bagian to dari Url
- Tuliskan IP address atau domain dari server yang dituju di bagian blok tersebut
- Dengan ini maka saat button1 diklik maka akan dilakukan koneksi ke server http://192.168.100.7:7070/user
- Kemudian kita tambahkan blok get web1 dari Bagian Blocks dan drop di blok when button1 click sehingga saat button1 di klik setelah terjadi koneksi ke server maka akan dilakukan get data dari url tersebut
- Kemudian ambil blok when url got text dari Bagian Palette dan letakkan di Bagian Viewer. Bagian ini berfungsi untuk menentukan apa yang terjadi saat text dari server sudah diperoleh
- Ambil blok set variabel to dan atur variabel tersebut menjadi global list
- Kemudian kita ambil blok get response content dan diletakkan di bagian to dari set global list sehingga nilai global list akan berisi hasil dari data yang diambil dari methode get
- Untuk menampilkan data yang diterima dilakukan pada bagian label, oleh karena itu kita drag blok set label1 text to ke blok when web1 got text
- Drag blok get dari bagian variabel di bagian Blocks dan drop di bagian to dari blok set label1 text to, kemudian atur menjadi global list sehingga label1 nanti akan terisi dengan isi variabel global list saat web1 mendapatkan data text.
- Pada tahap ini aplikasi yang kita buat dengan App Inventor telah selesai dan dapat diubah menjadi apk dan diinstal di mobile apps1. Penjelasan untuk bagian ini dapat dilihat di artikel berikut Mengenal App Inventor.
2. Pembuatan script di server dengan menggunakan Node Js
Agar data di server dapat diambil oleh aplikasi pada apk1 yang ada di mobile apps1 maka dibutuhkan script yang berjalan pada server tersebut. Untuk itu kita perlu menginstal Node Js pada PC yang akan kita jadikan server. Berikut adalah langkah-langkah yang perlu kita lakukan.
- Agar kita dapat menjalankan script yang kita rancang dengan menggunakan Node Js maka dibutuhkan terminal. Pada pengguna windows disarankan menggunakan Git Bash yang dapat didownload di link berikut. Untuk pengguna windows7 kita dapat gunakan link ini
- Lakukan instalasi Git Bash dan pada saat menemukan jendela berikut, pilih Use the native Windows Secure Channel Library
- Ketik script berikut dengan menggunakan teks editor seperti wordpad
- Script tersebut juga dapat didownload di sini
- Klik folder tempat kita menuliskan script app.js lalu klik kanan dan pilih Open Git Bash Here
- Maka layar terminal Git Bash akan terbuka pada folder tempat kita menulis script seperti pada gambar di bawah ini
- Karena kita menggunakan fungsi express maka kita perlu lakukan instalasi fungsi express pada node js dengan menuliskan npm install express –save seperti pada gambar di bawah
- Pada tahap ini Node JS telah siap untuk menjalankan script yang kita tulis. Kita dapat menjalankan script dengan menuliskan node app.js pada layar terminal hingga tampil pesan “server is running on port 7070” yang menandakan bahwa server sudah siap di port tersebut
- Selanjutnya kita dapat mencoba aplikasi ini dengan membuka apk1 yang sudah diinstal di mobile apps1 dan tekan tombol Text for Button1
- Apps1 akan melakukan pengambilan data yang tertulis di variabel user di script app.js dengan menggunakan methode Get dan menampilkan di layar seperti pada gambar berikut
Selanjutnya akan kita bahas untuk Metode Post di artikel berikutnya
Noor Hanna