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
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.
Advertisement
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"