CC2541-QQ 物联接入 规格书 SDK 版本 V1.0 深圳市昇润科技有限公司 2016 年 4 月 26 日 版权所有

Similar documents
一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页


目 录 1. 概 述 应 用 原 理 框 图 脚 位 及 相 关 配 置 模 块 脚 位 串 口 配 置 蓝 牙 配 置 AT 指 令 性 能 指 标 电

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1



gta 5 serial key number pciker

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

Chapter #

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

PowerPoint 演示文稿

手册 doc

F515_CS_Book.book

ios Guide STEP1 找到戴耐德 PRO 课件 App Finding and Downloading the DynEd Pro ios Installation Files 方法一 Option 1 扫描二维码下载 DynEd Pro 课件 App Scan the QR code t

正式发文

Microsoft Word zw

清华大学2013年毕业生就业质量报告

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

浙江长征职业技术学院文件

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

本实验需要用到两个特征值, 两个特征值的属性各不相同, 我们同样在 SimpleGATTProfile 中新建即可, 接下来就开始吧 新建特征值表 : 表 3.3 串口透传特征值属性 长度 属性 UUID 功能 (byte) SIMPLEPROFILE_CHA R6 15 可读可写 FFF6 服务器

untitled

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

百度xx SDK用户手册

Converting image (bmp/jpg) file into binary format

X713_CS_Book.book



<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>


目 录 一 本 科 教 育 基 本 情 况... 1 ( 一 ) 人 才 培 养 目 标... 1 ( 二 ) 专 业 设 置 情 况... 1 ( 三 ) 在 校 生 及 招 生 情 况... 2 二 师 资 队 伍 情 况... 3 ( 一 ) 教 职 工 数 量... 3 ( 二 ) 专 任

Microsoft Word - 梁斌言:2016年度全省职业教育工作会议总结讲话提纲.doc

中 共 广 元 市 食 品 药 品 监 督 管 理 局 党 组 2016 年 机 关 党 的 工 作 要 点 2016 年 是 实 施 十 三 五 规 划 的 开 局 之 年, 是 推 进 全 面 从 严 治 党 的 深 化 之 年, 是 决 胜 脱 贫 攻 坚 的 关 键 之 年 机 关 党 的

“秦火火”玩“火”自焚

简 讯 : 庐 江 县 气 象 监 测 预 警 中 心 主 体 结 构 顺 利 封 顶 肥 西 县 政 府 出 台 乡 镇 气 象 工 作 目 标 管 理 考 核 细 则 庐 江 县 组 织 召 开 乡 镇 气 象 灾 害 防 御 工 作 会 议 长 丰 县 局 积 极 组 织 开 展 无 偿 献

目 录 第 1 章 毕 业 生 就 业 基 本 情 况 沈 阳 化 工 大 学 科 亚 学 院 概 况 毕 业 生 规 模 毕 业 生 结 构 毕 业 生 院 系 分 布 毕 业 生 专 业 分 布

0卷首语.FIT)

版块一 研究生学长对《自然地理学》科目的总结

北 京 化 工 大 学 2014 年 毕 业 生 就 业 质 量 年 度 报 告 高 校 毕 业 生 就 业 工 作 是 教 育 领 域 重 要 的 民 生 工 程, 涉 及 人 民 群 众 切 身 利 益, 关 乎 社 会 和 谐 稳 定 北 京 化 工 大 学 高 度 重 视 毕 业 生 就 业

2014年9月月讯

( 一 ) 毕 业 生 规 模 和 就 业 率 浙 江 警 察 学 院 2014 届 毕 业 生 共 计 542 人, 均 为 本 科 毕 业 生, 其 中 浙 江 省 内 生 源 毕 业 生 516 人, 西 藏 自 治 区 生 源 毕 业 生 26 人 截 至 2014 年 12 月 10 日,

1

就业质量报告工作方案

内 蒙 古 大 学 创 建 于 1957 年, 是 新 中 国 成 立 后 党 和 国 家 在 少 数 民 族 地 区 创 建 最 早 的 综 合 大 学 学 校 1962 年 招 收 研 究 生,1978 年 被 确 定 为 全 国 重 点 大 学,1984 年 获 博 士 学 位 授 权,199

目 录 学 校 概 况... 1 报 告 说 明... 1 第 一 章 毕 业 生 就 业 基 本 情 况... 2 一 毕 业 生 的 觃 模 和 结 构... 2 ( 一 ) 毕 业 生 的 觃 模... 2 ( 二 ) 毕 业 生 结 构... 2 二 就 业 率... 4 ( 一 ) 总 体

目 录 学 校 概 况... 1 报 告 说 明... 1 第 一 章 毕 业 生 就 业 基 本 情 况... 3 一 毕 业 生 的 规 模 和 结 构... 3 ( 一 ) 毕 业 生 的 规 模... 3 ( 二 ) 毕 业 生 结 构... 4 二 就 业 率... 5 ( 一 ) 总 体

南昌职~1

的 通 知 (30) 安 阳 市 人 民 政 府 办 公 室 关 于 印 发 代 市 长 王 新 伟 在 市 长 办 公 会 议 上 讲 话 的 通 知 (33) 大 事 记 安 阳 市 人 民 政 府 大 事 记 (2015 年 11 月 ) (38) 安 阳 市 人 民 政 府 大 事 记 (2

关于成立化学化工学院石油炼制系和应用化学系的通知

<4D F736F F D C4EAD6D0BFBCD3EFCEC4C6C0BCDBD6B8C4CFA3A8B6A8B8E5A3A92E646F63>

中机质协[2016]2

前 言 厦 门 南 洋 职 业 学 院 是 经 福 建 省 人 民 政 府 批 准 正 式 设 立 国 家 教 育 部 备 案 具 有 独 立 颁 发 国 家 承 认 学 历 文 凭 资 格 的 全 日 制 综 合 性 普 通 高 等 院 校, 由 海 内 外 热 心 教 育 的 十 五 位 学 者

目 录

Microsoft Word 职业规划与就业指导正文.doc

Microsoft Word - 会行党_2016_3号.doc

和 工 作 格 局 遵 循 公 正 公 开 便 民 原 则, 建 立 完 善 了 信 息 公 开 的 工 作 制 度 和 工 作 规 范 : 制 订 出 台 了 青 岛 农 业 大 学 信 息 公 开 实 施 细 则 ( 试 行 ), 明 确 了 信 息 公 开 的 内 容 公 开 途 径 和 要

标题

党 建 学 校 党 委 副 书 记 副 校 长 陈 锐 出 席 离 退 休 党 支 部 书 记 座 谈 会 4 月 22 日 下 午, 离 退 休 干 部 工 作 处 在 胜 利 楼 会 议 室 召 开 党 支 部 书 记 座 谈 会 学 校 党 委 副 书 记 副 校 长 陈 锐 出 席 会 议,

令行立即行 上马就扬蹄

一 指 导 思 想 全 面 贯 彻 党 的 十 八 大 和 十 八 届 三 中 四 中 五 中 全 会 精 神, 深 入 学 习 习 近 平 总 书 记 系 列 重 要 讲 话 精 神, 按 照 中 央 和 上 级 政 法 公 安 机 关 关 于 加 强 队 伍 建 设 的 有 关 要 求, 聚 焦

BT-15

国 培 计 划 (2011) 义 务 教 育 骨 干 教 师 远 程 培 训 项 目 骨 干 培 训 者 培 训 工 作 总 结 全 国 中 小 学 教 师 继 续 教 育 网 ( 以 下 简 称 继 教 网 ) 在 国 培 计 划 (2011) 义 务 教 育 骨 干 教 师 远 程 培 训 项

绝版亲情

取 企 业 一 套 表 平 台 收 集 汇 总 整 理 和 提 供 有 关 调 查 的 统 计 数 据, 综 合 整 理 和 提 供 旅 游 科 技 教 育 文 化 卫 生 体 育 社 会 保 障 公 用 事 业 等 全 区 性 基 本 统 计 数 据 6 组 织 实 施 基 本 单 位 能 源 投

Administrator

< C4EAD0C2CEC5B1A8B5C0CCE2C2BC>

标题

有 两 室, 外 加 一 个 很 小 的 房 间 和 一 个 小 厨 房 不 过 在 当 时 的 湖 边 坊, 这 就 相 当 于 一 幢 高 级 别 墅, 非 常 引 人 注 目 和 招 人 嫉 妒 姨 妈 和 姨 父 共 有 三 个 儿 子 和 一 个 女 儿 老 大 夏 天 强 比 我 大 7

金 山 区 青 年 创 新 创 业 示 范 区 的 建 议 进 行 专 门 答 复 朱 波 委 员 提 出, 创 新 创 业 的 主 体 是 青 年, 要 集 聚 教 育 科 研 人 才 资 本 等 各 类 资 源 和 优 势, 加 快 建 设 青 年 创 新 创 业 示 范 区, 在 政 策 体

趋 61 中 国 必 须 创 新 新 教 育 价 值 观 刘 道 玉 64 学 校 常 规 管 理 的 常 与 新 李 瑾 瑜 69 教 育 就 要 宽 柔 养 育 王 立 志 目 录 阅 读 72 全 民 阅 读 应 成 为 国 家 战 略 朱 永 新 77 一 世 读 书 抵 封 侯 陈 先 达

Microsoft Word - 第三期简报1.doc

山东体育学院

标题

目 录 学 校 概 况... 1 报 告 说 明... 2 第 一 章 毕 业 生 就 业 基 本 情 况... 3 一 毕 业 生 基 本 情 况... 3 ( 一 ) 本 与 科 毕 业 生 人 数 不 比 例... 3 ( 二 ) 各 系 毕 业 生 人 数 分 布... 3 ( 三 ) 毕

标题


吉林师范大学博达学院

综合练习与检测八下.tpf

要 惧 让 的 血 族 亲 王 夜 冥 昊 一 座 华 丽 而 又 古 老 的 城 堡 坐 落 在 一 个 开 满 血 色 彼 岸 花 的 地 方, 城 堡 内, 看 不 见 任 何 东 西, 只 能 感 受 到 置 身 在 黑 暗 之 中 那 种 诡 异, 恐 惧 的 气 氛, 这 里 很 黑,

項目詳情書

2013年全国农村妇女科学素质网络竞赛活动总结

专业特色、实施过程和效果说明

目 录 一 概 况... 3 二 针 对 2015 届 毕 业 生 开 展 的 就 业 工 作... 5 三 2015 届 毕 业 生 就 业 情 况 抽 样 调 查 分 析 ( 一 ) 用 人 单 位 类 型 情 况 ( 二 ) 专 业 对 口 率 ( 三 )

网上对外发布资料适用版本

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Microsoft Word - install_manual-V _CN.docx

Microsoft Word - Data IO CS Calculate Method AppNote.doc

2012/07/01 陈 春 华 老 师 参 加 国 家 级 青 年 教 师 企 业 实 践 2012/07/03 20 名 教 师 前 往 12 家 企 事 业 单 位 短 期 实 践 2012/07/16 全 国 示 范 校 内 涵 建 设 暨 专 业 建 设 培 训 交 流 会 2012/07

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

《將進酒》

21 flash

★ 江苏省就业工作先进集体

Guava学习之Resources

[2] [3] [4]

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

有没有免费的交友喂喂助理不是滴滴叫鸡,不是滴滴约炮,不是滴滴约妹、约

xforce keygen microsoft office 2013

嘿秀直女主播一对一视频下载 播平台整顿后再涉黄男女直播“造人”

ChinaBI企业会员服务- BI企业

汇教云用户手册

Transcription:

CC2541-QQ 物联接入 规格书 SDK 版本 V1.0 2016 年 4 月 26 日 版权所有

1.概述... 3 2.应用... 3 2.1 空气净化器... 3 3.QQ 物联接入步骤 参考自 QQ 物联平台上的相关文档... 4 3.1 开发前的准备工作... 4 3.1.1 申请开发者账号... 4 3.1.2 申请白名单... 5 3.1.3 进入配置平台... 5 3.1.4 添加新设备... 5 3.1.5 设置控制器... 10 3.1.6 提交审核... 10 3.2 配置蓝牙广播和服务... 11 3.3 下载硬件 SDK... 12 3.4 第一行代码... 13 3.5 配置初始化数据... 14 3.6 实现 fh_*中的函数... 17 3.7 调用 fd_engine.h 中的函数...20 4. 关于 QQ 物联设备量产的操作方法...23 4.1 用于调试的操作方法的局限性介绍... 23 4.2 量产时的操作方法介绍... 23 5.版本说明与修订记录... 24

概述 1.概述 概述 QQ 物联平台将 QQ 账号体系及关系链 QQ 消息通道能力等核心能力 提供给可穿戴设备 智能家居 智能车载 传统硬件等领域合作伙伴 实现用户与设备及设备与设备之间的互联 互通互动 充分利用和发挥腾讯 QQ 的亿万手机客户端及云服务的优势 更大范围帮助传统 行业实现互联网化 CC2541 是一款针对低能耗以及私有 2.4GHz 应用的功率优化的真正片载系统(SoC)解决方 案 CC2541 非常适合应用于需要超低能耗的系统 非常适合用来开发可穿戴设备 智能家 居 智能车载 传统硬件等 因此 CC2541+QQ 物联的开发方案就显得很有价值了 2.应用 QQ 物联平台可以将所有符合协议的蓝牙设备接入到平台上 同时 QQ 平台还支持为设备 定制控制界面 开发者只需要自己用 html5 制作好想要的控制界面 然后在 QQ 平台上将该 网址绑定到我们的设备上就可以使用该网页对我们的蓝牙设备进行控制或者接收设备的信 息了 2.1 空气净化器 我司现有支持 QQ 物联的设备是一款空气净化器 用户通过手机 QQ 扫描设备对应的二维 码后就可以绑定该设备 界面如图一所示 绑定之后进入设备 界面如图二所示 从图三中 我们可以看出 通过这个网页 APP 我们可以轻松的控制净化器的开启和关闭 同时还可以 为净化器设置定时开关 非常便捷 实用 图四是净化器工作时的效果图

图一 图二 图三 图四 3.QQ 物联接入步骤 参考自 QQ 物联平台上的相关文档 说明 本节内容所述的方法适用于开发调试时使用 量产时的操作方法有些许不同 关于 量产的介绍在第四节有详细说明 建议先看完本节的内容后再去看第四节 图A 接入流程图 3.1 开发前的准备工作 3.1.1 申请开发者账号 进入腾讯开放平台官网 用一个 QQ 号 申请 公司 身份的开发者帐号 最好是用司公 用的 QQ 号来申请 以防人事变动造成不必要的麻烦 如图 B 所示

图B 3.1.2 申请白名单 在 QQ 物联公测申请页中填写并提交相应的内容 来获得 QQ 物联的公测资格 如图 C 所示 图C 3.1.3 进入配置平台 白名单开启后 便可以登入 QQ 物联配置平台 进入平台后就可以添加 配置新的设备了 3.1.4 添加新设备 进入 配置平台 - 设备 之后 点击添加设备按钮 填写 设备名称 及选择 设备类 型 后即可开始快速注册一个新设备 完成后 我们已经获得了该产品的重要信息 pid 和 server key 这两个信息非常重要 会在后面的 Step3.5 中用到 在设备导航栏中 选择进入相应的设备 即可在头部看到 如 图 D 建议 可以把与设备相关的一些文件或者信息(包括这里的 pid 和 server key 和后面的 ec_key.pem public.pem 已及 SN 等)保存到一个文件夹里 方便后面的使用

图D 按照自己的需求补全设备的基本信息 如图 E 图 F 图E

图F 设备型号 可以自由填写 设备名称请尽量用中文并控制长度 因为这些字符会出现在手机 QQ 的界面里 是用户可以直接看到的 设备类型 必须填写准确 后期无法进行修改 这里我们选择设备类型为空气净化器 操作系统 这里我们选择 其它 连接方式 我们选择 蓝牙 初始化方式 决定了设备的入网方式以及跟手机 QQ 的绑定方式 所以这个选项很重要 这 里选择蓝牙, 这里只支持 4.0 以上 即低功耗蓝牙 不支持经典蓝牙 公钥上传 稍微复杂一点 因为需要下载一个工具来完成这个步骤 点击网页上的公钥& 证书工具下载 Win 7 Only 链接 如图 F 所示的 公钥上传 处即可下载 然后运行密 钥生成工具 点击下图 G 中的生成 KEY 按钮 会在指定的目录下生成一对非对称密钥文件 ec_key.pem 和 public.pem 之后点击上传按钮上传 public.pem 就可以了 如图 G 所示

图G 说明 以后的环节中会反复用到 ec_key.pem 所以一定要妥善保管这个文件 接下来还需要上传一个设备激活登记表 如图 H 所示 图H 可以点击图 H 中箭头所指的位置查看说明

这个登记表需要我们自己制作 制作方法如下 1 新建一个 excel 文件 2 在文件的第一行第一列位置输入 SN(serial number 序列号) 第一行第二列位置输 入设备的 MAC 地址 如图 I 所示 3 添加完成之后 将文件另存为 csv 格式 图I 说明 1 上面第二步中用到的 SN 需要用工具软件生成 如图 J 所示 使用的工具是前面下 载的公钥&证书工具 Win 7 Only 图J 只需按照图中的 1 2 3 步分别点击操作即可获得 SN

说明 2 不能直接将 excel 文件的后缀名改成 csv 而应该用另存为的方法 制作好登记表后就可以上传了 后面如果需要增加设备的数量 也是在这里把新的 MAC 地址和对应的 SN 进行登记 只有在这里登记了 我们的设备才允许接入 QQ 物联平台 上传之后记得点击页面下方的保存按钮 3.1.5 设置控制器 功能添加完成之后 切换到控制器设置页签 填写控制器相关的信息 可以采用 QQ 物联 开发的公用模版控制器或者自己设计的 Html 5 控制器 控制器为用户实际用来操控设备的 轻 APP 如图 K 所示 图K 3.1.6 提交审核 配置平台允许在不提交审核之前以及审核中拥有 100 个 DIN 用于测试 也就是说在批量生产 调试之前可以按需更改配置即时生效 从右上角的提示可以看到当前设备所在的状态 同时获知您现在所使用的 DIN 数量 如图 L 所示

图L 当确认功能调试完毕时 请查看审核须知 并在再三确认调试完毕后点提交审核.请注意提 交审核到审核通过期间将无法修改所有的功能及触发器信息 所以只有当确定调试完成后方 可重新提交审核 到 3.1.5 步为止 我们已经完成了一个新设备的新建 下面开始进行蓝牙设备的配置环节 3.2 配置蓝牙广播和服务 蓝牙设备在未被 App 连接到之前 需要一直发广播 广播中至少包含 ServiceUUID 和 manufature specific data 内容里的字节序采用小端序(Little Endian) QQ 物联的蓝牙广播和 Service 标准如下 名称 manufature specific data ServiceUUID Write Characteristics UUID Indicate Characteristics UUID Read Characteristics UUID 值 以 PID(4 字节) + MAC(6 字节)结尾 0xFEBA 0000fec7-feba-f1f1-99c0-7e0ce07d0c03 0000fec8-feba-f1f1-99c0-7e0ce07d0c03 0000fec9-feba-f1f1-99c0-7e0ce07d0c03 作用 Device 发广播时标识设备 标识 QQ 物联 App 向 Device 传输数据(需要 response) Device 向 App 传输数据(需要 confirm) Device 不发广播时标识设备 ServiceUUID 和 Characteristic 的值是固定的 按照格式填写即可 manufature specific data 的计算如下 比如某设备 PID=1000000358(0x3B9ACB66) MAC 地址=44:A6:E5:0E:B1:05 则 MSD 数据如下: 自定义数据 / 00 0D... /Company id\ \ 66 CB 9A 3B PID(小端序) 05 B1 0E E5 A6 44 MAC 地址(小端序) 广播数据结构示意图 Read Characteristics 里的内容跟广播 manufature specific data 的数据要求一致 注意 UUID 为 128bit 类型 数据传输为 Indicate 方式 以上面的空气净化器为例 用 LigthBlue 查看设备信息如图一所示

图一 3.3 下载硬件 SDK 硬件 SDK 的下载地址为 http://iot.open.qq.com/wiki/index.html#!sdk/ble.md 此文档是以 V1.0 的 SDK 为基础进行说明的 若后面 SDK 有更新 请以新的说明为准 压缩包中包含静态库文件以及相应的头文件 关于 SDK 压缩包的说明 文件名 ff_syshdr.h ff_inc.h fd_engine.h txble.lib/a 作用 系统头文件定义 它可以根据编译环境 配置是否使用某些基础库 通用数据结构及枚举值的定义 SDK 的接口定义 静态库文件 SDK 的具体实现

3.4 第一行代码 把刚下载的 SDK 加入到工程中 如图二所示 图二 在工程的初始化函数里调用 SDK 初始化函数 如图三所示 图三

关于 fh 和 fd 的说明 在 fd_engine.h 里定义了两类函数 一类是以 fd 开头 由 SDK 实现 被上层调用 一类是以 fh 开头 由开发者实现 供 SDK 调用 3.5 配置初始化数据 初始数据每个设备都不相同 宏定义于 fh_impl.h 文件中 如图四所示 图四 1) PID 与服务器公钥的获取 登录 QQ 物联平台 找到相应的设备即可得到 PID 与服务器公钥 如图五所示 图五 其中 服务器公钥需要下载到本地 只需点击图中蓝色字体位置即可下载 2) PUK 设备公钥 和 AUTH KEY 设备共享密钥 将上面下载的服务器公钥文件用文本的方式打开 复制其中的所有内容 打开我们前面下载 的工具 将刚才复制的服务器公钥文件里的内容粘贴到 生成共享密钥 栏,然后点击 生 成 按钮 如图六所示

图六 根据服务器公钥 每一个设备都可以生成一对设备密钥 注意 测试时同一类产品可以共用一对设备密钥 但量产时 需要为每一个设备生成一对 唯一的密钥 将 QQ 物联提供的 C++源代码 集成到自己的烧录工具中 可为每一个设备自 动生成一对密钥 并写入 flash 3) licence(认证签名) 使用图七所示的工具 首先指定上面生成的 ec_key.pem 文件所在目录 然后点击 导 入 csv 导入前面我们制作的 csv 文件 然后在其下的输入框中输入 CSV 文件中的 MAC 地 址 如有多组 MAC 地址 需用逗号分隔开 如图七所示

图七 说明 1 箭头 1 所指为 ec_key.pem 文件所在目录 说明 2 生成的 licence.csv 文件的内容是一串十六进制的数据 我们需要将这些数据处理 一下才能放到代码里 也就是在每个数据前加上 0x 在每个数据之间加上, 我们 可以借助一些具有列编辑功能的文档编辑工具如 UltraEdit 来进行这些操作 如图八所示 图八 首先复制 licence 文件里的内容 打开编辑工具 粘贴我们复制的内容 然后点击箭头 1 所指的列选项 在其下拉列表里选择 列模式 用鼠标选中数据的一列 输入需要的内 容即可 操作完了之后需要再次点击箭头 1 处 选择 列模式 表示退出列模式 之后就 可以复制我们的处理好的数据了

得到这些数据之后对应替换图四中的内容 在 SDK 中有专门的一个数据类型用于存储这些数 据 如下 typedef struct _QQ_SEC_INFO { uint8_t license[ft_max_license_len]; uint16_t licenselen; uint8_t din[din_len]; uint32_t pid; uint8_t authkey[auth_key_len]; uint8_t pukstr[puk_str_buffer_len]; }QQSecInfo; 3.6 实现 fh_*中的函数 fd_engine.h 中有部分函数是交给开发者实现的 这部分函数都是以 fh 开头 int8_t fh_send(uint8_t* datum,uint16_t length); 这个函数是 SDK 在发送数据时调用的 这个函数只是一个接口 功能就是发送数据 需 要开发者用自己的方式实现这个发送数据的功能 如图九 开发者在发送完一包数据后 需要调用 void fd_flush(struct fd_engine_s engine); 来告知 SDK 否则 SDK 不会继续发送数据如图十一 另外 SDK 会传入需要发送的全部数据 由开发者负责分帧 void fh_load_mac(uint8_t* zone); 返回设备的 mac 地址 比如我们这台设备(mac 地址 44:A6:E5:0E:B1:05 )返回的是 "44A6E50EB105" 注意顺序和大小写 fd_save_din/fd_load_din 需要用到 NVRAM 或 Flash 这个 bin 与设备的连接有关 如果没有处理好则会导致设备 在第一次绑定连接之后再次连接时无法连接 需重新扫描才能再次连接(正常的情况是在设 备正常工作的情况下 再次连接时只需在手机 QQ 上直接点击该设备图标) fh_data_load/fh_data_store 这两个函数主要用于存储于 QQ 物联有关的数据 如图十二所示 其它方法根据需要自行实现或留空

图九 图中的实现方法是将收到的数据存储到缓冲区中 然后置起专门的数据发送事件来发送 这些数据 INDECA_EVT 事件里主要处理的就是数据的分包和发送 如图十所示 图十 上图是整个任务处理函数的结构 关于 INDECA_EVT 事件的具体处理如图十一所示

图十一 上图中 Periphral_Indicate()函数是调用库函数实现的以 indicate 方式上传数据的函数 整个过程的处理就是先判断需要发送的数据包的长度 若长度超过 20 字节(蓝牙每次最多发 送 20 字节)则做分包处理 即本次数据以最大长度(20 字节)发送 发送之后将数据包的长 度减少 20 同时索引号增加 20 之后就给这个事件设置一个定时 也就是等待一段时间后 再次来这个事件里接着上次的位置继续发送数据 直至全部发送为止 图十二 上图的操作是直接把 qqsecurityinfo 存储到指定 flash 区域

3.7 调用 fd_engine.h 中的函数 实现了 fd_engine.h 中的函数后 工程就可以编译通过 但是要让 SDK 正常运行 还需 要按顺序调用下面方法 设备连接/断开时 调用 fd_connect/fd_disconnet 如图十二所示 在接收数据的地方 调用 int8_t fd_received(struct fd_engine_s* engine, uint8_t* datum,uint16_t length);将收到的数据传给 SDK 这里上层业务从 QQ 物联定义的 Write 特 征值里收到数据 立即调用此函数 不需要累积数据包 而由 SDK 组包 如图十三所示 图十三

图十四 至此 代码部分的修改已经完成 接下来还有一个很重要的内容 那就是生成设备的二维码 蓝牙设备目前只支持通过扫 描设备二维码的方式绑定 连接设备 二维码的生成步骤如下; 1) 去网上任意搜索一个二维码生成工具 比如 http://cli.im/text?5bfc12ac983fae4719e32ad7f440b58c 2) 在输入栏输入如下内容(是一个网址,直接复制 而不是打开这个网址): http://iot.qq.com/add?pid=<>&sn=<> 3) 将设备对应的 PID 和 SN 填写到相应的位置 如图十四

图十五 注意 替换的时候需要连同尖括号一起替换掉 生成二维码之后就可以下载到本地保存了 将前面修改好的程序烧写到我们的设备之后 用手机 QQ 扫描二维码即可绑定 连接我们 的设备 如图十五 图十六 图十六 图十七

注意 QQ 物联对手机 QQ 的版本也有要求 Android QQ 要求 5.5 版本以上 iphone QQ 要 求 5.7 版本以上 在扫描二维码之前请先检查手机 QQ 的版本是否符合要求 至此 一个可用于调试的 QQ 物联设备已经完成 接下来介绍关于 QQ 物联设备量产的内容 注意 以上的所有操作方法都是针对只用于调试的设备的 量产时 这些步骤又有所不同 具体的内容请参照下面的内容 4. 关于 QQ 物联设备量产的操作方法 4.1 用于调试的操作方法的局限性介绍 从 Step3 中我们了解到 每一个蓝牙设备 我们都需要为其生成对应的 FT_DEFAULT_PUK FT_DEFAULT_AUTH_KEY licence 二维码等 操作十分繁琐 效率非常低 不适用于量产 4.2 量产时的操作方法介绍 首先我们来列举一下我们需要得到的数据以及其来源 服务器公钥 同一类设备(比如空气净化器)共用一个服务器公钥 从 QQ 平台获取; PID : 同一类设备(比如空气净化器)共用一个 PID 从 QQ 平台获取; SN : 通过工具批量生成 设备公钥(PUK) : 服务器公钥 + 工具 量产时要求每一个设备的 PUK 不同 设备共享密钥(AUTH KEY): 服务器公钥 + 工具 量产时要求每一个设备的 AUTH KEY 不同 (同一个 服务器公钥 每次生成出来的 PUK 和 AUTH KEY 都不同) 设备登记表 SN + MAC Licence MAC + 设备登记表 + 工具 二维码 PID + SN + 工具 从上面的总结可以看出对于同一类设备来说 有些信息是固定的 而有些信息各不相同 可行的做法如下 1) 2) 3) 4) 在代码中把已知的数据填写进去 比如 PID 其他的留空 如 licence 等 在代码中制作一个数据接口 用于接收在第一步中留空的数据 使用工具批量生成 SN 使用工具批量生成二维码(PID + SN + 工具)

5) 将生成的二维码和我们的设备随机组合(物理上的组合 也就是放到一起) 6) 将第五步中组合好的设备一个一个通过我们的量产工具 7) 量产工具扫描设备得到 MAC 地址 扫描和设备组合的二维码 得到对应的 SN 8) 量产工具在得到 SN 和 MAC 后生成一个 csv 文件 9) 量产工具在生成 csv 文件后再生成该设备对应的 licence 10) 量产工具通过输入的服务器公钥生成 PUK 和 AUTH KEY 11) 量产工具将生成的 licence 通过第二步中预留的数据接口把 licence 写入到设备中 12) 量产工具将 PUK 和 AUTH KEY 通过第二步中预留的数据接口把数据写入到设备中 13) 量产工具处理完所有设备后 输出一个总的 csv 文件 用于 QQ 物联平台登记注册 也就是说 在编写底层代码的时候 我们可以先把那些确定的信息写入到代码里 那些 不确定的信息到后面的量产处理时再生成 写入 这样就避免了为每一个设备编写一版程序 的操作 也就是说如果用上面的方法 我们就可以编写出一套针对一类设备的通用代码了 上面流程中的一个关键点就是这个量产工具 这个工具需要自己开发 开发方法可以参 照 3.5.2 点的注意事项 QQ 物联平台有提供相关的开源包 开发者需要将该源码包集成到 量产工具里 源码包中包含了 licence 等数据的生成方法 说明 上面步骤中 设备在收到数据接口发过来的数据后就会将数据保存到非易失性存储 器(flash)里,成功收到数据后会有相应的回应 以供量产工具进行判断 5.版本说明与修订记录 Software Version: Hardware Version: IDE: Diver Version: BLE-STACK V4.0 HY-254101 V1 模组 (深圳昇润科技 www.tuner168.com) IAR 8.30.3 for 8051 V1.0 修订记录 日期 修订 版本 修订说明 2016/4/28 0 V1.0 首次发布