本文來源電子發燒友社區,作者:華仔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:
4、根據獲取的的IP地址,打開瀏覽器輸入ip地址:
【總結】python做為開發,就是快捷,快速。注(這些都是基于示例webserver創建的)
【目的】展示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:

4、根據獲取的的IP地址,打開瀏覽器輸入ip地址:

【總結】python做為開發,就是快捷,快速。注(這些都是基于示例webserver創建的)
webpwm(開發板體驗視頻,詳見作者原文鏈接內容)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
ESP32
+關注
關注
26文章
1194瀏覽量
21680 -
DFRobot
+關注
關注
4文章
1164瀏覽量
12403
發布評論請先 登錄
相關推薦
熱點推薦
【ESP32-C3】WT9932C3-TINY開發板上手指南
簡介1開發板介紹WT9932C3-TINY是一款專為輕量化物聯網開發設計的迷你開發板,核心基于樂鑫ESP32-C3芯片,搭載啟明云端WT01
【ESP32-C5系列】WT9932C5-TINY開發板上手指南
簡介1開發板介紹WT9932C5-TINY是一款專為輕量化物聯網開發設計的迷你開發板,核心基于樂鑫ESP32-C5芯片,搭載啟明云端WT01
【ESP32-C5系列】WT9932C5-TINY開發板規格書
1開發板介紹WT9932C5-TINY是一款專為輕量化物聯網開發設計的迷你開發板,核心基于樂鑫ESP32-C5芯片,搭載啟明云端WT0132
ESP32-C3迷你開發板,支持Wi-Fi+BLE雙模,即插即用設計!
如果你正在為智能家居、工業控制或低功耗物聯網終端項目尋找一款性能可靠、開發便捷且接口完備的核心模塊,不妨直接關注這款WT9932C3-TINY開發板——它基于成熟的樂鑫科技ESP32-C3
ESP32-P4全功能開發板和ESP32-P4-TINY開發板該怎么選?看這篇就夠了!
啟明云端基于樂鑫科技ESP32-P4芯片設計了多款開發板,這些開發板有什么區別?基于應用場景如何選擇?本期,我們聚焦兩款代表性產品:WT99P4C5-S1
這塊樂鑫科技ESP32-C3開發板太懂開發者了!雙無線+全接口,不要太實用
設計之初就瞄準了開發過程中的這些痛點,讓你能把更多精力放在創意實現上!性能足夠能打,物聯網應用無壓力搭載樂鑫科技ESP32-C3芯片,采用RISC-V架構,最高主頻
ESP32-C3 mqtt操作實踐
;
其中-t /topic/qos0表示需要往那個topic發送。
此時,可以看到開發板正常接受到了pc發過來的消息。
4.手機控制
此處只做局域網內的控制,也就是手機、電腦、esp32-c3在
發表于 10-31 06:52
樂鑫科技ESP32-S3開發板配單色LED,竟能玩出這么多花樣!代碼開源,速來白嫖!
的效果。材料準備1×ESP32-S3開發板1×USB轉TypeC線1×165x55x10mm面包板若干15cm杜邦線若干5mm單色LED本教程ESP
ESP32-S3開發板燒錄小智AI系統全流程指南
在AI語音交互領域不斷發展的今天,開發者們對于功能強大、開源靈活的開發板需求日益增長。今天,我們就來詳細了解一下ESP32AgentDevKit燒錄小智的全流程,這款搭載樂鑫科技ESP32-S
ESP32-C3開發板全面支持小智AI!燒錄實戰指南來了!
本文將詳細解析基于樂鑫ESP32-C3芯片的ZXAIEC43開發板燒錄“小智”AI語音系統的全流程。該方案代碼完全開源,支持深度定制開發,適用于智能玩具、潮玩手辦及智能家居控制等多元場景。開發
【DFRobot Beetle ESP32-C3開發板試用體驗】WEBSOKET—PWM—LED
評論