91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】[soon][三]用python快速搭建MQTT控制紅綠燈測(cè)試頁(yè)面

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-04 16:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:soon順soon, 帖子地址:https://bbs.elecfans.com/jishu_2010903_1_1.html


本文分享一種利用python搭建MQTT控制WIFI-IoT的紅綠燈測(cè)試web頁(yè)面的方法,實(shí)現(xiàn)按下 web頁(yè)面按鍵后會(huì)發(fā)布topic為ledstatus,payload分別為RedLED、YellowLED、GreenLED的消息,如果剛好有興趣的可以參考下。

WIFI-IoT上收到消息后反轉(zhuǎn)對(duì)應(yīng)LED 狀態(tài)的相關(guān)代碼,參閱
一、相關(guān)的軟件和python庫(kù)安裝
ubuntu20.04中搭建MQTT Broker的指令如下
  1. sudo apt-get install mosquitto
  2. sudo apt-get install mosquitto-clients
  3. sudo apt-get install mosquitto-dev
復(fù)制代碼
Ubuntu下用python搭建web會(huì)用到的庫(kù)安裝指令如下
  1. pip3 install paho.mqtt
  2. pip3 install web.py
復(fù)制代碼
如果是在windows下mqtt的包安裝要換成如下
  1. pip install web.py
  2. pip install paho-mqtt
復(fù)制代碼
二、用html寫(xiě)個(gè)簡(jiǎn)單的頁(yè)面"key.html"如下
    • Wifi-loT測(cè)試頁(yè)面
    • Soon-Wifi-loT
  1. tion="/RedLED" method="POST">
復(fù)制代碼

頁(yè)面比較簡(jiǎn)潔只有標(biāo)題和三個(gè)按鍵

三、Python相關(guān)代碼如下
  1. import web
  2. import paho.mqtt.client
  3. import time
  4. HOSTNAME ="xxxxxx"#請(qǐng)?zhí)钊肽愕腂roker地址/可以是你局域網(wǎng)ubuntu虛擬機(jī)IP,或者云服務(wù)器地址
  5. MQTTPORT = 1883#默認(rèn)1883 具體看你Broker配置
  6. USERNAME ="xxxxxx" #請(qǐng)?zhí)钊胗脩裘?/li>
  7. PASSWD="xxxxxx"#請(qǐng)?zhí)钊胗妹艽a
  8. HTML_PAGE = "key.html"
  9. TOPICE = "ledstatus"
  10. mqtt = paho.mqtt.client
  11. urls = (
  12. '/RedLED', 'RedLED',
  13. '/YellowLED', 'YellowLED',
  14. '/GreenLED', 'GreenLED',
  15. '/(.*)', 'Wifi_lOT_home'
  16. )
  17. app = web.application(urls, globals())
  18. client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
  19. client = mqtt.Client(client_id) # ClientId不能重復(fù),所以使用當(dāng)前時(shí)間
  20. # publish 消息
  21. def on_publish(topic, payload, qos):
  22. client.username_pw_set(USERNAME, PASSWD)# 必須設(shè)置,否則會(huì)返回「Connected with result code 4」
  23. client.connect(HOSTNAME, MQTTPORT, 60)
  24. client.publish(topic, payload, qos)
  25. class Wifi_lOT_home:
  26. def GET(self, name):
  27. file = open(HTML_PAGE, "rb+")
  28. return file.read()
  29. def POST(self):
  30. print ("test soon")
  31. class RedLED:
  32. def POST(self):
  33. print ("RedLED POST")
  34. on_publish(TOPICE, "RedLED".encode(),0)
  35. file = open(HTML_PAGE, "rb+")
  36. return file.read()
  37. class YellowLED:
  38. def POST(self):
  39. print ("YellowLED POST")
  40. on_publish(TOPICE,"YellowLED".encode(),0)
  41. file = open(HTML_PAGE, "rb+")
  42. return file.read()
  43. class GreenLED:
  44. def POST(self):
  45. print ("GreenLED POST")
  46. on_publish(TOPICE,"GreenLED".encode(),0)
  47. file = open(HTML_PAGE, "rb+")
  48. return file.read()
  49. if __name__ == "__main__":
  50. app.run()
復(fù)制代碼

四、運(yùn)行指令和效果
運(yùn)行指令python3 -u xxxxxx.py 端口,如 python3 -u keyEvent.py 8080
然后在瀏覽器輸入http://localhost:8080/或者h(yuǎn)ttp://(ubuntu IP/server IP):8080/ 就能看到以下頁(yè)面

203233ll7l1l6ocgcn1ldl.png


附相關(guān)代碼下載
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • wi-fi
    +關(guān)注

    關(guān)注

    15

    文章

    2424

    瀏覽量

    129570
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36058
  • HiSpark
    +關(guān)注

    關(guān)注

    1

    文章

    156

    瀏覽量

    7758
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)

    。Wi-Fi模塊可實(shí)現(xiàn)無(wú)縫連接和數(shù)據(jù)交換,對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制和監(jiān)測(cè)。Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的軟硬件解決方案,使設(shè)備能夠通過(guò)Wi-Fi網(wǎng)絡(luò)通信。這類(lèi)模塊常用
    的頭像 發(fā)表于 02-27 17:12 ?575次閱讀
    技術(shù)資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設(shè)計(jì)

    自動(dòng)駕駛汽車(chē)如何應(yīng)對(duì)移動(dòng)式紅綠燈場(chǎng)景?

    [首發(fā)于智駕最前沿微信公眾號(hào)]在交通的日常運(yùn)轉(zhuǎn)中,由于電力系統(tǒng)維護(hù)、偶發(fā)性的供電故障或是道路施工引發(fā)的交通管制,交管部門(mén)會(huì)在十字路口臨時(shí)部署移動(dòng)式紅綠燈。這種紅綠燈與我們習(xí)以為常的高懸于空中的固定
    的頭像 發(fā)表于 01-29 08:56 ?412次閱讀
    自動(dòng)駕駛汽車(chē)如何應(yīng)對(duì)移動(dòng)式<b class='flag-5'>紅綠燈</b>場(chǎng)景?

    ESP32 Wi-Fi 控制 LED 燈的原理

    在智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機(jī)通過(guò)Wi-Fi控制燈光、風(fēng)扇或插座,已經(jīng)非常普遍。而在嵌入式開(kāi)發(fā)中,ESP32是最常用的Wi-Fi模塊之一。本文將帶你系統(tǒng)理解:ESP32是如何通過(guò)Wi-Fi
    的頭像 發(fā)表于 01-09 19:04 ?301次閱讀
    ESP32 <b class='flag-5'>Wi-Fi</b> <b class='flag-5'>控制</b> LED 燈的原理

    Wi-Fi:無(wú)線連接的全球通用語(yǔ)

    Wi-Fi 6(802.11ax)及未來(lái)的Wi-Fi 7,性能、效率與安全性不斷提升。 、關(guān)鍵技術(shù)詞解析l IEEE 802.11:Wi-Fi技術(shù)的底層標(biāo)準(zhǔn),由電氣電子工程師協(xié)會(huì)制定
    發(fā)表于 01-07 09:49

    自動(dòng)駕駛汽車(chē)如何識(shí)別紅綠燈?

    ,很多老司機(jī)憑借視覺(jué)和經(jīng)驗(yàn),可以快速判斷紅綠燈的情況。 這一簡(jiǎn)單的場(chǎng)景對(duì)于自動(dòng)駕駛汽車(chē)來(lái)說(shuō),卻有很多值得討論的地方。雖然只是根據(jù)燈的顏色決定行駛步驟,但紅綠燈識(shí)別無(wú)疑是自動(dòng)駕駛系統(tǒng)最基礎(chǔ)、最重要的任務(wù)之一。如果
    的頭像 發(fā)表于 12-23 09:26 ?546次閱讀
    自動(dòng)駕駛汽車(chē)如何識(shí)別<b class='flag-5'>紅綠燈</b>?

    Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來(lái)越多的場(chǎng)景需要用到Wi-Fi來(lái)無(wú)線傳輸數(shù)據(jù),尤其是移動(dòng)設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來(lái)介紹下
    的頭像 發(fā)表于 12-09 11:27 ?1074次閱讀
    <b class='flag-5'>Wi-Fi</b>模塊選型指南 | 低功耗藍(lán)牙/<b class='flag-5'>Wi-Fi</b> 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈按鈕項(xiàng)目

    0接上文【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目-實(shí)現(xiàn)開(kāi)機(jī)起動(dòng) EASYEAINano-TB(RV1126
    發(fā)表于 11-03 10:00

    【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目

    Nano-TB(RV1126B)開(kāi)發(fā)板,通過(guò)GPIO控制實(shí)現(xiàn)紅綠燈板的種顏色LED燈交替閃爍功能。開(kāi)發(fā)板使用SSH進(jìn)行遠(yuǎn)程控制通過(guò)WiFi連接。 硬件 EASY EAI Nano-
    發(fā)表于 11-02 18:34

    淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    ,美國(guó)聯(lián)邦通信委員會(huì)(FCC)投票通過(guò)將6GHz頻譜劃為免許可頻段供Wi-Fi使用,這標(biāo)志著Wi-Fi正式進(jìn)入“頻”時(shí)代——除Wi-Fi 6及前代技術(shù)使用的2.4GHz和5GHz頻段
    發(fā)表于 09-19 18:29 ?2141次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    如何更新 NuMaker IoT 板上的 Wi-Fi 模塊固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模塊固件
    發(fā)表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:與其他定位服務(wù)的性能比較

    導(dǎo)航衛(wèi)星系統(tǒng)(GNSS)的重要補(bǔ)充,尤其是在建筑物和密集城區(qū),GNSS 可能會(huì)因信號(hào)衰減和中斷而失效。 本博文將介紹我們基于 SSID 的 Wi-Fi 定位解決方案的工作原理以及如何開(kāi)始測(cè)試。然后
    發(fā)表于 08-31 21:01

    LitePoint Wi-Fi測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來(lái),作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶實(shí)現(xiàn)無(wú)所不在無(wú)線連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件
    的頭像 發(fā)表于 08-06 15:34 ?1199次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b><b class='flag-5'>測(cè)試</b>軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    使用PLC實(shí)現(xiàn)紅綠燈控制示例

    如圖為一個(gè)紅綠燈控制時(shí)序圖,啟動(dòng)信號(hào)導(dǎo)通后,紅綠燈程序開(kāi)始動(dòng)作。
    的頭像 發(fā)表于 05-29 09:45 ?1709次閱讀
    使用PLC實(shí)現(xiàn)<b class='flag-5'>紅綠燈</b><b class='flag-5'>控制</b>示例

    nRF Cloud Wi-Fi 定位服務(wù)

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過(guò)利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    Wi-Fi 是一種著名的無(wú)線網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過(guò) Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無(wú)線互聯(lián)網(wǎng)接入服務(wù)。 Wi-Fi 定位是一種
    發(fā)表于 04-17 15:01