国内物联网平台(3)
——QQ物联·智能硬件开放平台

马智

平台定位

  • 将QQ帐号体系、好友关系链、QQ消息通道及音视频服务等核心能力提供给可穿戴设备、智能家居、智能车载、传统硬件等领域的合作伙伴,实现用户与设备、设备与设备、设备与服务之间的联动。
  • 实现用户与设备及设备与设备之间的互联互通互动,充分利用和发挥腾讯QQ的亿万手机客户端及云服务的优势,更大范围帮助传统行业实现互联网化。

应用场景

  • 音视频类产品    (网络摄像机(监控、看护) 、行车记录仪、可视门铃)
  • 沟通互动类产品(语音对讲手表、儿童早教机、社交电视、电子相框)
  • 数据采集类产品(体重秤、温度计、空气检测器、手环)
  • 无线控制类产品( 音箱、空气净化器、灯泡、插座、门锁 )

应用场景 - 音视频类产品

应用产品形态:

网络摄像机(监控、看护) 、行车记录仪、可视门铃

功能简介:

* 实时无线远程观看视频(支持多人同时)

* 设备本地历史视频无线查看

* 实时语音对讲、异步语音留言

* 自由配置各类动态或预制消息推送(如:入侵报警、车辆擦碰通知、婴儿哭声通知等)

* 云台方向控制

* 清晰度调整

* 画面截屏

* 固件在线升级

应用场景 - 沟通互动类产品

应用产品形态:

语音对讲手表、儿童早教机、社交电视、电子相框

功能简介:

* 双人语音双向留言

* 双人视频双向留言

* 双人实时视频聊天

* 双人实时语音聊天

* 家庭群聊,人与设备加入同一个讨论组,支持语音、视频、图片、文字等多种沟通方式

* 相片拍摄及推送

* 固件在线升级

应用场景 - 数据采集类产品

应用产品形态:

体重秤、温度计、空气检测器、手环

功能简介:

* 近场或远程实时查看各类数据

* 历史数据指标查看

* 多人数据共享

* 特定数据指标超标通知(支持文字、图片、语音、视频多种通知方式)

* 内容分享至QQ好友、群、微信好友、朋友圈

* 固件在线升级

应用场景 - 无线控制类产品

应用产品形态:

音箱、空气净化器、灯泡、插座、门锁

功能简介:

* 设备开关、不同模式切换等不限形式和功能的控制信令(如,音量调节、净化功能定时开启、灯泡调色等)

* 设备状态通知 (如,电量低提示、空气PM2.5超标通知、陌生人进入通知等)

* 家居设备家庭成员共享

* 固件在线升级

功能

功能 - 快速接入物联网

自动发现附近新设备并绑定

扫描二维码发现并绑定

功能 - APP研发及维护

轻APP提供设备所需的基础框架能力

功能 - 消息/文件通道能力

支持设备通过QQ直接触达用户

功能 - 权限共享及管理能力

设备主人快速授权给好友

好友通过QQ消息确认后自动获得权限

功能 - 音视频互动能力

QQ物联将腾讯积累优化多年的核心音视频能力开放给硬件设备,让具备音视频采集及播放的设备,能够通过音视频通道,扩展出设备与用户沟通互动的新玩法。

部署框架

  • 可独立联网设备(WIFI、GSM连接方式)
    • 嵌入QQ物联硬件SDK或直接使用QQ物联的集成模块后,可以直接与QQ物联云连接,开发者不需要必须具备独立APP或云端的研发能力。而对于有相应能力的开发者,QQ物联提供相应的SDK或接口,可以完成对于私有独立APP或云的对接。
  • 蓝牙设备
    • 嵌入QQ物联硬件SDK或直接使用QQ物联的集成模块后,可以与QQ手机版相连,由QQ手机版与云端完成通道的建立,开发者不需要必须具备独立APP或云端的研发能力。而对于有相应能力的开发者,QQ物联提供相应SDK或接口,可以完成对于私有独立APP或云的对接。

概念解释

  • DIN(device identify number: 设备ID)

设备端概念: 通俗的理解为智能设备的QQ号,每一台智能设备在QQ物联平台中都可以获得一个独立的QQ号码,跟大家平时使用的QQ号码唯一的区别就是这个号码是64位的,而平常见到的QQ号码都是32位的。

  • PID( product id:产品ID )

设备端概念: 接入QQ物联的每一款智能设备都有一个独立的PID。虽然每一台独立的设备都有一个唯一的DIN,但同一款型号的设备其PID则是相同的,比如您旗下有两款不同型号的产品,那么就可以有两个独立的PID,QQ物联云根据PID来定位是哪个合作方的哪款产品,所以有PID 和 SN之后,QQ物联云就可以唯一确定一台智能设备,这也是为什么QQ物联的设备二维码是由这两个信息组成的。

  • SN ( serial number:序列号 早期亦称为:GUID)

设备端概念: 每台设备都应该有一个唯一的序列号,序列号并不需要腾讯后台分配,所以您可以直接对接原有产品线的序列号系统,但是我们对序列号格式有严格要求:长度必须是16个字符的字母、数字、下划线、连词符或者冒号的组合,例如ABC-0032-1234567就是一个非常标准的序列号。

  • LICENSE ( 与SN一一对应的认证签名 )

设备端概念: license是对sn的数字签名,所以与sn是一一对应的,它存在的主要目的是保护合作方的利益,避免冒充合作方品牌的山寨设备出现,license的产生可以借助客户端工具实现。

  • DATAPOINT(数据点)

云端概念:为了确保接入QQ物联云的各种智能设备都能够相互理解彼此的数据,QQ物联推荐设备间的信令和状态采用统一标准的数据格式——datapoint,datapoint为每一种类型的数据(传感器之温度,摄像头之分辨率,电视机之音量大小等)都定义了一个id,而且定义了这种id的数据组织格式。所以不管是QQ物联云,还是智能设备,或者是您的数据分析接口,都可以先根据id确定数据格式,再根据格式解析数据。

  • SDK

分为设备SDK和应用SDK

- 设备SDK:用于智能硬件端的组件,提供了登录/登出,收/发消息,音视频传输等基础能力。

- 应用SDK:用于集成到用户的独立App中,使用QQ或者微信登录组件,调用腾讯开放接口,帮助用户节约开发成本。目前应用SDK还仅提供腾讯内部团队使用。

平台接入流程

平台功能与界面 - 设备注册

1、添加新设备

2、填写设备信息

3、设置控制器

平台功能与界面 - 功能配置

1、功能列表

2、功能详情

关键技术 - 设备配网方式

  • WiFi Router:设备自行解决入网问题,适用于有屏幕的智能设备(用户可以直接在屏幕上设置WiFi)。
  • SmartLink:博通合作方案,博通的大部分WiFi芯片上有原生支持,如果您是采用了博通的WiFi解决方案,推荐您直接联系博通技术支持索要最新的固件进行升级即可。
  • SmartLinkEx:跟SmartLink采用了同样的解决方案,不同之处是此选项会采用声波通讯技术协同配网,提高极端环境下的配网成功率,如果您的设备有麦克风,建议选择此方案。
  • QQLink:SmartLink的弱加密版本,SmartLink对加密方式有较高要求,要求设备必须支持AES-CCM加密库,由于在博通的芯片中有内嵌支持,所以如果你采用了博通WiFi芯片,无需考虑这个问题。但是如果您采用的不是博通WiFi芯片,在不想更换的情况下预实现SmartLink,建议您采用QQLink。
  • QQLinkEx:跟QQLink采用了采用了同样的解决方案,不同之处是此选项会采用声波通讯技术协同配网,提高极端环境下的配网成功率。

关键技术 - Datapoint状态同步

应用场景:

智能设备的状态信息要如何同步到手机QQ,比如空调上的室内温度,比如门锁的开关状态,或者是SD卡格式化的进度等等。

如果直接让智能设备发CC消息(CC消息是腾讯内部的简称,全称是Client To Client Message) 给手机QQ同步信息,会存在以下问题:

(1)一台智能设备可能会有多个绑定者,状态的同步是不能只同步给一个绑定者的,所以用发消息的方案会需要知道所有绑定者,然后挨个发送一遍。

(2)状态的变更有可能是频繁的,很多情况下最后一次的状态才是最重要的,而QQ的消息通道是以可靠不丢消息为设计目标的,这就意味着您可能在早晨起床唤起QQ后收到上千条状态消息。

因此,平台提供了下图的同步机制。

关键技术 - 固件OTA升级

设备SDK

目前提供以下几类设备SDK:

  • Linux SDK
  • Android SDK
  • BLE SDK
  • RTOS SDK
  • 局域网通信SDK

WIFI及GSM硬件SDK基本情况

Linux版推荐方案:

1.WIFI芯片:博通 BCM43438-wifi/BT combo、BCM43362-wifi only(持续更新中)

2.SOC:海思 Hi3518系列、安凯 AK3918、全志 V3、Intel Edison、高通 AR9331(持续更新中)

RTOS版推荐方案:

CC3200、realtek8711、stm32f411、MT6260D、HFMC101、nl6621(持续更新中)

蓝牙推荐方案:

Nordic nrf51822、CC2541、DA1458X、CSR101X、QN9020、BCM920737(持续更新中)

轻APP

  • QQ物联轻APP即为用户在用手机端操作设备时,主要的控制界面。当用户绑定了某款智能设备后,在"我的设备"列表中,点击该款设备,进入的第一个界面即为该款设备的轻APP。
  • 轻APP目前分为两种主要形式:
    • 公共模板:QQ物联为垂直的设备类别官方设计并开发的轻APP,能够满足该类型设备的基本通用功能。选用公共模板可以极大节省合作伙伴在软件端的研发及维护成本,缩短产品研发周期。
    • 自定义H5:对于有更多个性化需求的合作伙伴,若有H5(Html5)的研发能力,可以根据QQ物联的设计规范及deciveAPI(JavaScript接口)来实现更加定制化的轻APP。自定义H5需要合作伙伴将页面发布到自有的服务器,将页面url地址提交到平台,即可完成在QQ中直接内嵌使用。

轻APP设计规范 - 官方公共模板设计参考

轻APP设计规范 - 自定义H5设计规范

轻APP设计规范 - 自定义H5设计规范

轻APP设计规范 - 多层级H5设计规范

轻APP设计规范 - 多层级H5设计规范

前端Device API

  • deviceAPI是为轻APP提供的用于控制设备的前端JS接口,具备发送消息、接收消息等基础能力,也有视频通话、图片上传、分享等特有能力。开发者可用它高效地与设备通讯,为用户提供更优质的体验。

引入JS文件

在轻APP页面中引入deviceAPI的JS文件:

http://qzonestyle.gtimg.cn/open/mobile/light_app/js/device.js

示例:

<script src="http://qzonestyle.gtimg.cn/open/mobile/light_app/js/device.js"></script>

注意: deviceAPI暴露了一个全局命名空间device,所有接口均用device访问。

Device API分类列表

国内物联网平台(3):QQ物联智能硬件开放平台的更多相关文章

  1. 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台

    平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用户与设备.设备与设备.设备与服务之间的联动. 实现用户与设 ...

  2. 5、qq物联开发步骤

    1.QQ物联开发步骤 1)测试环境无需申请上线,即可任意调试.意思是什么呢,它是告诉大家,在调试的时候不要点击上面的提交上线,因为目还在调试此设备,一旦上线,QQ物联官方就会来审核你的设备,导致延长研 ...

  3. 4、qq物联SDK介绍及实例讲解

    1.到QQ物联官网http://iot.open.qq.com中下载软件SDK S3C2440_20161122_1.6.205_r4288.tar.gz注意:在后续大家实际开发过程中,可能你会下载到 ...

  4. QQ登录, 腾讯开放平台和QQ互联的坑

    原文:QQ登录, 腾讯开放平台和QQ互联的坑 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012881042/article/details/7 ...

  5. 图灵机器人API,适用于微信、微博、QQ群、智能硬件等

    该API有智能聊天.查天气.查快递.查菜谱.查车票.查航班.查出行.查周边等近500个功能,能够用在微信公众平台.QQ群.手机语音助手.智能硬件等领域\ [1].[代码] [PHP]代码 跳至 [1] ...

  6. 2、qq物联环境搭建

    1.使用easyopenjtag.openjtag来烧写uboot 2.体验uboot 插讲<网络设置_ping问题解决_远程登录ssh_文件互传ftp> 192.168.1.183 wi ...

  7. 腾讯物联TencentOS tiny上云初探

    2017年中旬曾写过一篇关于物联网平台的文章<微软最完善,百度最“小气” 看微软阿里百度三大物联网云平台对比>.现在已经过去两年了,物联网的格局又发生了不少的变化.不过针对腾讯来说,其物联 ...

  8. 国内物联网平台(6):庆科云FogCloud

    国内物联网平台(6)——庆科云FogCloud 马智 平台定位 FogCloud 快速接入智能硬件 FogCloud为开发者提供便捷的智能硬件接入服务,真正实现敏捷开发,快速迭代. FogCloud提 ...

  9. 国内物联网平台初探(六) ——庆科云FogCloud

    平台定位 FogCloud 快速接入智能硬件 FogCloud为开发者提供便捷的智能硬件接入服务,真正实现敏捷开发,快速迭代. FogCloud提供功能强大的云端服务 包括 产品/APP管理 ,消息通 ...

随机推荐

  1. 【LeetCode】075. Sort Colors

    Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...

  2. 下载安装jdk

    阿里云服务器部署第一步:下载-安装jdk 1.下载路径:http://www.oracle.com/ 2.通过windows远程桌面连接上服务器:连接方式: 然后在服务器上c:/user/下创建jav ...

  3. 【转载,实测好用】gitlab结合sourcetree使用

    转载 的出处http://blog.csdn.net/u012764358/article/details/62886427 Gitlab和Sourcetree结合使用实现代码管理 这是本人第一次发表 ...

  4. composer的安装和使用

    由于工作中需要用到leancloud的LeanCloud PHP SDK,支持composer安装,所以就下载composer工具了, 安装之前可以用composer命令检测是否已经安装了,命令是:c ...

  5. [转载]Linux 内核list_head 学习(一)

    在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head.虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作li ...

  6. 什么是VBA,他有什么作用

    目录 什么是VBA,它有什么作用 VBA在哪里存放的?怎么运行的 什么是宏?宏和VBA有什么关系? 录制一个宏 编写第一个宏 一.什么是VBA,它有什么作用 VBA是一种编程语言,它依托于Office ...

  7. 运行jar应用程序引用其他jar包的三种常用方法(jar命令)

    参考:http://blog.csdn.net/wangmuming/article/details/44343017 方法一.使用Extension Classloader来加载 你可以把需要加载的 ...

  8. Sass、Less和Stylus

    1.背景介绍 1.Sass背景介绍 Sass是对CSS(层叠样式表)的语法的一种扩充,诞生于2007年,最早也是最成熟的一款CSS预处理器语言,它可以使用变量.常量.嵌套.混 入.函数等功能,可以更有 ...

  9. SEO中常用HTML代码大全,及权重排序

    做SEO必须要懂HTML,说的是一点都没错,不过其实是不需要全部都懂,最重点的你懂了会用,基本上都是事半功倍了.可以这么说一个不懂代码的优化人员不算是一个合格的好优化.下面就总结一下做优化,必须要懂得 ...

  10. C#实现有向无环图(DAG)拓扑排序

    对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在 ...