0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【DFRobot Beetle ESP32-C3開發(fā)板試用體驗(yàn)】WEBSOKET—PWM—LED

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-28 14:11 ? 次閱讀
本文來源電子發(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:


  1. <title>ajaxWebCtrl
  2. ESP32 PYTHON TEST

    PWM LED --- Web Control for FireBeetle


復(fù)制代碼
pYYBAGKWpomAC6Z2AAE19T9pM5Q026.png

2、新建esp32webpwmCtrl.py


  1. from machine import Pin,PWM
  2. import network
  3. import os
  4. import time
  5. import socket
  6. import gc
  7. SSID="HUAWEI-H10R9U"
  8. PASSWORD="18977381885@"
  9. wlan=None
  10. s=None
  11. led=None
  12. def connectWifi(ssid,passwd):
  13. global wlan
  14. wlan=network.WLAN(network.STA_IF) #create a wlan object
  15. wlan.active(True) #Activate the network interface
  16. wlan.disconnect() #Disconnect the last connected WiFi
  17. wlan.connect(ssid,passwd) #connect wifi
  18. while(wlan.ifconfig()[0]=='0.0.0.0'):
  19. time.sleep(1)
  20. print(wlan.ifconfig()[0])
  21. return True
  22. def ajaxWebserv():
  23. # minimal Ajax in Control Webserver
  24. global s,led
  25. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create stream socket
  26. s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Set the value of the given socket option
  27. s.bind((wlan.ifconfig()[0], 80)) #bind ip and port
  28. s.listen(1) #listen message
  29. while True:
  30. conn, addr = s.accept() #Accept a connection,conn is a new socket object
  31. #print("Got a connection from %s" % str(addr))
  32. request = conn.recv(1024) #Receive 1024 byte of data from the socket
  33. conn.sendall('HTTP/1.1 200 OKnConnection: closenServer: FireBeetlenContent-Type: text/htmlnn')
  34. request = str(request)
  35. ib = request.find('Val=') #find the string 'Val=' from request
  36. if ib > 0 :
  37. ie = request.find(' ', ib) #init address of the index with ib,then find ' '
  38. Val = request[ib+4:ie] #get the string of ib+4 to ie in the request
  39. print("Val =", Val)
  40. led.duty(int(Val)*100) #set the duty of led
  41. conn.send(Val) #send data
  42. else:
  43. with open('esp32c3.htm', 'r') as html: #open file 'webCtrl.htm' with readonly
  44. conn.sendall(html.read()) #read data from 'webCtrl.htm',and send all of the data
  45. conn.sendall('rn')
  46. conn.close() #close file
  47. #print("Connection wth %s closed" % str(addr))
  48. #Catch exceptions,stop program if interrupted accidentally in the 'try'
  49. try:
  50. led=PWM(Pin(10),freq=100) #create led object
  51. led.init()
  52. led.duty(0)
  53. connectWifi(SSID, PASSWORD)
  54. ajaxWebserv()
  55. except:
  56. if (s):
  57. s.close()
  58. led.deinit()
  59. wlan.disconnect()
  60. wlan.active(False)
復(fù)制代碼

3、然后把兩個(gè)文件上傳到ESP32C3,運(yùn)行esp32c3webpwmCtrl.py:
pYYBAGKWqAOAOzxJAAEiFQghlgs461.png

4、根據(jù)獲取的的IP地址,打開瀏覽器輸入ip地址:
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ī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ESP32
    +關(guān)注

    關(guān)注

    20

    文章

    1006

    瀏覽量

    18829
  • DFRobot
    +關(guān)注

    關(guān)注

    4

    文章

    1160

    瀏覽量

    10535
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【AI技術(shù)支持】ESP32-C3芯片/模組SPI-AT問題處理

    描述在使用ESP32-C3芯片/模組,AT版本為Release/v3.0.0.0時(shí),客戶在使用常規(guī)AT通信時(shí),速率達(dá)不到需求,需要換成SPI-AT,測試中遇到問題,這是為什么呢?啟明云端/02
    的頭像 發(fā)表于 11-27 01:00 ?1370次閱讀
    【AI技術(shù)支持】<b class='flag-5'>ESP32-C3</b>芯片/模組SPI-AT問題處理

    使用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ù)。
    的頭像 發(fā)表于 10-05 11:44 ?4602次閱讀

    ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒有辦法讀出來?

    請問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口上,無法識別出端口,為什么?

    各位好,我的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的USB-CDC例程在哪個(gè)目錄?。?/a>

    大佬, 我想用ESP32-C3的USB串口和電腦通信。我用的是ESP-IDF 4.3的SDK。在SDK里面沒找到關(guān)于ESP32-C3的USB-CDC的例程。 ESP32-S2倒是有,但
    發(fā)表于 06-27 07:28

    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通信,請問: ①ESP32-C3使用SPI通信緩存有多少? ②ESP32-C3使用SPI通信接收到數(shù)據(jù)以后空中速率
    發(fā)表于 06-26 07:58

    請問ESP32-C3ESP32-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ī)上識別的COM口能夠干什么用?

    我想選用ESP32-C3 開發(fā)產(chǎn)品,其價(jià)格和藍(lán)牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發(fā)環(huán)境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個(gè)IDE
    發(fā)表于 06-21 06:41

    請問esp32-c3不支持pcnt嗎?

    我在esp32-c3開發(fā)板上測試pcnt,編譯報(bào)錯(cuò)找不到相關(guān)的函數(shù),查看sdk源碼發(fā)現(xiàn)要配置CONFIG_SOC_PCNT_SUPPORTED才會編譯pcnt.c,查看examples里面的項(xiàng)目也說了只支持
    發(fā)表于 06-18 07:27

    請問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支持matter協(xié)議嗎?

    ESP32-C3是否支持matter協(xié)議了? 可以通過softap方式配網(wǎng)嗎?
    發(fā)表于 06-13 07:34

    使用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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品