文章目录
前言准备相关资料相关介绍消息通信云产品流转RocketMQ服务订阅MNSAMQPTopic通信创建设备Mqttfx设备接入(模拟设备)安装mqtt.fx 1.71版本测试下行(服务端----发布消息--->设备)测试上行(设备----发布消息--->服务端)服务端订阅-AMQP 配合mqtt.fx 连通测试java 服务端订阅-AMQP-SDK接入mqtt.fx 设备发布消息结果第三方(手机APP/服务端)经阿里云平台发布消息(Publish)其他前言
最近在做已接入阿里云平台的设备,通过阿里云物联网平台 经过中间件(消息服务/阿里云产品等)再流转到其他企业服务器的东西。
准备
阿里云账号:这个得自己创建了
阿里云物联网平台
阿里云物联网平台公共实例
相关资料
阿里云帮助手册
【阿里云生活物联网架构师专题 ⑧】基于在 SpringBoot Java私有云上接收阿里云物联网设备的各种状态数据,实现m2m流转
相关介绍
消息通信
/document_detail/146382.html
由于我是做后端数据的 比较关心如何接入阿里云平台,发现有以下几种方式:
云产品流转(RocketMQ等)服务订阅 (MNS、AMQP)使用Topic通信(自定义Topic、使用物模型功能相关Topic)
云产品流转
/document_detail/30553.html
RocketMQ
服务订阅
/document_detail/89225.html
私有云可以直接订阅产品下多种类型的消息:设备上报消息、设备状态变化通知、设备生命周期变更、网关发现子设备上报、设备拓扑关系变更等。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务器。
MNS
/document_detail/68948.html
AMQP
/document_detail/130827.html
注意:只能订阅消息 不能和物联网设备通信
Topic通信
/document_detail/90567.html
创建设备
Mqttfx设备接入(模拟设备)
Mqttfx设备接入,里面视频很重要!
安装mqtt.fx 1.71版本
基本步骤:
Etras->Edit Connect Profiles
编辑Broken Address和ClientId (在设备页面查看)
添加上对应的值
3.添加username和passwd
4.选择ssl
5.最后点击ok
6.点击Connect,绿色表示连接成功
测试下行(服务端----发布消息—>设备)
使用自定义Topic测试-发布 (mqtt.fx的设备订阅消息-阿里云平台发布消息)
产品页中选择自定义Topic 订阅user/get 复制到mqtt.fx (记得修改{device_name}为阿里云上创建的设备的设备名)
复制到该处, 点击Subscribe
2.发布消息(进入设备->Topic列表->发布消息 输入helloworld)
3.mqtt.fx接受到消息
说明下行测试通信成功
测试上行(设备----发布消息—>服务端)
使用自定义Topic测试-订阅 (mqtt.fx的设备发布消息-阿里云平台订阅消息)
产品页中选择自定义Topic 发布user/update 复制到mqtt.fx (记得修改{device_name}为阿里云上创建的设备的设备名)
2. 复制到MQtt.fx Publish(注意更改设备名)输入内容“test” 点击Publish
3. 阿里云平台查看消息
查看收到test消息 说明上行 mqtt.fx 发布成功
服务端订阅-AMQP 配合mqtt.fx 连通测试
服务端订阅消息,只能收消息。不能发送消息到设备。
java 服务端订阅-AMQP-SDK接入
参考文档
基本步骤:
跑demo demo地址配置信息启动demo
配置
mqtt.fx 设备发布消息
publish消息
结果
第三方(手机APP/服务端)经阿里云平台发布消息(Publish)
自定义topic
PubSubDemo 包括设备连接Demo(LinkitPubClient/LinkitSubClient)和服务端发布Demo(PopPubServer)
注:
这里也可以用阿里云 在线调试工具
进行模拟服务端通过阿里云平台向设备发送消息
步骤:
下载安装运行PopPubServer demo配置阿里云账号及产品信息
连接启动mqtt.fx 并且订阅自定义topic /user/get修改服务端请求的自定义topic 同样请求/user/get启动服务端注意:添加instancesId demo里面默认没有添加,导致报错 iot.Sre.IotInstanceNotFound
其他
查看地区码(RegionID)
云端开发指南
在线调试工具。