208浏览
查看: 208|回复: 0

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

[复制链接]
本帖最后由 kylinpoet 于 2022-6-20 20:19 编辑

一:初识产品

1. 实物图

当第一次拿到这块板子的时候,还是比较惊艳的。如下图,虽然图看起来比较大,但你可以想象下,它只有1元硬币大小的样子。
MonJune-202206205153..jpg
除此之外,包装盒里还有一块扩展板和两个排针。
MonJune-202206202651..jpg
扩展板上有18pin-FPC线接口,用于连接DFRbot专用GDI显示屏。

2. 产品文档

作为一个程序员(非标),虽然极不喜欢写产品文档,但是却要求别人的产品文档要好看、实用。所以,当我们拿到一个电子产品时,所幸发现DF的产品文档还是比较丰富的。
图1.png
我们可以很方便地在 商品库 或者 产品资料库 找到文档:
https://wiki.dfrobot.com.cn/_SKU_DFR0868_Beetle_ESP32_C3
产品文档.png

二:产品初体验

因为ESP芯片的特殊性,首先需要配置开发环境。

1.1  ESP32开发包的问题

因为ESP32的开发板管理器网址,很多人不能直接访问。因此,首要问题是如何解决ESP32开发包的配置问题。

1.1.1 不可描述访问法

因为是不可描述网络连接的访问法,这里就不展开讲了。懂得都懂(手动狗头)

1.1.2 修改hosts地址法

主要是https://raw.githubusercontent.com/的域名解析,百度之或者直接 修改 hosts 文件添加:

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 选择开发板:

boardc3.png

1.2.2 开启USB CDC

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

1.3 我还是要点灯

虽然 @木子姐姐 在测评说明里要求不能点灯,但电子设备界的Hello World始终不能缺席的,我们在Arduino里写入如下代码:

1.3.1 代码

int led = 10; //主板LED引脚
void setup() {
  pinMode(led,OUTPUT);
}

void loop() {
  digitalWrite(led,HIGH);
  delay(1000);
  digitalWrite(led,LOW);
  delay(1000);
}

1.3.2 效果展示

可爱蓝如愿亮起
动画.gif

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#
下载离线安装包:
MonJune-202206202595..png

2.2 VSCODE配置

2.2.1 Espressif IDF 插件安装

直接在插件库里搜索 idf 安装即可。
MonJune-202206209997..png

2.2.2 Espressif IDF 插件配置

安装完成后,点击键盘的F1,输入ESP-IDF: Configure ESP-IDF extension后回车,等待进行配置。
MonJune-202206208025..png

2.2.3 创建示例代码

点击键盘的F1 输入 example,或者直接选择展示示例项目,可创建一个简单的程序,刷入可直接查看效果。这里就不再演示了。
MonJune-202206207914..png
示例代码如下(略有修改)

#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为了节约成本?或者是为了让用户体验焊接的快乐?

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail