阿里云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
相关文章
|
10月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
3227 42
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
367 7
|
Java 开发工具
通过Java SDK调用阿里云模型服务
在阿里云平台上,可以通过创建应用并使用模型服务完成特定任务,如生成文章内容。本示例展示了一段简化的Java代码,演示了如何调用阿里云模型服务生成关于“春秋战国经济与文化”的简短文章。示例代码通过设置系统角色为历史学家,并提出文章生成需求,最终处理并输出生成的文章内容。在实际部署前,请确保正确配置环境变量中的密钥和ID,并根据需要调整SDK导入语句及类名。更多详情和示例,请参考相关链接。
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
|
人工智能 安全 物联网
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
消息中间件 负载均衡 网络性能优化
消息队列 MQ产品使用合集之 终端sdk和云端sdk的区别是什么
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
1236 1
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
287 0