微信AirSync服務之計步器

2021-08-27 05:20:30 字數 1822 閱讀 2929

計步器提供的特性有兩個

特徵值名稱  current_pedometer_measurement

uuid    0xfea1

許可權    read;indicate和notify二選一,也可都支援

是否必選    必選

說明  實時計步資訊,包括:步數,距離,卡路里

特徵值名稱

target

uuid

0xfea2

許可權read;write;indicate

是否必選

可選說明

運動目標

ble_gatts_char_handles_t write_char_handle; 

ble_gatts_char_handles_t indicate_char_handle;

ble_gatts_char_handles_t notify_char_handle;

ble_gatts_char_handles_t read_char_handle;

ble_gatts_char_handles_t measurement_char_handle;

ble_gatts_char_handles_t target_char_handle;

特性current_pedometer_measure(簡稱measure)中的read\notify(這裡使用了notify特性)共用measurement_char_handle控制代碼。例如,measure特性中傳送資料時使用的是measurement_char_handle控制代碼:

hvx_params.handle = p_wcs->measurement_char_handle.value_handle;

hvx_params.p_data = data;

hvx_params.p_len  = &chunk_len;

hvx_params.type   = ble_gatt_hvx_notification;

err_code = sd_ble_gatts_hvx(p_wcs->conn_handle, &hvx_params);

在傳送資料前首先確認measurement_char_handle通道是否已經開啟,需要使用sd_ble_gatts_value_get介面,介面被封裝後再on_write中呼叫。target的通道也要做類似操作。

特性target中的read\write\indicate共用了target_chat_handle控制代碼。target中傳送資料使用target_char_handle:

hvx_params.handle = p_wcs->target_char_handle.value_handle;

hvx_params.p_data = data;

hvx_params.p_len  = &chunk_len;

hvx_params.type   = ble_gatt_hvx_indication;

err_code = sd_ble_gatts_hvx(p_wcs->conn_handle, &hvx_params);

target接收資料時也同樣使用target_char_hanlde控制代碼,如下:

else if(p_evt_write->handle == m_we_chat_service.target_char_handle.value_handle)

這部分**也是在on_write中實現。

資料組織過程中的問題:airsync的計步器特性定義了乙個uint24_t型別的資料,其實是乙個uint32_t型別的資料,但是直接t_htonl進行資料轉換時傳送過去的資料出現異常,因此採用了將乙個uint24_t型別的資料放入乙個3個成員的uint8_t陣列中。低位資料放在陣列前,高位資料放在陣列後。

以藍芽開發的視覺解讀微信Airsync協議

2.藍芽外設身份註冊 3.藍芽廣播 4.藍芽通訊 藍芽連線之後,自然是資料通訊的需求。對藍芽ble來說,資料通訊都是通過訪問某個characteristics來實現的。而characteristics需要支援以下場景 1.廣播 1 宣告自己的serviceuuid是0xfee7。2 在自定義廠商資料...

微信服務號 微信支付開發

統一下單。訂單查詢 退款等發起支付,須要統一下單的prepay id sortedmapparameters new treemap parameters.put mch id configutil.mch id parameters.put nonce str paycommonutil.crea...

微信計步器怎麼不計步 輕度脂肪肝該怎麼治療調理

近幾年,脂肪肝已不再是 中年油膩 的專屬。據上海 北京等地區的流行病學調查顯示 普通 b 超診斷脂肪肝的患病率 10 年期間從 15 增加到 31 以上。然而,也許正是因為過於常見,當體檢提示脂肪肝時很多人便習以為常,認為脂肪肝是乙個症狀不明顯疾病,對身體沒有太大的影響,繼續當前的生活方式。殊不知,...