Jason97 发表于 2022-9-7 15:09:33

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

本帖最后由 Jason97 于 2022-9-8 01:57 编辑

Arduino开发环境配置

系统:Windows 11
Arduino:1.8.19

在线配置
1、添加IDE中的json链接

[*]配置URL网址到Arduino IDE
[*]打开Arduino IDE,点击File->Preferences,如下图所示:

[*]在新打开的界面中,点击如下图红色圆圈中的按钮
      

[*]将如下链接地址复制到新弹出的对话框中:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
[*] 注意:如果您之前安装过其它的环境,那么您可以在上一个链接地址开头或末尾处直接回车并将上面链接粘贴在其上下任意一行
      

[*]点击【OK】→更新板卡

2、下载主控的核心

[*]打开Tools->Board:->Boards Manager...,如下图所示:
      

[*]Boards Manager会自动更新板卡,如下图所示:
      

[*]更新完成后,您可以在上方输入esp32,出现如下情况时选择esp32点击安装即可(当前安装为2.0.0版本):
      

[*]等待如下进度条结束:
      

[*]安装完成后,列表会显示已经安装esp32主板,如下图所示:
      
3、选择开发板以及串口

[*]点击Tools->Board:,选择ESP32C3 Dev Module(通常在列表第一个)
      

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

[*]点击Port选择对应的串口(如果串口不停的出现,然后消失,请将引脚9连接GND,重新上电;后续程序下载成功后,需要将引脚9和GND断开,否则程序不运行)
      
4、拼人品的时候到了,你可能会发现下载十分慢,且很大概率下载到一半就失败。而且甚至连开发板的json文件都获取失败,在开发板管理器中,无法搜索到esp32。那么这时候我们就需要离线下载

离线配置
1、先下载好esp32开发板json文件。步骤和【在线配置】相同,注意将json链接换成:https://www.arduino.cn/package_esp32_index.json
      2、然后下载各个ESP32开发板包,开发板工具包。下载完成后将json文件移动至【C:\Users\你的用户名\AppData\Local\Arduino15】;
      
将esp32开发板包和开发板工具包移动至【C:\Users\你的用户名\AppData\Local\Arduino15\staging\packages】,没有这一个文件夹请自行新建。      

[*]package_esp32_index.json;esp32-版本号.zip;esptool-版本号-操作系统.文件格式三个文件在 Arduino core for the ESP32 项目地址可下载到;项目地址:https://github.com/espressif/arduino-esp32
      

[*]mkspiffs-版本号-arduino-esp32-操作系统.文件格式;xtensa-esp32-elf-操作系统-版本号.文件格式可以从package_esp32_index.json 文件中获得,注意对应的操作系统和版本号,下载最新的;
      
3、最后开始安装开发板数据包【Arduino IDE→开发板→开发板管理器→ESP32→安装】                  

Blink with CircuitPythonESP32 是一款出色且非常流行的处理器,用于许多应用上都在使用。对于支持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。
4、在使用该工具之前,您需要将开发板置于引导加载程序模式并进行连接。

[*]在 Chrome 浏览器中访问 https://nabucasa.github.io/esp-web-flasher/(https://espressif.github.io/esptool-js/)。应该会看到类似于所示图像的内容。


[*]对于Beetle ESP32-C3开发板来说,将Beetle ESP32-C3的引脚9连接GND,然后通过USB线连接电脑。
[*]按网络浏览器右上角的连接按钮。您将得到一个弹出窗口,要求您选择 COM 或串行端口。查找名称中带有 ESP32、JTAG Loader、SLAB 或 FTDI 的内容。
请记住,您应该移除所有其他 USB 设备,以便仅连接目标板,这样就不会混淆多个端口!在某些系统(例如 MacOS)上,列表中可能会显示其他系统端口。

[*]Javascript 代码现在将尝试连接到 ROM 引导加载程序。它可能会超时一段时间,直到它成功。成功后,您将看到它已连接,并将打印出一个唯一的 MAC 地址,用于标识该板以及检测到的其他信息。


[*]成功连接后,将出现命令工具栏。

5、擦除功能

[*]如果您想擦除整个闪存区域以便可以从头开始,您可以使用擦除功能。如果您遇到问题,我们建议您这样做。
[*]要擦除内容,请单击擦除按钮。系统将提示您是否要继续。单击“确定”继续,或者如果您改变主意,只需单击“取消”。


[*]您将看到“正在擦除闪存。请稍候...”这最终将显示“已完成”。以及擦除所需的时间。
[*]不要断开连接!立即继续对 ESP 微控制器进行编程。

6、固件下载

[*]单击【Choose a file...】。它只会尝试使用文件和唯一位置对按钮进行编程。然后选择 .bin 文件 - 而不是 UF2 文件!
[*]确定您使用的文件位置旁边的Offset框是否为0x0。


[*]选择文件后,然后选择【Program】按钮下载固件。


[*]将出现一个进度条,一两分钟后,您将成功写入固件。


Wi-Fi点灯
1、使用Thonny创建.env文件
首先需要安装Thonny软件,一款Python的轻量IDE。Thonny:https://thonny.org/

2、在Thonny中,打开【工具】 ->【 选项】对话框并选择【解释器】选项卡,根据需要将解释器设置为 CircuitPython(通用)和 COM 端口。

3、新建文件并输入CIRCUITPY_WIFI_SSID= 'wifissid'
CIRCUITPY_WIFI_PASSWORD= 'wifipassword'
CIRCUITPY_WEB_API_PASSWORD= 'webpassword'

[*]wifissid - 替换为本地 wifi 网络名称
[*]wifipassword - 替换为本地 wifi 网络密码
[*]webpassword - 通过网络浏览器连接到开发板时使用的密码,根据自己的喜好随便设置

点击保存到【CircuitPython Device】,保存文件名为【.env】。现在 .env文件显示在 CircuitPython上。
4、在网页端编辑代码

[*]打开网址:http://circuitpython.local,会出现欢迎页面

输入在 .env 文件中设置的CIRCUITPY_WEB_API_PASSWORD密码,将用户名留空。
[*]在【Welcome!】页面,单击serial terminal链接以访问串行输出以及用于输入命令的 REPL。可以在底部的输入字段中输入命令。 结果将显示在上方并向上滚动。


[*]在【Welcome!】页面,单击file browser链接以访问文件和文件夹。


[*]在将code.py的内容替换以下代码:

import time
import board
from digitalio import DigitalInOut, Direction

led = DigitalInOut(board.D10)
led.direction = Direction.OUTPUT

while True:
    led.value = True
    time.sleep(1)
    led.value = False
    time.sleep(1)



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

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


参考
[*]DFROBOT:Beetle ESP32 C3
[*]Arduino IDE 离线添加开发板
[*]Arduino core for the ESP32 安装失败问题处理方法
[*][活动]【免费试用】Beetle ESP32-C3试用
[*]FIREBEETLE BOARD-ESP32用户使用手册V0.1
[*]CircuitPython on ESP32 Quick Start






小企鹅 发表于 2022-9-7 15:20:08

厉害厉害

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


厉害厉害

快看擎天猪 发表于 2023-7-29 14:56:01

666

花生编程 发表于 2023-8-14 17:35:13

厉害厉害

花生编程 发表于 2023-8-14 17:36:15

赞赞赞赞赞

三春牛-创客 发表于 2023-8-15 13:39:16

厉害厉害

三春牛-创客 发表于 2023-8-15 13:40:28

不错不错
页: [1]
查看完整版本: 基于Beetle ESP32-C3的Web服务器点灯(CircuitPython)