Raspberry Pi Bluetooth
Hướng dẫn này sẽ chỉ cho bạn cách sử dụng Raspberry Pi để điều khiển Module Bluetooth HC-05. Cụ thể, chúng ta sẽ học:
- Quá trình sử dụng Bluetooth với Raspberry Pi
- Gửi dữ liệu từ Raspberry Pi đến ứng dụng smartphone thông qua Bluetooth
- Nhận dữ liệu trên Raspberry Pi từ ứng dụng smartphone qua Bluetooth
- Điều khiển Raspberry Pi từ ứng dụng smartphone bằng Bluetooth

Mục đích của hướng dẫn này:
- Để chỉ ra cách Raspberry Pi có thể trao đổi dữ liệu với ứng dụng smartphone.
- Để trình diễn việc sử dụng Module Bluetooth HC-05.
- Để giải thích cách sử dụng ứng dụng Bluetooth Serial Monitor trên Android.
- Để minh họa cách điều khiển LED và servo motor từ ứng dụng smartphone.
Hướng dẫn này về việc sử dụng Classic Bluetooth (Bluetooth 2.0). Nếu bạn đang tìm kiếm Bluetooth Low Energy - BLE (Bluetooth 4.0), vui lòng tham khảo hướng dẫn tương tự: Raspberry Pi - BLE
Phần Cứng Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | HC-05 Bluetooth Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Module Bluetooth HC-05
HC-05 là một module Bluetooth Serial hoạt động như một bộ chuyển đổi Serial sang Bluetooth. Nó có khả năng:
- Nhận dữ liệu từ chân Serial RX và truyền đến thiết bị đã ghép nối (như smartphone) qua Bluetooth
- Nhận dữ liệu từ Bluetooth (từ thiết bị đã ghép nối) và gửi đến chân Serial TX.
Cụ thể, để Raspberry Pi giao tiếp với ứng dụng Smartphone (Android/iOS):
- Raspberry Pi được kết nối với Module Bluetooth HC-05 thông qua các chân Serial.
- Module Bluetooth HC-05 được ghép nối với ứng dụng smartphone.
- Raspberry Pi gửi dữ liệu đến ứng dụng smartphone đơn giản bằng cách gửi dữ liệu đến Serial.
- Raspberry Pi nhận dữ liệu từ ứng dụng smartphone đơn giản bằng cách đọc từ Serial.
- Không cần mã Bluetooth đặc biệt trên Raspberry Pi.
Sơ Đồ Chân Module Bluetooth HC-05

Module Bluetooth HC-05 có 6 chân:
- Chân Enable/Key: Chân này được sử dụng để chuyển đổi giữa Chế độ Dữ liệu (đặt LOW) và Chế độ Lệnh (đặt HIGH). Nếu không kết nối, mặc định sẽ ở Chế độ Dữ liệu.
- Chân VCC: chân nguồn, nên được kết nối với +5V của nguồn cung cấp.
- Chân GND: chân nguồn, nên được kết nối với GND của nguồn cung cấp.
- Chân TX: chân dữ liệu Serial, nên được kết nối với chân RX của Raspberry Pi. Dữ liệu nhận được qua Bluetooth sẽ được gửi đến chân này dưới dạng dữ liệu serial.
- Chân RX: chân dữ liệu Serial, nên được kết nối với chân TX của Raspberry Pi. Dữ liệu nhận được từ chân này sẽ được gửi đến Bluetooth.
- State: Chân state được kết nối với LED onboard, có thể được sử dụng như phản hồi để xác định Bluetooth có hoạt động đúng không.
Tuy nhiên, cho các hoạt động cơ bản, chúng ta chỉ cần 4 chân của Module Bluetooth HC-05 được kết nối với Raspberry Pi.
Module Bluetooth HC-05 cũng bao gồm hai thành phần tích hợp:
- Một LED: chỉ thị trạng thái của Module
- Nhấp nháy mỗi hai giây một lần: cho biết Module đã vào Chế độ Lệnh
- Nhấp nháy liên tục: nghĩa là đang chờ kết nối trong Chế độ Dữ liệu
- Nhấp nháy hai lần mỗi giây: báo hiệu kết nối thành công trong Chế độ Dữ liệu
- Một nút nhấn: được sử dụng để điều khiển chân Key/Enable để chọn chế độ hoạt động (Chế độ Dữ liệu hoặc Chế độ Lệnh)
Cách Thức Hoạt Động
Module Bluetooth HC-05 có hai chế độ hoạt động:
- Chế độ dữ liệu được sử dụng để trao đổi dữ liệu với thiết bị đã ghép nối
- Chế độ lệnh được sử dụng để cấu hình các tham số.
May mắn thay, module Bluetooth HC-05 có thể hoạt động với Raspberry Pi mà không cần cấu hình gì, sử dụng cài đặt mặc định.
Cài Đặt Mặc Định HC-05
| Tên Bluetooth Mặc Định | "HC-05" |
|---|---|
| Mật Khẩu Mặc Định | 1234 hoặc 0000 |
| Giao Tiếp Mặc Định | Slave |
| Chế Độ Mặc Định | Chế Độ Dữ liệu |
| Tốc Độ Baud Chế Độ Dữ liệu Mặc Định | 9600, 8, N, 1 |
| Tốc Độ Baud Chế Độ Lệnh Mặc Định | 38400, 8, N, 1 |
Về Ứng Dụng Bluetooth Serial Monitor
Ứng dụng Bluetooth Serial Monitor cho phép giao tiếp với Raspberry Pi qua Bluetooth mà không cần mã bổ sung nào cho module Bluetooth trong mã Raspberry Pi. Để sử dụng nó, các bước sau cần được thực hiện:
- Kết nối Raspberry Pi với module Bluetooth HC-05
- Cài đặt ứng dụng Bluetooth Serial Monitor trên smartphone của bạn
- Mở ứng dụng và ghép nối với module Bluetooth HC-05
Bây giờ, bạn có thể truyền và nhận dữ liệu từ Raspberry Pi.
Sơ Đồ Đấu Dây

This image is created using Fritzing. Click to enlarge image
Bảng Kết Nối Đấu Dây. Sơ Đồ Đấu Dây. Biểu Đồ Liên Kết Đấu Dây
| Chân Raspberry Pi | Chân HC-05 Bluetooth |
|---|---|
| RX (GPIO15) | TX |
| TX (GPIO14) | RX |
| 5V | VCC |
| GND | GND |
| Enable/Key (KHÔNG kết nối) | |
| State (KHÔNG kết nối) |
Raspberry Pi gửi dữ liệu đến Ứng dụng Bluetooth trên Smartphone
Để truyền dữ liệu từ Raspberry Pi đến Ứng dụng Bluetooth trên Smartphone, mã sau cho Raspberry Pi phải được sử dụng:
Trong ví dụ này, chúng ta sẽ có Raspberry Pi gửi "Raspberry Pi here, command me!" đến Ứng dụng Bluetooth trên Smartphone mỗi giây.
Các Bước Nhanh
- Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành tương thích khác với Raspberry Pi trên Pi của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC của bạn với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, cài đặt bằng lệnh sau:
- Kích hoạt giao diện Serial trên Raspberry Pi bằng cách làm theo hướng dẫn tại Raspberry Pi - cách kích hoạt giao diện Serial
- Cài đặt thư viện pyserial để giao tiếp với module bluetooth:
- Tạo tệp script Python bluetooth_send.py.py và thêm mã sau:
- Lưu tệp và chạy script Python bằng cách thực hiện lệnh sau trong terminal:
Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
- Cài đặt ứng dụng Bluetooth Serial Monitor trên smartphone của bạn.
- Đấu dây module Bluetooth HC-05 với Raspberry Pi theo sơ đồ đấu dây.
- Mở ứng dụng Bluetooth Serial Monitor trên smartphone và chọn chế độ Classic Bluetooth.

- Kết nối với module Bluetooth HC-05.

- Kiểm tra kết quả trên ứng dụng Android.

- Kiểm tra kết quả trong Terminal.
Ứng dụng Bluetooth Gửi dữ liệu Đến Raspberry Pi
Mã sau:
- Cho phép Ứng dụng Bluetooth gửi dữ liệu đến Raspberry Pi
- Cho phép Raspberry Pi đọc dữ liệu và gửi phản hồi trở lại Ứng dụng Bluetooth
Các Bước Nhanh
- Tạo tệp script Python bluetooth_send_receive.py và thêm mã sau:
- Lưu tệp và chạy script Python bằng cách thực hiện lệnh sau trong terminal:
- Kết nối ứng dụng Android với module Bluetooth HC-05, như đã thực hiện trước đó.
- Khi đã kết nối, nhập "LED ON" hoặc "LED OFF" trên ứng dụng Android và nhấn nút "SEND".

- Raspberry Pi nhận dữ liệu và in phản hồi ra cổng Serial.
- Phản hồi này sau đó sẽ được gửi đến ứng dụng Bluetooth.
- Kết quả có thể được xem trên ứng dụng Android.

- Kiểm tra đầu ra trong Terminal.
Bạn sẽ thấy rằng thông tin hiển thị trên ứng dụng Android là giống nhau.
Mã Raspberry Pi - Điều khiển LED bằng ứng dụng smartphone qua Bluetooth
Vui lòng tham khảo hướng dẫn Raspberry Pi Điều Khiển LED qua Bluetooth.
Mã Raspberry Pi - Điều khiển Servo Motor bằng ứng dụng smartphone qua Bluetooth
Vui lòng tham khảo hướng dẫn Raspberry Pi Điều Khiển Servo Motor qua Bluetooth.