106浏览
查看: 106|回复: 1

[ESP8266/ESP32] 【1】Beetle ESP32 C6和MicroPython以及VS Code

[复制链接]
本帖最后由 kylinpoet 于 2024-4-11 01:39 编辑

一、前言

       本次的Beetle ESP32 C6试用名单应该是前无古人的,看到各位试用者在群里积极讨论,把”卷“字,卷起来了。
不过这是好事,期待论坛百花齐放,出现越来越多的好文章。
【1】Beetle ESP32 C6和MicroPython以及VS Code图1
言归正传,我们拿到DF的新产品,照旧必须来到产品维库:
https://wiki.dfrobot.com.cn/_SKU_DFR1075_FireBeetle_2_Board_ESP32_C6#target_9
【1】Beetle ESP32 C6和MicroPython以及VS Code图2


       毕竟Python是世界上最好的语言,esp必须上Micropython。非常顺利地根据教程刷上了固件。(过程不再赘述)
固件默认加载了板载LED灯闪烁,接上USB线,可以看到它已正常运行。

二、VS Code

       维库上使用thonny进行Python程序编写,诚然thonny是相当不错的Micropython IDE,但因为笔者用惯了 VS Code,决定添加有关Micropython的有关扩展。
【1】Beetle ESP32 C6和MicroPython以及VS Code图3
如图所示,我们在VS Code的插件库里搜索:RT-Thread 这个号称最好的Micropython插件进行安装:
【1】Beetle ESP32 C6和MicroPython以及VS Code图4
安装完成后,会出现以下内容,RT-Thread 自带了很多 Micropython示例和库文件方便随时调用。
【1】Beetle ESP32 C6和MicroPython以及VS Code图5
另外,AIGC时代,怎么能少了人工智能代码生成呢,我们还是在插件里安装阿里的 通义灵码,可以很方便的进行代码生成:
【1】Beetle ESP32 C6和MicroPython以及VS Code图6
AIGC时代,代码已经影响不了拔剑的速度了。
  1. import machine
  2. # 定义LED连接的GPIO引脚编号
  3. LED_PIN = 15  # 假设LED连接到GPIO2
  4. # 初始化GPIO为输出模式
  5. led = machine.Pin(LED_PIN, mode=machine.Pin.OUT)
  6. def toggle_led():
  7.     """
  8.     切换LED状态(开/关)
  9.     """
  10.     led.value(not led.value())  # 取反当前引脚值以实现切换
  11. led.value(1)
复制代码
通过设置板载Pin15口,我们可以发现灯已经常亮了。
【1】Beetle ESP32 C6和MicroPython以及VS Code图7


三、其它

硬推以上的组合,当然不能就这样简单结束,这个RT-Thread插件还有以下几个功能是比较实用的,比如当我们右键时,可以很方便地进行代码调试。
【1】Beetle ESP32 C6和MicroPython以及VS Code图11
又或者,通过同步功能,能方便地将本地文件上传到设备,在设备中我们也可以通过,
  1. import os
  2. os.listdir()
  3. os.remove()
复制代码
等函数进行文件管理。
【1】Beetle ESP32 C6和MicroPython以及VS Code图8


四、拓展

       为了让esp芯片物尽其用,我们再次使用chatgpt来进行如下操作:
【1】Beetle ESP32 C6和MicroPython以及VS Code图9
  1. import machine
  2. import network
  3. import socket
  4. # 配置WiFi信息
  5. ssid = '你的WiFi名称'
  6. password = '你的WiFi密码'
  7. # 连接到WiFi网络
  8. wifi = network.WLAN(network.STA_IF)
  9. wifi.active(True)
  10. wifi.connect(ssid, password)
  11. # 等待连接成功
  12. while not wifi.isconnected():
  13.     pass
  14. print('WiFi connection successful')
  15. print(wifi.ifconfig())
  16. # 配置GPIO 15
  17. pin = machine.Pin(15, machine.Pin.OUT)
  18. # 创建一个socket实例
  19. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  20. s.bind(('', 80))
  21. s.listen(5)
  22. def web_page():
  23.   """
  24.   根据GPIO 15的状态生成HTML页面
  25.   """
  26.   if pin.value() == 1:
  27.     gpio_state="ON"
  28.   else:
  29.     gpio_state="OFF"
  30.   
  31.   html = """<html><head> <title>ESP32 Web Server</title> <meta name="viewport" content="width=device-width, initial-scale=1">
  32.   <link rel="icon" href="data:,"> <style>html{font-family: Helvetica; display:inline-block; margin: 0px auto; text-align: center;}
  33.   .button { background-color: #4CAF50; border: none; color: white; padding: 16px 40px;
  34.   text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}
  35.   .button2 {background-color: #555555;}</style></head><body> <h1>ESP32 Web Server</h1>
  36.   <p>GPIO 15 state: <strong>""" + gpio_state + """</strong></p><p><a href="/?led=on"><button class="button">ON</button></a></p>
  37.   <p><a href="/?led=off"><button class="button button2">OFF</button></a></p></body></html>"""
  38.   return html
  39. while True:
  40.   conn, addr = s.accept()
  41.   print('Got a connection from %s' % str(addr))
  42.   request = conn.recv(1024)
  43.   request = str(request)
  44.   print('Content = %s' % request)
  45.   led_on = request.find('/?led=on')
  46.   led_off = request.find('/?led=off')
  47.   if led_on == 6:
  48.     print('LED ON')
  49.     pin.value(1)
  50.   if led_off == 6:
  51.     print('LED OFF')
  52.     pin.value(0)
  53.   
  54.   response = web_page()
  55.   conn.send('HTTP/1.1 200 OK\n')
  56.   conn.send('Content-Type: text/html\n')
  57.   conn.send('Connection: close\n\n')
  58.   conn.sendall(response)
  59.   conn.close()
复制代码
生成的代码,竟然完全无需更改就可以用!实在是强大!
【1】Beetle ESP32 C6和MicroPython以及VS Code图10
当我们访问获取的IP地址时,就可以愉快地进行玩耍啦!


以上!

木子呢  管理员

发表于 2024-4-11 11:17:36

“AIGC时代,代码已经影响不了拔剑的速度了”,哈哈哈哈哈,陈老师怪幽默的
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail