4.B-Air302(NB-IOT)-功能擴展-Android掃碼綁定Air302,並通過MQTT實現遠程控制和監控PLC(三菱Fx1s-10MR)


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

說明

這節測試一下使用Android掃碼綁定Air302,並通過MQTT實現遠程控制和監控PLC.

開發板負責透傳數據,APP和PLC通信直接使用的PLC的編程口協議.

PLC的型號為Fx1s-10MR,因為是編程口協議,應該兼容大部分三菱(具體沒測試)

Fx1s-10MR有6路X,4路Y,所以APP做成了下面的樣子.

上面是X的監視,綠燈代表接通; 下面是Y,可以控制Y的輸出.

 

 

硬件連接

 

 

①: 三菱PLC (Fx1s-10MR)

②: 通信線纜可以選擇以下兩款

 

 

 

 

③,④  記得插上手機卡和天線

 

測試

1.把本節代碼拷貝到工程

 

 

 

 

 

2.下載程序到開發板(下載完成以后復位一下,查看日志)

 

顯示如下說明成功連接服務器

 

 

 

3.安裝APP軟件

 

 

 

 

 

 

 

 

4.打開APP,選擇右上角 掃一掃

 

5.掃描模組上面的二維碼

 

 

 

6.將會添加一個設備在頁面(顯示的信息為模組的IMEI)

 

 

 

7.點擊設備進入控制頁面(右上角顯示在線的時候就可以了)

當前NB-IOT模組的程序長時間不控制,會等好一會才可以與其通信上,用戶可以直接復位下模組,

讓模組重新執行程序可以很快的連接上.這個問題后期再找找.

 

 

 

 

8.我短接了X3, 然后用手機打開了Y1和Y2

 

 

 

 

 

NB-IOT程序說明

1.NB-IOT程序只是做了個透傳功能.

控制模組連接上MQTT服務器,模組接收MQTT服務器的數據,轉發到串口

模組從串口接收的數據發送到MQTT服務器

2.服務器相關

mqtt服務器ip地址: mnif.cn

mqtt服務器端口號: 1883

mqtt服務器用戶名: yang

mqtt服務器密碼: 11223344

 

3.設備和APP通信規定

APP通過掃碼獲取設備IMEI號

APP訂閱的主題: device/設備IMEI號

APP發布的主題: user/設備IMEI號

 

APP <---> MQTT服務器 <----> 模組(透傳) <----> PLC

 

2.控制模組連接MQTT服務器,並訂閱主題

 

 

 

 

3.配置串口(485),並把串口接收的消息發送到MQTT服務器

 

 

 

 

4.把MQTT接收的消息通過串口發送給PLC

 

 

 

Android程序說明

1.連接MQTT

 

 

 

 

 

 

 

 

2.掃碼使用的Google的zxing

 

 

 

3.啟動掃碼

 

 

 

4.掃碼成功,攜帶着掃碼信息跳轉到主頁

 

 

 

5.主頁把接收的數據(設備的IMEI號)存儲到本地數據庫(使用的Litepal),然后把設備顯示在頁面

 

 

 

 

6.點擊設備,攜帶着所點擊設備的IMEI跳轉到控制頁面

 

7.獲取傳遞過來的設備的IMEI號

 

 

8.訂閱主題

 

 

 

 

9.每隔一段時間通過指令查詢PLC的X0-X5, Y0-Y3 狀態

 

 

 

 

 

10.點擊某一個開關控制PLC的Y輸出

 

 

 

 

 

11.接收處理PLC返回的數據

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM