給 TI BLE 新增自己UUID

2021-08-03 00:10:53 字數 4049 閱讀 8493

syd8801是一款低功耗高效能藍芽低功耗soc,整合了高效能2.4ghz射頻收發機、32位arm cortex-m0處理器、128kb flash儲存器、以及豐富的數字介面。syd8801片上整合了balun無需阻抗匹配網路、高效率dcdc降壓轉換器,適合用於可穿戴、物聯網裝置等。具體可諮詢:

給 ti ble 新增自己uuid

個人覺得這裡的uuid就像usb報告的裡面的id作用一樣,乙個usb的裝置可以根據id讀寫不同資料長度的資料塊,藍芽也如此通過特性的uuid來識別讀寫不同長度的資料塊!

可以參考demo的給 的 ******profile_char1 的樣式

我這裡使用 char5 因為在demo中char5 沒有配置成我想要的,我就配置為 16byte的資料長度的可讀寫!

******gattprofile.h 檔案

1、[cpp]view plain

copy

// profile parameters  

#define ******profile_char1                   0  // rw uint8 - profile characteristic 1 value   

#define ******profile_char2                   1  // rw uint8 - profile characteristic 2 value  

#define ******profile_char3                   2  // rw uint8 - profile characteristic 3 value  

#define ******profile_char4                   3  // rw uint8 - profile characteristic 4 value  

#define ******profile_char5                   4  // rw uint8 - profile characteristic 4 valuet  

// key pressed uuid  

#define ******profile_char1_uuid            0xfff1  

#define ******profile_char2_uuid            0xfff2  

#define ******profile_char3_uuid            0xfff3  

#define ******profile_char4_uuid            0xfff4  

#define ******profile_char5_uuid            0xfff5   

// length of characteristic 5 in bytes  

#define ******profile_char5_len           16   //資料長度  

******gattprofile.c檔案

[cpp]view plain

copy

// characteristic 5 uuid: 0xfff5  

const uint8 ******profilechar5uuid[att_bt_uuid_size] =  

;  // ****** profile characteristic 5 properties  

static uint8 ******profilechar5props = gatt_prop_read |  gatt_prop_write ;  

// characteristic 16 value  

static uint8 ******profilechar5[******profile_char5_len] = ;  

// ****** profile characteristic 5 user description  

static uint8 ******profilechar5userdesp[17] = "characteristic 5\0";  

[cpp]view plain

copy

...  

...  

// characteristic 5 declaration  

,  gatt_permit_read ,  

0,  

&******profilechar5props   

},  

// characteristic value 5  

,  gatt_permit_read | gatt_permit_write,    

0,   

******profilechar5   

},  

// characteristic 5 user description  

,  gatt_permit_read,   

0,   

******profilechar5userdesp   

},  

}[cpp]view plain

copy

bstatus_t ******profile_setparameter( uint8 param, uint8 len, void *value )  

else  

break;  

....  

}  

[cpp]view plain

copy

bstatus_t ******profile_getparameter( uint8 param, void *value )  

[cpp]view plain

copy

static uint8 ******profile_readattrcb( uint16 connhandle, gattattribute_t *pattr,   

uint8 *pvalue, uint8 *plen, uint16 offset, uint8 maxlen )    

[cpp]view plain

copy

static bstatus_t ******profile_writeattrcb( uint16 connhandle, gattattribute_t *pattr,  

uint8 *pvalue, uint8 len, uint16 offset )  

}  else  

//write the value  

if ( status == success )  

break;  

...  

}  // ******bleperipheral.c

[cpp]view plain

copy

void ******bleperipheral_init( uint8 task_id )  

[cpp]view plain

copy

static void ******profilechangecb( uint8 paramid )  

實驗結果:

使用cc2540 dongle 作為 central 開啟btool完成連線,

利用uuid通訊,讀寫資料

central傳送資料:

串列埠輸出

液晶屏的輸出:

給 TI BLE 新增自己UUID

給 ti ble 新增自己uuid 個人覺得這裡的uuid就像usb報告的裡面的id作用一樣,乙個usb的裝置可以根據id讀寫不同資料長度的資料塊,藍芽也如此通過特性的uuid來識別讀寫不同長度的資料塊!可以參考demo的給 的 profile char1 的樣式 我這裡使用 char5 因為在de...

TI BLE 新增自己UUID

可以參考demo的給 的 profile char1 的樣式 我這裡使用 char5 因為在demo中char5 沒有配置成我想要的,我就配置為 16byte的資料長度的可讀寫!gattprofile.h 檔案 1 profile parameters define profile char1 0 ...

給自己的軟體新增後門

軟體彩蛋我想大家都應該聽說過。經典的比如在excel得某個單元隔裡面ooxx就可以獲得乙個賽車遊戲之類。這是一種軟體彩蛋,純屬娛樂。但是更多的 彩蛋 被用作軟體後門。比如我們提供給客戶乙個軟體,通常是看不到某些除錯用的視窗和工具的 當我們被要求給客戶提供現場技術支援的時候,我們往往希望通過某種隱秘的...