發表文章

目前顯示的是有「物連網」標籤的文章

MQTT android studio

先在APP的build.gradle中的dependencies加入以下紅字 dependencies { compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0' compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' } 然後在 AndroidManifest.xml中加入 <uses-permission android:name="android.permission.INTERNET"> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> <uses-permission android:name="android.permission.WAKE_LOCK"> 在 AndroidManifest.xml <application 加入 <service android:name="org.eclipse.paho.android.service.MqttService" /> 讓我們做一個MqttHelper import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallback; import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.MqttException; import org.ec

MQTT 簡介與使用

目前物聯網(IoT)有許多的服務開發,想要萬物皆連網,一張簡單的無線網卡與一個可以做中介溝通的服務器就變成是必要條件。MQTT是乎是目前蠻多人用的一個方案。這個簡介一下。 https://test.mosquitto.org/ 這是一個免費的MQTT服務站。大家可以多多使用。 https://mosquitto.org/download/ 下載頁中有許多作業系統可選,也有程式碼可看。 安裝完後,會有三個可用的程式 mosquitto -> MQTT server,執行後,電腦就有MQTT服務的功能。記得到mosquitto.config中更改一下設定。也要把防火牆設定好。讓MQTT的通訊可以通過。 mosquitto_pub ->發佈 使用方法 mosquitto_pub -h test.mosquitto.org -t  JurassicPark  -m "Hello World" -P password -u username mosquitto_sub ->訂閱 使用方法 mosquitto_sub -h test.mosquitto.org -t  JurassicPark  -P password -u username 如果沒有使用者的設定,-P password -u username是可以省略的。指令上也頗好記。 -h 就是指host,也就是伺服器的IP或是域名。 -t 就是Topic。Topic就是一個要溝通的主題。如果我們訂閱了(如上例) JurassicPark這個主題。也就只能收到針對這個主題發佈的訊息。 -m 就是指要發佈的訊息。 補充幾個名詞 Clean session  指client斷線時,server是否要 保留 client沒有收到的訊息,等client再次連線,再發佈給client。 設為1,不保留。  設為0,保留。 QoS (Quality of Service)  每個 發佈者 或是 訂閱者 都可以設自己的QoS。 有三個level,0,1,2 以下以發佈者跟MQTT代理人(Server)來說明。 設為0 代表發佈者送給MQTT代理人,就不管了。 設為1代表 發佈者送給 MQTT代理人 , MQT