本文来源电子发烧友社区,作者:华仔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
+关注
关注
13文章
896浏览量
15815 -
DFRobot
+关注
关注
4文章
1155浏览量
9037
发布评论请先 登录
相关推荐
炫酷好玩的像素时钟&音乐频谱,合宙ESP32-C3开发板创意DIY分享
这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手合宙CC表,又来催上市一年多仍风头不减的“DIY神器”合宙ESP32-C3开发板。今天不仅补货到了,还要特别
快来!炫酷好玩的像素时钟&音乐频谱,合宙ESP32-C3开发板创意DIY分享
这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手 合宙CC表 ,又来催上市一年多仍风头不减的 “DIY神器” 合宙ESP32-C3开发板。 今天不仅补货到了
在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-C2开发板 开发 演示
current ESP-ID,使用本地SDK,也就是前面自定义IDF的路径
4、如下图创建工程
5、选择芯片类型,我们需要选择esp32-c2
6、使用usb数据线连接PC与开发板,选择
发表于 06-09 13:34
评论