BLED112广告GATT服务列表

时间:2015-08-06 16:05:19

标签: bluetooth bluetooth-lowenergy bluegiga

我正在尝试使BLED112表现得像iBEacon,并且还宣传更多的GATT服务。虽然在Bluegiga示例中为iBeacon广告用户数据工作正常,但我不知道如何宣传可用的GATT服务列表。任何想法都非常感谢!

2 个答案:

答案 0 :(得分:0)

请查看我的网站,了解有关使用BLED112和Bluegiga工具的一些潜在帮助:http://www.sureshjoshi.com/tag/bluegiga/

否则,你不应该明确宣传任何东西。如果您正确设置了gatt.xml,那么GATT特性就会被固有地宣传(它是一个BLE的东西,而不是一个明确的东西)。

您确定要正确设置它们吗?看看我的BLE113示例,专门处理gatt.xml并查看是否有任何有用的内容:https://github.com/sureshjoshi/ble113-firmware-examples

答案 1 :(得分:0)

一种方法是使用Bluegiga dual-mode advertising作为指南,而不是物理网络信标,在那里宣传您的GATT服务。假设您的128位服务UUID为112233-4455-6677-8899-00AABBCCDDEEFF,您的广告数据将如下所示:

procedure gatt_service_advertisement()

    # Beacon mode
    beaconMode = 1

    #Stop advertisement
    call gap_set_mode(0,0)

    # Length
    service_adv(0:1) = $11  

    # Incomplete list of 128 bit UUIDs (use $07 if the list is complete)
    service_adv(1:1) = $06  

    # GATT Service UUID - should be little endian I think
    service_adv(2:1) = $FF
    service_adv(3:1) = $EE
    ...
    service_adv(16:1) = $11
    service_adv(17:1) = $00

    # Set advertisement interval to 100ms.
    # Use all three advertisement channels
    call gap_set_adv_parameters(160, 160, 7)

    # Set advertisement data
    call gap_set_adv_data(0, 18, service_adv(0:18))

    #set to advertising mode - with user data
    call gap_set_mode(4, gap_undirected_connectable)

end

您可以使用该程序在iBeacon和您的GATT服务之间通过在重复计时器(如链接双模式示例中)中调用广告来替换广告。

另一种方法是在扫描回复中宣传GATT服务,但如果不了解您的特定用例,很难说这是否适合您。