使用 Arduino IDE 進行 ESP32 BLE 開發的快速入門步驟
在本篇博客中,我們將介紹如何使用 Arduino IDE 來編程 ESP32 BLE 功能的快速簡易步驟。如果您是第一次使用 Arduino IDE 或 ESP32 BLE,別擔心——本指南將從環境設置到編寫簡單的 ESP32 BLE 應用,詳細涵蓋每一個步驟。
內容
簡介
ESP32 是一款強大的微控制器,內建 藍牙低功耗(BLE) 和 Wi-Fi 功能,非常適合用於物聯網(IoT)項目。ESP32 BLE 是 ESP32 的一個熱門功能,將它應用於您的項目中,可以開啟許多不同的應用場景,從遠程控制系統到傳感器數據傳輸等。
安裝 Arduino IDE 開發 ESP32
配置 IDE 編輯器以支持 ESP32
1. 打開IDE 編輯器,然後選擇「Arduino > Settings...」。 ( MacOS 為例 )
2. 在「附加開發板管理網址」欄位中,添加以下網址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
* 如果你已經有其他開發板管理網址,請在它們之後添加該網址,用逗號隔開。
3. 點擊「確定」以保存設定。
安裝 ESP32 開發包
1. 打開 Arduino IDE,然後選擇「工具 > 開發板 > 開發板管理器」。
2. 在開發板管理器的搜索框中輸入「ESP32」,找到「esp32 by Espressif Systems」,然後點擊安裝。
選擇 ESP32 開發板
安裝完成後,進入「工具 > 開發板」,從列表中選擇「ESP32 Dev Module」,這是常用的 ESP32 開發板型號。
基本的 ESP32 BLE 程式
現在我們來編寫並上傳一個簡單的 BLE 範例程式,確保一切設置正確。
1. 在 Arduino IDE 中,創建一個新的程式。
2. 複製並粘貼以下程式碼,它將設置一個簡單的 BLE 伺服器:
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
BLECharacteristic *pCharacteristic;
#define SERVICE_UUID "12345678-1234-1234-1234-123456789abc"
#define CHARACTERISTIC_UUID "87654321-4321-4321-4321-123456789abc"
void setup() {
Serial.begin(115200);
BLEDevice::init("ESP32_BLE_Server"); // Initialize BLE
BLEServer *pServer = BLEDevice::createServer(); // Create BLE Server
BLEService *pService = pServer->createService(SERVICE_UUID); // Create BLE Service
pCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE
);
pCharacteristic->setValue("Hello BLE");
pService->start(); // Start the BLE Service
BLEAdvertising *pAdvertising = pServer->getAdvertising();
pAdvertising->start(); // Start advertising BLE service
Serial.println("BLE Server is ready and advertising!");
}
void loop() {
// Nothing to do here
}
1. 這段程式碼會創建一個 BLE 伺服器,並廣播一個服務和一個特徵。
2. SERVICE_UUID 和 CHARACTERISTIC_UUID 是唯一的識別符,用於讓 BLE 客戶端與伺服器交互。
BLE 伺服器 (Server) | 客戶端 (Client)
角色 | BLE 伺服器 (Server) | BLE 客戶端 (Client) |
功能 | 提供服務、特徵,等待客戶端的請求 | 發起連接、讀取/寫入特徵、訂閱通知 |
發起請求 | 被動,等待客戶端的操作 | 主動發起請求和連接 |
數據存儲 | 儲存特徵數據,提供功能 | 讀取/修改伺服器提供的數據 |
典型設備 | 智能燈泡、傳感器、監測設備等 | 智能手機、平板電腦等 |
連接模式 | 廣播並等待連接 | 掃描並選擇連接可用的伺服器 |
將程式上傳到 ESP32
1. 使用 USB 數據線將 ESP32 開發板連接到電腦。
2. 在 IDE 編輯器中,前往 工具 > 端口,選擇正確的端口(例如,Windows 上通常是 COM3,Linux/macOS 上是 /dev/ttyUSB0)。
3. 點擊 上傳 按鈕,將程式上傳到 ESP32。
查看結果
程式上傳成功後,ESP32 會開始廣播它的 BLE 服務。
1. 打開一個 BLE 扫描器應用,例如 nRFConnect(適用於 iOS 或 Android)。
2. 掃描可用的 BLE 設備,應該能看到 ESP32_BLE_Server。
3. 連接到 ESP32,並應該能看到 Hello BLE 消息,這來自於 特徵。
結論
使用 Arduino IDE 開發 ESP32 的 BLE 應用是一個簡單又強大的方式來實現藍牙低功耗功能。通過這些簡單的步驟,你可以設置開發環境,編寫並上傳 BLE 範例程式,並使用手機應用來測試你的 ESP32 BLE 伺服器。從這裡開始,你可以進一步擴展項目,開發更多複雜的 BLE 互動,像是連接多個設備或控制物聯網硬體。