阿里云IoT设备接入跨平台SDK(基于mqtt)

简介: 本文主要是介绍 自己实现的 阿里云IoT设备接入跨平台SDK,这个SDK提供跨平台的支持, 在windows上是基于VS2013 Release版本编译 *nix上基于简单的Makefile编译 支持交叉编译

title: 阿里云IoT设备接入跨平台SDK(基于mqtt)
tags:

  • 物联网开发
  • MQTT
  • 阿里云
    categories:
  • 物联网

本文主要是介绍 自己实现的 阿里云IoT设备接入跨平台SDK,这个SDK提供跨平台的支持,
在windows上是基于VS2013 Release版本编译
*nix上基于简单的Makefile编译
支持交叉编译

特别注意

代码中使用的 阿里云设备三元组是个人提供的一个三元组,请自行替换成自己设备对应的三元组

// 最后一个字段是表示,阿里云的设备是高级设备还是普通设备
IotDeviceIdentity gIdentities[] = {
    { "a1onpCjBsoK", "bim_music_control_btn1", "jOx2X75wVuTzannfUOMzrLTiOBkhiZSr", true }
};

代码下载地址

https://github.com/rainbow-martin/aliyun_iot_device_sdk

第三方依赖

库名 下载地址
mqtt库 https://github.com/eclipse/paho.mqtt.c
jsoncpp库 https://github.com/open-source-parsers/jsoncpp

目录结构

目录结构 注释
3rd/ 第三方依赖性,jsoncpp和paho mqtt
baselib/ 基础类库,用于log记录等常见工具类
builall.sh* *nix 系统编译脚本
iot_device_async/ 异步mqtt接入iot 设备
iot_device_sync/ 同步mqtt接入iot 设备
pre_make.sh 嵌入式设备(如ARM)编译器选择,用于交叉编译
win32/ windows vs2013编译工程
    • -

windows系统编译版本

WIN32
编译环境: VS2013

编译工程: win32mytest.sln

编译方法:打开工程,选择Release-Win32, 即可进行编译
注意:需要配置$(OpenSSLDir) 作为环境变量

*nix系统编译版本

*nix

./buildall.sh 即可

编译产物 在bin目录

交叉编译编译版本

参考pre_make.sh,目前是arms树莓派的交叉编译环境
变编译之前运行
source pre_make.sh

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1天前
|
消息中间件 存储 安全
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(10)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(10)
|
1天前
|
消息中间件 存储 Cloud Native
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(11)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(11)
|
1天前
|
消息中间件 安全 Cloud Native
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(9)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
20小时前
|
消息中间件 负载均衡 网络性能优化
消息队列 MQ产品使用合集之 终端sdk和云端sdk的区别是什么
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
1天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(12)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(8)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(8)
|
1天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
消息中间件 运维 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

热门文章

最新文章