小米、阿里、百度、华为 接入各自IOT方式实现
https://juejin.cn/post/6881861817065472013
https://juejin.cn/post/6881861817065472013
「小米 MIoT」
一般提到智能家电,第一反应都会是小米的产品。米家的生态链覆盖了许多生活场景,除了日益增多的智能家电之外,还天然地能配合小米手机和小爱同学使用。
接入条件
小米的接入平台为 「MIoT」。目前「不对」个人开放,仅对企业开放注册。审核通过后才能进行开发。
产品支持
官方文档上支持的有 「50」 种左右,从灯、开关、空气净化器到冰箱、洗衣机、扫地机器人等。品类集中在生活家电方面。可接入的设备日后还会增加。
接入方式
分为支持直接接入和云云对接两种方式。
直接接入主要分为模组嵌入(WIFI、BLE、ZigBee)。支持模组嵌入和 SDK 兼容开发。不过项目不涉及直接接入,并且也不熟悉硬件开发因此这部分略过。
云云接入便是「小米的服务器与设备提供商的服务器」对接。小米服务器只负责命令的转发,实际对智能设备的操作由设备提供商的服务器进行(可以看下图)。服务器之间的认证采用 「OAuth2.0」 的 Authorization Code 的方式认证。不熟悉 OAuth2.0 的小伙伴可以找机会学习一下,是常用的第三方授权方案。
功能实现
小米对于智能设备的操作限制较大,主要在于小米「不支持」自定义技能(更大的可能是不对外开放)。接入小米的设备能做的操作与设备类型是「强绑定」的。换句话说,就是小爱同学的接收的语言是规定好的,超出规定的范围小爱同学就无能为力了。
随之而来的问题便是小米不支持设备类型就无法接入。除了套用类似设备类型外,只能的与小米洽谈合作或者是等待支持了。
对于服务端这边的开发,也没有对应的官方 SDK,需要参考官方文档自己对请求处理进行封装。这一点对开发者来说不是很友好(纯体力活了)。
技术支持
主要以官方文档为主。文档记载的还是比较详细的,整个产品的开发到上线的周期都有涵盖。除了必要的地方外,示例代码很少。Debug 方面可能需要下一定的功夫。
遇到问题时以提工单的形式为主,同事提过一些回复速度还是挺快的。官方论坛、社区或者 QQ 群暂时没有发现。
0