阿里云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版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 存储 Serverless
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
88 2
|
5月前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
301 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
|
5月前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
186 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
|
5月前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
245 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
|
26天前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
46 7
|
2月前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
74 9
|
1月前
|
人工智能 安全 物联网
|
3月前
|
Java 开发工具
通过Java SDK调用阿里云模型服务
在阿里云平台上,可以通过创建应用并使用模型服务完成特定任务,如生成文章内容。本示例展示了一段简化的Java代码,演示了如何调用阿里云模型服务生成关于“春秋战国经济与文化”的简短文章。示例代码通过设置系统角色为历史学家,并提出文章生成需求,最终处理并输出生成的文章内容。在实际部署前,请确保正确配置环境变量中的密钥和ID,并根据需要调整SDK导入语句及类名。更多详情和示例,请参考相关链接。
|
3月前
|
API 开发工具 图形学
影创SDK☀️六、讲讲SDK如何适配不同型号的设备控制器
影创SDK☀️六、讲讲SDK如何适配不同型号的设备控制器
|
3月前
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
下一篇
无影云桌面