当前位置: 首页 > news >正文

摄影网站制作软件项目计划书目录模板

摄影网站制作软件,项目计划书目录模板,江阴那家网站做的好,成品网站包含后台么前言 要让手机能够控制手表,第一步当然要让手机能够“看见”手表,人类作为上帝视角,我们是能够通过眼睛直接看见手机和手表的,但要让手机“看见”手表,就需要一端把自己的信息通过电磁波的形式发往空中,另…

前言

要让手机能够控制手表,第一步当然要让手机能够“看见”手表,人类作为上帝视角,我们是能够通过眼睛直接看见手机和手表的,但要让手机“看见”手表,就需要一端把自己的信息通过电磁波的形式发往空中,另一端接收到空中的电磁波信号识别到需要的信息,从而感知到对端并与对端握手和后续的交互。完成上述的过程这里需要引入两个概念广播和连接。本章主要讲解如何让两个设备“见面”。

ble广播类型

广播类型意义
通用广播既可以被主动扫描到,也可以被连接的广播方式,是最常用的广播方式
定向广播报文里含有广播者地址和发起者地址,发起者设备收到发给自己的定向广播报文后,可以立即发送连接请求给对方
不可连接广播只能广播数据,不能响应主动扫描或者连接
可发现广播不能被连接,但可以广播数据或者响应主动扫描

这里就我们常用的广播报文–通用广播抓包分析下

在这里插入图片描述

广播报文格式

在这里插入图片描述

报头格式

在这里插入图片描述

广播报文类型

广播报文类型含义
ADV_IND通用广播指示
ADV_DIRECT_IND定向连接指示
ADV_NONCONN_IND不可连接指示
ADV_SCAN_IND可扫描指示
SCAN_REQ主动扫描请求
SCAN_RSP主动扫描响应
CONNECT_REQ连接请求

发送地址类型

在这里插入图片描述

长度

对于广播报文,长度域包含6个比特,有效值的范围是6-37个字节。广播报文除了最多31个字节的数据外,还要包含6个字节的广播设备地址,6个字节加31个字节导致报文长度最多为37个字节,因此需要6比特的长度域

数据

广播包中的数据域使用LTV的格式进行定义,即 length + type + value
length表示(type + value)的总长度;
type为1byte数据类型,蓝牙协议规范定义类型如下:

/// The type of advertising data(not adv_type)
typedef enum {ESP_BLE_AD_TYPE_FLAG              = 0x01,  /* relate to BTM_BLE_AD_TYPE_FLAG in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_16SRV_PART        = 0x02,  /* relate to BTM_BLE_AD_TYPE_16SRV_PART in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_16SRV_CMPL        = 0x03,  /* relate to BTM_BLE_AD_TYPE_16SRV_CMPL in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_32SRV_PART        = 0x04,  /* relate to BTM_BLE_AD_TYPE_32SRV_PART in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_32SRV_CMPL        = 0x05,  /* relate to BTM_BLE_AD_TYPE_32SRV_CMPL in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_128SRV_PART       = 0x06,  /* relate to BTM_BLE_AD_TYPE_128SRV_PART in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_128SRV_CMPL       = 0x07,  /* relate to BTM_BLE_AD_TYPE_128SRV_CMPL in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_NAME_SHORT        = 0x08,  /* relate to BTM_BLE_AD_TYPE_NAME_SHORT in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_NAME_CMPL         = 0x09,  /* relate to BTM_BLE_AD_TYPE_NAME_CMPL in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_TX_PWR            = 0x0A,  /* relate to BTM_BLE_AD_TYPE_TX_PWR in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_DEV_CLASS         = 0x0D,  /* relate to BTM_BLE_AD_TYPE_DEV_CLASS in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SM_TK             = 0x10,  /* relate to BTM_BLE_AD_TYPE_SM_TK in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SM_OOB_FLAG       = 0x11,  /* relate to BTM_BLE_AD_TYPE_SM_OOB_FLAG in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_INT_RANGE         = 0x12,  /* relate to BTM_BLE_AD_TYPE_INT_RANGE in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SOL_SRV_UUID      = 0x14,  /* relate to BTM_BLE_AD_TYPE_SOL_SRV_UUID in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_128SOL_SRV_UUID   = 0x15,  /* relate to BTM_BLE_AD_TYPE_128SOL_SRV_UUID in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SERVICE_DATA      = 0x16,  /* relate to BTM_BLE_AD_TYPE_SERVICE_DATA in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_PUBLIC_TARGET     = 0x17,  /* relate to BTM_BLE_AD_TYPE_PUBLIC_TARGET in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_RANDOM_TARGET     = 0x18,  /* relate to BTM_BLE_AD_TYPE_RANDOM_TARGET in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_APPEARANCE        = 0x19,  /* relate to BTM_BLE_AD_TYPE_APPEARANCE in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_ADV_INT           = 0x1A,  /* relate to BTM_BLE_AD_TYPE_ADV_INT in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_LE_DEV_ADDR       = 0x1b,  /* relate to BTM_BLE_AD_TYPE_LE_DEV_ADDR in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_LE_ROLE           = 0x1c,  /* relate to BTM_BLE_AD_TYPE_LE_ROLE in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SPAIR_C256        = 0x1d,  /* relate to BTM_BLE_AD_TYPE_SPAIR_C256 in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_SPAIR_R256        = 0x1e,  /* relate to BTM_BLE_AD_TYPE_SPAIR_R256 in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_32SOL_SRV_UUID    = 0x1f,  /* relate to BTM_BLE_AD_TYPE_32SOL_SRV_UUID in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_32SERVICE_DATA    = 0x20,  /* relate to BTM_BLE_AD_TYPE_32SERVICE_DATA in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_128SERVICE_DATA   = 0x21,  /* relate to BTM_BLE_AD_TYPE_128SERVICE_DATA in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_LE_SECURE_CONFIRM = 0x22,  /* relate to BTM_BLE_AD_TYPE_LE_SECURE_CONFIRM in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_LE_SECURE_RANDOM  = 0x23,  /* relate to BTM_BLE_AD_TYPE_LE_SECURE_RANDOM in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_URI               = 0x24,  /* relate to BTM_BLE_AD_TYPE_URI in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_INDOOR_POSITION   = 0x25,  /* relate to BTM_BLE_AD_TYPE_INDOOR_POSITION in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_TRANS_DISC_DATA   = 0x26,  /* relate to BTM_BLE_AD_TYPE_TRANS_DISC_DATA in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_LE_SUPPORT_FEATURE= 0x27,  /* relate to BTM_BLE_AD_TYPE_LE_SUPPORT_FEATURE in stack/btm_ble_api.h */ESP_BLE_AD_TYPE_CHAN_MAP_UPDATE   = 0x28,    /* relate to BTM_BLE_AD_TYPE_CHAN_MAP_UPDATE in stack/btm_ble_api.h */ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE  = 0xFF,    /* relate to BTM_BLE_AD_MANUFACTURER_SPECIFIC_TYPE in stack/btm_ble_api.h */
} esp_ble_adv_data_type;

部分常见类型定义解析如下:
在这里插入图片描述

抓包分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结尾

到这里广播篇基本就告一段落了,当然实际中还需要结合具体的场景做分析,主要关注以上几个关键点即可以完成广播相关的操作,下章将介绍如何进行连接,未完待续!

http://www.yayakq.cn/news/267003/

相关文章:

  • wordpress网站回调域网站建设方案范文2000字
  • 河南网站推广怎么做金华网站建设建设设计网站
  • 兰州优化网站公司建筑行业网站模版
  • 400元网站建设网站开发都需要什么工作
  • 临沂怎么做网站个人网站如何做淘客网站
  • 网站配色原理杭州科技公司有哪些
  • 青岛专业网站制作设计门户网站建设 考核
  • 成都网站编辑在百度上如何上传自己的网站
  • 手机视频做动画视频在线观看网站盐城做网站价格
  • 询价网站哪个好深圳seo优化多少钱
  • 广告公司网站主页设计程序开源网站
  • 安庆做网站公司成功的网络营销案例
  • 网站psd模版网站公司排行榜
  • 请人做网站注意事项网站建设高端公司
  • 1688阿里巴巴官方网站微信网站开发视频教程
  • 网站推广方法素材北京定制网站开发公司
  • 优秀的版式设计网站广东seo网站推广
  • 网站seo查询站长之家石家庄职业技术学院
  • 网站的icp 备案信息山西省住房城乡建设厅网站
  • 移动网站开发教学大纲wordpress關閉
  • 彩妆网站建设报告丹阳网站建设怎么样
  • 五金件外发加工网seo体系百科
  • 浙江省建设局网站上海比较出名的互联网公司
  • 新手从零基础建站初级网站建设wordpress自定义菜单设置
  • 深圳集团网站开发公司寻找手机网站建设
  • 全球最大的设计网站成品网站
  • 最便宜的手机网站建设企业传统的网络营销推广方法
  • 网站服务器租用选择常德小学报名网站
  • iis5建设网站科技栋梁之歌
  • 祥云网站优化创意交易平台官网