本應(yīng)用筆記解釋了如何實(shí)現(xiàn)藍(lán)牙串行和Maxim 1-Wire適配器之間的通信。討論的主題包括:選擇正確的藍(lán)牙適配器、設(shè)置說(shuō)明和啟用通信的示例代碼。DS9097U 1-Wire COM端口適配器用于接收藍(lán)牙命令。
介紹
本文將指導(dǎo)您選擇合適的藍(lán)牙適配器,提供設(shè)置說(shuō)明,并提供與Maxim 1-Wire適配器通信的示例代碼。提供的示例代碼并非作為完整的解決方案,而是作為起點(diǎn)。示例代碼可用于為 Windows PC 或 Windows Mobile 設(shè)備編寫程序。此示例使用 Windows Mobile 設(shè)備。
概述
藍(lán)牙是一種短距離無(wú)線技術(shù),最初旨在替代電纜。它可以將各種類型的信息(例如音樂(lè)、視頻和數(shù)據(jù))發(fā)送到位于 10 米范圍內(nèi)的其他支持藍(lán)牙的設(shè)備。藍(lán)牙有許多協(xié)議來(lái)處理各種類型的數(shù)據(jù)傳輸.
本應(yīng)用筆記解釋了如何使用藍(lán)牙串行端口協(xié)議(SPP)實(shí)現(xiàn)與Maxim的DS9097U 1-Wire COM端口適配器的通信。DS9097U為RS-232至1-Wire適配器,接收來(lái)自串行端口的命令,并產(chǎn)生與1-Wire器件通信所需的適當(dāng)信號(hào)。本文檔概述了正確設(shè)置第三方藍(lán)牙串行端口適配器的過(guò)程。然后提供示例代碼,用于使用 Visual Basic 1920 Compact .NET 編程平臺(tái)和串行端口控制接口從 Windows Mobile 設(shè)備讀取 DS2008 溫度數(shù)據(jù)。
必填項(xiàng)目
DS9097U COM 端口適配器
藍(lán)牙串行適配器(即藍(lán)扣標(biāo)準(zhǔn))
Visual Basic 2008 Compact .NET
Windows Mobile 6.1(或 5.0)
定制串行接口電纜
選擇藍(lán)牙適配器
選擇與DS9097U兼容的藍(lán)牙適配器涉及兩個(gè)因素。首先,考慮為DS9097U供電的藍(lán)牙DTR和RTS線路的可用電流(見圖1)。藍(lán)牙適配器內(nèi)的大多數(shù)RS-232芯片應(yīng)該能夠提供為DS9097U供電所需的電流。如果適配器的規(guī)格未列出電流參數(shù),則確定使用的RS-232芯片并驗(yàn)證其電流源能力。我們的應(yīng)用程序使用來(lái)自 Serialio.com 的BlueSnap標(biāo)準(zhǔn)藍(lán)牙適配器。
圖1.DS9097U原理圖,DB-9版本。
其次,確定是否可以對(duì) RTS 和 DTR 線路的邏輯電平進(jìn)行編程。BlueSnap適配器不允許這樣做,需要?jiǎng)?chuàng)建額外的電纜以從9V電池向RTS和DTR線路供電。這一限制妨礙了1-Wire標(biāo)準(zhǔn)庫(kù)(OneWireLinkLayer.dll)的使用,這些庫(kù)切換這些線路以復(fù)位器件。
注意:如果使用握手,藍(lán)牙的板載固件會(huì)自動(dòng)切換 RTS 和 DTR 線路。雖然通常很方便,但對(duì)于1-Wire適配器來(lái)說(shuō),這些線路是電源引腳,因此在此應(yīng)用中是有害的。如果藍(lán)牙適配器支持RTS和DTR控制,OneWireLinkLayer.dll可以加快編程開發(fā)時(shí)間。
設(shè)置程序
以下過(guò)程概述了硬件配置所需的步驟。
視窗 XP SP3 安裝過(guò)程?
將 USB 轉(zhuǎn)藍(lán)牙適配器插入電腦的 USB 端口并配置該適配器。注意:這不是BlueSnap設(shè)備,而是將配置BlueSnap適配器的USB到藍(lán)牙設(shè)備。
右鍵單擊“我的電腦”,然后從彈出菜單中選擇“屬性”。
選擇硬件選項(xiàng)卡,然后單擊設(shè)備管理器。
找到創(chuàng)建的虛擬端口(COM & LPT)并展開樹(下圖中帶圓圈的項(xiàng)目)。
確認(rèn)您至少有一個(gè)藍(lán)牙通信端口并關(guān)閉所有窗口。
雙擊“我的藍(lán)牙位置”桌面圖標(biāo)。
點(diǎn)擊 添加藍(lán)牙設(shè)備 從左側(cè)菜單中。
單擊藍(lán)牙設(shè)置對(duì)話框中的下一步。
將出現(xiàn)“藍(lán)牙設(shè)備選擇”對(duì)話框,并開始掃描設(shè)備。
確保 BlueSnap 撥動(dòng)開關(guān) 1 到 3 處于 OFF 位置,并且撥碼開關(guān) 4 處于打開狀態(tài)。開關(guān) 4 默認(rèn)波特率為 9600。將 9V 電池連接到 BlueSnap 適配器,這會(huì)導(dǎo)致適配器上的 LED 快速閃爍 60 秒。在此期間必須建立連接,否則適配器將超時(shí),并且必須斷開并重新連接電池。按下對(duì)話框中的“再次搜索”按鈕開始搜索。
設(shè)備顯示為 BlueSnap。
雙擊藍(lán)扣圖標(biāo)開始配對(duì)過(guò)程。
按“藍(lán)牙安全設(shè)置”對(duì)話框中的“跳過(guò)”。
在藍(lán)牙服務(wù)選擇對(duì)話框中檢查 SPP。
按“配置”按鈕以選擇您將在PC上使用的藍(lán)牙COM端口。
取消選中安全連接復(fù)選框,選擇藍(lán)牙 COM 端口(從步驟 5 開始),然后按確定。
按藍(lán)牙服務(wù)選擇對(duì)話框中的下一步按鈕(步驟 14)。
如果出現(xiàn)以下提示,只需按 OK。
在藍(lán)牙設(shè)置向?qū)瓿身?yè)面(步驟 8)上,如果需要,可以修改此連接的默認(rèn)名稱。按完成按鈕建立藍(lán)牙連接。
適配器上的綠色 LED 應(yīng)為穩(wěn)定的綠色。
如果連接丟失,請(qǐng)返回“我的藍(lán)牙位置”(步驟 6),然后雙擊在步驟 19 中創(chuàng)建的 BlueSnap 圖標(biāo)。
如果系統(tǒng)提示輸入安全代碼,請(qǐng)嘗試輸入 0000 或 1234。有關(guān)適配器的默認(rèn)密碼,請(qǐng)參閱 BlueSnap 說(shuō)明手冊(cè)。
建立連接后,雙擊“我的藍(lán)牙位置”中的 BlueSnap 圖標(biāo)以查看適配器的狀態(tài)。
從以下位置啟動(dòng)預(yù)安裝的 Windows 超級(jí)終端:?jiǎn)?dòng)
程序
附件
通信。
在“新建連接”對(duì)話框中輸入連接的名稱,然后按“確定”。
從“連接到”對(duì)話框中,選擇在步驟 16 中配置的 COM 端口,然后按“確定”。
從“COM# 屬性”對(duì)話框中,選擇以下選項(xiàng),然后按“確定”。
即使尚未建立適配器連接,超級(jí)終端也可能顯示為已連接。如果適配器的綠燈緩慢閃爍,請(qǐng)斷開并重新連接電池。通過(guò)雙擊“我的藍(lán)牙位置”中的 BlueSnap 圖標(biāo)重新建立藍(lán)牙連接(步驟 6)。建立連接后,使用超級(jí)終端工具欄中的電話圖標(biāo)斷開連接并重新連接。
從“超級(jí)終端文件”菜單中,選擇“藍(lán)快照屬性”。
在屬性對(duì)話框中,單擊 ASCII 設(shè)置...按鈕。
進(jìn)行以下 ASCII 設(shè)置選擇。
通過(guò)單擊“確定”關(guān)閉所有對(duì)話框。
在“超級(jí)終端”窗口中鍵入 $$$;設(shè)備將使用 CMD 進(jìn)行響應(yīng)。CMD 確認(rèn)您現(xiàn)在處于命令模式。藍(lán)扣 LED 從穩(wěn)定的綠色變?yōu)榭焖匍W爍。
在端子類型ST,255中。這會(huì)將發(fā)現(xiàn)超時(shí)從 60 秒更改為無(wú)窮大。適配器以 響應(yīng)。
要啟動(dòng),可以在以下位置找到新創(chuàng)建的超級(jí)終端連接:?jiǎn)?dòng)
程序附件
通信
超級(jí)終端
BlueSnap.ht。
設(shè)備現(xiàn)在配置為在接通電源后保持發(fā)現(xiàn)模式,沒有任何超時(shí)。
視窗移動(dòng)配對(duì)過(guò)程
使用連接向?qū)阉?BlueSnap 藍(lán)牙適配器。
選擇藍(lán)扣設(shè)備。
選擇 SPP 服務(wù)。
輸入設(shè)備引腳編號(hào)(0000 或 1234),然后按綠色復(fù)選標(biāo)記。
當(dāng)系統(tǒng)提示注冊(cè)藍(lán)牙串行端口時(shí),選擇“是”。
從名稱下拉框中選擇藍(lán)牙串口名稱BTS。輸入索引號(hào)為零。索引類似于 COM 端口。按綠色復(fù)選標(biāo)記以接受更改。如果使用非零的索引號(hào),則示例代碼將需要修改這部分代碼才能打開相應(yīng)的端口。
藍(lán)牙管理器確認(rèn)端口已成功注冊(cè)。
可用的 COM 端口列在管理器中。
藍(lán)扣適配器已成功配對(duì)。打開BTS0端口后,將在移動(dòng)設(shè)備和BlueSnap設(shè)備之間建立連接。
視窗應(yīng)用程序
由于BlueSnap適配器無(wú)法切換RTS和DTR線,因此本例中不使用OneWireLinkLayer.dll。DS9097U 1-Wire COM端口適配器(見圖1)可通過(guò)串行命令直接訪問(wèn)。
下載 (ZIP) 示例項(xiàng)目。圖 2 顯示了在 Windows Mobile 設(shè)備上運(yùn)行的應(yīng)用程序。該項(xiàng)目包含一個(gè)簡(jiǎn)單的類,用于調(diào)用常用函數(shù)(包括搜索ROM)。
圖2.在 Windows Mobile 上運(yùn)行的應(yīng)用程序。
審核編輯:郭婷
-
芯片
+關(guān)注
關(guān)注
456文章
50919瀏覽量
424582 -
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5834瀏覽量
170582 -
適配器
+關(guān)注
關(guān)注
8文章
1957瀏覽量
68084
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論