本文來源電子發燒友社區,作者:華仔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
+關注
關注
18文章
958瀏覽量
17090 -
DFRobot
+關注
關注
4文章
1156瀏覽量
9447
發布評論請先 登錄
相關推薦
esp32-c3燒錄代碼的時候提示Failed to connect to ESP32-C3: No serial data received,問題出在哪里?
畫了一塊esp32-c3但是燒錄代碼的時候提示Failed to connect to ESP32-C3: No serial data received,問題可能出現在什么地方,使用的是ch340模塊下載程序。
發表于 07-01 07:48
ESP32-C3開發板用數據線連接在電腦USB口上,無法識別出端口,為什么?
各位好,我的ESP32-C3開發板用數據線連接在電腦USB口上,電腦上事先安裝了CP210x驅動程序,發現只是開發板上的紅燈亮了,win11系統的設備管理器卻沒有檢測出端口。ESP-I
發表于 07-01 07:25
ESP32-C3使用SPI通信緩存有多少?
我們計劃用ESP32-AT功能,看到資料上ESP32-C3僅支持SPI通信,請問:
①ESP32-C3使用SPI通信緩存有多少?
②ESP32-C3使用SPI通信接收到數據以后空中速率
發表于 06-26 07:58
ESP32-C3的USB在計算機上識別的COM口能夠干什么用?
我想選用ESP32-C3 開發產品,其價格和藍牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發環境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個IDE
發表于 06-21 06:41
請問esp32-c3不支持pcnt嗎?
我在esp32-c3開發板上測試pcnt,編譯報錯找不到相關的函數,查看sdk源碼發現要配置CONFIG_SOC_PCNT_SUPPORTED才會編譯pcnt.c,查看examples里面的項目也說了只支持
發表于 06-18 07:27
請問ESP32-C3藍牙如何獲取RSSI的值?
各位大佬,小弟剛接觸ESP-IDF不久,摸索了一段時間,物聯網的基本流程已經摸索的差不多了。
現在想知道ESP32-C3通過藍牙與手機建立連接后,怎么才能獲取當前手機端到開發板的RSSI值,我應該去參考哪些例程?
本人英語實在是
發表于 06-13 07:47
畫了一塊esp32-c3開發板,燒錄代碼時提示Failed to connect to ESP32-C3: No serial data received為什么?
我自己畫了一塊esp32-c3開發板但是燒錄代碼的時候就提示Failed to connect to ESP32-C3: No serial data received,用的是ch340,可能是哪里出錯了呢。
發表于 06-05 07:42
啟明云端WT32C3系列模組/開發板連接AWS亞馬遜云方法
ESP32-C3因為其性價比高,價格便宜性能又好一直是量產的首選芯片,隨著量產項目擴大,對接云服務器的情況也增加了,接下來小啟給大家分享下啟明云端ESP32-C3模組——WT32C3系列模組/
充電樁選型對比:ESP32-S3模組和ESP32-C3模組誰更合適
和整體解決方案供應商,有非常豐富的充電樁物聯網項目經驗,充電樁物聯網選型中經常會用到ESP32-C3、ESP32-S3模組,那么今天小啟就對這幾種方案做個對比,看
技術分享|Model 3C芯片86盒彩屏開發板:ESP32-C3助力,3MB波特率OTA升級更便捷!
在物聯網快速發展的今天,彩屏顯示作為人機交互的重要一環,其顯示效果和升級便利性成為了衡量產品競爭力的關鍵指標。而Model 3C(以下簡稱M3C芯片)與ESP32-C3的結合,無疑為物聯網彩屏領域應用奠定了堅實的基石。
ESP32-C3模塊使用問題集錦| C3的串口日志該如何禁用?
ESP32-C3因為功能強大、低功耗一直廣受歡迎,客戶在使用過程中,也是有很多疑問。下面小啟整理了一些C3模塊實際應用客戶遇到的問題,做出解答,大家如果也有關于C3模塊的問題,可以評論區提出來
ESP32-WROOM-32開發板教程
ESP32-WROOM-32是一款功能強大的物聯網開發板,它基于Espressif的ESP32芯片,擁有更多的性能和功能。在本篇文章中,我將為您提供一份詳盡、詳實、細致的教程,以幫助您快速上手
評論