Skip to main content

Hotspot BLE Services

The Helium Hotspot provides a Bluetooth Low Energy(BLE) interface for users to configure several aspects of the device. The BLE services and advertisement data are provided below.

It is generally recommended that the user first press a button on the Hotspot to activate the BLE advertising. Alternatively, enabling BLE for ~5 minutes after power up is acceptable. Maintaining BLE advertising for a prolonged period of time is not recommended.

Hotspot Makers make develop their own BLE service which complies with the specification herein. In addition, they may leverage Helium's open-source example: gateway-config

info

Data may need to be serialized or de-serialized to Protocol Buffers depending on the BLE Characteristic. The Protocol Buffers message definitions are listed below. For data that are listed as ASCII string, they can be directly interpreted as ASCII strings.

Device Name: Helium Hotspot ####

UUID: 0fda92b2-44a2-4af2-84f5-fa682baa2b8d

Device Information - Service

UUID: 180A

Manufacture Name String - Characteristic

UUID: 2A29

Data Type: ASCII String

Example Value: "Helium"

Serial Number String - Characteristic

UUID: 2A25

Data Type: ASCII String

Example Value: "6081F989E7BF"

Firmware Revision String - Characteristic

UUID: 2A26

Data Type: ASCII String

Example Value: "2020.02.18.1"

Custom Service - Service

UUID: 0fda92b2-44a2-4af2-84f5-fa682baa2b8d

OnboardingKey - Characteristic

UUID: d083b2bd-be16-4600-b397-61512ca2f5ad

Data Type: ASCII String

Example Value: "11TqqVzycXK5k49bXbmcUcSne91krq7v3VSQCfDXr"

PublicKey - Characteristic

UUID: 0a852c59-50d3-4492-bfd3-22fe58a24f01

Data Type: ASCII String

Example Value: "117ei8D1Bk2kYqWNjSFuLgg3BrtTNSTi2tt14LRUFgt"

WiFiServices - Characteristic

UUID: d7515033-7e7b-45be-803f-c8737b171a29

Data Type: Protocol Buffers

message wifi_services_v1 {
    repeated string services = 1;
}

Diagnostics - Characteristic

UUID: b833d34f-d871-422c-bf9e-8e6ec117d57e

Data Type: Protocol Buffers

message diagnostics_v1 {
    map<string, string>diagnostics = 1;
}

No Descriptor Name(WiFi MAC Address) - Characteristic

UUID: 9c4314f2-8a0c-45fd-a58d-d4a7e64c3a57

Data Type: ASCII String

Example Value: "6081F989E7BF"

Lights - Characteristic

UUID: 180efdef-7579-4b4a-b2df-72733b7fa2fe

Data Type: ASCII String

Example Value: "on"

WiFiSSID - Characteristic

UUID: 7731de63-bc6a-4100-8ab1-89b2356b038b

Data Type: ASCII String

Example Value: ""

AssertLocation - Characteristic

UUID: d435f5de-01a4-4e7d-84ba-dfd347f60275

Data Type: Protocol Buffers

message assert_loc_v1 {
    float lat = 1;
    float lon = 2;
    string owner = 3;
    uint64 nonce = 4;
    uint64 fee = 5;
    uint64 amount = 6;
    string payer = 7;
}

AddGateway - Characteristic

UUID: df3b16ca-c985-4da2-a6d2-9b9b9abdb858

Data Type: Protocol Buffers

message add_gateway_v1 {
    string owner = 1;
    uint64 amount = 2;
    uint64 fee = 3;
    string payer = 4;
}

WiFiConnect - Characteristic

UUID: 398168aa-0111-4ec0-b1fa-171671270608

Data Type: Protocol Buffers

message wifi_connect_v1 {
    string service = 1;
    string password = 2;
}

EthernetOnline - Characteristic

UUID: e5866bd6-0288-4476-98ca-ef7da6b4d289

Data Type: ASCII String

Example Value: "true" or "false"