ESP8266 BLE
Hướng dẫn này chỉ cho bạn cách sử dụng ESP8266 để điều khiển mô-đun BLE HM-10. Cụ thể, chúng ta sẽ tìm hiểu:
- Việc sử dụng công nghệ Bluetooth Low Energy (BLE) với ESP8266
- Gửi dữ liệu từ ESP8266 đến một ứng dụng trên điện thoại thông qua BLE
- Nhận dữ liệu trên ESP8266 từ một ứng dụng trên điện thoại thông qua BLE
- Điều khiển ESP8266 từ một ứng dụng trên điện thoại nhờ BLE

Mục đích của hướng dẫn này là:
- Trao đổi dữ liệu giữa ESP8266 và một ứng dụng trên điện thoại qua BLE.
- Sử dụng module HM-10 Bluetooth Low Energy rất phổ biến.
- Hiển thị ứng dụng Bluetooth Serial Monitor trên Android, nhưng có thể sử dụng bất kỳ ứng dụng Android/iOS nào.
- Điều khiển nhiều thiết bị được kết nối với ESP8266 thông qua ứng dụng trên điện thoại, ví dụ như một đèn LED và động cơ servo.
Điều quan trọng là nhận thức rằng hướng dẫn này được dành riêng cho Bluetooth Low Energy (BLE, hay Bluetooth 4.0). Nếu bạn cần thông tin về Bluetooth cổ điển (Bluetooth 2.0), vui lòng tham khảo một hướng dẫn tương tự ESP8266 - Bluetooth.
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | HM-10 Bluetooth Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về mô-đun Bluetooth HM-10
HM-10 là một mô-đun BLE nối tiếp hoạt động như một bộ chuyển đổi từ cổng nối tiếp sang Bluetooth Low Energy. Nó thực hiện các nhiệm vụ sau:
- Lấy dữ liệu từ chân Serial RX và gửi nó tới một thiết bị được kết nối, ví dụ như điện thoại thông minh, qua BLE
- Nhận dữ liệu từ BLE (từ thiết bị ghép đôi) và truyền nó đến chân Serial TX
Khi ESP8266 được sử dụng để giao tiếp với một ứng dụng trên điện thoại thông minh (Android/iOS), các bước sau đây diễn ra:
- Một kết nối được thiết lập giữa ESP8266 và module Bluetooth HM-10 thông qua các chân Serial/SoftwareSerial.
- Module Bluetooth HM-10 được ghép đôi với ứng dụng trên điện thoại thông minh.
- Dữ liệu được gửi từ ESP8266 tới ứng dụng trên điện thoại bằng cách gửi nó qua Serial/SoftwareSerial.
- Dữ liệu được nhận từ ứng dụng trên điện thoại bởi ESP8266 bằng cách đọc từ Serial/SoftwareSerial.
- Không cần thêm mã BLE cho ESP8266.
Sơ đồ các chân của mô-đun BLE HM-10

Mô-đun BLE HM-10 có 6 chân:
- Chân BKR được dùng để điều khiển hành vi của mô-đun. 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 là chân dữ liệu serial và nên được kết nối với chân TX của ESP8266. Dữ liệu nhận từ chân này sẽ được gửi tới Bluetooth.
- Chân TX là chân dữ liệu serial và nên được kết nối với chân RX của ESP8266. Dữ liệu nhận được qua BLE sẽ được gửi tới chân này dưới dạng dữ liệu serial.
- Chân GND là chân nguồn và nên được kết nối với GND của nguồn cấp điện.
- Chân VCC là chân nguồn và nên được kết nối với điện áp 3,3 V.
- Chân STATE cho biết các trạng thái hoạt động:
- Nhấp nháy ở chế độ chờ - sẽ lặp lại xung 500 ms;
- Bật ở trạng thái kết nối - tín hiệu ở mức cao.
- Chỉ cần bốn chân cho HM-10: VCC, GND, RX và TX.
- Một số nhà sản xuất HM-10 sản xuất nó chỉ với đúng bốn chân này.
※ Lưu ý:
Về Ứng dụng Bluetooth Serial Monitor
Để sử dụng Ứng dụng Bluetooth Serial Monitor, trước tiên bạn phải kết nối ESP8266 với một mô-đun HM-10 Bluetooth. Sau đó, tải xuống và cài đặt ứng dụng trên điện thoại thông minh của bạn. Cuối cùng, mở ứng dụng và kết nối nó với mô-đun HM-10 Bluetooth.
Sau khi bạn hoàn thành các bước này, bạn sẽ có thể truyền và nhận dữ liệu từ ESP8266 như thể bạn đang sử dụng Serial Monitor trong Arduino IDE, mà không cần phải chỉnh sửa bất kỳ mã ESP8266 nào hoặc thêm bất kỳ mã nào liên quan đến Bluetooth.
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
Bảng nối dây là một loại biểu đồ thể hiện các kết nối giữa các thành phần khác nhau. Bảng nối dây là một biểu đồ cho thấy các liên kết giữa các thành phần khác nhau.
| ESP8266 Pins | HM-10 Bluetooth Pins |
|---|---|
| Pin D7 | TX |
| Pin D6 | RX |
| 5V | VCC |
| GND | GND |
| BKR (NOT connected) | |
| STATE (NOT connected) |
※ Lưu ý:
Mã ESP8266 có thể được chỉnh sửa để sử dụng các chân khác bằng cách thay thế đối tượng Serial bằng một tùy chọn thay thế, chẳng hạn Serial1, Serial2, hoặc SoftwareSerial (nếu có sẵn).
Cách Lập Trình Cho Bluetooth
Không cần lập trình đặc biệt cho Bluetooth; chỉ cần lập trình Serial là được.
ESP8266 gửi dữ liệu tới ứng dụng Bluetooth trên điện thoại thông minh
Để gửi dữ liệu từ một bo mạch ESP8266 đến một ứng dụng Bluetooth trên điện thoại thông minh, có thể sử dụng đoạn mã sau. Ví dụ này cho thấy việc truyền thông điệp “ESP8266 here, command me!” từ ESP8266 đến ứng dụng trên điện thoại mỗi giây một lần.
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các thành phần theo như được mô tả trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 đúng, ví dụ như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
Để thiết lập một bo mạch ESP8266 để giao tiếp với điện thoại thông minh qua BLE, cần làm theo các bước sau:
- Tải xuống và cài đặt ứng dụng Bluetooth Serial Monitor trên điện thoại thông minh của bạn: https://arduinogetstarted.com/apps/bluetooth-serial-monitor
- Kết nối mô-đun Bluetooth HM-10 với bo mạch ESP8266 theo sơ đồ nối dây.
- Mở Arduino IDE, sao chép mã ở phía trên, và tải nó lên cho bo mạch ESP8266. Nếu bạn không thể tải mã lên, ngắt kết nối các chân TX và RX từ mô-đun Bluetooth, tải mã lên, và sau đó kết nối lại các chân RX/TX.
- Mở Serial Monitor trên Arduino IDE.
- Trên điện thoại của bạn, mở ứng dụng Bluetooth Serial Monitor và chọn chế độ BLE.

- Kết nối điện thoại thông minh với mô-đun Bluetooth HM-10.

- Kiểm tra kết quả của ứng dụng Android.

- Kiểm tra đầu ra được hiển thị trên Serial Monitor của Arduino IDE.
Nếu bạn thực hiện các bước được đề cập và chạy mã, bạn sẽ nhận thấy dữ liệu được hiển thị trên Trình giám sát Serial của Arduino IDE và ứng dụng Android giống nhau.
Ứng dụng Bluetooth Gửi dữ liệu đến ESP8266
Các bước sau được thực hiện bởi mã:
- Truyền dữ liệu từ ứng dụng Bluetooth đến bộ mạch ESP8266
- Bộ mạch ESP8266 nhận dữ liệu từ Bluetooth và gửi phản hồi về cho thiết bị Bluetooth.
Hướng dẫn từng bước
- Kết nối các thành phần như được hiển thị trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 đúng, chẳng hạn như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
Dưới đây là cách sử dụng đoạn mã với ESP8266 và một ứng dụng Android:
- Bắt đầu bằng cách mở Arduino IDE và sao chép mã được cung cấp vào.
- Nhấp vào nút Tải lên để chuyển mã sang bo mạch ESP8266.
- Bây giờ mở Serial Monitor trên Arduino IDE.
- Tiếp theo, mở ứng dụng Android và ghép nối nó với mô-đun Bluetooth HM-10 bằng các hướng dẫn từ một ví dụ trước đó.
- Cuối cùng, gõ 'LED ON' hoặc 'LED OFF' trong ứng dụng Android và nhấn nút 'SEND'.

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

- Xem đầu ra được hiển thị trên Serial Monitor của Arduino IDE.
Sau khi bạn đã thực hiện xong các bước ở trên, bạn sẽ nhận thấy thông tin được hiển thị trên Serial Monitor của Arduino IDE và ứng dụng Android là giống nhau.
Mã ESP8266 - Điều khiển LED bằng ứng dụng trên điện thoại thông minh qua BLE
Đoạn mã ví dụ cho ESP8266 này sử dụng các lệnh “ON” và “OFF” được nhận thông qua Ứng dụng Bluetooth Serial Monitor để bật hoặc tắt đèn LED tích hợp.
Bạn có thể xem kỹ chi tiết hướng dẫn bằng cách ghé thăm bài hướng dẫn ESP8266 Điều khiển đèn LED qua Bluetooth. Để có sự hiểu biết tốt hơn về hướng dẫn, hãy xem bài hướng dẫn ESP8266 Điều khiển đèn LED qua Bluetooth. Để xem xét kỹ lưỡng hướng dẫn, tham khảo bài hướng dẫn ESP8266 Điều khiển đèn LED qua Bluetooth.
Mã ESP8266 - Điều khiển động cơ servo bằng ứng dụng trên điện thoại thông minh qua BLE
i. Mã ESP8266 ở dưới đây nhằm mục đích nhận một giá trị góc.
- Giá trị này được gửi thông qua ứng dụng Bluetooth Serial Monitor.
- Giá trị góc được dùng để điều khiển góc quay của một động cơ servo.
Bạn có thể tìm thêm thông tin về các hướng dẫn trong bài hướng dẫn có tiêu đề Điều khiển động cơ servo bằng ESP8266 qua Bluetooth. Để xem chi tiết hơn về các hướng dẫn, vui lòng tham khảo bài hướng dẫn Điều khiển động cơ servo bằng ESP8266 qua Bluetooth.
Nếu bạn thấy ứng dụng Bluetooth Serial Monitor hữu ích, hãy thể hiện sự biết ơn của bạn bằng cách cho nó đánh giá 5 sao trên Cửa hàng Play. Sự ủng hộ của bạn được đánh giá cao!
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.