Uji serial HC-05 Linux Mint dengan CuteCom dan Moserial

Uji coba koneksi dari Moserial ke CuteCom (dan sebaliknya). Hardware serial port Arduino Uno terhubung ke CuteCom (/dev/ttyUSB0) dan software serial Arduino Uno (/dev/rfcomm0) terhubung ke Moserial.

Gambar 1.

Koneksi Perangkat Keras

Gambar 2. [Sumber]
Hanya sebagai pembanding, Gambar 2 yang diperoleh dari howtomechatronics.com menunjukkan penggunaan modul HC-05 dengan Arduino Mega yang memiliki dua kanal komunikasi serial. Sedangkan di artikel ini selanjutnya hanya akan menggunakan sistem papan yang memiliki satu kanal serial hardware comm seperti Arduino Uno (Gambar 3).

Gambar 3.

Jika modul HC-05 dicabut atau tidak berfungsi baik, maka percobaan ini tidak dapat dilakukan. Hanya serial hardware lewat ttyUSB0 saja yang bisa terhubung. LED dalam percobaan ini tidak dipakai tetapi rangkaian yang sama ini akan dipakai untuk beberapa percobaaan yang berbeda (di artikel berikutnya).

Program Arduino

Kode asal program yang akan dipakai diambil dan dimodifikasi dari sumber ini. Kode ini sebenarnya dipakai untuk dapat memberikan AT command dari laptop ke modul HC-05. Tetapi kode yang sama bisa dimanfaatkan untuk demonstrasi komunikasi antar dua aplikasi di laptop yang sama melalui ttyUSB0 dan rfcomm0.

[sourcecode] /*
* Kode asal dari:
* HC05 – Bluetooth AT-Command mode
* modified on 10 Feb 2019
* by Saeed Hosseini
* https://electropeak.com/learn/guides
*/
#include "SoftwareSerial.h"
SoftwareSerial myHC05a(2, 3); // RX | TX
void setup()
{
delay(100);
Serial.begin(9600);
// myHC05a.begin(9600); //Baud Rate for AT-command Mode.
// myHC05a.begin(38400); //Baud Rate for AT-command Mode.
myHC05a.begin(115200); //Baud Rate for AT-command Mode.

delay(1000); //Delay untuk Arduino IDE.
Serial.println("***AT commands mode***");
}
void loop()
{
//from bluetooth to Terminal.
if (myHC05a.available())
Serial.write(myHC05a.read());
//from termial to bluetooth
if (Serial.available())
myHC05a.write(Serial.read());
}
[/sourcecode]

Pengaturan Bluetooth

Untuk HC-05 sudah dalam kondisi berkedip cepat saat uji coba akan dimulai. Ini menandakan modul itu sudah siap untuk dihubungkan.

[intense_code type=”block”]$ sudo service bluetooth restart[/intense_code]

Berikutnya periksa keberadaan rfcomm0. Berikut akan terlihat bahwa rfcomm0 belum ada.

[intense_code type=”block”] $ ls -la /dev/rf*
crw-rw-r–+ 1 root netdev 10, 242 Jul 16 07:05 /dev/rfkill
[/intense_code] [intense_code type=”block”] $ hciconfig
$ sudo hciconfig hci0 up
$ hcitool dev
Devices:
hci0 F0:03:8C:xx:xx:xx
[/intense_code] [intense_code type=”block”] $ hcitool scan
Scanning …
33:03:30:xx:xx:xx sunu-X2
20:14:10:xx:xx:xx Bluino#00
[/intense_code] [intense_code type=”block”] $ hcitool -i hci0 scan
$ sudo rfcomm release 0
$ sudo rfcomm bind 0 20:14:10:xx:xx:xx 1
$ rfcomm
[/intense_code] [intense_code type=”block”] $ sudo rfcomm connect 20:14:10:xx:xx:xx
[/intense_code] [intense_code type=”block”] $ sudo rfcomm bind 0 20:14:10:xx:xx:xx 1
[/intense_code] [intense_code type=”block”] $ sudo rfcomm connect /dev/rfcomm0 20:14:10:xx:xx:xx 1 &
[/intense_code] [intense_code type=”block”] $ bluetoothctl
trust 20:14:10:xx:xx:xx
pair 20:14:10:xx:xx:xx
connect 20:14:10:xx:xx:xx
[/intense_code] [intense_code type=”block”] $ ls -la /dev/rf*
crw-rw—- 1 root dialout 216, 0 Jul 16 16:31 /dev/rfcomm0
crw-rw-r–+ 1 root netdev 10, 242 Jul 16 07:05 /dev/rfkill
[/intense_code]

Perintah berikut hanya diperlukan jika ingin mencoba Minicom.

[intense_code type=”block”] $ sudo minicom -D /dev/rfcomm0
Untuk keluar minicom, tekan ctrl+A lalu tekan X.
[/intense_code]

Perintah berikut hanya sebagai catatan, tidak mutlak diperlukan untuk percobaan ini.

[intense_code type=”block”] $ sudo hcitool cc 20:14:10:xx:xx:xx
$ sudo hcitool auth 20:14:10:xx:xx:xx
$ sdptool browse 20:14:10:xx:xx:xx
[/intense_code]

Pengaturan CuteCom

Pengaturan pertama adalah pengaturan komunikasi untuk CuteCom agar dapat berkomunikasi dengan kanal serial Arduino Uno melalui ttytUSB0. 

Gambar 4.

Pengaturan Moserial

Gambar 5.

Di percobaan ini software Moserial dipakai untuk dapat terhubung ke modul bluetooth HC-05 melalui rfcomm0. Sebelum terhubung, led di modul akan berkedip cepat. Setelah terbung (dengan penundaan beberapa saat), led akan berkedip dengan jauh lebih lambat.

Uji dengan Serial Bluetooth Terminal

Gambar 6.

Sebagai uji coba lanjutan, penggunaan Moserial diganti dengan penggunaan aplikasi SBT yang dijalankan dari smartphone Android. Laptop dan Android dapat terhubung dengan baik dan dapat berkomunikasi sebagaimana di Gambar 6.

 

Rujukan: