本文來源電子發(fā)燒友社區(qū),作者:華仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2284182_1_1.html
【目的】展示ESP32作為web服務(wù)器的,用ESP32C3寫一個(gè)websocket服務(wù)器,用網(wǎng)頁來實(shí)現(xiàn)控制板載LED燈亮度的例子。
【實(shí)現(xiàn)思路】1、ESP32建立webserver。2、書寫一個(gè)ajax的網(wǎng)頁。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)頁來實(shí)現(xiàn)控制板載LED燈亮度的例子。
【實(shí)現(xiàn)思路】1、ESP32建立webserver。2、書寫一個(gè)ajax的網(wǎng)頁。3、配置LED燈的pwm。
1、打開uPyCraft 軟件,建立一個(gè)esp32c3.html:
復(fù)制代碼
![pYYBAGKWpomAC6Z2AAE19T9pM5Q026.png](https://file.elecfans.com/web2/M00/46/DE/pYYBAGKWpomAC6Z2AAE19T9pM5Q026.png)
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:
![pYYBAGKWqAOAOzxJAAEiFQghlgs461.png](https://file.elecfans.com/web2/M00/46/DE/pYYBAGKWqAOAOzxJAAEiFQghlgs461.png)
4、根據(jù)獲取的的IP地址,打開瀏覽器輸入ip地址:
![pYYBAGKWqJCAbPxcAAB3ref7RPc653.png](https://file.elecfans.com/web2/M00/46/DE/pYYBAGKWqJCAbPxcAAB3ref7RPc653.png)
【總結(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
ESP32
+關(guān)注
關(guān)注
18文章
978瀏覽量
17531 -
DFRobot
+關(guān)注
關(guān)注
4文章
1159瀏覽量
9724
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒有辦法讀出來?
請(qǐng)問ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒有辦法讀出來
發(fā)表于 07-23 07:54
esp32-c3燒錄代碼的時(shí)候提示Failed to connect to ESP32-C3: No serial data received,問題出在哪里?
畫了一塊esp32-c3但是燒錄代碼的時(shí)候提示Failed to connect to ESP32-C3: No serial data received,問題可能出現(xiàn)在什么地方,使用的是ch340模塊下載程序。
發(fā)表于 07-01 07:48
ESP32-C3開發(fā)板用數(shù)據(jù)線連接在電腦USB口上,無法識(shí)別出端口,為什么?
各位好,我的ESP32-C3開發(fā)板用數(shù)據(jù)線連接在電腦USB口上,電腦上事先安裝了CP210x驅(qū)動(dòng)程序,發(fā)現(xiàn)只是開發(fā)板上的紅燈亮了,win11系統(tǒng)的設(shè)備管理器卻沒有檢測出端口。ESP-I
發(fā)表于 07-01 07:25
esp32-c3工程中怎么創(chuàng)建多個(gè)freertos任務(wù)?
ESP-IDF中給出的ESP32-C3的例程都只有一個(gè)任務(wù)。即void app_main()
而且沒看見這個(gè)app_main任務(wù)是在哪里被創(chuàng)建的???
如果我想建一個(gè)ESP32-C3的多任務(wù)的工程該
發(fā)表于 06-27 06:37
ESP32-C3使用SPI通信緩存有多少?
我們計(jì)劃用ESP32-AT功能,看到資料上ESP32-C3僅支持SPI通信,請(qǐng)問:
①ESP32-C3使用SPI通信緩存有多少?
②ESP32-C3使用SPI通信接收到數(shù)據(jù)以后空中速率
發(fā)表于 06-26 07:58
請(qǐng)問ESP32-C3和ESP32-S2或WROOM系列是否支持單步調(diào)試?
/index.html#introduction
中文版描述只有ESP-S2-Kaluga-1板載了JTAG調(diào)試接口,而英文版說ESP32-C3可以直接用USB進(jìn)行調(diào)試:“This is made
發(fā)表于 06-21 07:32
ESP32-C3的USB在計(jì)算機(jī)上識(shí)別的COM口能夠干什么用?
我想選用ESP32-C3 開發(fā)產(chǎn)品,其價(jià)格和藍(lán)牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發(fā)環(huán)境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個(gè)IDE
發(fā)表于 06-21 06:41
請(qǐng)問esp32-c3不支持pcnt嗎?
我在esp32-c3開發(fā)板上測試pcnt,編譯報(bào)錯(cuò)找不到相關(guān)的函數(shù),查看sdk源碼發(fā)現(xiàn)要配置CONFIG_SOC_PCNT_SUPPORTED才會(huì)編譯pcnt.c,查看examples里面的項(xiàng)目也說了只支持
發(fā)表于 06-18 07:27
請(qǐng)問ESP32-C3藍(lán)牙如何獲取RSSI的值?
各位大佬,小弟剛接觸ESP-IDF不久,摸索了一段時(shí)間,物聯(lián)網(wǎng)的基本流程已經(jīng)摸索的差不多了。
現(xiàn)在想知道ESP32-C3通過藍(lán)牙與手機(jī)建立連接后,怎么才能獲取當(dāng)前手機(jī)端到開發(fā)板的RSSI值,我應(yīng)該去參考哪些例程?
本人英語實(shí)在是
發(fā)表于 06-13 07:47
使用ESP32-C3的SoftAP模式創(chuàng)建Wi-Fi熱點(diǎn),ESP32-C3不輸出任何日志,并且無法響應(yīng),為什么?
問題描述:
我正在使用ESP32-C3的SoftAP模式創(chuàng)建Wi-Fi熱點(diǎn),并使用手機(jī)連接到該熱點(diǎn)。當(dāng)手機(jī)連接成功并熄屏一段時(shí)間后,我發(fā)現(xiàn)手機(jī)無法獲取熱點(diǎn)的信息。在此期間,ESP32-C3不輸
發(fā)表于 06-07 08:26
畫了一塊esp32-c3開發(fā)板,燒錄代碼時(shí)提示Failed to connect to ESP32-C3: No serial data received為什么?
我自己畫了一塊esp32-c3開發(fā)板但是燒錄代碼的時(shí)候就提示Failed to connect to ESP32-C3: No serial data received,用的是ch340,可能是哪里出錯(cuò)了呢。
發(fā)表于 06-05 07:42
啟明云端WT32C3系列模組/開發(fā)板連接AWS亞馬遜云方法
ESP32-C3因?yàn)槠湫詢r(jià)比高,價(jià)格便宜性能又好一直是量產(chǎn)的首選芯片,隨著量產(chǎn)項(xiàng)目擴(kuò)大,對(duì)接云服務(wù)器的情況也增加了,接下來小啟給大家分享下啟明云端ESP32-C3模組——WT32C3系列模組/
![啟明云端WT32<b class='flag-5'>C3</b>系列模組/<b class='flag-5'>開發(fā)板</b>連接AWS亞馬遜云方法](https://file.elecfans.com/web2/M00/45/DA/poYBAGKPGziABtawAAAYlXODTds073.jpg)
充電樁選型對(duì)比:ESP32-S3模組和ESP32-C3模組誰更合適
和整體解決方案供應(yīng)商,有非常豐富的充電樁物聯(lián)網(wǎng)項(xiàng)目經(jīng)驗(yàn),充電樁物聯(lián)網(wǎng)選型中經(jīng)常會(huì)用到ESP32-C3、ESP32-S3模組,那么今天小啟就對(duì)這幾種方案做個(gè)對(duì)比,看
![充電樁選型對(duì)比:<b class='flag-5'>ESP32-S3</b>模組和<b class='flag-5'>ESP32-C3</b>模組誰更合適](https://file.elecfans.com/web2/M00/45/DA/poYBAGKPGziABtawAAAYlXODTds073.jpg)
技術(shù)分享|Model 3C芯片86盒彩屏開發(fā)板:ESP32-C3助力,3MB波特率OTA升級(jí)更便捷!
在物聯(lián)網(wǎng)快速發(fā)展的今天,彩屏顯示作為人機(jī)交互的重要一環(huán),其顯示效果和升級(jí)便利性成為了衡量產(chǎn)品競爭力的關(guān)鍵指標(biāo)。而Model 3C(以下簡稱M3C芯片)與ESP32-C3的結(jié)合,無疑為物聯(lián)網(wǎng)彩屏領(lǐng)域應(yīng)用奠定了堅(jiān)實(shí)的基石。
ESP32-P4首秀|啟明云端帶你解讀樂鑫P4多媒體開發(fā)板
此前,樂鑫發(fā)布了新一代MCU芯片ESP32-P4的消息,今天ESP32-P4開發(fā)板終于登場亮相了,快來一睹真容吧。一、ESP32-P4開發(fā)板
![<b class='flag-5'>ESP32</b>-P4首秀|啟明云端帶你解讀樂鑫P4多媒體<b class='flag-5'>開發(fā)板</b>](https://file.elecfans.com/web2/M00/45/DA/poYBAGKPGziABtawAAAYlXODTds073.jpg)
評(píng)論