# 搭建 Web Workflow 开发环境
介于 thonny ide 用 repl 连接不是很稳定,尝试使用 Web Workflow 在线开发
## 配置需求
根据官网介绍,将 settings.toml 的文件添加到 CircuitPython 文件系统的根文件夹时,就会启用 Web 工作流,此文件需要包含本地wifi 信息和其他设置。[点击此处了解更多信息](https://docs.circuitpython.org/en/latest/docs/workflows.html#web)。
settings.toml 文件的基本内容如下:
```python
CIRCUITPY_WIFI_SSID = "wifissid"
CIRCUITPY_WIFI_PASSWORD = "wifipassword"
CIRCUITPY_WEB_API_PASSWORD= "webpassword"
```
> 说明
> wifissid 替换为本地 wifi 网络名称
> wifipassword 替换为本地 wifi 网络密码
> webpassword 通过网络浏览器连接到板时使用,设置为任意值
## 导入配置
1. 借助 thonny 工具,连接板卡
1. 打开文件视图,修改 setting.toml 文件
1.
[官网](https://learn.adafruit.com/circuitpython-with-esp32-quick-start/setting-up-web-workflow) 还介绍了通过 repl 的方式,通过命令行写入文件即可。感兴趣的小伙伴可以关注下。
```json
f = open('settings.toml', 'w')
f.write('CIRCUITPY_WIFI_SSID = "wifissid"\n')
f.write('CIRCUITPY_WIFI_PASSWORD = "wifipassword"\n')
f.write('CIRCUITPY_WEB_API_PASSWORD = "webpassword"\n')
f.close()
```
1. 重启看到 ip 地址之后,打开浏览器,使用 MDNS 地址 ``circuitpython.local`` 连接板卡,可以看到欢迎信息,包含了板卡的名称、版本等信息。失败时可以尝试使用 IP 地址打开
1. 点击欢迎页面的 ``full code editer`` 跳转至代码编辑页面,输入 settings.toml 设置的 CIRCUITPY_WEB_API_PASSWORD 密码即可,忽略用户名
1. 现在已经在线编辑器界面,打开文件进行编码
```python
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries
#
# SPDX-License-Identifier: MIT
"""Example for ESP32-C6. Blinks the built-in LED."""
import time
import board
import digitalio
import wifi
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
print("My MAC addr: %02X:%02X:%02X:%02X:%02X:%02X" % tuple(wifi.radio.mac_address))
print("My IP address is", wifi.radio.ipv4_address)
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
```
1. 保存看到设备打印信息,板载 LED 间断闪烁
# 总结
web workflow 环境配置不是很复杂, 只需在 settings.toml 添加几项内容。而且相比 thonny 来看,修改、保存文件要更加稳定一些,是个不错的选择。