BLE - Added device information service, plus firmware and manufacturer characteristic
This commit is contained in:
@@ -264,6 +264,29 @@ void blectl_setup( void ) {
|
|||||||
// Start advertising
|
// Start advertising
|
||||||
pServer->getAdvertising()->addServiceUUID( pService->getUUID() );
|
pServer->getAdvertising()->addServiceUUID( pService->getUUID() );
|
||||||
|
|
||||||
|
|
||||||
|
// Create device information service
|
||||||
|
BLEService *pDeviceInformationService = pServer->createService(DEVICE_INFORMATION_SERVICE_UUID);
|
||||||
|
|
||||||
|
// Create manufacturer name string Characteristic -
|
||||||
|
BLECharacteristic* pManufacturerNameStringCharacteristic = pDeviceInformationService->createCharacteristic( MANUFACTURER_NAME_STRING_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ );
|
||||||
|
pManufacturerNameStringCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||||
|
pManufacturerNameStringCharacteristic->addDescriptor( new BLE2902() );
|
||||||
|
pManufacturerNameStringCharacteristic->setValue("Lily Go");
|
||||||
|
|
||||||
|
// Create manufacturer name string Characteristic -
|
||||||
|
BLECharacteristic* pFirmwareRevisionStringCharacteristic = pDeviceInformationService->createCharacteristic( FIRMWARE_REVISION_STRING_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ );
|
||||||
|
pFirmwareRevisionStringCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||||
|
pFirmwareRevisionStringCharacteristic->addDescriptor( new BLE2902() );
|
||||||
|
pFirmwareRevisionStringCharacteristic->setValue(__FIRMWARE__);
|
||||||
|
|
||||||
|
// Start battery service
|
||||||
|
pDeviceInformationService->start();
|
||||||
|
|
||||||
|
// Start advertising battery service
|
||||||
|
pServer->getAdvertising()->addServiceUUID( pDeviceInformationService->getUUID() );
|
||||||
|
|
||||||
|
|
||||||
// Create battery service
|
// Create battery service
|
||||||
BLEService *pBatteryService = pServer->createService(BATTERY_SERVICE_UUID);
|
BLEService *pBatteryService = pServer->createService(BATTERY_SERVICE_UUID);
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,11 @@
|
|||||||
#define CHARACTERISTIC_UUID_RX BLEUUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")
|
#define CHARACTERISTIC_UUID_RX BLEUUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")
|
||||||
#define CHARACTERISTIC_UUID_TX BLEUUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
|
#define CHARACTERISTIC_UUID_TX BLEUUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
|
||||||
|
|
||||||
|
|
||||||
|
#define DEVICE_INFORMATION_SERVICE_UUID BLEUUID((uint16_t)0x180A) // Device Information server UUID
|
||||||
|
#define MANUFACTURER_NAME_STRING_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A29) // Device Information - manufacturer name string UUID
|
||||||
|
#define FIRMWARE_REVISION_STRING_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A26) // Device Information - firmware revision UUID
|
||||||
|
|
||||||
#define BATTERY_SERVICE_UUID BLEUUID((uint16_t)0x180F) // Battery service UUID
|
#define BATTERY_SERVICE_UUID BLEUUID((uint16_t)0x180F) // Battery service UUID
|
||||||
#define BATTERY_SERVICE_BATTERY_LEVEL_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A19) // Battery service - battery level characteristic UUID
|
#define BATTERY_SERVICE_BATTERY_LEVEL_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A19) // Battery service - battery level characteristic UUID
|
||||||
#define BATTERY_SERVICE_BATTERY_LEVEL_DESCRIPTOR_UUID BLEUUID((uint16_t)0x2901) // Battery service - battery level descriptor UUID
|
#define BATTERY_SERVICE_BATTERY_LEVEL_DESCRIPTOR_UUID BLEUUID((uint16_t)0x2901) // Battery service - battery level descriptor UUID
|
||||||
|
|||||||
Reference in New Issue
Block a user