串口(RS-232/RS-485)主要用于工業(yè)測量和控制,計算機以及Windows正在部分被平板和Android代替,計算機串口也在逐步被Android串口取代。本文介紹了在Android下的幾種串口解決方案。
從連接方式上來分,分為無線和有線,無線又分為藍牙和WiFi,有線分為主板自帶和USB口擴展。從實現(xiàn)方式上來分,分為自帶串口的專用設備、對通用設備進行串口擴展。
如果是用于高可靠性要求的工業(yè)測控,有線串口是必須的。因為有線的抗干擾能力遠遠強于無線。如果用于日常的測控,無線則更加方便,因為無需布線。
1、藍牙串口轉換器
BLU232型藍牙/串口轉換器只有DB-9/DB-9轉接頭大小,將android智能手機或者平板電腦的藍牙信號轉換出RS-232/RS-485口,無線通信距離10米。BLU232可以為帶藍牙的Android設備擴展出一個無線串口。1、將BLU232接上電源,LED燈亮。 2、藍牙——“添加藍牙設備”,無線掃描找到藍牙BOLUTEK,輸入配對密碼:1234。 3、BLU232默認為從機狀態(tài)、波特率等格式為(9600,n,8,1)。 在ANDROID下可以使用“藍牙串口.apk”等軟件進行智能手機的串口通信。
2、WiFi串口轉換器
波仕AP232L型WiFi串口轉換器實現(xiàn)無線WiFi與RS-232/RS-485/422串口的轉換,這樣Android智能設備可以用無線WiFi進行串口通信,無線通信距離50米。產(chǎn)品本身可通過瀏覽器進行設置,無須其它任何專用軟件或裝置。
由于AP232L本身是通過TCP/IP協(xié)議來虛擬串口通信的,所以Android智能手機或者平板電腦也可以直接用TCP/IP通信。先安裝TCP-TEST.APK(TCP網(wǎng)絡助手),并連接到AP232L的無線信號。運行TCP網(wǎng)絡助手,選中“tcp client”,鍵入AP232L默認的IP地址(192.168.1.1)和端口(2001),按“增加”即可。現(xiàn)在就可以與AP232L的串口進行通信了。成功連接后,可以在發(fā)送區(qū)輸入你要發(fā)送的數(shù)據(jù)或字符。這些數(shù)據(jù)將以透明模式轉換到AP232L的串口發(fā)送出來。如果這時AP232L連接到某個計算機的串口,就可以用串口調試助手軟件監(jiān)測到并顯示這些數(shù)據(jù),注意設置的網(wǎng)絡串口的波特率。同樣AP232L的串口數(shù)據(jù)將透明傳輸?shù)絋CP網(wǎng)絡助手的界面中,并在接收區(qū)顯示。
3、USB網(wǎng)絡串口轉換器
波仕USB232ET型USB網(wǎng)絡串口轉換器是一種采用全新原理設計的USB-串口轉換器。支持串口通信協(xié)議,還支持TCP/IP網(wǎng)絡協(xié)議。原理上USB232ET不同于已有的任何一種USB串口轉換器,它的特點在于內置了TCP/IP網(wǎng)絡協(xié)議、還內置了Android平板電腦的USB驅動程序,所以接到平板電腦上時無需驅動即可使用。
將USB232ET通過USB線連接到平板電腦USB-OTG口。USB232ET產(chǎn)品的RS-232/485/422串口端是一個DB-9針座,具有RS-232、RS-485、RS-422全部引腳。
USB232ET的配置程序用于查看或修改USB232ET產(chǎn)品的IP地址、串口波特率等。連接通了以后可以通過網(wǎng)頁查看USB232ET的IP地址、設置和修改密碼。USB232ET的應用程序同樣可以使用“TCP網(wǎng)絡助手.APK”。
4、USB串口接收器
USB232KB型USB串口接收器用于Android平板電腦接收串口數(shù)據(jù),無需驅動程序也無需應用程序,帶RS-232和RS-485口。將USB232KB通過USB接到連接到平板電腦USB-OTG口,無須供電,無需驅動。波仕USB232KB產(chǎn)品的RS-232串口端是一個DB-9針座,引腳分配同計算機的RS-232口,但是只有RXD和GND。RS-232的通信速率固定為9600bps,N,8,1。將 “USB模式選擇”,選中“主機模式”。無需任何應用程序,只要平板電腦的任何可以輸入文字的地方均可以接收串口數(shù)據(jù),比如WPS、短信或者微信等。串口接收到的數(shù)據(jù)必須是英文字母、數(shù)字、空格、換行等有效ASCII字符。由于不能夠發(fā)送數(shù)據(jù),所以接USB232KB的平板電腦只能夠作為從機。
5、自帶串口的Android開發(fā)板
Frendly-Arm的Android開發(fā)板基于Tiny6410搭建Android 2.3系統(tǒng),Android程序實現(xiàn)對6410串口的讀寫,串口接收射頻模塊cc1100數(shù)據(jù)包。首先要將友善之臂非開源的 libfriendlyarm-hardware.so文件導入工程,新建libs-armeabi-libfriendlyarm- hardware.so,然后將開源的JAVA文件導入工程的scr文件夾下,新建三層包com.friendlyarm.AndroidSDK,最寫自己的android入口程序。下面是友善之臂“Android串口調試助手”的界面。
如果將整個開發(fā)系統(tǒng)移植到采用相同CPU的平板電腦則該平板電腦就具有了同樣功能的Android串口。由于帶權限保護,所以如果直接將這個“Android串口調試助手”安裝于用戶自己的Android裝置后運行會顯示“錯誤:你沒有讀寫串口權限”。
6、與windows下的串口通信的比較
Android下的串口與Windows下的串口的差別就在于驅動程序和應用程序。在Windows下我們可以非常方便安裝設備的驅動程序,但是在Android下這對于非專業(yè)用戶而言幾乎是不可能的。所以在Android下,無論有線還是無線擴展串口,產(chǎn)品都必須不需要用戶再裝什么驅動程序才行。在應用程序方面,Google并沒有將android下的串口通信操作實行統(tǒng)一的標準,這也是為什么Android沒有自帶USB-串口轉換器驅動程序的原因,但是android的TCP/IP通信卻是成熟的且有標準的socket。Wifi串口轉換器以及USB網(wǎng)絡串口轉換器在android下正是使用了TCP/IP網(wǎng)絡協(xié)議來操作串口。
|