杰理第三方APP通信协议设计说明文档v0.0.1_第1页
杰理第三方APP通信协议设计说明文档v0.0.1_第2页
杰理第三方APP通信协议设计说明文档v0.0.1_第3页
杰理第三方APP通信协议设计说明文档v0.0.1_第4页
杰理第三方APP通信协议设计说明文档v0.0.1_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

APP通信协议接口设计说明书珠海市杰理科技股份有限公司ZhuhaiJieli版权所有,未经许可,禁止外传1版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真改记录版本更新日期描述v1.02021-1-12App通信协议接口设计说明初始版本2版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真文档介绍........................................................................................................................................................................61.1.文档目的............................................................................................................................................................61.2.参考文献............................................................................................................................................................61.3.术语与缩写词.....................................................................................................................................................62.功能概述........................................................................................................................................................................63.其他系统/模块的调用关系............................................................................................................................................74.文件名说明与内容安排.................................................................................................................................................75.消息模块介绍................................................................................................................................................................75.1.公共通知消息类.................................................................................................................................................85消息介绍................................................................................................................................................85接口介绍................................................................................................................................................85.1.2.1.app_protocol_message_handler..................................................................................................85.2.通知消息类.................................................................................................................................................95........................................................................................................................................................95接口介绍................................................................................................................................................95.2.2.1.app_protocol_ota_message_handler...........................................................................................95.3.GMA.................................................................................................................................................105消息列表..............................................................................................................................................105接口介绍..............................................................................................................................................105.3.2.1.staticintgma_special_message.................................................................................................105.4.MMA.................................................................................................................................................115.4.1.消息列表这部分消息是用于处理MMA一些独特的命令,或者以后需要协议扩展的命令。5接口介绍..............................................................................................................................................115.4.2.1.mma_special_message..............................................................................................................5.5.DMA.................................................................................................................................................125消息列表..............................................................................................................................................123版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真口介绍..............................................................................................................................................125.5.2.1.dueros_special_message............................................................................................................126.与各具体协议中间层设计介绍...................................................................................................................................136.1.概况..................................................................................................................................................................136.2.参数配置接口...................................................................................................................................................136.3.协议操作函数...................................................................................................................................................146.4.协议回调接口注册函数...................................................................................................................................147.提供给USER层使用的接口......................................................................................................................................157.1.参数配置接口(在init之前)........................................................................................................................157app_protocol_set_product_id...............................................................................................................157app_protocol_set_vendor_id.................................................................................................................157app_protocol_set_local_version...........................................................................................................167app_protocol_set_info_group...............................................................................................................167app_protocol_set_tws_sibling_mac......................................................................................................167.2.协议操作控制接口...........................................................................................................................................177app_protocol_ibeacon_switch..............................................................................................................177app_protocol_ble_adv_switch..............................................................................................................177app_protocol_disconnect......................................................................................................................177app_protocol_get_tws_data_for_lib.....................................................................................................187app_protocol_send_voice_data............................................................................................................187app_protocol_check_connect_success.................................................................................................187app_protocol_start_speech_cmd..........................................................................................................197app_protocol_stop_speech_cmd...........................................................................................................197.3.回调函数说明...................................................................................................................................................207.4.protocol......................................................................................................................................207app_protocol_inti;.................................................................................................................................207app_protocol_exit.................................................................................................................................218.USER公共流程和一些接口................................................................................................................................224版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真1.公共流程..........................................................................................................................................................228唤醒语音助手流程..............................................................................................................................228系统事件处理流程..............................................................................................................................228.2.接口..................................................................................................................................................................238app_protocol_set_volume.....................................................................................................................238app_protocal_get_bat_by_type.............................................................................................................238app_protocal_get_license_ptr...............................................................................................................238app_protocol_license2flash..................................................................................................................248app_protocol_tone_register..................................................................................................................248mic_rec_pram_init................................................................................................................................258app_protocol_handle_register..............................................................................................................258app_protocol_tws_sync_private_deal..................................................................................................268app_protocol_tws_rx_data_private_deal..............................................................................................268.2.10.app_protocol_sys_event_private_deal...............................................................................................268app_protocol_post_bt_event...............................................................................................................278.2.12.app_protocol_post_app_core_callback..............................................................................................278.2.13.app_protocol_tws_send_to_sibling....................................................................................................278.2.14.app_protocol_tws_sync_send.............................................................................................................285版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真档介绍介绍手机通信协议的参数和反馈事件的意义。1.1.文档目的通过本文档熟悉各个手机通信协议的使用和注意事项。1.2.参考文献[1].各家协议的网址和参考资料1.3.术语与缩写词缩写、术语解释阿里天猫的小米小爱的百度的腾讯酷狗的协议功能概述由于各个互联网公司的一个代码的移植性很差。这个接口层设计是为上层应用提供相对比较统一的协议的细节,由库里面实现并抽象接口。提高上层应用代码和协议的可移植性。版权所有,侵权必究6地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真他系统模块的调用关系1、尽可能避免处理具体协议的特殊修改2层用协议库的函数。ProtocolInterface层注册进去的函数app_profile_interface_t结构体中系列函数GMAMMADMA。。。蓝牙公共接口文件名说明与内容安排文件内容说明app_protocol_api.capp_protocol_common.c层抽象提供给app_protocol_api调用的接口app_protocol_ota.c升级的中间层接口app_protocol_dma.cDMA非协议规定的不通用流程和资源。如提示音,读配置文件app_protocol_gma.cGMA非协议规定的不通用流程和资源。如提示音,读配置文件app_protocol_mma.cMMAapp_protocol_tme.c非协议规定的不通用流程和资源。如提示音,读配置文件消息模块介绍版权所有,侵权必究7地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真1.公共通知消息类5.1.1.消息介绍这类消息是每个协议都基本会有的状态通知消息。1.protocol2.{3.APP_PROTOCOL_COMMON_NOTICE=4.APP_PROTOCOL_CONNECTING,/*保留,暂未使用5.APP_PROTOCOL_CONNECTED_BLE,连接成功状态更新6.APP_PROTOCOL_CONNECTED_SPP,连接成功状态更新7.APP_PROTOCOL_DISCONNECT,连接断开状态更新8.APP_PROTOCOL_AUTH_PASS,/*连接认证通过标识更新9.APP_PROTOCOL_SPEECH_START,/*语音识别功能启动状态10.APP_PROTOCOL_SPEECH_STOP,/*语音识别功能停止状态APP_PROTOCOL_SET_VOLUME,配置音量12.APP_PROTOCOL_GET_VOLUME,读取音量13.APP_PROTOCOL_GET_AUX_STATUS,/*保留,暂未使用14.APP_PROTOCOL_LIB_TWS_DATA_SYNC,需要更新给另一端数据15.APP_PROTOCOL_COMMON_NOTICE_END=0x14F,16.这些消息主要在app_protocol_message_handler(intopcode,*data,len);函数中处理5.1.2.接口介绍app_protocol_message_handler函数原型app_protocol_message_handler(intid,intopcode,*data,len);功能描述此函数是注册到库里面使用,处理协议的所有消息,再通过系统消息接口的方式发给其它线程处理参数说明*\param[in]//连上的协议值*\param[in]//app_profile_api.h里面的枚举值*\param[in]//可能状态会有其它的参数,没有是版权所有,侵权必究8地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真\param[in]状态其它的参数的长度,没有是0输出返回值是错误码例子补充说明5.2.通知消息类5.2.1.介绍这类消息是每个协议进行升级时抽象出来的消息,用于通知上层状态和进度1.{2.APP_PROTOCOL_OTA_COMMON_NOTICE=APP_PROTOCOL_COMMON_NOTICE_END+3.APP_PROTOCOL_OTA_CHECK,4.APP_PROTOCOL_OTA_GET_APP_VERSION,5.APP_PROTOCOL_OTA_CHECK_CRC,6.APP_PROTOCOL_OTA_BEGIN,7.APP_PROTOCOL_OTA_TRANS_DATA,8.APP_PROTOCOL_OTA_PERCENT,9.APP_PROTOCOL_OTA_END,10.APP_PROTOCOL_OTA_SUCCESS,APP_PROTOCOL_OTA_FAIL,12.APP_PROTOCOL_OTA_CANCLE,13.APP_PROTOCOL_OTA_REBOOT,14.APP_PROTOCOL_OTA_COMMON_NOTICE_END=0x1FF,15.这些消息主要在app_ota_message_handler(intopcode,const*data,len)函数中处理5.2.2.接口介绍app_protocol_ota_message_handler函数原型app_protocol_ota_message_handler(intopcode,*data,版权所有,侵权必究9地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真能描述此函数在app_protocol_message_handler中调用,判断范围后,把对应的消息给到app_protocol_ota_message_handler参数说明*\param[in]//区分什么协议的值*\param[in]//app_profile_api.h里面关于的枚举值*\param[in]//可能状态会有其它的参数,没有是*\param[in]状态其它的参数的长度,没有是0输出返回值是错误码例子补充说明5.3.GMA私有消息5.3.1.消息列表这部分消息是用于处理GMA一些独特的命令,或者以后需要协议扩展的命令。1.2.{3.APP_PROTOCOL_GMA_NOTICE_BEGIN=GMA_HANDLER_ID,4.APP_PROTOCOL_GMA_FMTX_SETFRE,5.APP_PROTOCOL_GMA_FMTX_GETFRE,6.APP_PROTOCOL_GMA_NOTICE_END=GMA_HANDLER_ID+7.这些消息主要在gma_message_handler(intopcode,const*data,len)函数中处理5.3.2.接口介绍staticintgma_special_message函数原型staticgma_special_message(intid,int*data,功能描述定义一个协议特殊的消息函数是为了减少代码量,不会编译到不需要协议库参数说明*\param[in]//区分什么协议的值版权所有,侵权必究10地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真\param[in]//app_profile_api.h里面关于的枚举值*\param[in]//可能状态会有其它的参数,没有是*\param[in]状态其它的参数的长度,没有是0输出返回值是错误码例子补充说明5.4.MMA私有消息5.4.1.消息列表这部分消息是用于处理MMA一些独特的命令,或者以后需要协议扩展的命令。1.2.{3.APP_PROTOCOL_MMA_NOTICE=MMA_HANDLER_ID,4.APP_PROTOCOL_MMA_SAVE_INFO,5.APP_PROTOCOL_MMA_READ_INFO,6.APP_PROTOCOL_MMA_SAVE_ADV_COUNTER,7.APP_PROTOCOL_MMA_READ_ADV_COUNTER,8.APP_PROTOCOL_MMA_NOTICE_END=MMA_HANDLER_ID+9.5.4.2.接口介绍mma_special_message函数原型staticmma_special_message(int*data,功能描述定义一个协议特殊的消息函数是为了减少代码量,不会编译到不需要协议库参数说明*\param[in]//区分什么协议的值*\param[in]//app_profile_api.h里面关于的枚举值*\param[in]//可能状态会有其它的参数,没有是版权所有,侵权必究地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真\param[in]状态其它的参数的长度,没有是0输出返回值是错误码例子补充说明5.5.DMA私有消息5.5.1.消息列表这部分消息是用于处理MMA一些独特的命令,或者以后需要协议扩展的命令1.2.{3.APP_PROTOCOL_DMA_NOTICE=DMA_HANDLER_ID,4.APP_PROTOCOL_DMA_SAVE_RAND,5.APP_PROTOCOL_DMA_READ_RAND,6.APP_PROTOCOL_DMA_TWS_SNED_RAND,7.APP_PROTOCOL_DMA_NOTICE_END=DMA_HANDLER_ID+8.5.5.2.接口介绍dueros_special_message函数原型staticdueros_special_message(intopcode,*data,功能描述定义一个协议特殊的消息函数是为了减少代码量,不会编译到不需要协议库参数说明*\param[in]//区分什么协议的值*\param[in]//app_profile_api.h里面关于的枚举值*\param[in]//可能状态会有其它的参数,没有是*\param[in]状态其它的参数的长度,没有是0输出返回值是错误码例子版权所有,侵权必究12地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真充说明与各具体协议中间层设计介绍6.1.概况每个协议的实现提供的接口需要根据app_profile_interface_tDMA+JLrcspUUID,用于查找对应的协议接口组。但是协议只能支持一个连接。1.DEMO_HANDLER_ID2.GMA_HANDLER_ID阿里天猫协议接口3.MMA_HANDLER_ID4.DMA_HANDLER_ID5.TME_HANDLER_ID6.AMA_HANDLER_IDlist_for_each_app_profile可以遍历所有支持的协议6.2.参数配置接口1.app_protocol_info_t{2./*配置类接口3.(*set_product_id)(u324.(*set_vendor_id)(u325.(*set_local_version)(u326.(*set_special_info_group)(7.(*set_tws_sibling_mac)(8.版权所有,侵权必究13地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真3.协议操作函数1.structapp_ctrl_operation_t{2.int(*protocol_init)();3.int(*protocol_exit)();4.int(*adv_enable)(enable);5.int(*ibeacon_adv)(6.int(*regist_wakeup_send)(*cbk);7.int(*regist_recieve_cbk)(*cbk);8.int(*latency_enable)(*priv,enable);9.int(*send_data)(*priv,10.int(*send_voice_data)(int(*disconnect)(12.int(*tws_receive_sync_data)(u8*data,13.int(*get_auth_state)(void14.int(*start_voice_recognition)(15.一般考虑连接的时候只有一个处于连接状态,所以发送的时候只有一个协议可以发送成功。6.4.协议回调接口注册函数1.structcallback_register_t{2.void(*message_handler_regedit)(int(*handler)(*data,len));3.void(*check_tws_role_is_master_register)((*handler)(void4.void(*tx_resume)((*handler)(5.void(*rx_resume)((*handler)(6.void(*get_battery)((*handler)(u8battery_type,7.蓝牙部门负责的协议开发要实现这三个结构体。提供对应参数的函数赋值给结构体使用。版权所有,侵权必究14地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真供给USER层使用的接口7.1.参数配置接口(在init之前)7.1.1.app_protocol_set_product_id函数原型app_protocol_set_product_id(u32handler_id,功能描述设置产品的productID,需要跟相应协议的厂商提出申请参数说明*\param[in]handler_id每个协议指定的接口标识*\param[in]pidID,需要申请的值输出例子关联模块补充说明7.1.2.app_protocol_set_vendor_id函数原型app_protocol_set_vendor_id(u32handler_id,功能描述设置产品的ID,需要跟相应协议的厂商提出申请参数说明*\param[in]handler_id每个协议指定的接口标识*\param[in]vidID,需要申请的值输出例子关联模块补充说明版权所有,侵权必究15地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真1.3.app_protocol_set_local_version函数原型app_protocol_set_local_version(u32handler_id,功能描述设置产品的当前软件版本,用于显示和升级检查参数说明*\param[in]handler_id每个协议指定的接口标识*\param[in]//自定义值,格式库内会自己根据协议进行调整输出例子补充说明7.1.4.app_protocol_set_info_group函数原型app_protocol_set_info_group(u32handler_id,功能描述配置协议更多信息,例如GMA的三元组地址,百度的三月组。参数说明*\param[in]handler_id每个协议指定的接口标识*\param[in]addr信息的其实地址输出例子补充说明这个接口涉及到一个数据格式,可能每个协议有差异。协议开发定义好数据结层根据结构补充信息。不能随意更改数据结构7.1.5.app_protocol_set_tws_sibling_mac函数原型app_protocol_set_tws_sibling_mac(u8功能描述配置TWS的地址,app协议用于配置广播包或者命令告知参数说明*\param[in]//TWS另一端的地址输出例子版权所有,侵权必究16地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真充说明7.2.协议操作控制接口7.2.1.app_protocol_ibeacon_switch函数原型app_protocol_ibeacon_switch(int功能描述有些协议需要开包的参数说明*\param[in]sw开关标识1或者0输出例子补充说明7.2.2.app_protocol_ble_adv_switch函数原型app_protocol_ble_adv_switch(int功能描述协议开关广播包操作接口参数说明*\param[in]sw开关标识1或者0输出例子补充说明7.2.3.app_protocol_disconnect函数原型app_protocol_disconnect(void*addr)功能描述断开参数说明*\param[in]//目前单台应用,可传版权所有,侵权必究17地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真出例子补充说明7.2.4.app_protocol_get_tws_data_for_lib函数原型app_protocol_get_tws_data_for_lib(u8*data,功能描述收到另一端的数据调用这个接口把数据完整传回去库里面解析参数说明*\param[in]收到数据的地址*\param[in]收到数据的长度输出例子补充说明7.2.5.app_protocol_send_voice_data函数原型app_protocol_send_voice_data(uint8_t*voice_buf,uint16_tvoice_len)功能描述发送语音数据给APP,参数说明*\param[in]voice_buf//语音数据的起始地址*\param[in]voice_len//语音数据的长度输出例子补充说明7.2.6.app_protocol_check_connect_success函数原型app_protocol_check_connect_success()功能描述查询当前的协议有没有连接成功版权所有,侵权必究18地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真数说明输出返回值是当前的连接状态例子补充说明7.2.7.app_protocol_start_speech_cmd函数原型app_protocol_start_speech_cmd()功能描述发命令启动语音识别功能参数说明输出返回值是当前的命令有没有发送成功例子补充说明7.2.8.app_protocol_stop_speech_cmd函数原型app_protocol_stop_speech_cmd()功能描述发命令停止语音识别功能参数说明输出返回值是当前的命令有没有发送成功例子补充说明版权所有,侵权必究19地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真3.回调函数说明函数名称简要说明message_handler_regedit公共消息函数传递到库里面调用check_tws_role_is_master_register库需要检查TWS的主从状态可能需要唤醒线程处理去发数可能需要唤醒线程去处理收到的数据get_battery获取各种电池电量的总接口7.4.APPprotocol线程接口7.4.1.app_protocol_inti;函数原型app_protocol_inti(inthandler_id);功能描述/*resume,message_handler等函数。建立了线程之后,初始化对应的协议参数说明*\param[in]handler_id头文件指定协议的一个值输出例子在对应的路径加上头文件#include"app_protocol_api.h"app_protocol_init(DEMO_HANDLER_ID);补充说明GMA_HANDLER_ID0x400/*阿里天猫协议接口MMA_HANDLER_ID0x500/*小米MMA协议接口ID*/DMA_HANDLER_ID0x600/*百度DMA协议接口ID*/TME_HANDLER_ID0x700腾讯酷狗协议接口版权所有,侵权必究20地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真4.2.app_protocol_exit函数原型app_protocol_inti(inthandler_id);功能描述统一的释放APP协议栈的资源参数说明*\param[in]handler_id头文件指定协议的一个值输出例子补充说明版权所有,侵权必究21地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真SER公共流程和一些接口8.1.公共流程8.1.1.唤醒语音助手流程8.1.2.系统事件处理流程第三方协议系统事件的统一在app_protocol_sys_event_handler函数里处理。公共的处理流程在app_protocol_common.c里面执行,非公共部分的处理流程,在各自的app_protocol_xxx.c文件里处理。版权所有,侵权必究22地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真2.接口8.2.1.app_protocol_set_volume函数原型app_protocol_set_volume(u8功能描述设置设备的音量级别,参数说明*\param[in]目标音量输出例子补充说明8.2.2.app_protocal_get_bat_by_type函数原型app_protocal_get_bat_by_type(u8type)功能描述提供给库调用的获取各种电量信息的接口参数说明*\param[in]//要获取的电量类型输出电量大小或充电标志,范围为0-100。获取不到时返回0例子补充说明8.2.3.app_protocal_get_license_ptr函数原型*app_protocal_get_license_ptr(void);功能描述获取flash里三元组信息的头指针参数说明输出三元组信息的头指针例子版权所有,侵权必究23地址:珠海市吉大石花西路107号9邮编:5190150756-6313088传真充说明8.2.4.app_protocol_license2flash函数原型app_protocol_license2flash(const*data,功能描述将三元组数据写到flash的末尾处参数说明*\param[in]要保存的数据*\param[in]要保存的数据长度输出写入成功返回0,失败会返回-1例子补充说明8.2.5.app_protocol_tone_register函数原型app_protocol_tone_register(constchar**tone_table);功能描述注册或切换第三方协议提示音表参数说明*\param[in]tone_t

温馨提示

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

评论

0/150

提交评论