807浏览
查看: 807|回复: 2

[动态] 基于Beetle ESP32-C3的Web服务器点灯(CircuitPython)

[复制链接]
本帖最后由 Jason97 于 2022-9-8 01:57 编辑

Arduino开发环境配置

系统:Windows 11
Arduino:1.8.19


在线配置[1]
1、添加IDE中的json链接
  • 配置URL网址到Arduino IDE
  • 打开Arduino IDE,点击File->Preferences,如下图所示:

WedSeptember-202209079906..png

  • 在新打开的界面中,点击如下图红色圆圈中的按钮
       WedSeptember-202209079124..png
       WedSeptember-202209078584..png
  • 点击【OK】→更新板卡

2、下载主控的核心
  • 打开Tools->Board:->Boards Manager...,如下图所示:
       WedSeptember-202209079133..png
  • Boards Manager会自动更新板卡,如下图所示:
       WedSeptember-202209079472..png
  • 更新完成后,您可以在上方输入esp32,出现如下情况时选择esp32点击安装即可(当前安装为2.0.0版本):
       WedSeptember-202209076544..png
  • 等待如下进度条结束:
       WedSeptember-202209072030..png
  • 安装完成后,列表会显示已经安装esp32主板,如下图所示:
       WedSeptember-202209078719..png
3、选择开发板以及串口
  • 点击Tools->Board:,选择ESP32C3 Dev Module(通常在列表第一个)
       WedSeptember-202209079363..png
  • 在开始前您还需要配置如下设置(当您选择 Disabled 时,串口为RX(20)、TX(21),如果您需要通过USB在Arduino监视器上打印,您需要选择Enable)
       WedSeptember-202209079082..png
  • 点击Port选择对应的串口(如果串口不停的出现,然后消失,请将引脚9连接GND,重新上电;后续程序下载成功后,需要将引脚9和GND断开,否则程序不运行)
       WedSeptember-202209076748..png
4、拼人品的时候到了,你可能会发现下载十分慢,且很大概率下载到一半就失败。而且甚至连开发板的json文件都获取失败,在开发板管理器中,无法搜索到esp32。那么这时候我们就需要离线下载

离线配置
1、先下载好esp32开发板json文件。步骤和【在线配置】相同,注意将json链接换成[2]:https://www.arduino.cn/package_esp32_index.json
       WedSeptember-202209074551..png
2、然后下载各个ESP32开发板包,开发板工具包。下载完成后将json文件移动至【C:\Users\你的用户名\AppData\Local\Arduino15】;
       WedSeptember-202209077717..png

将esp32开发板包和开发板工具包移动至【C:\Users\你的用户名\AppData\Local\Arduino15\staging\packages】,没有这一个文件夹请自行新建。

       WedSeptember-202209078764..png
  • package_esp32_index.json[color=rgba(0, 0, 0, 0.75)]esp32-版本号.zip[color=rgba(0, 0, 0, 0.75)]esptool-版本号-操作系统.文件格式[color=rgba(0, 0, 0, 0.75)]三个文件在 Arduino core for the ESP32 项目地址可下载到;项目地址:https://github.com/espressif/arduino-esp32
       WedSeptember-202209078745..png
  • mkspiffs-版本号-arduino-esp32-操作系统.文件格式[color=rgba(0, 0, 0, 0.75)]xtensa-esp32-elf-操作系统-版本号.文件格式可以从package_esp32_index.json 文件中获得,注意对应的操作系统和版本号,下载最新的;
       WedSeptember-202209074396..png
3、最后开始安装开发板数据包【Arduino IDE→开发板→开发板管理器→ESP32→安装】                     WedSeptember-202209077625..png

Blink with CircuitPython
ESP32 是一款出色且非常流行的处理器,用于许多应用上都在使用。对于支持Wi-Fi的板,如 ESP32,Web 工作流程允许使用 Web 浏览器通过本地网络连接到运行 CircuitPython 的开发板。现在很容易使用 REPL 或使用浏览器上传/下载文件!本文介绍了如何在Beetle ESP32-C3上启动和运行 CircuitPython Web 工作流程。


安装CircuitPython
1、下载固件

从CircuitPython网站上查找对应的固件链接

       CircuitPython Firmware:https://circuitpython.org/downloads
2、固件安装

一般CircuitPython固件安装可以直接将.UF2文件拖到文件夹里,可以直接加载程序.bin文件(比如Raspberry Pico)。不过有些开发板没有拖放到文件夹选项。这时候Web Serial ESPTool就是个不错的工具。

3、启动Web Serial

必须使用基于Chrome或Chromium的浏览器才能正常工作。例如,Edge 和 Opera 是 Chromium。不支持 Safari 和 Firefox 等——它们还没有实现 Web Serial功能。

启用Serial API非常简单。 在 Chrome 中访问chrome://flags。查找并启用实验性网络平台功能,重启 Chrome。

WedSeptember-202209078192..png


4、在使用该工具之前,您需要将开发板置于引导加载程序模式并进行连接。
WedSeptember-202209075847..png
  • 对于Beetle ESP32-C3开发板来说,将Beetle ESP32-C3的引脚9连接GND,然后通过USB线连接电脑。
  • 按网络浏览器右上角的连接按钮。您将得到一个弹出窗口,要求您选择 COM 或串行端口。查找名称中带有 ESP32、JTAG Loader、SLAB 或 FTDI 的内容。

请记住,您应该移除所有其他 USB 设备,以便仅连接目标板,这样就不会混淆多个端口!

在某些系统(例如 MacOS)上,列表中可能会显示其他系统端口。

WedSeptember-202209077334..png
  • Javascript 代码现在将尝试连接到 ROM 引导加载程序。它可能会超时一段时间,直到它成功。成功后,您将看到它已连接,并将打印出一个唯一的 MAC 地址,用于标识该板以及检测到的其他信息。
WedSeptember-202209079738..png
  • 成功连接后,将出现命令工具栏。
WedSeptember-202209073488..png
5、擦除功能
  • 如果您想擦除整个闪存区域以便可以从头开始,您可以使用擦除功能。如果您遇到问题,我们建议您这样做。
  • 要擦除内容,请单击擦除按钮。系统将提示您是否要继续。单击“确定”继续,或者如果您改变主意,只需单击“取消”。
WedSeptember-202209076780..png
  • 您将看到“正在擦除闪存。请稍候...”这最终将显示“已完成”。以及擦除所需的时间。
  • 不要断开连接!立即继续对 ESP 微控制器进行编程。
WedSeptember-202209078554..png
6、固件下载
  • 单击【Choose a file...】。它只会尝试使用文件和唯一位置对按钮进行编程。然后选择 .bin 文件 - 而不是 UF2 文件!
  • 确定您使用的文件位置旁边的Offset框是否为0x0
WedSeptember-202209079718..png
  • 选择文件后,然后选择【Program】按钮下载固件。
WedSeptember-202209073690..png
  • 将出现一个进度条,一两分钟后,您将成功写入固件。
WedSeptember-202209077898..png

Wi-Fi点灯
1、使用Thonny创建.env文件

首先需要安装Thonny软件,一款Python的轻量IDE。

Thonny:https://thonny.org/

2、在Thonny中,打开【工具】 ->【 选项】对话框并选择【解释器】选项卡,根据需要将解释器设置为 CircuitPython(通用) COM 端口
WedSeptember-202209079747..png
3、新建文件并输入
  1. CIRCUITPY_WIFI_SSID= 'wifissid'
  2. CIRCUITPY_WIFI_PASSWORD= 'wifipassword'
  3. CIRCUITPY_WEB_API_PASSWORD= 'webpassword'
复制代码

  • wifissid - 替换为本地 wifi 网络名称
  • wifipassword - 替换为本地 wifi 网络密码
  • webpassword - 通过网络浏览器连接到开发板时使用的密码,根据自己的喜好随便设置
WedSeptember-202209071833..png
点击保存到【CircuitPython Device】,保存文件名为【.env】。现在 .env文件显示在 CircuitPython上。
WedSeptember-202209075076..png
4、在网页端编辑代码
WedSeptember-202209072589..png

输入在 .env 文件中设置的CIRCUITPY_WEB_API_PASSWORD密码,将用户名留空。

  • 在【Welcome!】页面,单击serial terminal链接以访问串行输出以及用于输入命令的 REPL。可以在底部的输入字段中输入命令。 结果将显示在上方并向上滚动。
WedSeptember-202209072113..png
  • 在【Welcome!】页面,单击file browser链接以访问文件和文件夹。
WedSeptember-202209075017..png
  • 在将code.py的内容替换以下代码:

  1. import time
  2. import board
  3. from digitalio import DigitalInOut, Direction
  4. led = DigitalInOut(board.D10)
  5. led.direction = Direction.OUTPUT
  6. while True:
  7.     led.value = True
  8.     time.sleep(1)
  9.     led.value = False
  10.     time.sleep(1)
复制代码




确保没有缩进错误等。然后单击“Save”按钮。此时代码应该正在运行并且Beetle板开始闪烁啦。 在实际运行之前点击“保存”按钮后可能会有一小段延迟。(注意哦是修改code.py程序)


最后欢迎光临我的知识花园

https://www.yuque.com/docs/share/508b2c9d-4f6f-4202-a34e-7f9e559bca43?# 《基于Beetle ESP32-C3的Web服务器点灯》


参考





小企鹅  高级技师

发表于 2022-9-7 15:20:08

厉害厉害
回复

使用道具 举报

罗卡  见习技师

发表于 2022-9-18 17:06:28


厉害厉害
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail