MQTT 測試
本想用C# 用 MQTT.NET 寫一個 MQTT server ,但看一看挺滿麻煩的
所以用 Mosquitto 當server
用 C# M2Mqtt 寫個 client 端,這比較簡單
然後用 Arduino +mini D1 用 PubSubClient 一樣寫個 client 端
C# 跟 Arduino 能互通就可以
********************************
簡單說 Mosquitto server 是當個轉發者的角色
而Client 就負責 先登入一個(ID)不重複
訂閱:就是你要收到 那一類的訊息
發布:就是你要發出 那一類的訊息 + 內容
發布者發布(訊息 + 內容)後,訂閱(訊息)的人(ID)都會收到
************************************************
1.先在 樹梅派 裝 Mosquitto ,windows 也可裝 但我有樹梅派 閒著也是閒著
樹梅派開好先
sudo apt-get update
sudo apt-get upgrade
(確保是最新版本,不然裝可能有問題)
sudo apt-get install mosquitto mosquitto-clients
裝起來想知道 OK不OK
參考 http://cheng-min-i-taiwan.blogspot.com/2015/03/raspberry-pimqtt-android.html
後面步驟做測試
**********************************************
2.C# 安裝 M2Mqtt
參照 https://yazelin.github.io/usc2017nsp/week2.html
寫一個
裏頭要改的出了 MQTT server IP 外
他的 訂閱
string Topic = textBox1.Text;//直接用 "outTopic" 跟 Arduino 呼應 接收 esp 傳來的資料
//設定主題及傳送品質 0 ( 0, 1, 2 )
client.Subscribe(new string[] { Topic }, new byte[] { 0 });
發布
string Topic =textBox2.Text;// 用 "inTopic" 跟 Arduino 呼應 送給 esp
string Mess =textBox3.Text;// 1 是讓燈亮 0 關燈
//發佈主題、內容及設定傳送品質 QoS 0 ( 0, 1, 2 )
client.Publish(Topic, Encoding.UTF8.GetBytes(Mess), MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE, true);
**********************************************************************************************************
3. Arduino 安裝 PubSubClient
安裝完 範例部分有個 mqtt_esp8266
拿它來改
除了 wifi SSD 跟PASS 還有 MQTT的 IP 要改之外
BUILTIN_LED 改成你自己 LED 的port
就OK了
***********************************************
然後 C#程式 訂閱後有收到訊息
發布 1 LED亮 發布 0 LED滅
這樣大致就搞定了
所以用 Mosquitto 當server
用 C# M2Mqtt 寫個 client 端,這比較簡單
然後用 Arduino +mini D1 用 PubSubClient 一樣寫個 client 端
C# 跟 Arduino 能互通就可以
********************************
簡單說 Mosquitto server 是當個轉發者的角色
而Client 就負責 先登入一個(ID)不重複
訂閱:就是你要收到 那一類的訊息
發布:就是你要發出 那一類的訊息 + 內容
發布者發布(訊息 + 內容)後,訂閱(訊息)的人(ID)都會收到
************************************************
1.先在 樹梅派 裝 Mosquitto ,windows 也可裝 但我有樹梅派 閒著也是閒著
樹梅派開好先
sudo apt-get update
sudo apt-get upgrade
(確保是最新版本,不然裝可能有問題)
sudo apt-get install mosquitto mosquitto-clients
裝起來想知道 OK不OK
參考 http://cheng-min-i-taiwan.blogspot.com/2015/03/raspberry-pimqtt-android.html
後面步驟做測試
**********************************************
2.C# 安裝 M2Mqtt
參照 https://yazelin.github.io/usc2017nsp/week2.html
寫一個
裏頭要改的出了 MQTT server IP 外
他的 訂閱
string Topic = textBox1.Text;//直接用 "outTopic" 跟 Arduino 呼應 接收 esp 傳來的資料
//設定主題及傳送品質 0 ( 0, 1, 2 )
client.Subscribe(new string[] { Topic }, new byte[] { 0 });
發布
string Topic =textBox2.Text;// 用 "inTopic" 跟 Arduino 呼應 送給 esp
string Mess =textBox3.Text;// 1 是讓燈亮 0 關燈
//發佈主題、內容及設定傳送品質 QoS 0 ( 0, 1, 2 )
client.Publish(Topic, Encoding.UTF8.GetBytes(Mess), MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE, true);
**********************************************************************************************************
3. Arduino 安裝 PubSubClient
安裝完 範例部分有個 mqtt_esp8266
拿它來改
除了 wifi SSD 跟PASS 還有 MQTT的 IP 要改之外
BUILTIN_LED 改成你自己 LED 的port
就OK了
***********************************************
然後 C#程式 訂閱後有收到訊息
發布 1 LED亮 發布 0 LED滅
這樣大致就搞定了
留言
張貼留言