首頁 > 評測 > 低功耗、WiFi、藍牙都齊全了,不過還不止如此——DFRobot 螢火蟲ESP32開發(fā)板上手
低功耗、WiFi、藍牙都齊全了,不過還不止如此——DFRobot 螢火蟲ESP32開發(fā)板上手
- [導(dǎo)讀]
- 螢火蟲ESP32(Fire Beetle Board-ESP32)是DFRobot推出的基于ESP32模塊的一款物聯(lián)網(wǎng)開發(fā)板,板載ESP-WROOM-32雙核芯片,支持WiFi和藍牙雙模通信,外圍兼容低功耗硬件設(shè)計,深度睡眠模式下功耗僅為10uA。
安裝后的esp目錄結(jié)構(gòu)如下
dev@desktop:~/esp$ tree -L 3 --dirsfirst
.
├── esp-idf
│ ├── components
│ │ ├── app_trace
│ │ ├── app_update
│ │ ├── aws_iot
│ │ ├── bootloader
...
│ │ ├── vfs
│ │ ├── wear_levelling
│ │ ├── wpa_supplicant
│ │ └── xtensa-debug-module
│ ├── docs
│ │ ├── api-guides
│ │ ├── api-reference
...
│ │ └── resources.rst
│ ├── examples
│ │ ├── bluetooth
...
│ │ ├── wifi
│ │ └── README.md
│ ├── make
│ │ ├── common.mk
│ │ ├── component_common.mk
│ │ ├── component_wrapper.mk
│ │ ├── project_config.mk
│ │ └── project.mk
│ ├── tools
│ │ ├── catch
│ │ ├── ci
│ │ ├── esp_app_trace
...
│ │ └── idf_size.py
│ ├── add_path.sh
│ ├── CONTRIBUTING.rst
│ ├── Kconfig
│ ├── LICENSE
│ └── README.md
其中esp-idf目錄包含了ESP32的主要組件代碼,examples目錄包含了示例代碼,tools目錄則包括一些常用的工具。
進入examples目錄下的blink目錄,這里包含一個點燈工程所需要的代碼。在該目錄下執(zhí)行命令
make menuconfig
該命令打開工程配置窗口,對當(dāng)前工程進行配置,配置的內(nèi)容主要包括Bootloader、串口名稱及參數(shù)、編譯選項等。如下圖是選擇具體串口參數(shù)的配置畫面
這里需要注意一點,F(xiàn)ire Beetle Board-ESP32本身并沒有提供FT232之類的串口模塊,相反,在Fire Beetle Board-ESP32上有一個STM32F042微處理器,應(yīng)該是用來提供串口通信功能的。
另外,F(xiàn)ire Beetle Board-ESP32內(nèi)置的LED連接到ESP32的D9接口,該GPIO的ESP32編號為2,如下圖所示
在前面提到的工程配置窗口中,繼續(xù)配置用到的GPIO接口,如下圖所示
Fire Beetle Board-ESP32默認使用D9來控制LED,該PIN的編號為2,所以這里要指定GPIO為2。
接下來就可以使用make flash命令來編譯并上傳代碼到ESP32開發(fā)板了,如下
由于之前已經(jīng)編譯過代碼,這里看到的是直接上傳代碼的過程,另外也可以看到一些硬件相關(guān)的信息,如芯片型號及FLASH的大小等信息。最后看到代碼上傳成功后,自動硬件復(fù)位并開始執(zhí)行剛上傳的代碼,同時會看到開發(fā)板上的LED燈開始閃爍。
另外順便也使用IDF編譯了bluetooth的GATT SERVER工程文件,并上傳到開發(fā)板,GATT SERVER的主要配置如下
#define GATTS_SERVICE_UUID_TEST_A 0x00FF
#define GATTS_CHAR_UUID_TEST_A 0xFF01
#define GATTS_DESCR_UUID_TEST_A 0x3333
#define GATTS_NUM_HANDLE_TEST_A 4
#define GATTS_SERVICE_UUID_TEST_B 0x00EE
#define GATTS_CHAR_UUID_TEST_B 0xEE01
#define GATTS_DESCR_UUID_TEST_B 0x2222
#define GATTS_NUM_HANDLE_TEST_B 4
#define TEST_DEVICE_NAME "ESP_GATTS_DEMO"
#define TEST_MANUFACTURER_DATA_LEN 17
這里定義了兩個SERVICE,UUID分別為0x00EE和0x00FF,每個SERVICE都定義了相應(yīng)的Characteristic。另外設(shè)備的名稱定義為"ESP_GATTS_DEMO"。
使用NRF CONNECT測試畫面如下
這是掃描到的BLE信息,包括SERVICE、RSSI等信息。
這是連接到設(shè)備后的信息,展開相關(guān)的Service,還可以對其中的Characteristic進行讀寫操作。
由于IDF一般需要在LINUX系統(tǒng)下使用,對于新手來說略微復(fù)雜了一點,DFRobot也提供了基于Arduino的操作。
使用Arduino來操作的話,先要配置相應(yīng)的硬件支持,打開Arduino IDE,在Preferences對話框中添加如下的URL
https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.json
在Boards Manager中添加對Fire Beetle Board-ESP32的支持,如下
添加了對Fire Beetle Board-ESP32的支持后,就可以使用Arduino來開發(fā)ESP32了。
Fire Beetle Board-ESP32除了支持藍牙外,還支持WiFi功能。對于像Fire Beetle Board-ESP32這樣沒有顯示器的設(shè)備來說,WiFi的配置就比較麻煩一點。大部分的作法是直接在源碼里指定相關(guān)路由器的SSID及PASSWORD,這樣的硬編碼方式,雖然可用,但是靈活性大打折扣。為此,很多設(shè)備都結(jié)合手機APP來實現(xiàn)對開發(fā)板的智能自動配置,如此一來,靈活性和適用性大大增強了。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機控制器開發(fā)
預(yù)算:¥1100001天前