## 版本记录
|版本号|修改记录|修改人|修改日期
|----|----|----|----
|V1.0|创建版本|黄阳琨|20181127
## 说明
HT(Temperature and humidity)系列BeaconX产品是使用SHT3X系列温湿度传感器芯片,在MkBeaconX V2.0版本固件基础上进行开发完成。该系列产品根据客户需求设计分为A,B两种子类型,如HT1A, HT1B。A类为板载温湿度芯片,不需要引线探头引出;B类带有引线探头,将温湿度芯片置于探头部分。
## 结构及外形要求
HT1 BeaconX采用两节AAA电池供电,同时可兼容板载(FPC)温湿度芯片及外接探头温湿度芯片。
## 固件功能需求
### 设备默认参数
- 设备名称:TH
- 增加T&H通道,默认打开
增加T&H桢,设备类型0x40
增加触发广播的方式(单击两次/温度高于/温度低于/湿度低于/湿度高于)
增加读取设备类型协议(带有触发器功能/带有温湿度功能)
增加no password
### 增加协议(APP及串口)
1.产品类型
APP发送,设备应答,通过类型的字段进行区分
目前已有类型
A.无应答,原始旧类型
B.带加速度计类型
C.带温湿度传感器类型
D.带加速度计与温湿度传感器
2.触发条件协议
A.设备静止时长,停止广播/休眠
B.按键触发,开始广播
C.按键触发,停止广播
D.温度高于,开始/停止广播
E.温度低于,停止/停止广播
F.湿度高于,开始/停止广播
G.湿度低于,停止/停止广播
3.增加自定义广播字段
4.设备信息帧可选可配置
5.单独可配置3轴加速度计采样率及重力加速度值,改变采样的数据值。
6.单独可配置温湿度采样率,若采样关闭,则触发器温湿度功能一起关闭,该协议返回错误
### 广播帧类型
|Frame Type|Service UUID|Data Format <Br> Field|Data Format<Br>Description|备注|
| -------|----- |------ |-------- |------- |
|**Eddystone-UID** |0xFEAA |Frame Type |Value=0x00 | |
| | |Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm |Examples:<Br> <Br>The value 0x12 is interpreted as +18dBm<Br> <Br>The value 0xEE is interpreted as -18dBm |
| | |NID[0]—NID[9] |Namespace — 10bytes |The 10-byte Namespace ID component is unique self-assigned beacon ID namespace. |
| | |BID[0]—BID[5] |Instance ID — 6bytes |The 6-byte instance portion of the Eddystone-UID beacon ID may be assigned via any method suitable for your application. They may be random, sequential, hierarchical, or any other scheme. |
| | |RFU—0x00 |Reserved for future use, must be 0x00 | |
| | |RFU—0x00 |Reserved for future use, must be 0x00 | |
|**Eddystone-URL** | 0xFEAA |Frame Type |Value=0x10 | |
| | |Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm--+20dBm| |
| | |URL Scheme |0x00—http://www.<Br>0x01—https://www. <Br>0x02—http://<Br>0x03—https:// | |
| | |Encoded URL |length 1-17 bytes | |
|**Eddystone-TLM** |0xFEAA |Frame Type |Value=0x20 | |
|||TLM Version|Value=0x00(TLM 不加密)<Br> Value=0x01(ETLM 加密)|TLM version allows for future development of this frame type. At present the value must be 0x00.|
|||VBATT[0]-VBATT[1]|Battery Voltage, 1 mV/bit -- 2bytes|Battery voltage is the current battery charge in millivolts, expressed as 1 mV per bit. |
|||TEMP[0]-TEMP[1]|Beacon temperature -- 2bytes|Beacon temperature is the temperature in degrees Celsius sensed by the beacon and expressed in a signed 8.8 fixed-point notation. If not supported the value should be set to 0x8000, -128 °C.|
|||ADV_CNT[0]-ADV_CNT[3]|Advertising PDU count -- 4bytes|ADV_CNT is the running count of advertisement frames of all types emitted by the beacon since power-up or reboot, useful for monitoring performance metrics that scale per broadcast frame. If this value is reset (e.g. on reboot), the current time field must also be reset.|
|||SEC_CNT[0]-SEC_CNT[3]|Time since power-on or reboot -- 4bytes|SEC_CNT is a 0.1 second resolution counter that represents time since beacon power-up or reboot. If this value is reset (e.g. on a reboot), the ADV count field must also be reset.|
|**Eddystone-EID** |0xFEAA |Frame Type |Value=0x30 |预留,暂不提供此功能
|**设备信息帧** |0xFEAB |Frame Type |Value=0x40 | |
|||Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm, 1byte||
|||广播间隔|范围100ms--10000ms,单位:100ms,1byte||
|||Tx Power|参加附录1, 3bytes|AD Type: 0x0A|
|||Battery Level|0x00--0x64, 1byte||
|||Lock State状态|0x00/01/02, 1byte||
|||Connectable状态|0x00/0x01, 1byte|0x00-不可连接/0x01-可连接|
|||MAC Address|6bytes||
|||软件版本|2bytes|十六进制显示当前版本号,如V10.6版本,对应0x0A 0x06|
|||Device Name|22bytes|AD Type: 0x09, Complete local device name, 设备名称可用20bytes,不限制字符类型,符合ASC2码规则|
|**iBeacon**|0xFEAB |Frame Type |Value=0x50 |iBeacon广播包为iBeacon标准协议格式/0xFFAB 0x10为iBeacon广播回应包内容,主要用于IOS系统解析iBeacon内容使用 |
|||Ranging Data <Br> (RSSI@1m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm, 1byte|RSSI@1m,与其他不同|
|||广播间隔|范围100ms--10000ms,单位:100ms,1byte||
|||Tx Power|参加附录1, 3bytes|AD Type: 0x0A|
|||UUID|16bytes||
|||Major|2bytes||
|||Minor|2bytes||
|**3轴加速度传感器**|0xFEAB |Frame Type |Value=0x60 | |
|||Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm, 1byte||
|||广播间隔|范围100ms--10000ms,单位:100ms,1byte||
|||Tx Power|参加附录1, 3bytes|AD Type: 0x0A|
|||采样率|1bytes||
|||重力加速度参考值|1byte||
|||X-Data|2bytes||
|||Y-Data|2bytes||
|||Z-Data|2bytes||
|**H&T/温湿度**|0xFEAB |Frame Type |Value=0x70 | |
|||Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm, 1byte||
|||广播间隔|范围100ms--10000ms,单位:100ms,1byte||
|||Tx Power|参加附录1, 3bytes|AD Type: 0x0A|
|||采样率|1bytes||
|||温度Temperature|2bytes||
|||湿度Humidity|2bytes||
|**自定义广播信息**|0xFEAB |Frame Type |Value=0x80 | |
|||Ranging Data <Br> (RSSI@0m) |Calibrated Tx power at 0m <Br>-100dBm -- +20dBm, 1byte||
|||广播间隔|范围100ms--10000ms,单位:100ms,1byte||
|||Tx Power|参加附录1, 3bytes|AD Type: 0x0A|
|||自定义数据Custom data|21bytes||
### APP与设备交互协议
**通信协议操作说明**
1. 找到自定义配置服务0xe62a0001-1362-4f28-9327-f5b74e970801,使能该服务下的通知特征0xe62a0003-1362-4f28-9327-f5b74e970801;
2. 找到0xe62a0002-1362-4f28-9327-f5b74e970801可写特征,该特征下可以写入自定义协议与设备通信。
**协议格式**
|发送端 |Header |协议类型(Key) | 帧序列 |数据区长度 |数据内容 |数据尾
| :------------ | :------------ | :------------ | :------------ | :------------ | :------------ |
|APP | 0xEA | -- |发送次数,每发送一次加1 |N |若N=0,则数据内容为空 |0xEE
|Beacon设备 | 0xEB |-- |发送次数,每发送一次加1 |N |若N=0,则数据内容为空 |0xEE|
**协议内容**
|序号|功能|Key|示例|数据内容解析说明|备注|
|--|--|--|--|--|--|
|1|读取设备类型|0x50|APP发送:0xEA 50 00 00 EE<BR><br><br>设备应答:0xEB 50 00 01 <font color=#DC143C>00/01/02/03</font> EE|数据内容0x00/01/02/03分别代表以下含义:<Br>0x00:无传感器版本<br>0x01: 带LIS3DH3轴加速度计版本<br>0x02:带SHT30温湿度传感器版本<br>0x03: 同时带有LIS3DH及SHT30传感器版本|APP通过对类型判断,展示不同的UI及功能 ||
|2|读取数据通道类型|0x51|APP发送:0xEA 51 00 00 EE<BR><br><br>设备应答:0xEB 51 00 06 <font color=#DC143C>00 10 20 30 40 50</font> EE|数据内容对应SLOT0-SLOT6的设备类型,类型如下:<Br>0x00: UID<BR>0x10 URL<br>0x20: TLM<br>0x40: 设备信息<br>0x50: iBeacon<BR>0x60: 3轴加速度计<br>0x70: 温湿度传感器<br>0x80: 用户自定义广播信息帧<br>0xFF: NO DATA ||
|3|读取设备电池电压|0x52|APP发送:0xEA 52 00 00 EE<BR><br><br>设备应答:0xEB 52 00 02 <font color=#DC143C>0C E4</font> EE|0x0C E4=3300, 单位mV||
|4|读取设备电池百分比|0x53|APP发送:0xEA 53 00 00 EE<BR><br><br>设备应答:0xEB 53 00 01 <font color=#DC143C>63</font> EE|数据内容范围为0x00-0x64,对应0%--100%|示例0x63对应电池电量百分比99%|
|5|读取设备MAC地址|0x54|APP发送:0xEA 54 00 00 EE<BR><br><br>设备应答:0xEB 54 00 06 <font color=#DC143C>AA BB CC DD EE FF</font> EE|数据内容为MAC地址||
|6|设置设备MAC地址|0x55|APP发送:0xEA 55 00 06 <font color=#DC143C>AA BB CC DD EE FF</font> EE<BR><br><br>设备应答:0xEB 55 00 00 EE|||
|7|读取设备连接状态|0x56|APP发送:0xEA 56 00 00 EE<BR><br><br>设备应答:0xEB 54 00 01 <font color=#DC143C>00/01</font> EE|0x00:设备不可连接<br>0x01:设备可连接||
|8|设置设备连接状态|0x57|APP发送:0xEA 57 00 01 <font color=#DC143C>00/01</font> EE<BR><BR><BR>设备应答:0xEB 57 00 00 EE|0x00:设备不可连接<br>0x01:设备可连接||
|9|读取设备名称|0x58|APP发送:0xEA 58 00 00 EE<BR><br><br>设备应答:0xEB 58 00 07 <font color=#DC143C>0x42 0x65 0x61 0x63 0x6F 0x6E 0x58</font> EE|数据区长度:1-20字节||
|10|设置设备名称|0x59|APP发送:0xEA 59 00 07 <font color=#DC143C>0x42 0x65 0x61 0x63 0x6F 0x6E 0x58</font> EE<BR><BR><BR>设备应答:0xEB 59 00 00 EE|||
|11|APP关机协议|0x5A|APP发送:0xEA 5A 00 00 EE<BR><BR><BR>设备应答:0xEB 5A 00 00 EE|设备发送完应答后,关机||
|12|APP保存数据为出厂参数|0x5B|APP发送:0xEA 5B 00 00 EE<BR><BR><BR>设备应答:0x5B 61 00 00 EE|||
|13|读取当前iBeacon通道UUID|0x5C|APP发送:0xEA 5C 00 00 EE<BR><BR><BR>设备应答:0xEB 5C 00 10 <font color=#DC143C>0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F</font> EE|||
|14|设置当前iBeacon通道UUID|0x5D|APP发送:0xEA 5D 00 10 <font color=#DC143C>0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F</font> EE<BR><BR><BR>设备应答:0xEB 5D 00 00 EE|||
|15|读取当前iBeacon通道Major、Minor、RSSI@1m|0x5E|APP发送:0xEA 5E 00 00 EE<BR><BR><BR>设备应答:0xEB 5E 00 05 <font color=#DC143C>0x01 0x02 0x03 0x04 0x10</font> EE|0x01 02字段代表Major,为258<Br>0x03 04字段代表Minor,为772<br>0x10代表RSSI@1m为+16dBm|说明:RSSI@0m/1m设置校验范围为<font color=#DC143C>0x00-0x14,0x9C--0xFF,分别对应0dBm--+20dBm,-100dBm---1dBm</font>|
|16|设置当前iBeacon通道Major、Minor、RSSI@1m|0x5F|APP发送:0xEA 5F 00 05 <font color=#DC143C>0x01 0x02 0x03 0x04 0x10</font> EE<BR><BR><BR>设备应答:0xEB 5F 00 00 EE||
|17|读取用户自定义广播数据|0x60
|18|设置用户自定义广播数据|0x61
|19|读取当前3轴加速度计设置参数|0x60|APP发送:0xEA 60 00 00 EE<BR><BR><BR>设备应答:0xEB 60 00 02 <font color=#DC143C>0x00 0x01</font> EE|0x00代表user-selectable full scales, 代码对应的scale见附录2; 0x01代表3轴传感器采样率,代码对应的3轴传感器采样率见附录3||
|20|设置3轴加速度计设置参数|0x61|
|21|开启/关闭3轴加速度计采样监听|0x62|
|22|读取3轴加速度存储数据|0x63|
|23|读取当前温湿度传感器参数|0x64|
|2|设置温湿度传感器参数|0x65|
|23|开启/关闭温湿度传感器采样监听|0x66|
|24|读取过去24小时温湿度传感器存储数据|0x67|
|25|设置按键触发当前通道停止广播|0x68|
|26|设置按键触发当前通道开启广播|0x69|
|27|设置3轴加速度传感器触发当前通道停止广播|0x6A|
|28|设置3轴加速度传感器触发当前通道开启广播|0x6B|
|29|设置温湿度传感器触发当前通道停止广播|0x6C|
|30|设置温湿度传感器触发当前通道开启广播|0x6D|
----
## 产品使用功能
### 蓝牙扫描
**1.功能描述**
a.扫描周围的Beacon设备,将每一个Beacon对应的相关信息展示到页面中。
b.开启一轮新的扫描的时机(主动扫描时长为1分钟)
1.第一次进入到扫描界面
2.连接设备断开退回到扫描界面
3.停止扫描后,点击“扫描”按钮
4.从其他页面返回到扫描界面
5.更新过滤条件,按照过滤条件开始扫描
6.下拉操作界面
c.每一轮扫描,按照扫描到设备的顺序,将已扫描到的设备展示在页面中,不需要进行排序。动态变化时已扫到的设备停留在原始位置不变(可参考nRF Connect扫描效果。)
----
**2.过滤**

----

----
**3.扫描页面信息**
展示扫描到的设备信息广播的内容,整体效果与MokoBeaconX一致,分块分区域显示设备。
----
**设备信息**

----
**URL/TLM信息**
与MokoBeaconX一致

----
**UID信息**
效果与MokoBeaconX一致,Instance ID与Namespace ID显示大写字符,字符前加十六进制“0x”标志。

----
**iBeacon信息**
增加“Distance”显示,UUID字符显示小写,不需要0x标志。

“Distance”对应Near、Immediate、Far、Unknown
Distance≤1.0m,---Immediate
1.0m<Distance≤3.0m,----Near
Distance>3.0m,----Far
Distance无法确认时,----Unknown
距离算法参考:[https://blog.csdn.net/njchenyi/article/details/46981423](https://blog.csdn.net/njchenyi/article/details/46981423 "https://blog.csdn.net/njchenyi/article/details/46981423")
----
**Temperature and Humidity(温湿度)
### 设备连接
### 配置操作
### 生产辅助功能
### 其他说明
##附录
###1.设备通道类型
|Hex Value | 通道类型 |备注|
| ------------ | ------------ |------------ |
|0x00 |UID ||
|0x10 |URL ||
|0x20 |TLM ||
|0x30 |EID|未使用|
|0x40 |设备信息 ||
|0x50 |iBeacon ||
|0x60 |3轴加速度计 ||
|0x70 |温湿度传感器 ||
|0x80 |用户自定义广播信息 ||
|0xFF |NO DATA ||
###2.User-selectable full scales
|Hex Value | Scales |
| ------------ | ------------ |
|0x00 |±2g |
|0x01 |±4g |
|0x02 |±8g |
|0x03 |±16g |
###3.3轴传感器采样率
|Hex Value | 3轴传感器采样率 |
| ------------ | ------------ |
|0x00 |1Hz |
|0x01 |10Hz |
|0x02 |25Hz |
|0x03 |50Hz |
|0x04 |100Hz |
|0x05 |200Hz |
|0x06 |400Hz |
|0x07 |1344Hz |
|0x08 |1620Hz |
|0x09 |5376Hz |
###4.Tx Power
|Hex Value | Tx Power |
| ------------ | ------------ |
|0x04|+4dBm|
|0x03|+3dBm|
|0x00|0dBm|
|0xFC|-4dBm|
|0xF8|-8dBm|
|0xF4|-12dBm|
|0xF0|-16dBm|
|0xEC|-20dBm|
|0xD8|-40dBm|
###5.URL Scheme Prefix
The URL Scheme Prefix byte defines the identifier scheme, an optional prefix and how the remainder of the URL is encoded.
|Decimal | Hex Value | Expansion
|:------- | :--------- | :--------
|0 | 0x00 | `http://www.`
|1 | 0x01 | `https://www.`
|2 | 0x02 | `http://`
|3 | 0x03 | `https://`
###6.Eddystone-URL HTTP URL encoding
The HTTP URL scheme is defined by RFC 1738, for example
`https://goo.gl/S6zT6P`, and is used to designate Internet resources
accessible using HTTP (HyperText Transfer Protocol).
The encoding consists of a sequence of characters. Character codes
excluded from the URL encoding are used as text expansion codes. When
a user agent receives the Eddystone-URL the byte codes in the URL
identifier are replaced by the expansion text according to the table
below.
|Decimal | Hex Value | Expansion
|:------- | :--------- | :--------
|0 | 0x00 | .com/
|1 | 0x01 | .org/
|2 | 0x02 | .edu/
|3 | 0x03 | .net/
|4 | 0x04 | .info/
|5 | 0x05 | .biz/
|6 | 0x06 | .gov/
|7 | 0x07 | .com
|8 | 0x08 | .org
|9 | 0x09 | .edu
|10 | 0x0a | .net
|11 | 0x0b | .info
|12 | 0x0c | .biz
|13 | 0x0d | .gov
|14..32 | 0x0e..0x20 | Reserved for Future Use
|127..255 | 0x7F..0xFF | Reserved for Future Use
-
网友评论