Hej,
Undrar om någon som är duktig på programmering kan hjälpa mig med några rader kod för Arduino IDE för BLE BatterySerivce i en ESP32 C3 modul.
Jag har lyckats klippa och klistra ihop kod för BLE Server så att den skickar det procentuella värdet av resterande batterikapacitet. Se bifogad länk med exempel nedan
https://circuitdigest.com/microcontroll ... indication
Jag önskar nu lägga till aktuell spänningsnivå i batteriet med en decimal i samma BatteryService Server. Försöker läsa och förstå instruktionen för BLE Bluetooth, se länk nedan
https://www.bluetooth.com/specifications/specs/bas-1-1/
Om jag förstått rätt skall det gå att lägga till ett Present Voltage field
3.5.1.3. Present Voltage field
The Present Voltage field may be included in the Battery Energy Status characteristic.
Jag får inte till detta. Får till en characteristic som jag vill ska visa Voltage: 14,8V i appen, men får enbart till Voltage: 14%, vilket inte känns så lyckat.
Jag använder LightBlue appen för iPhone.
Tack på förhand
BLE BatterySerivce för ESP32 C3
BLE BatterySerivce för ESP32 C3
Senast redigerad av Roger123 5 oktober 2024, 00:35:35, redigerad totalt 1 gång.
Re: BLE BatterySerivce för ESP32 C3
Välkommen! Behövdes bara nästan 15 år för att samla mod för att skriva ditt första inlägg.
Om själva problemet har jag inte så mycket att komma med ...ännu.

Re: BLE BatterySerivce för ESP32 C3
Tack rvl!
Tycker inte man ska missbruka forumet allt för ofta om det inte är riktigt angeläget
Ser fram emot att se om någon har lust och kunskap att hjälpa mig med detta.
//Roger
Tycker inte man ska missbruka forumet allt för ofta om det inte är riktigt angeläget

Ser fram emot att se om någon har lust och kunskap att hjälpa mig med detta.
//Roger
Re: BLE BatterySerivce för ESP32 C3
Hej,
Kämpar vidare med detta. Har nu hittat ett dokument med ”Gatt Specification Supplement” där det under kapitel 3.23 Battery Energy Status finns en parameter Present Voltage som jag tror skulle åtgärda mitt problem. Har dock inte tillräckligt med kunskap hur jag skall aktivera denna funktion. Någon som vet?
https://btprodspecificationrefs.blob.co ... pdf#page34
Kämpar vidare med detta. Har nu hittat ett dokument med ”Gatt Specification Supplement” där det under kapitel 3.23 Battery Energy Status finns en parameter Present Voltage som jag tror skulle åtgärda mitt problem. Har dock inte tillräckligt med kunskap hur jag skall aktivera denna funktion. Någon som vet?
https://btprodspecificationrefs.blob.co ... pdf#page34
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
-
- Inlägg: 1407
- Blev medlem: 29 januari 2011, 21:06:30
- Ort: Lapplandet
Re: BLE BatterySerivce för ESP32 C3
Battery energy status har UUID 0x2BF0. Sen skickar du 3 bytes där flags är 2 (present voltage) och sen spänningen i medfloat16-format. (0xF094 för 14,8)
Kod: Markera allt
BLECharacteristic BatteryEnergyStatusCharacteristic(BLEUUID((uint16_t)0x2BF0), BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY);
...
uint8_t batteryStatus[] = {0x02, 0x94, 0xF0};
BatteryEnergyStatusCharacteristic.setValue(batteryStatus, sizeof(batteryStatus));
Re: BLE BatterySerivce för ESP32 C3
Tack för svar Mr Andersson,
Mina baskunskaper i programmering är för låg för att hänga med i din förklaring.
Jag har nu hållit på att testa olika varianter men får bara upp felmeddelanden. Det blir något fel när jag skall lägga till flera Characteristics i samma Service. Hängde inte heller med vad du menar med flags…
Tacksam för lite mer utförligare beskrivning.
/Roger
Mina baskunskaper i programmering är för låg för att hänga med i din förklaring.
Jag har nu hållit på att testa olika varianter men får bara upp felmeddelanden. Det blir något fel när jag skall lägga till flera Characteristics i samma Service. Hängde inte heller med vad du menar med flags…
Tacksam för lite mer utförligare beskrivning.
/Roger