Bluetooth HC-05 AT Commands

Bluetooth adalah salah satu modul komunikasi sederhana yang dapat dibeli dengan harga relatif murah. Modul Bluetooth HC-05 dapat dengan mudah ditemukan di berbagai jejaring toko online dengan harga sekitar 50 ribu.  Sebelum membahas lebih lanjut tentang Bluetooth saya akan membahas beberapa konsep dasar Bluetooth.

Introduction

Bluetooth adalah sebuah standar teknologi nirkabel untuk komunikasi data jarak dekat. Bluetooth menggunakan frekuensi 2.4 GHz yang merupakan frekuensi bebas untuk transmit dengan batasan daya yang rendah. Standar Bluetooth mencakup banyak protokol, salah satunya adalah protokol RFCOMM. Modul Bluetooth yang umum kita jumpai ini menggunakan protokol ini. Protokol RFCOMM adalah protokol yang paling populer dalam Bluetooth karena banyaknya API yang tersedia untuk protokol ini, selain itu protokol ini, yang sering disebut serial port emulation, dapat diintegrasikan pada banyak aplikasi yang menggunakan RS-232 sebagai antarmuka komunikasinya.

Generic Bluetooth RFCOMM Modules

Setelah mengetahui beberapa konsep dasar Bluetooth, sudah waktunya untuk melihat cara kerja Bluetooth secara langsung. Untuk demonstrasi kali ini, saya mencoba dengan Bluetooth module: Tokopedia (Disclaimer: Tidak ada maksud untuk promosi).

Bluetooth
Gambar 1. Bluetooth HC 05 Module

Module Bluetooth sesuai Gambar 1 adalah modul berbasis Bluetooth chip BC417. Modul ini memiliki keluaran pin STATE, RX, TX, GND, +5V, dan EN. Untuk menggunakan modul ini, cukup koneksikan pin RX, TX, GND, dan +5V.

Pin 5V atau pin VCC di modul ini sebenarnya terhubung dengan LDO voltage regulator pada board modul Bluetooth ini. Saya coba melihat regulator yang digunakan, namun sulit menemukan datasheet dari komponen SMD ini. Sebelum saya membahas bagaimana pemrograman AT commands menggunakan Raspberry Pi, pertama saya uji coba terlebih dahulu serial port dengan Bluetooth module ini.

Koneksikan pin TX Bluetooth dengan RX Raspberry Pi, RX Bluetooth dengan TX Raspberry Pi, VCC dengan +5V Raspberry Pi dan GND dengan GND Raspberry Pi. Saya nyalakan minicom untuk membuka port serial (/dev/ttyS0) dengan baudrate 9600. Tampilan uji coba dapat dilihat pada Gambar 2.

Capture
Gambar 2. Penerimaan Serial Port via Bluetooth

AT Commands Bluetooth

Setelah berhasil komunikasi Serial, selanjutnya yang perlu dicoba adalah AT Commands, melalui AT Commands, dapat dilakukan berbagai macam konfigurasi seperti nama Bluetooth dan PIN, serta baud rate. Untuk itu saya membuat script singkat di Python untuk melaksanakan fungsi ini, sebelum mencoba script ini, pastikan Raspberry Pi sudah terinstal Python dan package PySerial (python-serial).

# apt-get install python-serial

Sebelum saya memberi source code dari AT command configuration, perlu saya tekankan bahwa untuk memasuki AT commands terdapat tiga cara, pertama memberi pin 34 pada Bluetooth Module tegangan 3.3V, jika dengan cara ini, modul akan masuk ke mode full AT commands, di mana semua AT commands dapat diakses dan baudrate dari modul adalah 38400. Cara kedua adalah menekan tombol sebelum modul menyala dan pastikan tombol tetap tertekan saat konfigurasi berlangsung (secara efektif cara ini sama dengan cara pertama), sehingga modul akan masuk dalam mode full AT command. Cara ketiga adalah setelah modul sudah menyala, tekan tombol pada modul dan tahan saat melakukan konfigurasi, modul akan memasuki mode semi AT command dimana baudrate tetap menggunakan baud rate komunikasi serial normal (9600 baud default). Jika Anda lupa baud rate komunikasi serial normal, sebaiknya program Bluetooth menggunakan full AT command mode.

# attest.py
# Sending AT commands to Bluetooth HC-05

import serial
import time

bluetooth = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=5)

bluetooth.write('AT+NAME=JosefMTD\r\n')
result = bluetooth.read(100)
print result

bluetooth.write('AT+UART=38400,0,0\r\n')
result = bluetooth.read(100)
print result

Untuk memakai program di atas, ubah “/dev/ttyS0” dengan “/dev/ttyACM0” jika Anda menggunakan PL011 Hardware UART dari Raspberry Pi, gunakan /dev/ttyS0 jika Anda menggunakan mini UART. Baudrate sesuaikan dengan baudrate modul atau masukan 38400 jika Anda ingin memasuki mode full AT command.

Untuk mengubah nama dan baudrate, modul Bluetooth dapat dikonfigurasi dalam mode Semi AT command, sehingga proses yang saya lakukan adalah menekan tombol, menjalankan script attest.py lalu melepas tombol saat program selesai berjalan.

Capture1.PNG
Gambar 3. Output dari program attest.py

Sekian dahulu post saya untuk kali ini, tinggalkan komentar jika Anda mengalami masalah setting up Bluetooth

Diterbitkan oleh josefmtd

Junior Electronics Engineer

Tinggalkan komentar

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

%d blogger menyukai ini: