我是靠谱客的博主 炙热飞机,最近开发中收集的这篇文章主要介绍阿里云-物联网IoT对接过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 使用背景

最近公司需要开发小程序端外网控制路由器底层运行。
考虑到需要快速上线,还有安全性、稳定性。最终放弃自建mqtt服务器,决定采用阿里云的物联网方案。

2.阿里云的对接过程

(1)由于路由器端只能用c sdk进行编译执行。
接入端采用 c sdk。 阿里的c sdk是用cmake方式进行编译的,我把它改为了make 方式进行编译,方便交叉编译。并且已经把多线程、rrpc、普通方式的订阅、推送合并到一起。 项目地址 为 https://github.com/Lvlynn/aliyun_iot_sdk 。
(2)服务器端的订阅。
最开始采用【规则引擎】把数据流转到消息队列,这种方式要实现一对一通信需要,每接入一个设备生成一个主题和队列,然后通过消息队列SDK提取对应数据,开发周期过长。
最终采用 在自建的服务器上接收消息。
先开启服务器订阅选项;
在这里插入图片描述
然后接入mvn java sdk。只需安装java 和mvn 。
然后执行
mvn compile #编译
mvn package #打包
mvn exec:java -Dexec.mainClass=“com.aliyun.iot.demo.H2Client” #运行

这个sdk使用的java方案,压力测试过程中发现,内存会逐渐增加,所以建议
在 /etc/profile 中增加 export MAVEN_OPTS="-Xmx512m -Xms512m -Xss256k " java 程序的参数限制。
(3)这边由于是java方案,我并不是了解,决定通过http请求的方式接入到nginx php进行处理。
(4)服务器端调用sdk 来创建设备、
分组、消息下发等sdk(这里不得不吐槽一下阿里的sdk,demo示例过少,需要自己开发,增加了一些开发时间)。
(5)小程序调用php封装的API。

小结

设备端接入还是蛮费时间的,编译过程中遇到不少的小毛病,阿里sdk并没有 指定gcc版本。最终发现gcc 4.4版本编译不过,gcc 4.8版本可以编译成功。
交叉编译过于复杂 ,无法一键make 生成demo程序。
最后还发现demo中的spnrintf 截取msg_id在服务器推送的消息长度过长时就会提取失败。
总而言之,接入第三方产品总是坎坷曲折的。

最后

以上就是炙热飞机为你收集整理的阿里云-物联网IoT对接过程的全部内容,希望文章能够帮你解决阿里云-物联网IoT对接过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部