0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【DFRobot Beetle ESP32-C3开发板试用体验】WEBSOKET—PWM—LED

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-28 14:11 次阅读
本文来源电子发烧友社区,作者:华仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2284182_1_1.html

【目的】展示ESP32作为web服务器的,用ESP32C3写一个websocket服务器,用网页来实现控制板载LED灯亮度的例子。
【实现思路】1、ESP32建立webserver。2、书写一个ajax的网页。3、配置LED灯的pwm。
1、打开uPyCraft 软件,建立一个esp32c3.html:


  1. <title>ajaxWebCtrl
  2. ESP32 PYTHON TEST

    PWM LED --- Web Control for FireBeetle


复制代码
pYYBAGKWpomAC6Z2AAE19T9pM5Q026.png

2、新建esp32webpwmCtrl.py


  1. from machine import Pin,PWM
  2. import network
  3. import os
  4. import time
  5. import socket
  6. import gc
  7. SSID="HUAWEI-H10R9U"
  8. PASSWORD="18977381885@"
  9. wlan=None
  10. s=None
  11. led=None
  12. def connectWifi(ssid,passwd):
  13. global wlan
  14. wlan=network.WLAN(network.STA_IF) #create a wlan object
  15. wlan.active(True) #Activate the network interface
  16. wlan.disconnect() #Disconnect the last connected WiFi
  17. wlan.connect(ssid,passwd) #connect wifi
  18. while(wlan.ifconfig()[0]=='0.0.0.0'):
  19. time.sleep(1)
  20. print(wlan.ifconfig()[0])
  21. return True
  22. def ajaxWebserv():
  23. # minimal Ajax in Control Webserver
  24. global s,led
  25. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create stream socket
  26. s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Set the value of the given socket option
  27. s.bind((wlan.ifconfig()[0], 80)) #bind ip and port
  28. s.listen(1) #listen message
  29. while True:
  30. conn, addr = s.accept() #Accept a connection,conn is a new socket object
  31. #print("Got a connection from %s" % str(addr))
  32. request = conn.recv(1024) #Receive 1024 byte of data from the socket
  33. conn.sendall('HTTP/1.1 200 OKnConnection: closenServer: FireBeetlenContent-Type: text/htmlnn')
  34. request = str(request)
  35. ib = request.find('Val=') #find the string 'Val=' from request
  36. if ib > 0 :
  37. ie = request.find(' ', ib) #init address of the index with ib,then find ' '
  38. Val = request[ib+4:ie] #get the string of ib+4 to ie in the request
  39. print("Val =", Val)
  40. led.duty(int(Val)*100) #set the duty of led
  41. conn.send(Val) #send data
  42. else:
  43. with open('esp32c3.htm', 'r') as html: #open file 'webCtrl.htm' with readonly
  44. conn.sendall(html.read()) #read data from 'webCtrl.htm',and send all of the data
  45. conn.sendall('rn')
  46. conn.close() #close file
  47. #print("Connection wth %s closed" % str(addr))
  48. #Catch exceptions,stop program if interrupted accidentally in the 'try'
  49. try:
  50. led=PWM(Pin(10),freq=100) #create led object
  51. led.init()
  52. led.duty(0)
  53. connectWifi(SSID, PASSWORD)
  54. ajaxWebserv()
  55. except:
  56. if (s):
  57. s.close()
  58. led.deinit()
  59. wlan.disconnect()
  60. wlan.active(False)
复制代码

3、然后把两个文件上传到ESP32C3,运行esp32c3webpwmCtrl.py:
pYYBAGKWqAOAOzxJAAEiFQghlgs461.png

4、根据获取的的IP地址,打开浏览器输入ip地址:
pYYBAGKWqJCAbPxcAAB3ref7RPc653.png

【总结】python做为开发,就是快捷,快速。注(这些都是基于示例webserver创建的)


webpwm(开发板体验视频,详见作者原文链接内容)


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ESP32
    +关注

    关注

    13

    文章

    896

    浏览量

    15815
  • DFRobot
    +关注

    关注

    4

    文章

    1155

    浏览量

    9037
收藏 人收藏

    评论

    相关推荐

    ESP32-C3开发板设计指南

    首先是ESP32-C3只支持BLE,也就是数据是以packet出现的。不支持普通的蓝牙,也就是数据的处理的时候是可以字符串去操作的。
    的头像 发表于 01-26 11:10 1145次阅读
    <b class='flag-5'>ESP32-C3</b><b class='flag-5'>开发板</b>设计指南

    ESP32-C3在智能充电桩上的应用,性价比爆棚!

    ESP32-C3在智能充电桩上的应用,性价比爆棚!
    的头像 发表于 01-20 08:03 335次阅读
    <b class='flag-5'>ESP32-C3</b>在智能充电桩上的应用,性价比爆棚!

    炫酷好玩的像素时钟&amp;amp;音乐频谱,合宙ESP32-C3开发板创意DIY分享

    这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手合宙CC表,又来催上市一年多仍风头不减的“DIY神器”合宙ESP32-C3开发板。今天不仅补货到了,还要特别
    的头像 发表于 10-21 08:04 502次阅读
    炫酷好玩的像素时钟&amp;amp;音乐频谱,合宙<b class='flag-5'>ESP32-C3</b><b class='flag-5'>开发板</b>创意DIY分享

    快来!炫酷好玩的像素时钟&amp;音乐频谱,合宙ESP32-C3开发板创意DIY分享

    这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手 合宙CC表 ,又来催上市一年多仍风头不减的 “DIY神器” 合宙ESP32-C3开发板。 今天不仅补货到了
    的头像 发表于 10-20 14:55 824次阅读
    快来!炫酷好玩的像素时钟&amp;音乐频谱,合宙<b class='flag-5'>ESP32-C3</b><b class='flag-5'>开发板</b>创意DIY分享

    ESP32-C3模块上使用MQTT进行通信

    ; 其中-t /topic/qos0表示需要往那个topic发送。 此时,可以看到开发板正常接受到了pc发过来的消息。 4.手机控制 此处只做局域网内的控制,也就是手机、电脑、esp32-c3在同一个
    发表于 08-16 07:28

    ESP32-C3的编程方式

    完成后,可以看到LED正常的闪动。 4.使用WiFi功能 使用ESP32-C3的比较重要的功能就是使用其WiFi联网功能。 第一步:获取代码 cp -r $IDF_PATH/examples/wifi
    发表于 08-16 06:57

    【FireBeetle 2 ESP32-S3开发板体验】在Arduino中充分利用FireBeetle 2 ESP32-S3的16MB Flash做SPIFFS

    DFRobot提供的这款 FireBeetle 2 ESP32-S3 开发板,从官方WiKi上,可以了解到详细的硬件信息: 处理器:Xtensa® 双核32位LX7微处理器 主频:240 MHz
    发表于 08-02 09:55

    【FireBeetle 2 ESP32-S3开发板体验】001:开箱+搭建Arduino开发环境

    、FireBeetle 2 Board ESP32 S3引脚示意该开发板相关资料在官方页面都有提供,内容非常详细,对开发者非常友好。开发板
    发表于 07-29 22:22

    【FireBeetle 2 ESP32-S3开发板体验】测评1_搭建开发环境

    第1章 开发板开箱以及开发环境搭建 感谢电子发烧友社区提供的测评机会,参加DFRobot 的FireBeetle 2 ESP32-S3开发板
    发表于 07-29 21:40

    【FireBeetle 2 ESP32-S3开发板体验】时间显示 基于ssd1306 I2C 调用开源库 事半功倍

    /dfrobot_firebeetle2_esp32s3/FrameworkArduino/esp32-hal-rgb-led.c.o Compiling .pio/build/dfrobot_firebeetle2_esp32s3
    发表于 07-29 10:04

    【FireBeetle 2 ESP32-S3开发板体验】1、资料获取、环境、固件烧写、点灯。

    1、开发板资料获取:DFROBOT DFR0975 FireBeetle 2 Board ESP32-S3 产品资料 使用教程 2、我准备用micropython进行开发,所以需要先下
    发表于 07-28 17:36

    【FireBeetle 2 ESP32-S3开发板体验】使用PyCharm开发MicroPython体验

    和8MB PSRAM,可以存储更多的代码和数据,模组搭载的ESP32-S3芯片拥有强大的神经网络运算能力和信号处理能力,适用于图像识别、语音识别等项目。 现在开发板也都是均Type-c
    发表于 07-28 11:43

    ESP32-C3旋钮开发板演示

    ESP32
    YS YYDS
    发布于 :2023年07月07日 19:40:50

    ESP32-C2开发板 8684 智能开关例程

    ESP32-C3开发板开发演示
    的头像 发表于 06-29 14:13 492次阅读
    <b class='flag-5'>ESP32</b>-C2<b class='flag-5'>开发板</b>  8684   智能开关例程

    ESP32-C2开发板 开发 演示

    current ESP-ID,使用本地SDK,也就是前面自定义IDF的路径 4、如下图创建工程 5、选择芯片类型,我们需要选择esp32-c2 6、使用usb数据线连接PC与开发板,选择
    发表于 06-09 13:34