思澈科技软件开发工具包  2.20
串口传输服务

串行传输服务允许用户通过 BLE 简单快速地传输串行数据。

服务 UUID 是 7369666c-695f-7364-0000-0000000000000。 它有两个特点:

  • 串口传输配置:UUID 7369666c-695f-7364-0001-0000000000000(须通知)。
  • 串口传输数据:UUID 7369666c-695f-7364-0002-0000000000000(可读可写可通知)

尚未使用配置特性。

数据特性用于传输串行数据。 其数据格式为:

  • CateID, is categoryID for differernt users.
  • Flag, is for fragmentation.
    • 0x00: Completed packet.
    • 0x01: First packet.
    • 0x02: Continue packet.
    • 0x03: Last packet.
  • Length Packet length, is only available when flag equal 0x00;
  • Data, is serial data.

实现传输串行数据

用户只需与客户端协商确认 categoryID 并确保该 ID 与设备中的其他用户不同。 然后就可以传输数据了。

有关串行传输 API 的详细信息,请参阅 Serial transmission service

这是示例代码:

// Make sure the cagegoryID is different with other IDs in local.
#define APP_BLE_SERIAL_ID 0x1F
// Handle data from client.
void ble_app_serial_callback(uint8_t conn_idx, ble_serial_tran_data_t *data)
{
int ret;
uint8_t test_data[] = {0x01, 0x02, 0x03, 0x04};
// The cateID should be same as registerdID APP_BLE_SERIAL_ID.
LOG_I("cateID(%d), data(%d) %s\r\n", data->cateID, data->len, data->data);
// Handle data from peer device start.
// Handle data from peer device end.
// Prepare send data to client
send_data.cateID = APP_BLE_SERIAL_ID;
send_data.len = sizeof(test_data);
send_data.data = test_data;
ret = ble_serial_tran_send_data(conn_idx, &send_data);
LOG_I("result %d",ret);
}
// Register user defined cagegoryID and assoicated callback.
BLE_SERIAL_TRAN_EXPORT(APP_BLE_SERIAL_ID, ble_app_serial_callback);
ble_serial_tran_send_data
int ble_serial_tran_send_data(ble_serial_tran_data_t *data)
Send serial transmission data.
ble_serial_tran_data_t::data
uint8_t * data
Definition: bf0_sibles_serial_trans_service.h:145
ble_serial_tran_data_t
The structure of transmission data.
Definition: bf0_sibles_serial_trans_service.h:141
ble_serial_tran_data_t::len
uint16_t len
Definition: bf0_sibles_serial_trans_service.h:144
data
uint8_t data[]
Definition: bf0_ble_ancs.h:227
BLE_SERIAL_TRAN_EXPORT
#define BLE_SERIAL_TRAN_EXPORT(cate_id, callback)
The macro that register user categoryID and callback.
Definition: bf0_sibles_serial_trans_service.h:198