通过Paho客户端接入OneNet
首先说本文想要说明一个什么问题:OneNet平台支持MQTT协议,但给的资料非常有限。而Paho是一个开源的,MQTT的各种服务器、客户端的集成。本文要做的就是将Paho的客户端(Android客户端)接入OneNet平台,然后就能脱离OneNet平台只使用其MQTT协议服务器的作用。
一、什么是OneNet
?OneNET是中国移动物联网有限公司响应“大众创新、万众创业”以及基于开放共赢的理念,面向公共服务自主研发的开放云平台,为各种跨平台物联网应用、行业解决方案提供简便的海量连接、云端存储、消息分发和大数据分析等优质服务,从而降低物联网企业和个人(创客)的研发、运营和运维成本,使物联网企业和个人(创客)更加专注于应用,共建以OneNET为中心的物联网生态环境。
上面一段是OneNet自己网站上的一点介绍。说有还是比较“大方得体”的,嘻嘻。总之一句话:OneNet是中国移动推出的物联网开放平台。
OneNET平台提供设备全生命周期管理相关工具,帮助个人、企业快速实现大规模设备的云端管理;开放第三方API接口,推进个性化应用系统构建;提供定制化“和物”APP,加速个性化智能应用生成。
二、OneNet的优点和缺点
2.1 优点
总体上来讲,该平台有两个优点:
1、支持的协议比较多而且比较全面。
2、完全免费。
2.2 缺点
但!!作为一个国企创办的企业,觉得问题也是不少的。主要问题如下:
1、网站稳定性一般。这里并不是说服务的稳定性,服务的稳定性并没有测试过。但网站在使用时经常会出现无响应的情况,降低了用户体验。
2、帮助文档比较差劲。作为一个物联网平台,本应该是一个比较前沿的东东,但很多帮助文档竟然是Word格式的,这让人情何以堪。真的感觉帮助文档是一个盈利网站最最重要的内容之一,可能正如前面所说的,OneNet至少从现在看是并没有办法盈利的,可能只给出功能,并不关心用户体验吧。
也正是因为帮助文档的差劲,所以才有了我这篇文章,有兴趣的可以看一看。
=========================不得已的分割线=================================
开始写这个文章的时候还是五一之前。然后前一段时间非常的忙,现在过去这么久了,很多东西都记不太清楚了,所以有什么写的不好的大家可以给我提出,我来进行修改。
三、Paho接入方法
至于“注册”、登录、创建应用什么的我就不具体说了,官方有一个教程:
这个教程中,有很多可以一看的地方,特别是下面的常见问题,基本解答了我们对OneNet需要知道的一些问题,而关于Paho接入(甚至其他一切MQTT客户端)都非常关键的一个问题:
Q:MQTT连接鉴权时,Payload中ClientIdentifier;UserName;UserPassword分别填写什么?
A: ClientIdentifier: 创建设备时得到的设备ID,为数字字串;
UserName: 注册产品时,平台分配的产品ID,为数字字串;
UserPassword: 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串。
这些话说的有点套路太深,给大家翻译一下:
在进行MQTT连接时,
MQTT服务器地址(host):183.230.40.39
端口号(port):6002
ClientID: 创建设备时得到的设备ID
UserName: 产品ID,
UserPassword: 设备的鉴权信息或apiKey
为了测试,我建立了”MQTT接入测试”这个产品,具体信息如下:
然后建立两个设备,具体信息如下:
为了方便,两者通信我第一个客户端使用OneNet提供的测试客户端:
名称 |
运行环境 |
版本 |
工具下载 |
Mqtt-device | Win7+ | V1.0.4 | 点击下载 |
其中MQTT1SN为第一个设备的鉴权信息,第二个设备的鉴权信息为MQTT2SN。
第二个客户端是Paho的一个桌面客户端,可以在这里下载:
Paho – Open Source messaging for M2M
下载打开后设置如下:
注意用户名和密码也要填写:
然后两者就可以互发信息了:
四、总结
写到这里就没有其他的可以写的东西了,基本就可以玩转OneNet的MQTT协议了。
最后,发现了其他网站上的一点东东:OneNET中移物联网专题 [安信可科技]
受教了!呵呵!