本文來(lái)源電子發(fā)燒友社區(qū),作者:華仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2284182_1_1.html
【目的】展示ESP32作為web服務(wù)器的,用ESP32C3寫一個(gè)websocket服務(wù)器,用網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)控制板載LED燈亮度的例子。
【實(shí)現(xiàn)思路】1、ESP32建立webserver。2、書寫一個(gè)ajax的網(wǎng)頁(yè)。3、配置LED燈的pwm。
1、打開uPyCraft 軟件,建立一個(gè)esp32c3.html:
復(fù)制代碼
2、新建esp32webpwmCtrl.py
復(fù)制代碼
3、然后把兩個(gè)文件上傳到ESP32C3,運(yùn)行esp32c3webpwmCtrl.py:
4、根據(jù)獲取的的IP地址,打開瀏覽器輸入ip地址:
【總結(jié)】python做為開發(fā),就是快捷,快速。注(這些都是基于示例webserver創(chuàng)建的)
【目的】展示ESP32作為web服務(wù)器的,用ESP32C3寫一個(gè)websocket服務(wù)器,用網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)控制板載LED燈亮度的例子。
【實(shí)現(xiàn)思路】1、ESP32建立webserver。2、書寫一個(gè)ajax的網(wǎng)頁(yè)。3、配置LED燈的pwm。
1、打開uPyCraft 軟件,建立一個(gè)esp32c3.html:
復(fù)制代碼

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、然后把兩個(gè)文件上傳到ESP32C3,運(yùn)行esp32c3webpwmCtrl.py:

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

【總結(jié)】python做為開發(fā),就是快捷,快速。注(這些都是基于示例webserver創(chuàng)建的)
webpwm(開發(fā)板體驗(yàn)視頻,詳見作者原文鏈接內(nèi)容)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
ESP32
+關(guān)注
關(guān)注
21文章
1012瀏覽量
19055 -
DFRobot
+關(guān)注
關(guān)注
4文章
1160瀏覽量
10677
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
ESP32-S3開發(fā)板燒錄小智AI系統(tǒng)全流程指南
在AI語(yǔ)音交互領(lǐng)域不斷發(fā)展的今天,開發(fā)者們對(duì)于功能強(qiáng)大、開源靈活的開發(fā)板需求日益增長(zhǎng)。今天,我們就來(lái)詳細(xì)了解一下ESP32AgentDevKit燒錄小智的全流程,這款搭載樂(lè)鑫科技ESP32-S

ESP32-C3開發(fā)板全面支持小智AI!燒錄實(shí)戰(zhàn)指南來(lái)了!
本文將詳細(xì)解析基于樂(lè)鑫ESP32-C3芯片的ZXAIEC43開發(fā)板燒錄“小智”AI語(yǔ)音系統(tǒng)的全流程。該方案代碼完全開源,支持深度定制開發(fā),適用于智能玩具、潮玩手辦及智能家居控制等多元場(chǎng)景。開發(fā)

ESP32-C3:革新物聯(lián)網(wǎng)應(yīng)用的超高效能芯片,家電遠(yuǎn)程控制應(yīng)用等
加密引擎,支持安全啟動(dòng)
生態(tài)完善 - 與樂(lè)鑫其他產(chǎn)品線完美兼容
ESP32-C3以其出色的性價(jià)比、低功耗特性和完善的開發(fā)支持,成為物聯(lián)網(wǎng)項(xiàng)目開發(fā)的理想選擇。無(wú)論是初創(chuàng)企業(yè)還是大型制造商,都能通過(guò)
發(fā)表于 04-03 16:47
帶USB接口的基于ESP32-C3的加熱溫控板,附帶原理圖加PCB
Part 01 前言 國(guó)外大神用ESP32-C3做了一個(gè)加熱溫控板,附帶原理圖加PCB,有興趣的可以學(xué)習(xí)一下。原理圖包含了最小系統(tǒng)電路,USB typeC接口電路,3.3V電壓轉(zhuǎn)換電路,加熱控制電路

【AI技術(shù)支持】ESP32-C3芯片/模組SPI-AT問(wèn)題處理
描述在使用ESP32-C3芯片/模組,AT版本為Release/v3.0.0.0時(shí),客戶在使用常規(guī)AT通信時(shí),速率達(dá)不到需求,需要換成SPI-AT,測(cè)試中遇到問(wèn)題,這是為什么呢?啟明云端/02

【AI技術(shù)支持】ESP32C3 開發(fā)板在Linux環(huán)境下,進(jìn)行JTAG 調(diào)試演示
啟明云端/01JTAG調(diào)試工具本教程主要演示ESP32C3開發(fā)板在linux環(huán)境下,通過(guò)vscode的ESP-IDF插件使用JTAG調(diào)試工具。ESP32C3不但內(nèi)置了USB-JTAG,

使用ESP32開發(fā)板點(diǎn)亮LED燈
,非常適合需要Wi-Fi和藍(lán)牙連接功能的物聯(lián)網(wǎng)(IoT)項(xiàng)目。ESP32擁有兩個(gè)CPU核心,支持多種外設(shè)接口,包括GPIO(通用輸入輸出)、UART、SPI、I2C、PWM等,非常適合進(jìn)行各種硬件控制和通信任務(wù)。
在rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發(fā)板上運(yùn)行提示chipid不對(duì),為什么?
在rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發(fā)板上 運(yùn)行提示chipid不對(duì),是否有方法修改能支持esp32 系列的
發(fā)表于 09-27 10:01
ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒(méi)有辦法讀出來(lái)?
請(qǐng)問(wèn)ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒(méi)有辦法讀出來(lái)
發(fā)表于 07-23 07:54
esp32-c3在燒錄的時(shí)候動(dòng)了下跳線,導(dǎo)致燒錄失敗怎么解決?
esp32-c3在燒錄的時(shí)候動(dòng)了下跳線,導(dǎo)致燒錄失敗。
之后無(wú)法燒錄,也不啟動(dòng)了……
短接BOOT 引腳后 monitor 也沒(méi)有任何提示
發(fā)表于 07-02 08:22
請(qǐng)問(wèn)ESP32-C3-AWS-ExpressLink-DevKit開發(fā)板,直接使用電腦USB連接開發(fā)板不能調(diào)試和燒錄程序嗎?
請(qǐng)問(wèn)ESP32-C3-AWS-ExpressLink-DevKit開發(fā)板,直接使用電腦USB連接開發(fā)板不能調(diào)試和燒錄程序么?
發(fā)表于 07-01 08:13
esp32-c3燒錄代碼的時(shí)候提示Failed to connect to ESP32-C3: No serial data received,問(wèn)題出在哪里?
畫了一塊esp32-c3但是燒錄代碼的時(shí)候提示Failed to connect to ESP32-C3: No serial data received,問(wèn)題可能出現(xiàn)在什么地方,使用的是ch340模塊下載程序。
發(fā)表于 07-01 07:48
開發(fā)板ESP32-S3-DevKitM-1與ESP32-S3-DevKitC-1的區(qū)別是什么?
開發(fā)板ESP32-S3-DevKitM-1與ESP32-S3-DevKitC-1的區(qū)別
發(fā)表于 07-01 07:38
ESP32-C3開發(fā)板用數(shù)據(jù)線連接在電腦USB口上,無(wú)法識(shí)別出端口,為什么?
各位好,我的ESP32-C3開發(fā)板用數(shù)據(jù)線連接在電腦USB口上,電腦上事先安裝了CP210x驅(qū)動(dòng)程序,發(fā)現(xiàn)只是開發(fā)板上的紅燈亮了,win11系統(tǒng)的設(shè)備管理器卻沒(méi)有檢測(cè)出端口。ESP-I
發(fā)表于 07-01 07:25
ESP32-C3-MINI-1的ESP32-C3-DevKitM-1 VSCODE和thonny開發(fā)環(huán)境如何切換?
買的是搭載ESP32-C3-MINI-1的ESP32-C3-DevKitM-1 官方開發(fā)板,可以從VSCODE開發(fā)環(huán)境下切換到thonny,使用micropython進(jìn)行
發(fā)表于 07-01 06:03
評(píng)論