搞了几天才有一点点眉目,期间安装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之类的,再按照上面发信息,就可以收到信息了。