搞了幾天才有一點點眉目,期間安裝ubuntu也是莫名其妙的錯誤很多
參考文章
MQTT入門系列[http://dataguild.org/?p=6817#comment-333]
配置環境
使用的是virtualbox安裝的ubuntu 14.04版本,使用的是Genymotion模擬器。
ubuntu作為服務端跑MQTT代理mosquitto,Genymotion跑的是自己寫的MQTT的demo。
1、怎么測試Genymotion有沒有連接上ubuntu呢?
我是在ubuntu開啟apache服務器,然后再Genymotion打開瀏覽器訪問ubuntu的ip地址和apache的默認html。
剛開始Genymotion和ubuntu連接網絡的方式都是:僅主機(Host-only)適配器,結果發現就是訪問不了,然后查了下virtualbox的網絡連接方式的說明:然后把ubuntu改成橋接網卡;Genymotion的瀏覽器就可以訪問到ubuntu上的默認html;證明它們之間連接上了。
2、配置mosquitto和app
mosquitto根據本文開頭鏈接里的文章進行配置,還是搬過來吧:
安裝:
apt-get install mosquitto
apt-get install mosquitto-clients
升級:
apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
apt-get update
apt-get install mosquitto
apt-get install mosquitto-clients
來測試下mosquitto能不能用:
開一個終端運行監聽信息的人
mosquitto_sub -d -t 'food'
再新開一個終端運行發信息的人
mosquitto_pub -d -t 'food' -m '我給你一個豬蹄'
如果監聽信息的人接受到 “我給你一個豬蹄” ,則證明mosquitto是可以用的。
既然證明了mosquitto可以用,那么我們就要來運行一下MQTT的demo了,鏈接:https://github.com/eclipse/paho.mqtt.android
因為用的是tcp連接,所以host填寫格式:
tcp://172.1.1.6:1883
當然上面是亂寫的,你設置ubuntu為橋接網卡,然后找到ip地址,配置監聽的端口,差不多就是這樣了。
嗯,到此app應該可以連接上服務端,填寫好topic之類的,再按照上面發信息,就可以收到信息了。