Bluetooth adalah Sistem jaringan lokal tanpa kabel. Bluetooth telah digunakan secara luas pada perangkat android dan telepon pintar lainnya.
Menghubungkan ke bluetooth server
Untuk mempermudah jalan program app inventor, proses menghubungkan bluetooth ke server dimasukkan kedalam sebuah prosedur.
Prosedur ‘Hubungkan_Bluetooth’ ini bisa dipanggil dengan variabel ‘alamatBluetooth’ yang berisi alamat unik bluetooth. Sebelum dihubungkan prosedur akan mengecek status ‘bluetooth.available’, jika aktif, dilanjutkan dengan pengecekan status ‘bluetooth.IsConnected’, dan mematikan bluetooth jika sedang terkoneksi.
Selanjutnya bluetooth dihubungkan dengan fungsi ‘bluetoothClient.Connect’ dengan variabel alamat yang diberikan.
Pemanggilan bluetooth saat Inisialisasi
Apabila sistem menghubungkan bluetooth dibuat otomatis, maka bluetooth akan dihubungkan keserver dengan alamat yang tersimpan sebelumnya pada database ‘TinyDB’. Pemanfaatan database ini adalah untuk otomatisasi data saat aplikasi app dibuka tanpa perlu disetting ulang, cukup menggunakan settingan terakhir.
Koneksi bluetooth dengan alamat langsung
Jika alamat bluetooth server sudah diketahui, app bisa langsung mengkondisikan tombol sebagai pemanggil prosedur ‘hubungkan_bluetooth’ dengan alamat yang ada pada ‘textbox’.
Menghubungkan bluetooth dengan alamat pada daftar bluetooth
Daftar perangkat bluetooth yang terhubung ke android bisa diambil sebagai referensi alamat. Sebelum digunakan, elemen ‘listPicker’ digunakan sebagai penampung daftar bluetooth yang tersedia.
Apabila item yang ada dalam daftar sudah dpilih, maka akan dipanggil prosedur ‘hubungkan_Bluetooth’ dengan variabel alamat terpilih.
Putuskan hubungan bluetooth
Jika ingin memutuskan bluetooth dari server, cukup menggunakan fungsi ‘BluetoothClient.Disconect’
Cek koneksi bluetooth
Status konksitas bluetooth bisa diketahui dengan fungsi ‘BluetoothClient.IsConnected’
Mengirim data string melalui bluetooth
Untuk mengirim data melalui bluetooth, terlebih dahulu dipastikan koneksi bluetooth dengan fungsi’bluetoothClient.IsConnected’. Dan apabila terhubung, proses pengiriman string dilakukan dengan memanggil fungsi ‘bluetoothClient.SendText’ dengan variabel ‘text’ yang diisi contohnya text dalam ‘textBox’.
Menerima data dari bluetooth
Jika ada data yang dikirim melalui bluetooth, data tersebut bisa dideteksi dengan fungsi ‘bluetoothClient.SendText’ seperti pada block berikut :
Dengan bantuan ‘clock.Timer’, setiap interval waktu dilakukan pengecekan apabila ada data yang diterima lewat bluetooth, kemudian mengambilnya dengan fungsi ‘bluetooth.ReceiveText’.
Namun fungsi diatas memiliki beberapa kelemahan yaitu:
- Data yang diterima tidak diparsing, sehingga data apapun yang diterima adalah merupakan deretan String.
- Jika dalam satu interval waktu diterima beberapa data, maka data tersebut dianggap suatu kesatuan.
- Jika proses pengiriman data berlangsung saat interupsi timer terjadi, maka data tersebut akan terpotong (data tidak utuh).
Untuk menutui itu digunakan algoritma app inventor yang lebih rumit namun mampu berjalan pada jumlah data besar.
Proses pengambilan data dari buffer android dilakukan secara parsial sehingga terhindar dari pemotongan, dengan metode ini dimungkinkan menerima beberapa nilai variabel sekaligus (dalam lalu lintas kecepatan tinggi).
Dalam contoh ini digunakan format ‘namaVariabel’=’nilai’, dalam contoh sketch arduino :
void setup() { Serial.begin(9600); Serial.println("Koneksi Beluetooth pada Android dengan App Inventor"); Serial.println("https://www.project.semesin.com/"); Serial.println(); } byte variabel1 = 0; uint16_t variabel2 = 1000L; void loop() { while (Serial.available()) { Serial.write(Serial.read()); } delay(1000); Serial.println("var1=" + String(variabel1)); Serial.println("var2=" + String(variabel2)); variabel1 += 1; variabel2 += 10; }
Mendeteksi kegagalan bluetooth
Fungsi ‘bluetoothClient.BluetoothError’ akan mendeteksi jika terjadi kegagalan bluetooth seperti kesalahan dalam proses menghubungkan, mengirim atau menerima data. Blok diatas akan mengirimkan pesan kepada pengguna melalui label ‘pesan’.
Design cara komunikasi bluetooth app inventor:
Block lengkap sistem komunikasi bluetooth android:
apk menghubungkan bluetooh dengan app inventor: