|
最近工作中遇到一個需要使用mqtt協(xié)議的項目,自己開發(fā)的時候可以在電腦上搭建簡易的mqtt消息服務(wù)器,然后板子通過以太網(wǎng)口直連電腦訪問,但是生產(chǎn)環(huán)境是要通過4G模塊實現(xiàn)連接的,故還需要測試公網(wǎng)訪問MQTT服務(wù)器。
但是各大平臺的云服務(wù)太貴,故產(chǎn)生了通過內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問自家電腦上的mqtt服務(wù)器的想法,畢竟只是測試,不需要考慮并發(fā)量和響應(yīng)速度
1、windows端下載nanomq,nanomq start --conf C:\Program Files\nanomq\config\nanomq.conf --auth C:\Program Files\nanomq\config\nanomq_auth_username.conf 命令啟動服務(wù)
其中nanomq.conf文件配置mqtt服務(wù)器地址和端口,nanomq_auth_username.conf配置用戶名密碼,只有在此名單里的連接才會被允許。
nanomq_cli sub --url mqtt-tcp://192.168.1.23:1883 -t topic -u HY -p 12345 此命令訂閱主題為“topic”,用戶名為HY,密碼為12345,如果用戶名和密碼在nanomq_auth_username.conf白名單中,則可以訂閱成功
nanomq_cli pub --url mqtt-tcp://192.168.1.23:1883 -t topic -q 1 -m 12345 此命令發(fā)布主題為“topic”,Qos為1 ,消息內(nèi)容為“12345”
如果上一步訂閱正常,則命令終端會打印出接收到的消息
可以下載MQTTX,此程序圖形化界面友好,可以簡單測試mqtt連接,訂閱發(fā)布是否正常
2、板子以太網(wǎng)直連,建立mqtt連接時需要填寫對應(yīng)的mqtt服務(wù)器地址、端口、用戶名、密碼,測試是否能直接接入電腦上的mqtt服務(wù)器,這一步主要測試板子上的mqtt消息實現(xiàn)是否正常,
3、內(nèi)網(wǎng)穿透,下載cpolar,免費好用。網(wǎng)上有教程,實現(xiàn)內(nèi)網(wǎng)穿透很簡單,但有一點要注意的是,板子要想通過穿透來建立mqtt連接,不能用cpolar http命令,要用cpolar tcp命令,然后去cpolar官網(wǎng)看自己的隧道建立好沒有
他會自動分配域名和端口,以后板子就直接連接訪問此端口,本地地址要填你本地mqtt服務(wù)器的那個地址和端口,如此便成功實現(xiàn)板子通過4G模塊公網(wǎng)訪問主機的mqtt服務(wù)器
板子建立連接成功
|
|