<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 藍(lán)牙車載產(chǎn)品的兼容性設(shè)計(jì)

          藍(lán)牙車載產(chǎn)品的兼容性設(shè)計(jì)

          作者:馬建輝 單鐵城 山東省科學(xué)院自動化研究所山東省汽車電子重點(diǎn)實(shí)驗(yàn)室 馬共立 哈爾濱威克科技 時(shí)間:2010-05-07 來源:電子產(chǎn)品世界 收藏

            對于這種兼容性問題,需要對手機(jī)在不同應(yīng)用上下文的表現(xiàn)特性進(jìn)行分析,并根據(jù)其差異進(jìn)行分類。通過對手機(jī)在配對完成后的處理進(jìn)行分析,有的手機(jī)配對完成后馬上自動連接,有的需要用戶確認(rèn)再手動連接,有的會通過SDP讀取車載設(shè)備的服務(wù)列表然后針對車載設(shè)備提供的服務(wù)自動連接(車載設(shè)備提供免提服務(wù)、SPP服務(wù)、SyncML服務(wù)、流媒體音樂播放服務(wù)),而有的不會自動連接,這樣分類后,根據(jù)手機(jī)特性的不同設(shè)計(jì)實(shí)現(xiàn)配對后的自動連接如下:

          本文引用地址:http://www.ex-cimer.com/article/108773.htm

            車載設(shè)備在配對完成后的4秒內(nèi)無操作,配對后馬上自動連接的手機(jī)(如nokia 6500c)和大部分讀取SDP后自動連接的手機(jī)(如三星SGH-U608、SGH-E208),可以迅速連接上車載設(shè)備。配對完成四秒后車載設(shè)備通過SDP判斷配對設(shè)備的類型(包括免提、音頻流、免提+音頻流三種類型),如果類型為免提+音頻流,則在連接免提成功后等待10秒再去連接音頻流,之所以10秒后再去連接音頻流是因?yàn)槊馓徇B接成功后,需要連接PBAP或SyncML或SPP去下載電話本,如果同時(shí)進(jìn)行A2DP的連接去連接配對設(shè)備的流媒體服務(wù),會造成鏈路丟失,免提連接及音頻流連接斷開。如果連接免提失敗,則不再連接其音頻流服務(wù),因?yàn)橛械氖謾C(jī)如多普達(dá)D600的PDA手機(jī),配對完成后讀取SDP然后自動連接,有時(shí)會造成免提連接不成功,如果去連接其音頻流,連接成功,但之后從車載設(shè)備端連接手機(jī)無法連接成功。斷開流媒體后,連接免提一直失敗,必須重新配對才行。

            對于用戶確認(rèn)手動連接的手機(jī)和部分讀取SDP然后自動連接車載設(shè)備的手機(jī),在車載設(shè)備自動連接手機(jī)期間,可能會收到手機(jī)的連接請求,如果連接請求的手機(jī)與自動連接的手機(jī)為同一設(shè)備(地址相同),則接收該連接請求,否則會造成自動連接失敗。同時(shí)由于車載設(shè)備支持SPP的dev A,PDA手機(jī)的dev A可能會在配對后自動連接車載設(shè)備的SPP dev A,這時(shí)要拒絕該連接,如果不對該連接請求進(jìn)行處理,會造成PDA手機(jī)處于長時(shí)間無法響應(yīng)的狀態(tài)。

            藍(lán)牙技術(shù)是個開放性的協(xié)議,它借鑒了很多成熟的已經(jīng)得到廣泛應(yīng)用的協(xié)議,比如Syncml

            引入?yún)f(xié)議帶來的兼容性

          ,封裝在藍(lán)牙OBEX協(xié)議上可以實(shí)現(xiàn)個人信息的同步更新,比如vCard,它和PBAP、OPP協(xié)議結(jié)合,用來進(jìn)行電話本條目和呼叫日志的封裝、下載和解析,這些協(xié)議本身便存在一定的兼容性問題,需要深入研究引入的協(xié)議,并盡量多地測試更多手機(jī)以盡量完善應(yīng)用程序。下面以vCard的解析為例來說明該兼容性問題的解決方法。

            vCard是電子名片規(guī)范,定義了個人信息數(shù)據(jù)的存儲格式及訪問接口的規(guī)范,現(xiàn)在廣泛應(yīng)用的是v2.1版本和3.0版本,對于電話本條目和呼叫日志而言,關(guān)鍵信息為姓名、電話號碼及呼叫時(shí)間。含有多個電話號碼的電話本條目,我們將之定義為VCARD,其電話號碼包含家庭電話、工作電話、手機(jī)、車載電話四種屬性。

            vCard樣例如下:

          BEGIN:VCARD
          VERSION:2.1
          N;CHARSET=UTF-8;ENCODING=QUOTED-
                PRINTABLE;:=9A=6C=5E=FA=8F=89
          TEL;CELL:13475909642
          TEL;WORK:053182605413
          END:VCARD
          以上的vCard樣例中,人名字段提取為“馬建輝”的UTF-8字符0x9A6C 0x5EFA 0x8F89,這部分的兼容性在于不同手機(jī)在封裝電話本條目的人名字段時(shí)所使用的字符集和編碼方式不一致,字符集有ASCII和UTF-8,編碼方式有8BIT、QUOTED-PRINTABLEPRINTABLE、BASE64這么幾種方式,需要對這幾種方式分別處理,比如以上vCard人名字段的處理需要把=9A=6C=5E=FA=8F=89轉(zhuǎn)換為0x9A6C 0x5EFA 0x8F89,處理代碼如下所示,temp_name數(shù)組為未處理的人名字符串,處理好的人名放在NAME數(shù)組中:
          if(temp_name[i]=='=')
           {
                  if((temp_name[i+1]>=0x41)&&(temp_name[i+1]<=0x46))
           temp1=temp_name[i+1]-0x37;
                   else if((temp_name[i+1]>=0x30)&&(temp_name[i+1]<=0x39))
           temp1=temp_name[i+1]-0x30;
                   if((temp_name[i+2]>=0x41)&&(temp_name[i+2]<=0x46))
           temp2=temp_name[i+2]-0x37;
                   else if((temp_name[i+2]>=0x30)&&(temp_name[i+2]<=0x39))
           temp2=temp_name[i+2]-0x30;
                
                   NAME[name_len]=(temp1<<4)+temp2;
                   name_len++; 
                    i+=3;   
           }

            另外還需要考慮一些特殊情況,如Sony Erricson 手機(jī)電話本條目的人名字段有時(shí)會把空格處理為0xE38080,所以如果提取出0xE38080,需要把該特殊字符以空格0x20代替,否則會處理為亂碼。



          關(guān)鍵詞: 汽車電子 藍(lán)牙

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();