首页 > 评测 > 低功耗、WiFi、蓝牙都齐全了,不过还不止如此——DFRobot 萤火虫ESP32开发板上手
低功耗、WiFi、蓝牙都齐全了,不过还不止如此——DFRobot 萤火虫ESP32开发板上手
- [导读]
- 萤火虫ESP32(Fire Beetle Board-ESP32)是DFRobot推出的基于ESP32模块的一款物联网开发板,板载ESP-WROOM-32双核芯片,支持WiFi和蓝牙双模通信,外围兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。
安装后的esp目录结构如下
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目录,这里包含一个点灯工程所需要的代码。在该目录下执行命令
make menuconfig
该命令打开工程配置窗口,对当前工程进行配置,配置的内容主要包括Bootloader、串口名称及参数、编译选项等。如下图是选择具体串口参数的配置画面
这里需要注意一点,Fire Beetle Board-ESP32本身并没有提供FT232之类的串口模块,相反,在Fire Beetle Board-ESP32上有一个STM32F042微处理器,应该是用来提供串口通信功能的。
另外,Fire Beetle Board-ESP32内置的LED连接到ESP32的D9接口,该GPIO的ESP32编号为2,如下图所示
在前面提到的工程配置窗口中,继续配置用到的GPIO接口,如下图所示
Fire Beetle Board-ESP32默认使用D9来控制LED,该PIN的编号为2,所以这里要指定GPIO为2。
接下来就可以使用make flash命令来编译并上传代码到ESP32开发板了,如下
由于之前已经编译过代码,这里看到的是直接上传代码的过程,另外也可以看到一些硬件相关的信息,如芯片型号及FLASH的大小等信息。最后看到代码上传成功后,自动硬件复位并开始执行刚上传的代码,同时会看到开发板上的LED灯开始闪烁。
另外顺便也使用IDF编译了bluetooth的GATT SERVER工程文件,并上传到开发板,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都定义了相应的Characteristic。另外设备的名称定义为"ESP_GATTS_DEMO"。
使用NRF CONNECT测试画面如下
这是扫描到的BLE信息,包括SERVICE、RSSI等信息。
这是连接到设备后的信息,展开相关的Service,还可以对其中的Characteristic进行读写操作。
由于IDF一般需要在LINUX系统下使用,对于新手来说略微复杂了一点,DFRobot也提供了基于Arduino的操作。
使用Arduino来操作的话,先要配置相应的硬件支持,打开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来开发ESP32了。
Fire Beetle Board-ESP32除了支持蓝牙外,还支持WiFi功能。对于像Fire Beetle Board-ESP32这样没有显示器的设备来说,WiFi的配置就比较麻烦一点。大部分的作法是直接在源码里指定相关路由器的SSID及PASSWORD,这样的硬编码方式,虽然可用,但是灵活性大打折扣。为此,很多设备都结合手机APP来实现对开发板的智能自动配置,如此一来,灵活性和适用性大大增强了。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前