kylinpoet 发表于 2022-6-20 19:44:26

【Beetle ESP32-C3试用(一)】点灯是最好的体验

本帖最后由 kylinpoet 于 2022-6-20 20:19 编辑

# 一:初识产品
## 1. 实物图
当第一次拿到这块板子的时候,还是比较惊艳的。如下图,虽然图看起来比较大,但你可以想象下,它只有1元硬币大小的样子。

除此之外,包装盒里还有一块扩展板和两个排针。

扩展板上有18pin-FPC线接口,用于连接DFRbot专用GDI显示屏。
## 2. 产品文档
作为一个程序员(非标),虽然极不喜欢写产品文档,但是却要求别人的产品文档要好看、实用。所以,当我们拿到一个电子产品时,所幸发现DF的产品文档还是比较丰富的。

我们可以很方便地在 [**_商品库_**](https://www.dfrobot.com.cn/index.php)**_ _**或者 [**_产品资料库_**](https://wiki.dfrobot.com.cn/)**_ _**找到文档:
(https://wiki.dfrobot.com.cn/_SKU_DFR0868_Beetle_ESP32_C3)

# 二:产品初体验
因为ESP芯片的特殊性,首先需要配置开发环境。
## 1. Arduino开发环境配置
### 1.1ESP32开发包的问题
因为ESP32的[开发板管理器](https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json)网址,很多人不能直接访问。因此,首要问题是如何解决ESP32开发包的配置问题。
#### 1.1.1 不可描述访问法
因为是不可描述网络连接的访问法,这里就不展开讲了。懂得都懂(手动狗头)
#### 1.1.2 修改hosts地址法
主要是(https://raw.githubusercontent.com/)的域名解析,百度之或者直接 修改 hosts 文件添加:
```json
185.199.109.133 raw.githubusercontent.com
```
然后就可以愉快下载开发包了。
#### 1.1.3 开发包本地安装
请看一下文章:
(https://www.arduino.cn/thread-81194-1-1.html)
### 1.2 Arduino开发设置
#### 1.2.1 选择开发板:

#### 1.2.2 开启USB CDC
在开始前您还需要配置如下设置(当您选择 Disabled 时,串口为RX(20)、TX(21),如果您需要通过USB在Arduino监视器上打印,您需要选择Enable)

### 1.3 我还是要点灯
虽然 @木子姐姐 在测评说明里要求不能点灯,但电子设备界的`Hello World`始终不能缺席的,我们在`Arduino`里写入如下代码:
#### 1.3.1 代码
```c
int led = 10; //主板LED引脚
void setup() {
pinMode(led,OUTPUT);
}

void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
```
#### 1.3.2 效果展示
可爱蓝如愿亮起

## 2. VSCODE + ESP-IDF 配置
ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32 和 ESP32-S 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。
而本人比较习惯于VSCODE开发环境,因此来简单说明下配置要点。
### 2.1 ESP-IDF Windows安装
ESP的官方文档提供了比较详细的内容,虽然百度可以搜到很多类似的相关文档,但个人还是建议先看看官宣吧。
(https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html#)
下载离线安装包:

### 2.2 VSCODE配置
#### 2.2.1 Espressif IDF 插件安装
直接在插件库里搜索 idf 安装即可。

#### 2.2.2 Espressif IDF 插件配置
安装完成后,点击键盘的F1,输入ESP-IDF: Configure ESP-IDF extension后回车,等待进行配置。

#### 2.2.3 创建示例代码
点击键盘的F1 输入 example,或者直接选择展示示例项目,可创建一个简单的程序,刷入可直接查看效果。这里就不再演示了。

示例代码如下(略有修改)
```c
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "led_strip.h"
#include "sdkconfig.h"

static const char *TAG = "example";

/* Use project configuration menu (idf.py menuconfig) to choose the GPIO to blink,
or you can edit the following line and set a number here.
*/
#define LED_PIN_NUM 10



void app_main(void)
{
    ESP_LOGI(TAG, "Example configured to blink addressable LED!");
    gpio_reset_pin(LED_PIN_NUM);
    gpio_set_direction(LED_PIN_NUM,GPIO_MODE_OUTPUT);
    for (;;)
    {
      /* Blink off (output low) */
      printf("Turning off the LED\n");
      gpio_set_level(LED_PIN_NUM, 0);
      vTaskDelay(1000 / portTICK_PERIOD_MS);
      /* Blink on (output high) */
      printf("Turning on the LED\n");
      gpio_set_level(LED_PIN_NUM, 1);
      vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}
```
# 三: 总结
总体上来说,这块板子秉承了DF的丝印水平,再加上DF文档库做得好,用DF的产品还是比较放心的。另一方面,这块板子虽然还是贵,但感觉和其它产品相比,定价相对便宜点(是我的错觉吗?)
但使用过来好像Type C的接口不是很稳,动作稍大的话会出现连接不正常的情况,不知道是不是我个人问题。
另外,扩展板带了两个排针小蜜(而不使用扩展板成品),是DF为了节约成本?或者是为了让用户体验焊接的快乐?
页: [1]
查看完整版本: 【Beetle ESP32-C3试用(一)】点灯是最好的体验