本帖最后由 kylinpoet 于 2024-4-11 01:39 编辑
一、前言
本次的Beetle ESP32 C6试用名单应该是前无古人的,看到各位试用者在群里积极讨论,把”卷“字,卷起来了。
不过这是好事,期待论坛百花齐放,出现越来越多的好文章。
言归正传,我们拿到DF的新产品,照旧必须来到产品维库:
https://wiki.dfrobot.com.cn/_SKU_DFR1075_FireBeetle_2_Board_ESP32_C6#target_9
毕竟Python是世界上最好的语言,esp必须上Micropython。非常顺利地根据教程刷上了固件。(过程不再赘述)
固件默认加载了板载LED灯闪烁,接上USB线,可以看到它已正常运行。
二、VS Code
维库上使用thonny进行Python程序编写,诚然thonny是相当不错的Micropython IDE,但因为笔者用惯了 VS Code,决定添加有关Micropython的有关扩展。
如图所示,我们在VS Code的插件库里搜索:RT-Thread 这个号称最好的Micropython插件进行安装:
安装完成后,会出现以下内容,RT-Thread 自带了很多 Micropython示例和库文件方便随时调用。
另外,AIGC时代,怎么能少了人工智能代码生成呢,我们还是在插件里安装阿里的 通义灵码,可以很方便的进行代码生成:
AIGC时代,代码已经影响不了拔剑的速度了。
- import machine
-
- # 定义LED连接的GPIO引脚编号
- LED_PIN = 15 # 假设LED连接到GPIO2
-
- # 初始化GPIO为输出模式
- led = machine.Pin(LED_PIN, mode=machine.Pin.OUT)
-
- def toggle_led():
- """
- 切换LED状态(开/关)
- """
- led.value(not led.value()) # 取反当前引脚值以实现切换
-
- led.value(1)
复制代码
通过设置板载Pin15口,我们可以发现灯已经常亮了。
三、其它
硬推以上的组合,当然不能就这样简单结束,这个RT-Thread插件还有以下几个功能是比较实用的,比如当我们右键时,可以很方便地进行代码调试。
又或者,通过同步功能,能方便地将本地文件上传到设备,在设备中我们也可以通过,- import os
-
- os.listdir()
- os.remove()
复制代码
等函数进行文件管理。
四、拓展
为了让esp芯片物尽其用,我们再次使用chatgpt来进行如下操作:
- import machine
- import network
- import socket
-
- # 配置WiFi信息
- ssid = '你的WiFi名称'
- password = '你的WiFi密码'
-
- # 连接到WiFi网络
- wifi = network.WLAN(network.STA_IF)
- wifi.active(True)
- wifi.connect(ssid, password)
-
- # 等待连接成功
- while not wifi.isconnected():
- pass
-
- print('WiFi connection successful')
- print(wifi.ifconfig())
-
- # 配置GPIO 15
- pin = machine.Pin(15, machine.Pin.OUT)
-
- # 创建一个socket实例
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.bind(('', 80))
- s.listen(5)
-
- def web_page():
- """
- 根据GPIO 15的状态生成HTML页面
- """
- if pin.value() == 1:
- gpio_state="ON"
- else:
- gpio_state="OFF"
-
- html = """<html><head> <title>ESP32 Web Server</title> <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="icon" href="data:,"> <style>html{font-family: Helvetica; display:inline-block; margin: 0px auto; text-align: center;}
- .button { background-color: #4CAF50; border: none; color: white; padding: 16px 40px;
- text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}
- .button2 {background-color: #555555;}</style></head><body> <h1>ESP32 Web Server</h1>
- <p>GPIO 15 state: <strong>""" + gpio_state + """</strong></p><p><a href="/?led=on"><button class="button">ON</button></a></p>
- <p><a href="/?led=off"><button class="button button2">OFF</button></a></p></body></html>"""
- return html
-
- while True:
- conn, addr = s.accept()
- print('Got a connection from %s' % str(addr))
- request = conn.recv(1024)
- request = str(request)
- print('Content = %s' % request)
- led_on = request.find('/?led=on')
- led_off = request.find('/?led=off')
-
- if led_on == 6:
- print('LED ON')
- pin.value(1)
- if led_off == 6:
- print('LED OFF')
- pin.value(0)
-
- response = web_page()
- conn.send('HTTP/1.1 200 OK\n')
- conn.send('Content-Type: text/html\n')
- conn.send('Connection: close\n\n')
- conn.sendall(response)
- conn.close()
复制代码
生成的代码,竟然完全无需更改就可以用!实在是强大!
当我们访问获取的IP地址时,就可以愉快地进行玩耍啦!
以上!
|