阿里云-物联网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在服务器推送的消息长度过长时就会提取失败。
总而言之,接入第三方产品总是坎坷曲折的。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值