實驗項目名稱 | 構建物聯網系統 |
實驗目的 | 掌握物聯網系統的一般構建方法。 |
實驗要求: 1.構建物聯網系統,實現前后端的交互。 | |
實驗內容:
實現智能設備與應用客戶端的交互(智能設備發送數據在應用客戶端上顯示,應用客戶端發送數據在智能設備上顯示) 二、步驟 單擊開始菜單,輸入cmd,選擇以管理員身份運行。(可以說一下powershell的區別)
![]()
![]()
接下來按如下操作步驟來創建連接 (1)名稱隨便輸入,我這里輸入的是test (2)Client ID默認即可 (3)服務器地址為剛才創建的MQTT本地服務器,因為客戶端在同一臺電腦上,所以地址為127.0.0.1,當然你使用你的局域網的IP地址也是可以的,你可以使用ipconfig來查看. ![]() (4)端口號默認1883 ![]() (5)然后單擊右上角的連接按鈕 (6)我這里創建了兩個來模擬發表方和訂閱方,這里的ip地址是不一樣的,一個表示本地回環地址,一個就是IP地址,如果使用云服務器這里就填寫IP地址只是我這里的在自己的電腦上模擬的云服務器所以就可以使用本地回環地址. ![]() (7)sub這里我是訂閱方,訂閱的主題A當pub發布方發布A主題時,就會接收到該信息. ![]()
![]()
![]()
![]()
(1)在cmd下執行以下命令:npm install -g --unsafe-perm node-red使用該種方式安裝的為系統默認的版本。 ![]()
#示例 npm install -g? node-red@2.2.2
![]() 這個是簡易版,但是我們的目標不是這個而是系統的搭建,要看這個地址,就要在傍邊的dashboard里面的Layout的最右邊的分享按鈕點擊它就行了
![]()
![]() | |
調試與結果測試: ![]() 以下是當我當我按下燈打開時,發送給模擬智能設備的主題信息,和模擬前端需要發送給后端APP的數據. ![]() | |
心得體會: 主要寫在實驗過程中遇到什么問題及如何解決問題等 1,UsPahoMqttClient1 中的 Broker 指的是你服務器的 IP 地址,在字面上它被翻譯為“代理”,就像移動運營商作為一個中介服務商那樣。起初,我使用的是 MQTT 官網提供的公共服務器,但它有用戶數量的限制,而且可用的機會很少。我那時使用的是 broker.emqx.io,這是一個域名,其中 emqx.io 是頂級域名(或者根據 .io 的層級劃分,它可能是二級域名),而 broker 是這個頂級域名下的一個子域名。 但是,我自己部署了一臺服務器,沒有為它注冊域名。不過,域名和 IP 地址是通過 DNS(域名系統)進行映射對應的。因此,我嘗試直接使用了服務器的 IP 地址,結果成功了。 除了可以在指定的位置填寫和修改 Broker 地址外,你還可以點擊“拓展”按鈕,在側面的屬性欄中也能進行修改。不過需要注意的是,這兩個地方的修改容易產生沖突,因此在操作時需要格外小心。 在這一步中,我使用了MQTT客戶端工具EMQ來快速測試MQTT服務。通過這一工具,我能夠模擬智能設備,向MQTT服務器發送數據,并接收來自服務器的消息。這一過程讓我對MQTT的基本通信原理有了更直觀的理解。同時,我也通過觀看相關的視頻教程,如“07-MQTTX客戶端工具的使用”,進一步加深了對MQTT客戶端使用的掌握。 步驟二:安裝MQTT服務器EMQX(模擬云服務器) 接下來,我安裝了MQTT服務器EMQX,以模擬云服務器的角色。EMQX是一款開源的、高性能的物聯網消息中間件,它支持MQTT協議,能夠處理大量的并發連接和消息傳輸。通過安裝和配置EMQX,我成功搭建了一個MQTT服務器環境,為后續的智能設備與應用客戶端之間的數據交互提供了基礎。在安裝過程中,我參考了EMQX的官方文檔和視頻教程,如“05-MQTT入門案例-EMQX環境搭建”,這些資源對我順利完成安裝和配置起到了很大的幫助。 步驟三:開發應用客戶端(App Inventor + MQTT插件) 最后一步是開發應用客戶端。我選擇了Google App Inventor這一完全在線開發的Android編程環境,它使用積木式的堆疊法來完成Android程序,大大降低了編程的門檻。在開發過程中,我使用了App Inventor的MQTT插件來實現與MQTT服務器的通信。通過這一插件,我能夠輕松地將應用客戶端與MQTT服務器連接起來,實現數據的發送和接收。同時,我也觀看了相關的視頻教程和課程講義,如“App Inventor-零基礎Android移動應用開發”和“試用新發現的APPinventor的MQTT插件記錄”,這些資源對我理解和掌握App Inventor及MQTT插件的使用起到了很大的幫助。 |