文章目录
- 消息通信
- 云产品流转
- 服务订阅
前言
最近在做已接入阿里云平台的设备,通过阿里云物联网平台 经过中间件(消息服务/阿里云产品等)再流转到其他企业服务器的东西。
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义](https://s2.51cto.com/images/blog/202209/03005506_6312356a8c76037509.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
准备
阿里云账号:这个得自己创建了
阿里云物联网平台
阿里云物联网平台公共实例
相关资料
阿里云帮助手册【阿里云生活物联网架构师专题 ⑧】基于在 SpringBoot Java私有云上接收阿里云物联网设备的各种状态数据,实现m2m流转
相关介绍
消息通信
https://help.aliyun.com/document_detail/146382.html 由于我是做后端数据的 比较关心如何接入阿里云平台,发现有以下几种方式:
- 云产品流转(RocketMQ等)
- 服务订阅 (MNS、AMQP)
- 使用Topic通信(自定义Topic、使用物模型功能相关Topic)
云产品流转
https://help.aliyun.com/document_detail/30553.html
RocketMQ
服务订阅
https://help.aliyun.com/document_detail/89225.html
私有云可以直接订阅产品下多种类型的消息:设备上报消息、设备状态变化通知、设备生命周期变更、网关发现子设备上报、设备拓扑关系变更等。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务器。
MNS
https://help.aliyun.com/document_detail/68948.html
AMQP
https://help.aliyun.com/document_detail/130827.html![[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_02](https://s2.51cto.com/images/blog/202209/03005506_6312356aa267814204.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
注意:只能订阅消息 不能和物联网设备通信
Topic通信
https://help.aliyun.com/document_detail/90567.html
创建设备
Mqttfx设备接入(模拟设备)
安装mqtt.fx 1.71版本
基本步骤:
- Etras->Edit Connect Profiles
- 编辑Broken Address和ClientId (在设备页面查看)
- 添加上对应的值
- 3.添加username和passwd
- 4.选择ssl
- 5.最后点击ok
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_03](https://s2.51cto.com/images/blog/202209/03005506_6312356ab208365591.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_04](https://s2.51cto.com/images/blog/202209/03005506_6312356ac5e5152217.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_开发语言_05](https://s2.51cto.com/images/blog/202209/03005507_6312356b6956e62616.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_阿里云_06](https://s2.51cto.com/images/blog/202209/03005508_6312356c4ad3363654.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_07](https://s2.51cto.com/images/blog/202209/03005508_6312356c9728143787.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_08](https://s2.51cto.com/images/blog/202209/03005508_6312356cbc7d232335.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
6.点击Connect,绿色表示连接成功
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_09](https://s2.51cto.com/images/blog/202209/03005508_6312356cd82ca7131.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
测试下行(服务端----发布消息—>设备)
使用自定义Topic测试-发布 (mqtt.fx的设备订阅消息-阿里云平台发布消息)
- 产品页中选择自定义Topic 订阅user/get 复制到mqtt.fx (记得修改{device_name}为阿里云上创建的设备的设备名)
- 复制到该处, 点击Subscribe
- 2.发布消息(进入设备->Topic列表->发布消息 输入helloworld)
- 3.mqtt.fx接受到消息
- 说明下行测试通信成功
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_10](https://s2.51cto.com/images/blog/202209/03005509_6312356d0636040149.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_服务端_11](https://s2.51cto.com/images/blog/202209/03005509_6312356d5d9d191435.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_12](https://s2.51cto.com/images/blog/202209/03005509_6312356d94e7242588.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_开发语言_13](https://s2.51cto.com/images/blog/202209/03005509_6312356dc842876337.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_14](https://s2.51cto.com/images/blog/202209/03005509_6312356df37f469768.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
测试上行(设备----发布消息—>服务端)
使用自定义Topic测试-订阅 (mqtt.fx的设备发布消息-阿里云平台订阅消息)
- 产品页中选择自定义Topic 发布user/update 复制到mqtt.fx (记得修改{device_name}为阿里云上创建的设备的设备名)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_15](https://s2.51cto.com/images/blog/202209/03005510_6312356e285ec84535.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
2. 复制到MQtt.fx Publish(注意更改设备名)输入内容“test” 点击Publish
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_java_16](https://s2.51cto.com/images/blog/202209/03005510_6312356e8807530011.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
3. 阿里云平台查看消息
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_17](https://s2.51cto.com/images/blog/202209/03005510_6312356eb6bd238352.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_阿里云_18](https://s2.51cto.com/images/blog/202209/03005510_6312356ee245678135.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_19](https://s2.51cto.com/images/blog/202209/03005511_6312356f17dd831376.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
查看收到test消息 说明上行 mqtt.fx 发布成功
服务端订阅-AMQP 配合mqtt.fx 连通测试
服务端订阅消息,只能收消息。不能发送消息到设备。
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_开发语言_20](https://s2.51cto.com/images/blog/202209/03005511_6312356f3a32140398.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
java 服务端订阅-AMQP-SDK接入
参考文档 基本步骤:
- 跑demodemo地址
- 配置信息
- 启动demo
配置
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_自定义_21](https://s2.51cto.com/images/blog/202209/03005511_6312356f6cd6199343.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
mqtt.fx 设备发布消息
publish消息
结果
第三方(手机APP/服务端)经阿里云平台发布消息(Publish)
自定义topicPubSubDemo 包括设备连接Demo(LinkitPubClient/LinkitSubClient)和服务端发布Demo(PopPubServer)
注:
这里也可以用阿里云 在线调试工具 进行模拟服务端通过阿里云平台向设备发送消息
步骤:
- 下载安装运行PopPubServer demo
- 配置阿里云账号及产品信息
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_服务端_22](https://s2.51cto.com/images/blog/202209/03005511_6312356f89ed294028.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
注意:添加instancesId demo里面默认没有添加,导致报错 iot.Sre.IotInstanceNotFound
- 连接启动mqtt.fx 并且订阅自定义topic /user/get
- 修改服务端请求的自定义topic 同样请求/user/get
- 启动服务端
![在这里插入图片描述 [笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台_服务端_23](https://s2.51cto.com/images/blog/202209/03005511_6312356fb72a442950.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
其他
云端开发指南
















