# MQTT互連 ###### tags: `自主學習` ## 設備連到同一子網域 - 網路必須連到同一個子網域才能互連 - 學校的WiFi是全網域,就算每人都用 NCNU(Web login) 有可能到不同子網域  - 連到同一子網域的方法(目前知道)有 2 種: - 透過分享器 (我們用 [TOTOLINK 路由器](https://24h.pchome.com.tw/prod/DRAF5L-A9006SM1T))  - 透過 vpn  > 手機熱點分享也是一種子網域,它的全網域是某某電信的基地台 - 確認網域:`網路` > 現在連線中的網路 > `內容`  - IPv4 DNS 伺服器就是網域,在這裡是 192.168.10.254 搜尋它會進入 TOTOLINK 的網頁(後台?),輸入帳號密碼後可以查看連到此網域的所有裝置名稱 - IPv4 位址是電腦IP,也可以在 cmd 用下面一段指令查詢 ```shell= ipconfig ``` > 進入 NCNU(Web login) 的 IPv4 DNS 會出現: >  或  ## 設定連線到 server - ** client端**在 MQTTlens 設定連結中 **Hostname(主機名稱)** 改成 server 的 IP  ## 困難 - mosquitto 在 2.0 版本後 (現在是 2.0.1 版),client 必須完成**管理員**才能連進 server 端 - 先進到mosquitto 資料夾 輸入以下指令 ```shell= mosquitto -v ```  文件:https://mosquitto.org/documentation/authentication-methods/ - 解決的方法有 3 種: - 設定密碼 - 安裝插件 - 關掉這個功能 (用這個) - 方法:**server端**以管理員身分修改mosquitto.conf - mosquitto.conf 在C:\Program Files\mosquitto - 在檔案中將allow_anonymous註解拿掉並改成true ```shell= listener 1883 allow_anonymous true ``` > 如果不能修改,先到 `內容` > `一般` > `進階` > 取消勾選`檔案屬性`的選項 >  ## 其他 - 不確定 server端改設定   - 若不要用 MQTTlens 傳送資料,要用 cmd 下指令傳送資料,可以查看說明文件 ```shell= mosquitto_pub.exe ``` - 把query C# -> 連線 - 可以將之前座的東西透過C#連線到MQTT # 程式碼 [實作code source](https://github.com/xamarin/mqtt)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up