|
|
@@ -32,12 +32,15 @@ function ble_ibeacon()
|
|
|
log.info("开始设置广播内容")
|
|
|
|
|
|
local adv_data = string.char(0x4C, 0x00, -- Manufacturer ID(2字节)
|
|
|
- 0x02, 0x15, -- ibeacon数据类型(2字节)
|
|
|
+ 0x02, -- ibeacon数据类型(1字节)
|
|
|
+ 0x15, -- ibeacon数据长度(1字节)
|
|
|
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, -- UUID(16字节)
|
|
|
0x00, 0x01, -- Major(2字节)
|
|
|
0x00, 0x02, -- Minor(2字节)
|
|
|
0xC0) -- Signal Power(1字节)
|
|
|
|
|
|
+ -- 设置广播内容
|
|
|
+ -- 由于没有 "COMPLETE_LOCAL_NAME" ,故仅安卓可用
|
|
|
ble_device:adv_create({
|
|
|
addr_mode = ble.PUBLIC, -- 广播地址模式, 仅支持: ble.PUBLIC
|
|
|
channel_map = ble.CHNLS_ALL, -- 广播的通道, 可选值: ble.CHNL_37, ble.CHNL_38, ble.CHNL_39, ble.CHNLS_ALL
|
|
|
@@ -45,10 +48,8 @@ function ble_ibeacon()
|
|
|
intv_max = 120, -- 广播间隔最大值, 单位为0.625ms, 最小值为20, 最大值为10240
|
|
|
adv_data = { -- 支持表格形式, 也支持字符串形式(255字节以内)
|
|
|
{ble.FLAGS, string.char(0x06)},
|
|
|
- {ble.COMPLETE_LOCAL_NAME, "LuatOS"}, -- 广播本地名称
|
|
|
{ble.MANUFACTURER_SPECIFIC_DATA, adv_data}
|
|
|
- },
|
|
|
- adv_type = ble.ADV_TYPE_EXTENDED
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
sys.wait(100)
|