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
    +关注

    关注

    21

    文章

    1028

    浏览量

    19535
  • DFRobot
    +关注

    关注

    4

    文章

    1162

    浏览量

    11038
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    专为 ESP32-P4C5 核心打造的高效开发利器

    SDK+详尽文档,新手秒上手,高手效率翻倍!双芯片设计,释放澎湃性能ESP32-P4C5核心采用乐鑫科技的ESP32-P4+ESP32-C5双芯架构!·ESP32-P
    的头像 发表于 08-11 18:19 ?290次阅读
    专为 <b class='flag-5'>ESP32-P4C</b>5 核心<b class='flag-5'>板</b>打造的高效<b class='flag-5'>开发</b>利器

    ESP32-P4-MINI开发板开箱和上手指南来了!速速码住!

    上期“梦中情ESP32-P4-MINI开发板一出就备受青睐这期我们立马就端着开箱和上手指南来了!不用惊叹,我们就是这么迅速,请把“启明云端权威”打在公屏上好嘛!开箱展示拿到
    的头像 发表于 07-25 18:02 ?292次阅读
    <b class='flag-5'>ESP32</b>-P4-MINI<b class='flag-5'>开发板</b>开箱和上手指南来了!速速码住!

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 ?8次下载

    ESP32-P4 C5开发板烧录小智全流程!速看!

    没错,你没有看错!我们带着WT99P4C5-S1开发板烧录小智全流程走来了!开发板搭载乐鑫科技ESP32-P4和ESP32-C5芯片,代码完
    的头像 发表于 07-04 18:03 ?555次阅读
    <b class='flag-5'>ESP32</b>-P4 <b class='flag-5'>C</b>5<b class='flag-5'>开发板</b>烧录小智全流程!速看!

    ESP32-S3开发板烧录小智AI系统全流程指南

    在AI语音交互领域不断发展的今天,开发者们对于功能强大、开源灵活的开发板需求日益增长。今天,我们就来详细了解一下ESP32AgentDevKit烧录小智的全流程,这款搭载乐鑫科技ESP32-S
    的头像 发表于 06-16 18:01 ?2278次阅读
    <b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发板</b>烧录小智AI系统全流程指南

    ESP32-C3开发板全面支持小智AI!烧录实战指南来了!

    本文将详细解析基于乐鑫ESP32-C3芯片的ZXAIEC43开发板烧录“小智”AI语音系统的全流程。该方案代码完全开源,支持深度定制开发,适用于智能玩具、潮玩手办及智能家居控制等多元场景。开发
    的头像 发表于 06-13 18:01 ?1339次阅读
    <b class='flag-5'>ESP32-C3</b><b class='flag-5'>开发板</b>全面支持小智AI!烧录实战指南来了!

    【评测试用】合众HZ-T536开发板免费试用体验

    【评测试用】合众HZ-T536开发板免费试用体验
    的头像 发表于 05-27 08:05 ?293次阅读
    【评测<b class='flag-5'>试用</b>】合众HZ-T536<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>体验

    ESP32-C3:革新物联网应用的超高效能芯片,家电远程控制应用等

    加密引擎,支持安全启动 生态完善 - 与乐鑫其他产品线完美兼容 ESP32-C3以其出色的性价比、低功耗特性和完善的开发支持,成为物联网项目开发的理想选择。无论是初创企业还是大型制造商,都能通过
    发表于 04-03 16:47

    【新品】ESP32-P4全功能开发板,启明云端WT99P4C5-S1多媒体开发板强势来袭!

    为了满足广大开发者对于高性能、多功能开发平台的需求,深圳市启明云端有限公司重磅推出了基于WT0132P4-A1核心设计的多媒体开发板——WT99P4
    的头像 发表于 03-18 18:06 ?1117次阅读
    【新品】<b class='flag-5'>ESP32</b>-P4全功能<b class='flag-5'>开发板</b>,启明云端WT99P4<b class='flag-5'>C</b>5-S1多媒体<b class='flag-5'>开发板</b>强势来袭!

    正点原子ESP32S3系列开发板全面支持小智AI

    可能大家觉得AI离我们很远,但是小智AI可以把这个距离拉得很近。正点原子ESP32S3系列开发板全面支持小智AI,助力AI硬件发展。 ESP32S3开发板
    发表于 02-14 17:01

    带USB接口的基于ESP32-C3的加热温控,附带原理图加PCB

    Part 01 前言 国外大神用ESP32-C3做了一个加热温控,附带原理图加PCB,有兴趣的可以学习一下。原理图包含了最小系统电路,USB typeC接口电路,3.3V电压转换电路,加热控制电路
    的头像 发表于 12-15 13:24 ?2894次阅读
    带USB接口的基于<b class='flag-5'>ESP32-C3</b>的加热温控<b class='flag-5'>板</b>,附带原理图加PCB

    【AI技术支持】ESP32-C3芯片/模组SPI-AT问题处理

    描述在使用ESP32-C3芯片/模组,AT版本为Release/v3.0.0.0时,客户在使用常规AT通信时,速率达不到需求,需要换成SPI-AT,测试中遇到问题,这是为什么呢?启明云端/02
    的头像 发表于 11-27 01:00 ?2004次阅读
    【AI技术支持】<b class='flag-5'>ESP32-C3</b>芯片/模组SPI-AT问题处理

    【AI技术支持】ESP32C3 开发板在Linux环境下,进行JTAG 调试演示

    启明云端/01JTAG调试工具本教程主要演示ESP32C3开发板在linux环境下,通过vscode的ESP-IDF插件使用JTAG调试工具。ESP32C3不但内置了USB-JTAG,
    的头像 发表于 10-17 08:01 ?3578次阅读
    【AI技术支持】<b class='flag-5'>ESP32C3</b> <b class='flag-5'>开发板</b>在Linux环境下,进行JTAG 调试演示

    使用ESP32开发板点亮LED

    ,非常适合需要Wi-Fi和蓝牙连接功能的物联网(IoT)项目。ESP32拥有两个CPU核心,支持多种外设接口,包括GPIO(通用输入输出)、UART、SPI、I2CPWM等,非常适合进行各种硬件控制和通信任务。
    的头像 发表于 10-05 11:44 ?5277次阅读

    在rt-thread bsp里esp32c3里编译出的bin文件烧到esp32开发板上运行提示chipid不对,为什么?

    在rt-thread bsp里esp32c3里编译出的bin文件烧到esp32开发板上 运行提示chipid不对,是否有方法修改能支持esp32 系列的
    发表于 09-27 10:01