本文来源电子发烧友社区,作者:华仔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:
复制代码
2、新建esp32webpwmCtrl.py
复制代码
3、然后把两个文件上传到ESP32C3,运行esp32c3webpwmCtrl.py:
【目的】展示ESP32作为web服务器的,用ESP32C3写一个websocket服务器,用网页来实现控制板载LED灯亮度的例子。
【实现思路】1、ESP32建立webserver。2、书写一个ajax的网页。3、配置LED灯的pwm。
1、打开uPyCraft 软件,建立一个esp32c3.html:
复制代码

2、新建esp32webpwmCtrl.py
- from machine import Pin,PWM
- import network
- import os
- import time
- import socket
- import gc
- SSID="HUAWEI-H10R9U"
- PASSWORD="18977381885@"
- wlan=None
- s=None
- led=None
- def connectWifi(ssid,passwd):
- global wlan
- wlan=network.WLAN(network.STA_IF) #create a wlan object
- wlan.active(True) #Activate the network interface
- wlan.disconnect() #Disconnect the last connected WiFi
- wlan.connect(ssid,passwd) #connect wifi
- while(wlan.ifconfig()[0]=='0.0.0.0'):
- time.sleep(1)
- print(wlan.ifconfig()[0])
- return True
- def ajaxWebserv():
- # minimal Ajax in Control Webserver
- global s,led
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create stream socket
- s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Set the value of the given socket option
- s.bind((wlan.ifconfig()[0], 80)) #bind ip and port
- s.listen(1) #listen message
- while True:
- conn, addr = s.accept() #Accept a connection,conn is a new socket object
- #print("Got a connection from %s" % str(addr))
- request = conn.recv(1024) #Receive 1024 byte of data from the socket
- conn.sendall('HTTP/1.1 200 OKnConnection: closenServer: FireBeetlenContent-Type: text/htmlnn')
- request = str(request)
- ib = request.find('Val=') #find the string 'Val=' from request
- if ib > 0 :
- ie = request.find(' ', ib) #init address of the index with ib,then find ' '
- Val = request[ib+4:ie] #get the string of ib+4 to ie in the request
- print("Val =", Val)
- led.duty(int(Val)*100) #set the duty of led
- conn.send(Val) #send data
- else:
- with open('esp32c3.htm', 'r') as html: #open file 'webCtrl.htm' with readonly
- conn.sendall(html.read()) #read data from 'webCtrl.htm',and send all of the data
- conn.sendall('rn')
- conn.close() #close file
- #print("Connection wth %s closed" % str(addr))
- #Catch exceptions,stop program if interrupted accidentally in the 'try'
- try:
- led=PWM(Pin(10),freq=100) #create led object
- led.init()
- led.duty(0)
- connectWifi(SSID, PASSWORD)
- ajaxWebserv()
- except:
- if (s):
- s.close()
- led.deinit()
- wlan.disconnect()
- wlan.active(False)
3、然后把两个文件上传到ESP32C3,运行esp32c3webpwmCtrl.py:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
ESP32
+关注
关注
21文章
1028浏览量
19535 -
DFRobot
+关注
关注
4文章
1162浏览量
11038
发布评论请先 登录
相关推荐
热点推荐
专为 ESP32-P4C5 核心板打造的高效开发利器
SDK+详尽文档,新手秒上手,高手效率翻倍!双芯片设计,释放澎湃性能ESP32-P4C5核心板采用乐鑫科技的ESP32-P4+ESP32-C5双芯架构!·ESP32-P

ESP32-P4-MINI开发板开箱和上手指南来了!速速码住!
上期“梦中情板”ESP32-P4-MINI开发板一出就备受青睐这期我们立马就端着开箱和上手指南来了!不用惊叹,我们就是这么迅速,请把“启明云端权威”打在公屏上好嘛!开箱展示拿到

ESP32-S3开发板烧录小智AI系统全流程指南
在AI语音交互领域不断发展的今天,开发者们对于功能强大、开源灵活的开发板需求日益增长。今天,我们就来详细了解一下ESP32AgentDevKit烧录小智的全流程,这款搭载乐鑫科技ESP32-S

ESP32-C3开发板全面支持小智AI!烧录实战指南来了!
本文将详细解析基于乐鑫ESP32-C3芯片的ZXAIEC43开发板烧录“小智”AI语音系统的全流程。该方案代码完全开源,支持深度定制开发,适用于智能玩具、潮玩手办及智能家居控制等多元场景。开发

ESP32-C3:革新物联网应用的超高效能芯片,家电远程控制应用等
加密引擎,支持安全启动
生态完善 - 与乐鑫其他产品线完美兼容
ESP32-C3以其出色的性价比、低功耗特性和完善的开发支持,成为物联网项目开发的理想选择。无论是初创企业还是大型制造商,都能通过
发表于 04-03 16:47
【新品】ESP32-P4全功能开发板,启明云端WT99P4C5-S1多媒体开发板强势来袭!
为了满足广大开发者对于高性能、多功能开发平台的需求,深圳市启明云端有限公司重磅推出了基于WT0132P4-A1核心板设计的多媒体开发板——WT99P4

正点原子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电压转换电路,加热控制电路

【AI技术支持】ESP32-C3芯片/模组SPI-AT问题处理
描述在使用ESP32-C3芯片/模组,AT版本为Release/v3.0.0.0时,客户在使用常规AT通信时,速率达不到需求,需要换成SPI-AT,测试中遇到问题,这是为什么呢?启明云端/02

【AI技术支持】ESP32C3 开发板在Linux环境下,进行JTAG 调试演示
启明云端/01JTAG调试工具本教程主要演示ESP32C3开发板在linux环境下,通过vscode的ESP-IDF插件使用JTAG调试工具。ESP32C3不但内置了USB-JTAG,

使用ESP32开发板点亮LED灯
,非常适合需要Wi-Fi和蓝牙连接功能的物联网(IoT)项目。ESP32拥有两个CPU核心,支持多种外设接口,包括GPIO(通用输入输出)、UART、SPI、I2C、PWM等,非常适合进行各种硬件控制和通信任务。
在rt-thread bsp里esp32c3里编译出的bin文件烧到esp32的开发板上运行提示chipid不对,为什么?
在rt-thread bsp里esp32c3里编译出的bin文件烧到esp32的开发板上 运行提示chipid不对,是否有方法修改能支持esp32 系列的
发表于 09-27 10:01
评论