cancel
Showing results for 
Search instead for 
Did you mean: 

using Eddystone TLM ADV frame but always shown as URL frame

BLiwa.1
Associate II

Hello,

I'm working with the Nucleo board the STM32WB55 and i'm trying to send temperture data as in the eddysone tlm frame.

But even I've configured the code as EddystoneTLM in the app_conf.h it is always showing up as URL beacon insteade of TLM.

Can anyone please give me a sollution. Thank you.

5 REPLIES 5
Remy ISSALYS
ST Employee

Hello,

Since TLM frames don’t contain any identifying information they must always be interleaved with either a URL or UID frame to enable association to the correct beacon. Eddystone-TLM frame will be automatically broadcast between the UID or URL broadcasts.

Best Regards

BLiwa.1
Associate II

Hello,

Thank you for your awnser, in that case is there any way that i can make my own adv frame that can be updated periodiacally, such as every 10 seconds, because I'm trying to send a sensor data over a ble frame but i don't know where to strart or how can i make a ble frame changing every periode of time.

Remy ISSALYS
ST Employee

Hello,

EddystoneTLM has the following structure:

typedef struct

{

 uint16_t AdvertisingInterval;/*!< Specifies the desired advertising interval. */

 uint8_t TLM_Version;    /*!< Specifies the version of the TLM frame. */

 uint16_t BatteryVoltage;   /*!< Specifies the battery voltage, in 1 mV/bit. */

 uint16_t BeaconTemperature; /*!< Specifies the beacon temperature, in Signed 8.8 Fixed Point notation. */

 uint32_t AdvertisingCount;  /*!< Specifies the running count of all advertisement frames. */

 uint32_t Uptime;       /*!< Specifies the time sinbe the beacon was powered-up or rebooted. */

} EddystoneTLM_InitTypeDef;

These data are advertised with URL frame with EddystoneTLM() function during DEFAULT_BEACON_SEC second. In BLE_Beacon example, the data are always the same, they keep initialization values of EddystoneTLM_Process() function. You can add your sensor data inside BatteryVoltage and/or BeaconTemperature and/or AdvertisingCount and/or Uptime fields (96 bits maximun).

Best Regards

BLiwa.1
Associate II

Thank you so much that helped alot, i'm reading my sensor data in the main.c how can i call the file so that i can use it's variables or should i make a function that reads the i2c sensor data inside the ble_app.c ?

Remy ISSALYS
ST Employee

Hello,

You should write a function that reads the i2c sensor data.

Best Regards