版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年物聯(lián)網(wǎng)開發(fā)核心協(xié)議MQTT應(yīng)用專項(xiàng)試卷考試時(shí)間:______分鐘總分:______分姓名:______一、選擇題1.下列哪個(gè)選項(xiàng)不是MQTT協(xié)議的主要特點(diǎn)?A.輕量級(jí)B.發(fā)布/訂閱模式C.基于TCP/IP協(xié)議族D.支持復(fù)雜的面向?qū)ο缶幊陶Z言特性2.在MQTT協(xié)議中,ClientID的作用是?A.證明客戶端身份B.唯一標(biāo)識(shí)客戶端C.定義消息優(yōu)先級(jí)D.存儲(chǔ)訂閱Topic信息3.CleanSession參數(shù)為1時(shí),表示?A.客戶端連接持久化,會(huì)話信息在Broker斷電后丟失B.客戶端連接非持久化,斷開連接后會(huì)話信息丟失C.Broker必須為客戶端存儲(chǔ)會(huì)話信息D.客戶端必須保持心跳連接4.MQTT消息類型中,用于客戶端向Broker發(fā)起連接請(qǐng)求的是?A.PUBLISHB.SUBSCRIBEC.CONNECTD.DISCONNECT5.MQTT協(xié)議中,確保消息至少到達(dá)一次的服務(wù)質(zhì)量(QoS)級(jí)別是?A.0B.1C.2D.36.Topic名稱"home/+/temperature"中的"+"符號(hào)代表?A.必須匹配一個(gè)具體的子TopicB.匹配任意一個(gè)子TopicC.匹配零個(gè)或多個(gè)子TopicD.匹配"home/"和"temperature"兩個(gè)Topic7.當(dāng)Broker收到客戶端的SUBSCRIBE請(qǐng)求后,會(huì)向客戶端發(fā)送什么類型的響應(yīng)消息?A.CONNECTB.PUBLISHC.SUBSCRIBED.ACK8.MQTT協(xié)議中,用于客戶端向Broker斷開連接時(shí)通知Broker的是?A.CONNECTB.PUBLISHC.DISCONNECTD.QoS9.在MQTT應(yīng)用中,KeepAlive機(jī)制的主要作用是?A.確認(rèn)消息是否送達(dá)B.保持客戶端與Broker的連接狀態(tài)C.控制消息發(fā)布頻率D.設(shè)置消息服務(wù)質(zhì)量10.下列哪個(gè)庫是Python中常用的MQTT客戶端庫?A.requestsB.numpyC.Paho-MQTTD.TensorFlow11.在MQTT協(xié)議中,消息ID(MessageID)主要用于哪種QoS級(jí)別?A.QoS0B.QoS1C.QoS2D.所有QoS級(jí)別12.使用MQTT協(xié)議進(jìn)行設(shè)備與云平臺(tái)通信時(shí),通常需要在客戶端和Broker之間建立?A.HTTP連接B.WebSocket連接C.TCP/IP連接D.UDP連接13.在MQTT安全機(jī)制中,用于驗(yàn)證客戶端身份的通常是?A.API密鑰B.二維碼C.用戶名和密碼D.生物識(shí)別14.MQTT協(xié)議中,WillMessage(遺囑消息)主要用于?A.定期發(fā)送心跳B.訂閱特定TopicC.客戶端異常斷線時(shí)通知BrokerD.優(yōu)先發(fā)布消息15.以下哪個(gè)場(chǎng)景最不適合使用MQTT協(xié)議?A.智能家居設(shè)備狀態(tài)上報(bào)B.工業(yè)生產(chǎn)線傳感器數(shù)據(jù)采集C.大型文件傳輸D.移動(dòng)應(yīng)用與服務(wù)器實(shí)時(shí)通信二、填空題1.MQTT是一種基于______協(xié)議族的消息協(xié)議,其核心通信模式是______模式。2.MQTT客戶端與Broker建立連接時(shí),客戶端需要發(fā)送______消息,Broker響應(yīng)______消息。3.MQTT協(xié)議定義了______種消息類型,分別是CONNECT,PUBLISH,SUBSCRIBE,DISCONNECT以及MQTT5.0新增的______和______。4.QoS1消息交付保證是______,需要Broker和客戶端之間的消息確認(rèn)機(jī)制。5.MQTT客戶端在發(fā)布消息時(shí),如果設(shè)置了QoS2,Broker需要為每條消息分配一個(gè)______,并在收到客戶端確認(rèn)后標(biāo)記為已送達(dá)。6.當(dāng)客戶端訂閱了一個(gè)Topic,Broker會(huì)將該Topic下發(fā)布的消息推送給所有______該Topic的客戶端。7.在使用MQTT時(shí),為了防止數(shù)據(jù)泄露,客戶端與Broker之間的通信通常會(huì)通過______進(jìn)行加密。8.Paho-MQTT庫中,用于創(chuàng)建MQTT客戶端實(shí)例的類是______。9.在MQTT中,Topic的命名規(guī)則類似于文件路徑,可以使用______和______來創(chuàng)建Topic層級(jí)。10.MQTTBroker在收到客戶端的SUBSCRIBE請(qǐng)求后,會(huì)返回一個(gè)包含______和______的響應(yīng)消息。三、簡(jiǎn)答題1.簡(jiǎn)述MQTT協(xié)議的發(fā)布/訂閱模型中,Broker、ClientProducer和ClientSubscriber各自的角色和職責(zé)。2.解釋MQTT的CleanSession參數(shù)(CleanSession)為0和為1時(shí),客戶端會(huì)話狀態(tài)在斷開連接后會(huì)發(fā)生什么不同的情況。3.描述使用MQTT協(xié)議進(jìn)行安全通信通常涉及哪些關(guān)鍵步驟或組件(至少列出三項(xiàng))。四、編程題1.(15分)假設(shè)你正在使用Python的Paho-MQTT庫開發(fā)一個(gè)MQTT客戶端。請(qǐng)寫出以下功能的代碼片段(無需完整程序,僅包含關(guān)鍵代碼行或邏輯):a)初始化一個(gè)MQTT客戶端實(shí)例,設(shè)置ClientID為"my_client_1",Broker地址為"",端口為1883。b)定義一個(gè)回調(diào)函數(shù),當(dāng)客戶端成功連接到Broker時(shí)被調(diào)用,在該函數(shù)中打印"ConnectedtoBroker"。c)定義另一個(gè)回調(diào)函數(shù),當(dāng)客戶端收到Broker發(fā)布的消息時(shí)被調(diào)用。該函數(shù)需要檢查消息的Topic是否為"sensor/data",如果是,則打印出消息內(nèi)容(payload)。d)連接到Broker,并訂閱Topic"sensor/+/temperature"(使用QoS1級(jí)別)。這里的"+"需要正確處理,表示訂閱所有子Topic,如"sensor/inside/temperature"和"sensor/outside/temperature"。2.(20分)繼續(xù)基于上述MQTT客戶端場(chǎng)景,請(qǐng)寫出以下功能的代碼片段:a)編寫一個(gè)函數(shù)`publish_temperature_data(topic,temperature)`,該函數(shù)用于向指定的Topic發(fā)布溫度數(shù)據(jù)。要求使用QoS2級(jí)別,并包含一個(gè)唯一的消息ID(MessageID),消息ID值為12345。如果發(fā)布成功,函數(shù)應(yīng)打印"MessagePublished"。b)在主程序邏輯中,調(diào)用`connect()`方法連接到Broker。c)調(diào)用`subscribe()`方法訂閱Topic"sensor/+/humidity"(同樣使用QoS1,并正確處理"+")。d)調(diào)用`publish_temperature_data("sensor/inside/humidity",45.5)`發(fā)布一條濕度數(shù)據(jù)。e)定義一個(gè)斷開連接的回調(diào)函數(shù),當(dāng)客戶端與Broker斷開連接時(shí)被調(diào)用,在該函數(shù)中打印"DisconnectedfromBroker"。試卷答案一、選擇題1.D2.B3.B4.C5.C6.B7.D8.C9.B10.C11.C12.C13.C14.C15.C二、填空題1.TCP/IP,發(fā)布/訂閱2.CONNECT,ACK3.四,PUBLISH,SUBSCRIBE4.至少一次(Atleastonce)5.消息ID(MessageID)6.訂閱(Subscribers)7.TLS/SSL8.MQTTClient9."/"(斜杠),"+"10.訂閱確認(rèn)(SubscriptionAcknowledgement),訂閱信息(SubscriptionInformation)三、簡(jiǎn)答題1.Broker的角色是中心節(jié)點(diǎn),負(fù)責(zé)接收客戶端的連接請(qǐng)求、管理Topic,并將發(fā)布者發(fā)布的消息根據(jù)訂閱關(guān)系轉(zhuǎn)發(fā)給相應(yīng)的訂閱者。ClientProducer(發(fā)布者)負(fù)責(zé)連接到Broker,并向Broker發(fā)布消息到特定的Topic。ClientSubscriber(訂閱者)負(fù)責(zé)連接到Broker,并訂閱自己感興趣的Topic,Broker會(huì)將匹配的發(fā)布消息推送給訂閱者。2.CleanSession為0時(shí),如果客戶端斷開連接,Broker不會(huì)存儲(chǔ)該客戶端的會(huì)話信息(訂閱Topic列表、未完成的消息等)。當(dāng)客戶端重新連接時(shí),需要重新進(jìn)行認(rèn)證和訂閱。CleanSession為1時(shí),Broker會(huì)為客戶端存儲(chǔ)會(huì)話信息。如果客戶端斷開連接后短時(shí)間內(nèi)(小于KeepAlive周期乘以2)重新連接,Broker會(huì)自動(dòng)恢復(fù)之前的訂閱狀態(tài),無需重新訂閱。3.使用MQTT協(xié)議進(jìn)行安全通信通常涉及:a)使用TLS/SSL協(xié)議加密客戶端與Broker之間的網(wǎng)絡(luò)傳輸,防止數(shù)據(jù)被竊聽。b)客戶端在CONNECT消息中提供用戶名和密碼,Broker進(jìn)行身份驗(yàn)證。c)配置Broker以啟用認(rèn)證和加密機(jī)制。四、編程題1.a)`client=MQTTClient("my_client_1","",1883)`b)`client.on_connect=on_connect`(假設(shè)`on_connect`是定義好的回調(diào)函數(shù))c)`client.on_message=on_message`(假設(shè)`on_message`是定義好的回調(diào)函數(shù),其中包含`iftopic=="sensor/data":print(payload)`的邏輯)d)`client.subscribe("sensor/+/temperature",1)`2.a)```pythondefpublish_temperature_data(topic,temperature):msg=str(temperature)client.publish(topic,msg,qos=2,msgid=12345)print("Messa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46810-2025電力北斗時(shí)間同步系統(tǒng)安全防護(hù)技術(shù)要求
- 養(yǎng)老院醫(yī)療保健服務(wù)管理制度
- 企業(yè)員工獎(jiǎng)懲與激勵(lì)制度
- 會(huì)議信息發(fā)布與宣傳推廣制度
- 2026年房地產(chǎn)經(jīng)紀(jì)人從業(yè)資格題庫與答案
- 2026年?duì)I養(yǎng)師專業(yè)能力與知識(shí)考試題集
- 2026年移動(dòng)支付與金融科技產(chǎn)品實(shí)操試題
- 2026年財(cái)務(wù)管理高級(jí)筆試模擬卷
- 2026年軟件測(cè)試專家知識(shí)技能水平認(rèn)證題目
- 2026年新版原代細(xì)胞合同
- 企業(yè)用油管理制度
- 《建筑施工常見問題》課件
- 職高計(jì)算機(jī)單招操作題庫單選題100道及答案
- 通信工程部的職責(zé)與技術(shù)要求
- 簡(jiǎn)愛插圖本(英)夏洛蒂·勃朗特著宋兆霖譯
- 焊接專業(yè)人才培養(yǎng)方案
- 第二屆全國技能大賽江蘇省選拔賽焊接項(xiàng)目評(píng)分表
- 糖尿病護(hù)士年終總結(jié)
- 第20課 《美麗的小興安嶺》 三年級(jí)語文上冊(cè)同步課件(統(tǒng)編版)
- 糖尿病基礎(chǔ)知識(shí)培訓(xùn)2
- 研學(xué)旅行概論第六章
評(píng)論
0/150
提交評(píng)論