Raspberry Pi BLE

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi để điều khiển Module BLE HM-10. Cụ thể, chúng ta sẽ học:

Raspberry Pi ble

Mục đích của hướng dẫn này:

Điều quan trọng cần lưu ý là hướng dẫn này tập trung vào Bluetooth Low Energy (BLE, Bluetooth 4.0). Nếu bạn cần thông tin về Classic Bluetooth (Bluetooth 2.0), hãy tham khảo hướng dẫn tương tự Raspberry Pi - Bluetooth.

Phần Cứng Cần Thiết

1×Raspberry Pi 5
1×Module Bluetooth HM-10
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 HM-10

HM-10 là một module BLE Serial hoạt động như một bộ chuyển đổi Serial sang Bluetooth Low Energy. Nó thực hiện các tác vụ sau:

  • Nhận dữ liệu từ chân Serial RX và gửi nó đến thiết bị được ghép nối như smartphone qua BLE
  • Nhận dữ liệu từ BLE (từ thiết bị được ghép nối) và truyền nó đến chân Serial TX.

Khi Raspberry Pi được sử dụng để giao tiếp với ứng dụng smartphone (Android/iOS), các bước sau sẽ diễn ra:

  • Thiết lập kết nối giữa Raspberry Pi và module Bluetooth HM-10 thông qua các chân Serial
  • Ghép nối module Bluetooth HM-10 với ứng dụng smartphone
  • Gửi dữ liệu từ Raspberry Pi đến ứng dụng smartphone bằng cách ghi nó vào Serial
  • Nhận dữ liệu từ ứng dụng smartphone bằng cách đọc nó từ Serial
  • Không cần code BLE bổ sung trên Raspberry Pi.

Sơ Đồ Chân Module BLE HM-10

ble sơ đồ chân

Module BLE HM-10 có 6 chân:

  • Chân BKR: Chân này được sử dụng để điều khiển hoạt động của module. Nếu bạn là người mới bắt đầu, bạn có thể bỏ qua chân này.
  • Chân RX: Đây là chân dữ liệu serial và nó phải được kết nối với chân TX của Raspberry Pi. Dữ liệu nhận từ chân này sẽ được gửi đến Bluetooth.
  • Chân TX: Đây là chân dữ liệu serial và nó phải được kết nối với chân RX của Raspberry Pi. Dữ liệu nhận qua BLE sẽ được gửi đến chân này dưới dạng dữ liệu serial.
  • Chân GND: Đây là chân nguồn và nó phải được kết nối với GND của nguồn điện.
  • Chân VCC: Đây là chân nguồn và nó phải được kết nối với 3.3V của nguồn cung cấp.
  • Chân STATE: Chân này cho biết trạng thái hoạt động. Nó sẽ nhấp nháy ở chế độ chờ với xung 500ms, và sẽ sáng ở mức cao khi ở trạng thái kết nối.

※ Lưu ý:

  • -
  • Chỉ cần sử dụng bốn chân với HM-10, mà một số nhà sản xuất sản xuất.
  • VCC, GND, RX và TX là bốn chân được đề cập.

Về Ứng Dụng Bluetooth Serial Monitor

Để sử dụng Ứng dụng Bluetooth Serial Monitor, bạn phải trước tiên kết nối Raspberry Pi với module Bluetooth HM-10. Sau đó, tải xuống và cài đặt ứng dụng trên smartphone của bạn. Cuối cùng, mở ứng dụng và kết nối nó với module Bluetooth HM-10.

Khi bạn đã hoàn thành các bước này, bạn sẽ có thể gửi và nhận dữ liệu từ Raspberry Pi.

Sơ Đồ Kết Nối

Raspberry Pi ble sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Bảng kết nối dây. Bảng này hiển thị các kết nối dây. 1. Bảng Kết Nối:. Danh sách các kết nối dây. 2. Bảng Kết Nối:. Sơ đồ hiển thị các kết nối dây.

Chân Raspberry Pi Chân HM-10 Bluetooth
RX (GPIO15) TX
TX (GPIO14) RX
5V VCC
GND GND
BKR (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

Để gửi dữ liệu từ bo mạch Raspberry Pi đến ứng dụng Bluetooth trên smartphone, có thể sử dụng đoạn code sau. Ví dụ này cho thấy cách truyền thông điệp "Raspberry Pi here, command me!" từ Raspberry Pi đến ứng dụng mỗi một giây.

Các Bước Nhanh

  • Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích Raspberry Pi nào khác 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ộ như 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, hãy 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, hãy cài đặt nó bằng lệnh sau:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install pyserial
  • Tạo file script Python bluetooth_send.py và thêm đoạn code sau:
# Mã Raspberry Pi này được phát triển bởi newbiely.vn # Mã Raspberry Pi này được cung cấp để sử dụng công khai, không có ràng buộc. # Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: # https://newbiely.vn/tutorials/raspberry-pi/raspberry-pi-ble import serial from time import sleep # Define serial port for communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) # Main program try: while True: bluetooth.write(b"Raspberry Pi here, command me!\n") sleep(1) except KeyboardInterrupt: pass finally: bluetooth.close()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 bluetooth_send.py

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.

Để sử dụng code và kết nối bo mạch Raspberry Pi với smartphone qua BLE, hãy làm theo các bước sau:

  • Tải xuống và cài đặt Ứng dụng Bluetooth Serial Monitor trên smartphone của bạn.
  • Kết nối module Bluetooth HM-10 với bo mạch Raspberry Pi theo sơ đồ kết nối.
  • Trên smartphone của bạn, mở Ứng dụng Bluetooth Serial Monitor và chọn chế độ BLE.
Bluetooth serial monitor app
  • Kết nối smartphone với module Bluetooth HM-10.
Bluetooth serial monitor pairing
  • Xem kết quả trên Ứng dụng Android.
Bluetooth serial monitor app
  • Xem kết quả hiển thị trên Terminal.
PuTTY - Raspberry Pi
Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me!

Nếu bạn thực hiện các bước cần thiết và chạy code, bạn sẽ thấy rằng dữ liệu hiển thị trên ứng dụng Android là giống nhau.

Ứng dụng Bluetooth Gửi dữ liệu Đến Raspberry Pi

Code thực hiện những việc sau:

  • Truyền dữ liệu từ ứng dụng Bluetooth đến bo mạch Raspberry Pi
  • Bo mạch Raspberry Pi đọc dữ liệu đến và sau đó gửi phản hồi đến thiết bị Bluetooth.

Các Bước Nhanh

  • Tạo file script Python bluetooth_send_receive.py và thêm đoạn code sau:
# Mã Raspberry Pi này được phát triển bởi newbiely.vn # Mã Raspberry Pi này được cung cấp để sử dụng công khai, không có ràng buộc. # Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: # https://newbiely.vn/tutorials/raspberry-pi/raspberry-pi-ble import serial from time import sleep # Define serial port for Bluetooth communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) # Main program try: bluetooth.flushInput() # Clear any existing data in the input buffer while True: bluetooth.write(b"Raspberry Pi here, command me!\n") if bluetooth.inWaiting() > 0: command = bluetooth.readline().decode('utf-8').strip() # Read until newline character if command == "LED OFF": print("LED is turned OFF") # Report action to console # TODO: Control your LED here elif command == "LED ON": print("LED is turned ON") # Report action to console # TODO: Control your LED here # Add a delay to avoid excessive looping sleep(0.5) except KeyboardInterrupt: pass finally: bluetooth.close()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 bluetooth_send_receive.py

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.

Đây là hướng dẫn sử dụng code với Raspberry Pi và ứng dụng Android:

  • Khởi động Ứng dụng Android và ghép nối nó với module Bluetooth HM-10 bằng cách sử dụng các bước từ ví dụ trước.
  • Sau khi kết nối, gõ "LED ON" hoặc "LED OFF" trong ứng dụng Android và nhấn nút "SEND".
Bluetooth serial monitor app
  • Bo mạch Raspberry Pi sẽ nhận dữ liệu và in phản hồi ra cổng Serial. Sau đó, dữ liệu này sẽ được gửi đến ứng dụng Bluetooth. Cuối cùng, có thể kiểm tra kết quả trên ứng dụng Android.
Bluetooth serial monitor app
  • Kiểm tra kết quả trên Terminal.
PuTTY - Raspberry Pi
Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! LED ON LED is turned ON Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! LED OFF LED is turned OFF Raspberry Pi here, command me! Raspberry Pi here, command me!

Khi bạn đã hoàn thành các bước được đề cập ở trên, bạn sẽ quan sát thấy rằng dữ liệu hiển thị trên ứng dụng Android là giống hệt nhau.

Code Raspberry Pi - Điều khiển LED bằng ứng dụng smartphone qua BLE

Vui lòng tham khảo hướng dẫn Raspberry Pi Điều Khiển LED qua Bluetooth.

Code Raspberry Pi - Điều khiển Servo Motor bằng ứng dụng smartphone qua BLE

Vui lòng tham khảo hướng dẫn Raspberry Pi Điều Khiển Servo Motor qua Bluetooth.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.