阿里IOT
设备接入指南
一个设备要介入阿里云物联网平台,主要包含三个主要步骤:
接入云平台:主要在云平台上进行产品定义(设备的属性、事件等)
设备端开发:基于阿里云IOT提供的AliOS或者SDK进行设备端开发,建立阿里云连接通道
设备上下行调试:在云平台上申请测试设备的三元组(可以理解为该设备上云的身份账号),将其写入设备端,就可以进行设备和云端的上下行调试,确保设备能够连上云平台。
设备调试通过后,就可以在云平台上批量申请三元组,进行设备批量生产。
1. 接入云平台
现阿里云IOT根据用户的需求不同,提供不同的云平台,您可以根据自身的产品定位选择适合您的云平台:
阿里云物联网平台
适合用户
: 软件开发者、硬件开发者、有一定软硬件开发能力的方案商/设备厂商
平台特点
:物联网平台是阿里云面向物联网领域开发人员推出的 通用设备管理平台,提供各种基础能力,旨在帮助开发者搭建数据通道,方便终端和云端进行双向通信,设备厂商需要自己开发设备管理的手机APP或者web页面。
智能生活开放平台
适合用户
: 家电产品方案商/设备厂商、硬件开发者
平台特点
:针对生活领域的物联网平台,基于物联网平台进行了扩展,目标是解决家电设备快速智能化的问题,提供了手机APP端的设备入网、控制SDK。平台特有功能包含:APP配置及开发、项目管理、量产管理、服务中心、运营中心等功能
工业互联网平台
适合用户
: 工业领域的方案商/设备厂商、熟悉组态软件的开发者
平台特点
:针对工业领域的物联网平台,将互联网技术,云技术进行重新封装,降低用户在生成工业物联网应用时的学习成本,提高开发效率,使工业用户可以快速地在平台上完成包括设备资产管理、远程运维、生产管理等一系列工业互联网应用的开发,并一键发布应用到互联网环境中,实现一站式的应用开发与发布。
1.1 接入流程
尽管平台提供的服务不同,但各平台在设备接入流程上,大同小异。目前您可以根据以下流程在您选择的云平台中完成接入设备的操作,后续我们会逐步统一各个云平台的接入流程和体验。详见链接
2. 设备端开发
为了能够快速的将设备接入阿里云Iot平台并且能够对设备进行远程控制和管理,阿里云提供两种方法进行设备接入:基于AliOS Things 进行设备接入、基于Link Kit SDK 进行设备的接入的方式。
2.1 基于AliOS Things 进行设备接入
设备厂商可以选用经过阿里云IoT认证过的模组/芯片进行产品开发,由于认证过的模组/芯片已实现对模组/芯片的对接、支持将设备连接到阿里云IoT云平台,设备厂商可以避免硬件适配的时间与人力成本,将精力关注于产品的业务功能开发。
点击查询 - 阿里云Iot已认证的模组/芯片
同时,您也可以不依赖联网模块,完全自主的开发一款自带连接阿里云IoT功能的物联网设备。在您的开发过程中AliOS Things将为您提供包括调度内核,常用中间件以及丰富的应用组件的支持,使您的设备开发事半功倍。AliOS Things以开源的方式提供给用户使用,您可以到如下的代码仓库获得相应源码:
点击获取 - AliOS Things 物联网操作系统
2.2 基于Link Kit SDK 进行设备接入
对于不适合移植AliOS的应用场景,阿里云IoT提供设备端接入SDK(Link Kit SDK)用于将设备快速接入阿里云IoT平台,请 点击此处 获取更多Link Kit SDK的介绍,以及Link Kit SDK的 开发过程。
由于设备的运行环境不同,Link Kit SDK提供了多种语言版本,客户可以基于自己期望采用的开发语言进行设备接入.
2.2.1 C 语言Link Kit SDK
设备上运行的操作系统类型繁多,常见的诸如Linux、FreeRTOS、Windows等,C Link Kit SDK定义了硬件接口抽象层,厂商将这些接口抽象层适配到嵌入式设备的操作系统后,Link Kit SDK可以在相应的操作系统上运行。
嵌入式设备上软件结构示意图如下所示:
- 厂商需要实现Link Kit SDK HAL的适配,然后进行产品功能的开发
- 对于使用嵌入式Linux进行设备开发的厂商,SDK中包含一份基于ubuntu的HAL实现,设备厂商可以参考
3.设备上下行调试
开发完成之后你可以进行设备上下行调试来测试设备是否与云端正常通信。如果通信正常,恭喜您已经将设备成功地接入了阿里云IOT平台。
云平台名 | 操作说明 |
---|---|
阿里云物联网平台 | 上线设备 |
智能生活开放平台 | 设备调试 |
工业互联网平台 | 查看设备数据 |
4.其他资料
4.1 平台详细介绍
如果您还有更多需求可以参考各个平台的详细说明文档。
云平台名 | 说明文档 |
---|---|
阿里云物联网平台 | 文档入口 基础版快速入门 高级版快速入门 |
智能生活开放平台 | 文档入口 快速入门 |
工业互联网平台 | 文档入口 |
4.2 芯片/模组合作伙伴
我们邀请芯片商或模组商成为阿里云IOT模组/芯片合作伙伴,这样可以享受更多商业机会。详情请见芯片模组合作伙伴计划
您的角色 | 认证流程 |
---|---|
模组商 | IoT模组认证流程介绍 阿里云Link测试认证服务在线申请 |
芯片商 | 集成AliOS-Things 阿里云Link测试认证服务在线申请 |
其余SDK 详情见 👉 阿里云IOT - 开发者社区
设备技术认证流程详见 👉 阿里云IOT技术认证
小米IOT
平台概况
小米IoT开发者平台面向智能家居、智能家电、健康可穿戴、出行车载等领域,开放智能硬件接入、智能硬件控制、自动化场景、AI技术、新零售渠道等小米特色优质资源,与合作伙伴一起打造极致的物联网体验。
平台现已向以下类型的开发者开放合作——
- 智能硬件企业:企业希望自己的智能硬件支持小爱同学控制、支持米家APP控制、支持与米家智能硬件互联互通。
- 智能硬件方案商:企业希望将智能硬件接入小米IoT平台作为解决方案提供给自己的客户;同时,优秀的方案商也有机会成为平台的认证方案商,平台会引荐有研发资源支持需要的智能硬件企业。
- 语音AI平台:企业希望其语音AI服务的智能家居技能支持控制小米智能家居。
- 酒店/公寓/地产企业:企业希望其智慧化项目引入小米智能家居。
注:小米IoT开发者平台当前仅面向中国大陆地区的企业开放,暂未面向个人开发者开放。
技术方案
小米IoT开发者平台为智能硬件的接入提供两类技术方案:
方案一:设备直连接入
设备直连接入,即智能硬件通过嵌入小米智能模组或集成SDK的方式直接连接到小米IoT平台。该方案适用于以下开发者(任一条件):
- 新产品接入,同时无自有智能云、或相对缺少产品智能化经验。
- 希望产品与米家APP在体验上深度集成,用户可使用米家APP完成从配网添加到控制管理的全部操作。
- 希望产品在小米众筹平台或小米有品中销售。
- 希望产品接入后获得合作推广资源(如营销、运营等)。
方案二:云对云接入
云对云接入,即开发者自有智能云与小米IoT平台对接,其智能硬件连接自有智能云后,也间接实现了与小米IoT平台的接入。该方案适用于以下开发者:
- 已有自己的智能云和智能家居APP,产品主要在自有APP中进行添加和管理,但希望同时能被小爱同学、米家APP控制,或者希望与小米IoT平台的其他智能硬件实现互联互通。
- 希望产品接入后获得合作推广资源(如营销、运营等)。
应用接入
针对开发者的应用(包括APP、Web、AI、云)希望控制已接入小米IoT平台的智能硬件,平台提供Open API或SDK供应用进行调用。
接入流程
智能硬件接入流程
Step 1:成为开发者
开发者需先在小米IoT开发者平台递交企业开发组申请,已审核通过的企业即成为平台的开发者,可获得平台的开发使用权限。
Step 2:创建产品
对于拟接入平台的产品,建议开发者先行规划产品功能和技术方案,并根据产品规划在平台创建产品。成功创建产品过后可获得产品在平台的唯一标识等参数,用于产品开发使用。
Step 3:研发产品
完成产品创建后,即可按照开发文档引导进行配置、开发、调试工作。
针对直连接入产品,开发者可视产品功能和性能需要选用对应的小米智能模组或设备SDK,产品开发内容主要包括固件开发和米家APP扩展程序开发。
针对云接入产品,产品开发内容主要是在自有智能云上按小米IoT设备通信标准与自有协议进行适配。
Step 4:认证产品
产品在开发过程中仅支持有限数量的小米账号进行开发和调试使用(即开发测试人员)。若开发者希望产品上线被全部用户所使用,需向平台申请产品上线并提交相关检验用材料。
平台的检验内容主要涉及与平台相关的软件和物料部分,包括平台配置、米家扩展程序、设备固件等,也会包括整体的用户交互体验;但对于硬件本身的质量、包材质量、与平台无关的软件功能等不在平台的检验范围之内,由开发者自行保证。
Step 5:发布产品
对于已通过平台检验的产品,平台会与开发者就产品签订商务协议,并将产品相关配置正式上线。同时,平台会向产品正式授权使用“已接入米家 / works with mijia”商标,该商标代表该产品可以通过米家APP或小爱同学控制,可用于产品的包装、说明书、电商页面、宣传物料等地方。
在完成产品上线相关事宜后,产品即可在市场上进行销售和推广。
注:智能硬件需要以直连接入的方式接入平台后,方可具备上架小米众筹或小米有品等渠道的资质;最终产品是否可成功入驻上述渠道,以有品团队的选品评估结论为准,可详见入驻有品。
应用接入流程
Step 1:成为开发者
由于应用需要开通小米账号授权服务,开发者除了需成为小米IoT开发者平台的企业开发者外,还需注册成为小米开放平台的企业开发者。
Step 2:创建应用
开发者先在小米开放平台创建应用并开通账号服务,应用信息会自动同步至小米IoT开发者平台,开发者继续申请并获得IoT平台的权限后,便可获得权限使用Open API或SDK。
Step 3:研发应用
开发者可按照开发文档引导进行配置、开发、调试工作。
Step 4:发布应用
开发者在开发阶段,平台对Open API有使用频率和次数的限制。在应用开发完毕后,开发者需向平台申请上线应用并与平台签订商务协议。
在完成应用上线相关事宜后,应用即可在市场上进行发布和推广。
注:该步骤主要面向控制其他企业开发组硬件的应用。针对控制自己企业开发组的硬件的应用(如将自有硬件对接Alexa),暂无需经过该步骤。
开放能力
** 2.1 智能硬件直连接入**
智能硬件以硬件直连的方式接入小米IoT开发者平台,即硬件中嵌入小米智能模组或集成设备SDK。
小米智能模组中已内置标准的设备SDK,且将功能接口封装为串口通信指令格式。适合于自带MCU的、控制功能相对简单的智能硬件,开发者可直接使用MCU对接小米智能模组,并按照标准格式通过串口向模组上报或拉取数据。
设备SDK适合于带操作系统的、控制功能相对复杂的智能硬件,也适合无MCU、直接在模组中开发功能的智能硬件,SDK中已实现设备配网、账号绑定、云端通信、OTA等功能,开发者只需调用接口并实现硬件自身的功能逻辑即可。
注:智能硬件与平台进行信令及数据交换的数据格式需为Json格式。
硬件交互体验
用户可直接使用米家APP添加设备,针对Wi-Fi和蓝牙设备,还可使用米家APP为设备进行配网或配对,详见 《硬件配网绑定》。
整个添加设备的过程均为米家APP的通用功能,无需开发者开发。开发者负责开发的部分只有对应产品的控制界面部分(即米家APP扩展程序),详见 《米家APP控制》。
硬件开发类型
针对开发者不同的硬件开发类型,平台提供对应的技术和资料支持:
IP设备
包括Wi-Fi类智能硬件和3/4G智能硬件。
RTOS设备
- MCU + 小米Wi-Fi模组
适用于配有MCU、控制功能相对简单的Wi-Fi类智能硬件,开发者只需在MCU按照与模组的标准串口通信格式进行功能开发和信令传递即可。
小米Wi-Fi模组当前包括Wi-Fi单模模组和Wi-Fi蓝牙双模模组两类模组,目前在售型号请详见《模组采购》。
- 基于设备SDK(RTOS版本)开发
适用于未配有MCU、利用模组实现硬件自身的功能逻辑的设备,或者已配有MCU、但还需在模组进行二次开发才可以实现预期需要的设备(如MCU通过串口传输的数据还需再加工格式才可以上报)。该模式下,开发者可下载对应模组的SDK进行二次开发。
注:现阶段暂未开放设备SDK,建议优先使用“MCU + 小米Wi-Fi模组”的开发方式。
Android设备
基于设备SDK(Android版本)开发,适用于Android系统的智能硬件。
注:内测中。
Linux设备
基于设备SDK(Linux版本)开发,适用于Linux系统的智能硬件。
Linux SDK下载请详见《Linux SDK》。
注:内测中
蓝牙BLE设备
基于设备SDK(BLE版本)开发,适用于BLE类型的智能硬件,不支持传统蓝牙类型的。
芯片品牌 | 芯片型号 | SDK |
---|---|---|
Nordic | 51/52 | https://github.com/MiEcosystem/mijia_ble/tree/Nordic |
Dialog | DA14585 | https://github.com/MiEcosystem/mijia_ble/tree/Dialog |
NXP | QN908x / QN902x | https://github.com/MiEcosystem/mijia_ble/tree/NXP |
Cypress | 20706 | https://github.com/MiEcosystem/mijia_ble/tree/cypress |
ST | BlueNRG-1/2 | https://github.com/MiEcosystem/mijia_ble/tree/ST |
Silicon Labs | BG13 | https://github.com/MiEcosystem/mijia_ble/tree/Silabs |
平台提供两类BLE协议,MI Beacon(蓝牙广播协议,负责发现和公共事件通报) 和MI Ble Service(蓝牙连接协议,负责数据传输),分别详见《MI Beacon 介绍》和《MI Ble Service 介绍》。
BLE设备的具体技术接入方案可详见SDK README文档。SDK完整使用需通过申请获取lib文件。申请请发送BLE SDK使用申请邮件,详见《开发者反馈指引》。
硬件接入流程
- 创建产品
- 定义产品功能
- 配置功能物料
- 开发硬件
- 开发米家APP扩展程序
- 配置自动化
- 配置消息推送
- 上线产品
以上流程适合一般智能硬件的开发接入。特殊类型的智能硬件(如智能音箱)的开发接入亦符合一般智能硬件的开发接入过程,仅在部分步骤中可能或增加、或省略一些操作。
详见 👉 智能硬件直连接入创建产品
2.2 智能硬件云接入
智能硬件以云对云方式接入小米IoT开发者平台,即开发者自有智能云与小米IoT平台对接,其智能硬件连接自有智能云后,也间接实现了与小米IoT平台的接入。
注:现阶段针对云对云方式接入的产品暂先支持小爱同学进行控制,后续陆续会支持米家APP控制和与其他智能硬件互联互通。
该方式适用于符合以下条件的开发者(第三方厂商):
- 拟接入MIOT平台的智能硬件为IP联网硬件,即Wi-Fi类硬件、2-4G类硬件、网关+子设备类硬件(如Zigbee设备)等;
- 拥有自己的云(服务器),且云的稳定性和可靠性较好,拟接入MIOT平台的自有智能硬件连接到自己的云;
- 拥有自己的APP,支持对自有智能硬件进行配网和添加;
- 拥有独立的用户账号体系(非使用微信登录等第三方开放账号),且账号体系支持Oauth 2.0协议对外授权。OAuth登录页面需要有针对移动端进行适配。
硬件交互体验
用户可通过以下任一方式实现将设备添加到小爱同学可控制设备列表里。
小爱音箱APP
用户购买并拿到设备后,先使用开发者自有APP进行配网和添加绑定;然后,用户只需在小爱音箱APP中绑定在开发者自有APP的账号,即可将自有APP中的设备添加到小爱同学可控制设备列表中。
注:当前支持Android版小爱音箱APP,iOS版即将推出。
米家APP
用户购买并拿到设备后,先使用开发者自有APP进行配网和添加绑定;然后,用户只需在米家APP中绑定在开发者自有APP的账号,即可将自有APP中的设备添加到小爱同学可控制设备列表中。
注:由于该功能近期刚推出,当前功能入口和界面还会随功能演进和推广进行进一步完善和调整,以保证用户的实际使用体验。
硬件接入流程
- 配置参数
- 创建产品
- 定义产品功能
- 适配平台协议
- 上线产品