999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

論藍(lán)牙耳機(jī)軟件的開發(fā)與測(cè)試 

2024-08-09 00:00:00邱璐邱宜忠
電子產(chǎn)品世界 2024年6期

關(guān)鍵詞:藍(lán)牙耳機(jī);真無(wú)線立體聲耳機(jī);SDK;自動(dòng)化測(cè)試

中圖分類號(hào):TN642 文獻(xiàn)標(biāo)識(shí)碼:A

0 引言

藍(lán)牙技術(shù)是小范圍無(wú)線連接自主組網(wǎng)的通信技術(shù),可實(shí)現(xiàn)個(gè)域網(wǎng)、局域網(wǎng)、城域網(wǎng)和廣域網(wǎng)的互聯(lián)互通。藍(lán)牙剖面(bluetooth profile)是指藍(lán)牙通信應(yīng)該遵守和使用的通信協(xié)議規(guī)范,早期藍(lán)牙規(guī)范由藍(lán)牙技術(shù)聯(lián)盟(Bluetooth Special Interest Group,SIG)創(chuàng)建,并由SIG 工作組定期更新和改進(jìn)。藍(lán)牙剖面包括4 個(gè)基本剖面,分別為:通用接入剖面(general access profile,GAP)、服務(wù)發(fā)現(xiàn)應(yīng)用剖面(service discovery application profile,SDAP)、串行端口剖面(serial port profile,SPP)和通用對(duì)象交換剖面(general object exchange profile,GOEP)。其余的剖面都可稱為應(yīng)用剖面,應(yīng)用剖面分為3 類:電話剖面、對(duì)象交換剖面(object exchange,OBEX)和聯(lián)網(wǎng)剖面。藍(lán)牙技術(shù)分為經(jīng)典藍(lán)牙、低功耗藍(lán)牙和雙模藍(lán)牙,其中經(jīng)典藍(lán)牙和低功耗藍(lán)牙互不兼容。

藍(lán)牙耳機(jī)設(shè)計(jì)中最復(fù)雜的部分是設(shè)計(jì)符合相關(guān)電磁兼容標(biāo)準(zhǔn)要求的藍(lán)牙天線射頻電路,以及基于系統(tǒng)芯片(system on chip,SoC)的軟件開發(fā)。

1 藍(lán)牙耳機(jī)軟件開發(fā)

藍(lán)牙耳機(jī)軟件由底層固件、協(xié)議層軟件和應(yīng)用層軟件3 個(gè)部分組成,逐層封裝代碼。軟件開發(fā)多為應(yīng)用層軟件,軟件開發(fā)工具包(soft developmentkit,SDK)為用戶提供一種基于事件處理機(jī)制的應(yīng)用(APP)開發(fā)框架,各個(gè)功能組件會(huì)通知用戶,用戶只需基于該框架添加需要處理的事件及事件處理函數(shù),即可按照需求完成相應(yīng)的軟件開發(fā)[1]。

1.1 軟件結(jié)構(gòu)

藍(lán)牙耳機(jī)軟件結(jié)構(gòu)可分為物理層、協(xié)議層和應(yīng)用層三大部分,其中協(xié)議層和應(yīng)用層這兩部分軟件都存儲(chǔ)在Flash 中,如圖1 所示。

射頻(radio frequency,RF)、基帶(base band,BB)和鏈路管理(link manager,LM)構(gòu)成藍(lán)牙的物理層。射頻負(fù)責(zé)在2.400 GHz ~ 2.485 GHz 的ISM 頻段(一種全球免費(fèi)使用的無(wú)線電頻段)上傳輸數(shù)據(jù)包。基帶是藍(lán)牙剖面的重要組成部分,可以對(duì)數(shù)據(jù)進(jìn)行信道的編碼與解碼。鏈路管理負(fù)責(zé)連接的建立和釋放,通過(guò)選擇信道,控制狀態(tài)機(jī)的各種狀態(tài)包括待機(jī)、掃描、廣播、發(fā)起、連接、同步和同步廣播。

協(xié)議層包括邏輯鏈路控制和適配協(xié)議(logicallink control and adaptation protocol,L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(service discovery protocol,SDP)、射頻通信(radio frequency communication,RFCOMM)協(xié)議和電話控制協(xié)議規(guī)范(telephony controlprotocol spectocol,TCS)。L2CAP 主要負(fù)責(zé)協(xié)議復(fù)用,協(xié)議棧的數(shù)據(jù)都可以通過(guò)它連接并且傳輸?shù)娇刂破鳎糜趨^(qū)分加密信道與普通信道。藍(lán)牙環(huán)境下射頻變化較大,業(yè)務(wù)的參數(shù)也會(huì)不斷變換,SDP提供一種用于發(fā)現(xiàn)可用服務(wù)的機(jī)制。射頻通信協(xié)議可以仿真串口協(xié)議,在無(wú)線環(huán)境下實(shí)現(xiàn)對(duì)傳輸控制協(xié)議/ 因ABoHC9Od+1a7wiXtnjf+Zw==特網(wǎng)互聯(lián)協(xié)議(transmission controlprotocol/internet protocol,TCP/IP)、無(wú)線應(yīng)用協(xié)議(wireless application protocol,WAP) 等協(xié)議的支持,同時(shí),其還支持AT 指令集。

基帶以上的全部協(xié)議包括鏈路管理協(xié)議(linkmanager protocol,LMP)、L2CAP、SDP、先進(jìn)的音頻分布協(xié)議(advanced audio distribution profile,A2DP)、免提協(xié)議(hands free profile,HFP)、音頻視頻遠(yuǎn)程控制協(xié)議(audio/video remote controlprofile,AVRCP)等,這些協(xié)議對(duì)應(yīng)的程序模塊稱為協(xié)議棧,協(xié)議層軟件可以被直接調(diào)用。

1.2 建立藍(lán)牙連接過(guò)程

以手機(jī)和藍(lán)牙耳機(jī)連接為例,從物理層到應(yīng)用層建立連接的過(guò)程如下[2]。

(1)建立基帶層的連接。主設(shè)備(手機(jī))以跳頻的方式尋呼從設(shè)備(藍(lán)牙耳機(jī)),從設(shè)備會(huì)按照固定間隔時(shí)間來(lái)掃描外部尋呼,當(dāng)掃描到外部尋呼時(shí)便會(huì)響應(yīng),使兩個(gè)設(shè)備之間建立異步無(wú)連接(asynchronous connection less,ACL)。

(2) 建立L2CAP 層的連接。主設(shè)備發(fā)起channel 的連接請(qǐng)求, 即L2CAP 的連接。L2CAP能向上層提供面向連接的或者無(wú)連接的數(shù)據(jù)服務(wù)。L2CAP 發(fā)出Information request,控制器接口(hostcontroller interface,HCI)收到ACL Data,從而完成信道配置。

(3)SDP 查詢。SDP 可以搜索發(fā)現(xiàn)附近能夠提供服務(wù)的設(shè)備,通過(guò)協(xié)議中規(guī)定的服務(wù)搜索功能提供尋找耳機(jī)服務(wù)。由于手機(jī)是藍(lán)牙主設(shè)備,配對(duì)過(guò)程由手機(jī)發(fā)送配對(duì)請(qǐng)求。

(4) 建立RFCOMM。主設(shè)備通過(guò)SDP 得到RFCOMM 的通道號(hào),發(fā)起連接請(qǐng)求建立RFCOMM的連接。建立RFCOMM 鏈路之后,就可通過(guò)無(wú)線模擬有線的串口協(xié)議進(jìn)行通信。

(5)傳輸AT 指令。可以通過(guò)串口助手發(fā)送AT指令,設(shè)置波特率,大多是115 200 b/s 或者9 600 b/s。常用的AT 指令包括AT+QS00\r(查詢藍(lán)牙芯片的角色)、AT+QC00\r(查詢藍(lán)牙芯片的狀態(tài))等。

(6) 建立同步定向連接(synchronousconnection oriented,SCO)。SCO 用于傳輸實(shí)時(shí)性要求較高的語(yǔ)音通話,也可以傳送數(shù)據(jù),但在傳送數(shù)據(jù)時(shí),只用于重發(fā)丟失的數(shù)據(jù)包。藍(lán)牙連接的過(guò)程為:鏈路建立→ 信道建立→ 射頻通信建立→連接。

1.3 軟件開發(fā)流程

用戶選擇適合項(xiàng)目需求的SDK 版本進(jìn)行下載和安裝,設(shè)置環(huán)境變量、授權(quán)密鑰等,配置頭文件(.h)和庫(kù)文件(.lib)的路徑,將動(dòng)態(tài)庫(kù)(.dll)放到可執(zhí)行程序目錄下。導(dǎo)入SDK,調(diào)用SDK 提供的函數(shù)、類和協(xié)議棧,并參考SDK 提供的文檔和示例代碼來(lái)完成相關(guān)軟件開發(fā)。

如圖2 所示,藍(lán)牙耳機(jī)上電后,首先執(zhí)行耳機(jī)初始化。掃描查詢到連接請(qǐng)求時(shí),通過(guò)主機(jī)控制接口(host controller interface,HCI)確定是否進(jìn)行連接。若連接,則根據(jù)藍(lán)牙協(xié)議規(guī)范,與藍(lán)牙主設(shè)備進(jìn)行建鏈、通信,最后釋放連接。

1.4 用戶界面

用戶界面(user interface,UI)是用戶端描述如何操作藍(lán)牙耳機(jī)的界面,其提供了狀態(tài)機(jī)的控制信息,也是軟件開發(fā)的依據(jù)之一。UI 主要包括按鍵控制界面、指示界面和操作流程等方面[3]。

多功能按鍵能夠使耳機(jī)在不同狀態(tài)下,通過(guò)按鍵時(shí)間的長(zhǎng)短實(shí)現(xiàn)不同的功能,并且可以根據(jù)需要自定義按鍵。例如,雙擊可實(shí)現(xiàn)音量的增加/ 減少;短按可實(shí)現(xiàn)通話的接聽、拒絕和結(jié)束;長(zhǎng)按可實(shí)現(xiàn)音樂(lè)的快進(jìn)或者重播。

可視化接口是直觀的發(fā)光二極管(lightemittingdiode,LED)指示燈信號(hào),其對(duì)應(yīng)耳機(jī)的不同狀態(tài)。例如,配對(duì)模式:耳機(jī)處于配對(duì)模式中,紅燈亮0.1 s,然后藍(lán)燈亮0.1 s,繼續(xù)這個(gè)狀態(tài)直到耳機(jī)離開配對(duì)模式或者進(jìn)入配對(duì)模式。低電量模式:綠燈和紅燈同時(shí)亮0.5 s,滅0.5 s,然后重復(fù)。充電模式:充電時(shí),紅燈長(zhǎng)亮;充電完成,綠燈長(zhǎng)亮。

頻率不同、時(shí)間不同的提示音在不同狀態(tài)的界面進(jìn)行定義,如開機(jī)、關(guān)機(jī)、來(lái)電、通話結(jié)束、配對(duì)成功、配對(duì)失敗、電池低壓報(bào)警等。UI 也可以開發(fā)語(yǔ)音提示功能。

2 藍(lán)牙耳機(jī)軟件測(cè)試

在軟件開發(fā)過(guò)程中和發(fā)布前,需要由專業(yè)的軟件測(cè)試工程師進(jìn)行測(cè)試,將所發(fā)現(xiàn)的程序錯(cuò)誤反饋給軟件開發(fā)工程師來(lái)解決。在一個(gè)典型的編程項(xiàng)目中,軟件測(cè)試或系統(tǒng)測(cè)試大約占用50% 的項(xiàng)目總時(shí)間和超過(guò)50% 的總成本[4]。軟件測(cè)試原則就是確認(rèn)軟件是否“未做其應(yīng)該做的”和是否“做了其不應(yīng)該做的”。測(cè)試用例的設(shè)計(jì)推薦使用黑盒測(cè)試方法進(jìn)行設(shè)計(jì),然后視情況使用白盒測(cè)試方法來(lái)補(bǔ)充。經(jīng)驗(yàn)豐富的測(cè)試工程師經(jīng)常能夠判斷可能犯的錯(cuò)誤或錯(cuò)誤類型。

2.1 功能測(cè)試

功能測(cè)試是一個(gè)試圖發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程,而不僅是為了證明程序符合需求規(guī)格說(shuō)明書(requirements specification,RS)。按照RS 和UI,編寫測(cè)試計(jì)劃和設(shè)計(jì)測(cè)試用例。測(cè)試內(nèi)容包括接打電話、聽音樂(lè)、主動(dòng)降噪和環(huán)境降噪、冒煙測(cè)試、空口(over the air,OTA) 測(cè)試、藍(lán)牙認(rèn)證(bluetooth qualification body,BQB)測(cè)試、電池充放電測(cè)試以及可用性測(cè)試(用戶體驗(yàn)測(cè)試)等,以期通過(guò)這些測(cè)試找到界面或人機(jī)交互相關(guān)的缺陷(bug)等。其中,冒煙測(cè)試是設(shè)計(jì)一組簡(jiǎn)單的測(cè)試用例,用于檢查應(yīng)用程序的基本功能是否正常運(yùn)行;OTA 測(cè)試可以評(píng)估發(fā)射天線的總輻射功率和接收天線的靈敏度;BQB 測(cè)試包括RF 一致性、協(xié)議和剖面一致性。這些測(cè)試旨在保證用戶界面是友好的,并且符合設(shè)計(jì)規(guī)范。

2.2 TWS 測(cè)試

真無(wú)線立體聲(true wireless stereo,TWS)技術(shù)主要包括轉(zhuǎn)發(fā)模式、監(jiān)聽模式和雙連接模式。轉(zhuǎn)發(fā)模式是指通過(guò)連接主耳機(jī),再由主耳機(jī)通過(guò)無(wú)線方式快速連接副耳機(jī),實(shí)現(xiàn)左右聲道無(wú)線分離使用。不連接副耳機(jī)時(shí),又回到單聲道音質(zhì)。監(jiān)聽模式是通過(guò)私有協(xié)議,將收聽的密鑰從主耳機(jī)傳給副耳機(jī),藍(lán)牙主設(shè)備和主耳機(jī)連接后,副耳機(jī)再連接藍(lán)牙主設(shè)備。主從切換技術(shù)能夠?qū)崿F(xiàn)主副耳機(jī)的自由切換。雙連接模式是由藍(lán)牙主設(shè)備單獨(dú)發(fā)送兩組音頻數(shù)據(jù),再分別連接左右耳機(jī),進(jìn)而能夠解決主副耳機(jī)傳輸延遲問(wèn)題。

TWS 功能測(cè)試內(nèi)容主要包括藍(lán)牙連接穩(wěn)定性、音頻傳輸、通話品質(zhì)等;TWS 性能測(cè)試內(nèi)容主要包括頻率響應(yīng)、失真度、信噪比等參數(shù)。通過(guò)應(yīng)用藍(lán)牙協(xié)議分析儀、藍(lán)牙綜測(cè)儀等儀器,對(duì)軟硬件設(shè)計(jì)可能出現(xiàn)的問(wèn)題進(jìn)行測(cè)試分析。

在TWS 主從模式下,根據(jù)測(cè)試類型、測(cè)試方向,測(cè)試工具下發(fā)不同的測(cè)試指令和測(cè)試參數(shù)給被測(cè)平臺(tái),由被測(cè)平臺(tái)執(zhí)行相應(yīng)的測(cè)試[5]。測(cè)試類型包括TWS 底層硬件測(cè)試和TWS 協(xié)議測(cè)試。測(cè)試方向包括ACL、擴(kuò)展同步定向連接(extendedsynchronous connection oriented,eSCO)、SCO、sniff、error。

2.3 自動(dòng)化測(cè)試

人工測(cè)試能夠發(fā)現(xiàn)更多的缺陷,測(cè)試的品質(zhì)更高,其仍然是軟件品質(zhì)保證(quality assurance,QA)的重要部分。自動(dòng)化測(cè)試與開發(fā)更接近,這主要是因?yàn)樾枰帉懗绦虼a。自動(dòng)化測(cè)試是指運(yùn)行軟件程序后,系統(tǒng)自動(dòng)執(zhí)行測(cè)試用例并且在沒(méi)有任何人為干預(yù)的情況下產(chǎn)生測(cè)試結(jié)果,其節(jié)省了人力和時(shí)間。

自動(dòng)化測(cè)試工具是一種應(yīng)用程序或軟件產(chǎn)品,旨在通過(guò)自動(dòng)化測(cè)試腳本驗(yàn)證功能和非功能要求。全球廣泛使用的自動(dòng)化測(cè)試工具包括LambdaTest、TestProject、Kobiton、Appium 和Katalon Studio。國(guó)內(nèi)前海飛算云智軟件科技(深圳)有限公司的SoFlu軟件機(jī)器人,只要輸入流程圖,就可實(shí)現(xiàn)全棧式軟件開發(fā)工作,其包括后端開發(fā)、前端開發(fā)、測(cè)試和運(yùn)維等。自動(dòng)化測(cè)試工具可以執(zhí)行各種任務(wù),根據(jù)特定計(jì)劃進(jìn)行開發(fā)和運(yùn)行測(cè)試,或者在發(fā)生代碼更改時(shí)生成深度報(bào)告供團(tuán)隊(duì)查看測(cè)試結(jié)果。不同的自動(dòng)化測(cè)試工具具有不同的功能集和編程語(yǔ)言限制。例如,功能測(cè)試工具可以更深入地驗(yàn)證軟件的正確操作,而不局限于關(guān)注應(yīng)用程序的用戶界面。

Python 是一種編程語(yǔ)言,不僅可以用于開發(fā)應(yīng)用程序,還可以用于自動(dòng)化測(cè)試。例如,常用的Python 自動(dòng)化測(cè)試腳本,“日志記錄”代碼如下:

import loggingdef configure_logging(log_file):

logging.basicConfig(filename=log_file,level=logging.DEBUG)

def log_info(message):

logging.info(message)

if __name__ == '__main__':

log_file = 'test.log'

configure_logging(log_file)

log_info(' 這是一條日志記錄')

3 結(jié)語(yǔ)

藍(lán)牙耳機(jī)差異化競(jìng)爭(zhēng)的重要途徑是自有品牌的建設(shè),軟件是藍(lán)牙耳機(jī)的內(nèi)涵,SDK 是基于選型耳機(jī)SoC 的軟件開發(fā)基礎(chǔ)。雖然通過(guò)改進(jìn)主副耳機(jī)通信、優(yōu)化傳輸編碼等,藍(lán)牙延遲問(wèn)題可以得到改善,但是軟件算法仍然需要繼續(xù)研究,以更好地呈現(xiàn)藍(lán)牙耳機(jī)的真無(wú)線立體聲效果。

為了確保軟件的可靠性,必須在各種設(shè)備、瀏覽器和操作系統(tǒng)上測(cè)試。自動(dòng)化測(cè)試工具的發(fā)展趨勢(shì)是人工智能和深度學(xué)習(xí),從需要深厚編碼知識(shí)的復(fù)雜技術(shù)轉(zhuǎn)向主要基于記錄和回放功能的低代碼和無(wú)代碼工具。

主站蜘蛛池模板: 亚洲精品无码AV电影在线播放| 国模极品一区二区三区| 欧美精品亚洲精品日韩专区| 一本大道无码高清| 日韩精品视频久久| 成年人久久黄色网站| 亚洲国产成人麻豆精品| 黄色网址手机国内免费在线观看| 国产成人a在线观看视频| 亚洲国产精品无码久久一线| 亚洲一区二区三区香蕉| 久久中文电影| 精品超清无码视频在线观看| 国产在线观看一区二区三区| 激情视频综合网| 全免费a级毛片免费看不卡| 999国产精品| 欧美日韩高清| 婷婷色中文网| 爱色欧美亚洲综合图区| 国产呦精品一区二区三区下载| 五月天久久综合| 日本午夜影院| 国产真实乱子伦视频播放| 97国产成人无码精品久久久| 永久免费精品视频| 尤物在线观看乱码| 狠狠色丁婷婷综合久久| 色有码无码视频| 国产精选小视频在线观看| 国国产a国产片免费麻豆| 91麻豆国产精品91久久久| 91欧美亚洲国产五月天| 制服丝袜在线视频香蕉| 国产特级毛片aaaaaaa高清| 国产凹凸视频在线观看| 亚洲日产2021三区在线| av一区二区无码在线| 国产一区二区精品福利| 少妇精品久久久一区二区三区| 欧美一级爱操视频| 日韩av在线直播| 国产精品人莉莉成在线播放| 欧美午夜久久| 国内精品久久久久鸭| 亚洲妓女综合网995久久| 一级一毛片a级毛片| 日本三级黄在线观看| 在线观看av永久| 午夜人性色福利无码视频在线观看| 三级国产在线观看| 欧美www在线观看| 精品一区二区无码av| 久久国产成人精品国产成人亚洲 | 午夜精品国产自在| 高清码无在线看| 中文毛片无遮挡播放免费| 欧美午夜在线观看| 国产欧美日韩另类精彩视频| 亚欧美国产综合| 国产美女一级毛片| 天天激情综合| 亚洲综合香蕉| 日韩精品无码免费一区二区三区 | 欧美综合激情| 伊人AV天堂| 69av免费视频| 91娇喘视频| 久久综合一个色综合网| 永久天堂网Av| 亚洲人成影院午夜网站| 国内毛片视频| 最新国产网站| 国产欧美在线观看精品一区污| 国产精品内射视频| 免费精品一区二区h| 午夜精品一区二区蜜桃| 香蕉久久永久视频| 亚洲欧美不卡| 国产一区二区人大臿蕉香蕉| 日韩视频免费| 日韩专区第一页|