一、實驗目的 1、
本篇介紹如何實現任何設定廣播時間的方法; 二
、概述
1、限制廣播:在配置為限制廣播的模式下,可以廣播一段時間後不再廣播或廣播一段時間後間隔一段時間再重新廣播;
2、普通廣播:在配置為普通廣播的模式下,會一直廣播,可以設定廣播間隔,如100(ms)廣播一次,無期限持續廣播;
3、模式選擇:需要持續廣播,選擇普通廣播,不需要
持續廣播,選擇限制模式;
4、考慮到功耗問題,能選擇限制廣播,就不要選擇普通廣播,因為普通廣播無期限廣播很耗電;
5、設定廣播間隔,根據情景合理設定廣播間隔,在不影響主機需要快速發
現從機的情況下,廣播間隔越長,功耗越低;
三、試驗平台
1、藍芽協議棧:1.3.2
2、軟體平台:iar for 8051 8.10.3
5、硬體平台:smart rf開發板(從機),android_lightblue(主機)
四、實驗步驟
一、限制模式
1、模式配置(******bleperipheral.c中)
#define default_discoverable_mode gap_adtype_flags_limited
2、配置廣播超時、廣播保持時間和廣播間隔(******bleperipheral.c中)
//如果廣播超時設定為0,廣播到設定時間之後不再廣播,進入等待狀態,等待下次廣播使能重新廣播
//如果不設定,預設廣播超時30s(單位為ms),廣播設定時間後,進入等待狀態,廣播超時時間30s後重新廣播,一直迴圈
uint16 gaprole_advertofftime = 0;
gaprole_setparameter( gaprole_advert_off_time, sizeof( uint16 ), &gaprole_advertofftime ); //廣播超時
gaprole_setparameter( gaprole_advert_enabled, sizeof( uint8 ), &initial_advertising_enable );//廣播使能
gap_setparamvalue(tgap_lim_adv_timeout ,10);//保持廣播時間 unit for second,預設180s
gaprole_setparameter( gaprole_scan_rsp_data, sizeof ( scanrspdata ), scanrspdata );// 掃瞄回應內容
gaprole_setparameter( gaprole_advert_data, sizeof( advertdata ), advertdata );// 廣播內容
// set advertising interval
uint16 advint = default_advertising_interval; //廣播間隔預設100ms廣播一次
gap_setparamvalue(tgap_lim_disc_adv_int_min, advint );
gap_setparamvalue( tgap_lim_disc_adv_int_max, advint );
二、普通模式
1、模式
配置(******bleperipheral.c中)
#define default_discoverable_mode
gap_adtype_flags_general
2、配置廣播間隔
(******bleperipheral.c中)
gaprole_setparameter( gaprole_advert_enabled, sizeof( uint8 ), &initial_advertising_enable ); //廣播使能
gaprole_setparameter( gaprole_scan_rsp_data, sizeof ( scanrspdata ), scanrspdata );// 掃瞄回應內容
gaprole_setparameter( gaprole_advert_data, sizeof( advertdata ), advertdata );// 廣播內
// set advertising interval
uint16 advint = default_advertising_interval;//廣播間隔預設100ms廣播一次
gap_setparamvalue( tgap_gen_disc_adv_int_min, advint );
gap_setparamvalue( tgap_gen_disc_adv_int_max, advint );
五、總結
1、配置後引數後,只要廣播使能,就要開始廣播了;
2、在普通模式下,廣播超時的配置作用在於關閉廣播後,更新廣播內容,再立即開啟廣播時,gaprole_advertofftime為開啟廣播的延時時長;
iOS藍芽4 0開發 BLE
模型與corebluetooth的對應關係 這裡主要討論模型一,這也是當前大多數手環裝置和ios 互動的方式 開發流程 1.建立工程,匯入corebluetooth.framework 2.初始化 cbcentralmanager 並準備掃瞄周圍藍芽裝置 初始化 themanager cbcentr...
iOS藍芽4 0 BLE 開發
本文將一步一步講解如何使用corebluetooth框架來與各種可穿戴裝置進行通訊,使用 小公尺手環 來進行基本的測試。macbook pro mac os x 10.10 xcode 6.3.2 iphone 5s v8.1 小公尺手環 從上面這幅圖可以看到,我們的ios裝置是central,用來...
BLE學習 如何在藍芽4 0BLE中新增新任務?
在使用藍芽4.0ble協議棧進行應用程式開發時,如何在應用程式中新增乙個新任務。下面結合工程示例 bleperipheral來講解,開啟osal bleperipheral.c檔案可以找到陣列tasksarr和函式osalinittasks tasksarr陣列裡存放了所有任務的事件處理函式的位址 ...