基础例程2ble2代码nxp应用qq物联_第1页
基础例程2ble2代码nxp应用qq物联_第2页
基础例程2ble2代码nxp应用qq物联_第3页
基础例程2ble2代码nxp应用qq物联_第4页
基础例程2ble2代码nxp应用qq物联_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Date:摘目 新设备接入流 生成 生 测 常见问 免责放合作平台。“QQQQ现有的社交体系提供给可穿戴设备、智能家居、智能车QQ“好友”。若想操作这个QQ“好友”,我们只需要一部有QQ软件的即可,当然只能硬件也是必须的。首先要添加设备,QQ物联有“自动发现”和“绑定”两种添加方式。“自QQ1.1所示。“绑定”功能只需要用扫一扫家电上的就可以进行绑定,十分方便。成功绑定的产品1.1QQ物联绑定来说,QQ物联能让你无论你离家多远,你能够在第一时间就象即可观察一切情况,如图1.2所示。1.2送消息,警告你家中发现异常,将损失降低最少,如图1.3所示。1.3的时候,你可以选择开启“外出”模式,QQ物联会帮你检查家中的门窗有没有关好,如果除了家庭,QQ物联还可以在健康、医疗、、汽车、建筑、城市……每一栋大楼,

2.1 2.2目前接入平台尚处于内测阶段,您需要在QQ物联内测申请页(http 中填写并提交相应的内容,来获得QQ物联的内测资格,操作如图2.3所示。申请后的5-则可以开始QQ物联的接入了。2.3白开启后,再次进入QQ物联(http 便会看到QQ物联配置平台的了,如图2.4所示。2.4QQ物联配置平台的-类型”后即可开始快速一个新设备,界面如图2.5所示。在QQ的界面里,是我们的用户可以直接看到的;2.5息,如图2.6所示。2.6pidserver-2.7所示。2.7的接入QQ物联平台,我们称之为签名密钥。既然是非对称密钥,签名密钥也一定是到签名的作用了,而公钥则需要上传到QQ物联。生成的ec_key.pem,而以后的环节中也会反复用到ec_key.pem,所以一定要妥善保管这个文件,如果丢了,即使是腾讯的的技术团队也没有办法恢复。生成签名密钥的方式有以下3种:使用Windows7以上的操作系统的PC点“公钥&工具(Win7Only”链KEY”按钮,会在您指定的下生成一对非对称密钥文件:ec_key.pem(签名私钥)和public.pem(签名公钥2.8所示。2.82.9图2.10密SN序列号(SN序列号在生成时使用)MAC地址对应表,MACcsvSNMAC地址的值用户可以SN序列号必须为16MAC12位。备是否被QQ物联写入成功。的设备登记列表的格式为第一列为PID,第二列为SN序列号,第三列为MAC地址,第四列为写入结果,第五列为失败原因。规范》及《轻APPdecviceAPI文档》(http 。客户可以采用QQ物联开发的公用模版控制器或者自己设计的Html5控制器。本示例选择QQ物联开发的公用模版控制器,配置url地址为 即可,操作界面如图2.11所示。

2.11100DIN用于测试。也就是说客的状态,同时获知您现在所使用的DIN数量,界面如图2.12所示。4理解BLE协议栈原理及应用编程。接J-link),短接J17处的跳线;3.1 ,操作如图 3.73.8html5图3.9向蓝牙设备发送数3.10QQ物联标准的广播格式如表4.1所示。ServiceUUID和Characteristic的值是固定的,按照格式填写即可。manufature的计算如下:比如某设备PID= MAC地址=C1:F3:57:31:FA:79,则manufature字段是{0x66,0xcb,0x9a,0x3b,0x79,0xfa,0x31,0x57,0xf3,0xc1}。4.1QQ值APPDeviceindicate(0x20)DeviceAPPmanufacturespecific以PID(4字节)MAC(6字节app_util.cuint8_tapp_set_adv_data(uint16_tdisc_mode)函数中修改广播数据,需要修改的的相关代码如程序4.1所示。程序4.1广播数据相关代③④id=⑤⑥app_env.adv_data[len+6]=⑦app_env.adv_data[len+7]=⑧lenlen=lenBLE广播的标准广播数据由若干个广播结构体组成,每个广播结构体包含一个广播结用户需将代码⑦~PIDQnNVDSConfigurator工具将ZLG902xDemoKit开发板蓝牙的MAC地址修改为客户在腾讯开放平台申请内测的蓝牙MAC4.1所示。其中产品PIDMAC2.2.3小节中下4.1MAC当修改完成后可以使用LigthBlue或Firefly检查广播数据是否正确。比如某设备 (0x3B9ACB66),MAC地址=C1:F3:57:31:FA:79。打开Firefly,点击扫描,如配置正常,就可以看到设备出现在搜索结果中,现象如图4.2所示。4.2Firefly

4.3LigthBluePIDPID从低到高排列的。license、auth_key、puk都是由“Key&Licence生成工具V2.2(蓝牙特别版工具生成,生成后对应即可。生成打开“Key&Licence生成工具V2.2(蓝牙特别版工具,导入的设备登记列表,licencelicencelicence可能都不一样,但只要使其与生成licence的个数相对应即可。4.4钥,操作界面如图4.5所示。使用记事本打开服务器公钥,将其内容到“Key&LicenceV2.2(蓝牙特别版aurh_key和puk,操作如图4.6所示。4.5服务器公钥

4.6auth_key由于QQ的扫描接入功能还不是很完善,因此选择扫描的方式接入QQ物联。二维码的生成方式很多,这里仅以方法 进行说明。的格式 &sn=a76bc514-6e72-41,操作如图4.7所示。pidsnpid为十进制数值,sn为设备登记表中的sn序列号。4.10BLEusr_design.cint8_tfh_set_property(ff_property_t*prop)函数,添加如程序4.2所示的代码。此段代码的含义id为LED。程序4.2添加接收消息代if(prop->prop_idif(prop->prop_id {led_set(2,}在的html5界面下,修改发送消息旧接口的id为 旧”发送消息,操作如图4.11所示,发送消息后LED将被点亮。图4.11向设备发送消现在我们实现另一个功能:按下开发板按钮S2,上收到一条消息。首先在usr_design.c文件中找到app_button_timer_handler函数,然后在此函数的caseAPP_SYS_BUTTON_2_TIMER代码后面添加如程序4.3所示的代码。程序4.3添加发送消息代{char*value="btn3ffprop.seq_no=①②}程序4.3中①为设置消息id,代码②为设备向发送消息的函数。添加代码后,使用连接设备,在html5界面点击“device.onReceive”按钮,操作如图4.12所示。然后在点击开发板上的S2按钮将会受到相应的数据,现象如图4.13所示。图4.12点击接收消息按

图4.13接收到消QQ4.2所示。QQ物联的蓝牙部分,最初的项目代号为Firefly(荧火虫),简写为ff,因此以ff为前缀的表示代码里最基础的部分,fd前缀表示deviceSDK实现的功能,fh前缀表示hardware上层业务逻辑需要实现的功能。4.2QQfd_enginefd_engine.hfh_xxx开头。程序4.4中代码①是SDK在发送数据时调用的。厂商将数据发送完毕后,需要调用程序4.4中代码②告知SDK,否则SDK不会继续发送数据。程序4.4中代码③mac”F2AF0CC1FCFD”12字节、没有\0fh_xxx开头的函数在例程中都有实现,程序4.4fd_engine.h文件中的函数举int8_tfh_send(uint8_t*datum,uint16_t①②voidfh_load_mac(uint8_t*③而由SDK组包。程序4.5QQ物联SDK主要接口函structfd_engine_s*fd_init(uint8_t*zone,uint16_tsize)①②③int8_tfd_received(structfd_engine_s*engine,uint8_t*datum,uint16_tlength)④⑤⑥Q:提示“绑定失败,蓝牙设备失败,错误码:46”?A:fireflydemo里面的PIDfirefly,重启设备(排除下有残留文件,然后重装,并按照上面的步骤重新生成license。A:Android

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论