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

Android透明串口傳輸模塊的設(shè)計(jì)與應(yīng)用

2014-10-21 20:07:27何塽納陳國(guó)金
中國(guó)機(jī)械 2014年23期

何塽納 陳國(guó)金

摘 要: Android設(shè)備可用作工業(yè)控制上位機(jī)。設(shè)計(jì)了一種Android透明串口傳輸模塊,模塊集成了藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口與USB轉(zhuǎn)串口三種通信方式,用戶可任意選取一種; 模塊自動(dòng)建立通信連接,提供與下位機(jī)串口通信的透明輸入輸出接口。討論了Android透明串口傳輸模塊的軟件功能、硬件連接與軟件實(shí)現(xiàn),并將其應(yīng)用于自動(dòng)縫紉設(shè)備。

關(guān)鍵詞: 安卓;工業(yè)控制;藍(lán)牙;串口;無(wú)線局域網(wǎng);通用串行總線

引言

智能移動(dòng)設(shè)備近幾年來(lái)發(fā)展迅速,在日常生活與工業(yè)中的應(yīng)用日益廣泛。對(duì)傳統(tǒng)的工業(yè)控制領(lǐng)域,通常采用PC機(jī)、操作面板控制設(shè)備[1]。PC機(jī)成本較高,體積較大,攜帶性不好;操作面板界面不直觀,操作復(fù)雜。智能移動(dòng)設(shè)備如智能手機(jī)、平板電腦體積較小,在工業(yè)現(xiàn)場(chǎng)便于攜帶,其觸摸屏用戶體驗(yàn)較好,相比傳統(tǒng)的PC機(jī)、操作面板更具優(yōu)勢(shì)。Android是一款基于Linux的開(kāi)源移動(dòng)設(shè)備操作系統(tǒng),具有完全開(kāi)放性,適合取代工業(yè)控制上位機(jī)PC與操作面板[2]。工業(yè)控制下位機(jī)通信接口通常為串口,Android設(shè)備可作為上位機(jī)通過(guò)藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口或USB轉(zhuǎn)串口模塊與下位機(jī)串口通信。Android設(shè)備雖然支持這三種通信方式,但直接使用Android API開(kāi)發(fā)應(yīng)用程序較為麻煩,且對(duì)于USB轉(zhuǎn)串口通信,目前沒(méi)有可用API,這使得開(kāi)發(fā)存在一定復(fù)雜性。本文旨在提出一種Android透明串口傳輸模塊,簡(jiǎn)化Android工業(yè)控制上位機(jī)應(yīng)用程序的開(kāi)發(fā)。

1.功能說(shuō)明

本模塊集成藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口與USB轉(zhuǎn)串口三種通信方式,可直接與下位機(jī)串口通信。用戶選擇三種方式中的一種,模塊建立對(duì)應(yīng)通信連接,這一過(guò)程由模塊自動(dòng)處理與維護(hù),對(duì)用戶透明。模塊提供一組統(tǒng)一的read(),write()方法作為對(duì)外數(shù)據(jù)通信接口,用戶通過(guò)此接口與下位機(jī)串口通信。

3.Android透明串口傳輸模塊的軟件設(shè)計(jì)

Android透明串口傳輸軟件模塊分為三個(gè)部分:通信方式選擇功能設(shè)計(jì)、自動(dòng)建立通信功能設(shè)計(jì)以及數(shù)據(jù)通信功能設(shè)計(jì)。

3.1 通信方式選擇功能設(shè)計(jì)

通信方式選擇功能用于選擇模塊通信方式,配置通用通信地址。通信方式m_ComMode可為藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口和USB轉(zhuǎn)串口通信中的一種,通用通信地址m_ComAddr為與通信方式對(duì)應(yīng)的藍(lán)牙Mac地址、WiFi IP地址與端口號(hào)以及串口設(shè)備名稱(chēng)與波特率。

3.2 自動(dòng)建立通信功能設(shè)計(jì)

自動(dòng)建立通信功能根據(jù)用戶置入的通信方式與通用通信地址,自動(dòng)建立通信。

3.2.1 Android藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口、USB轉(zhuǎn)串口通信建立方法

Android從2.2版本開(kāi)始支持藍(lán)牙功能,并且為開(kāi)發(fā)者提供開(kāi)發(fā)藍(lán)牙應(yīng)用程序的API[3]。開(kāi)發(fā)藍(lán)牙應(yīng)用程序首先需要在Manifest中添加權(quán)限。

利用Android API建立藍(lán)牙轉(zhuǎn)串口通信的主要步驟如下:根據(jù)藍(lán)牙Mac地址返回藍(lán)牙設(shè)備對(duì)象、建立藍(lán)牙套接字、得到輸入輸出流。

利用Android API建立WiFi轉(zhuǎn)串口通信的主要步驟如下[4]:建立套接字、得到輸入輸出流。

對(duì)于USB轉(zhuǎn)串口通信應(yīng)用程序開(kāi)發(fā), Android SDK未提供API,本文在開(kāi)源項(xiàng)目android-serialport-api基礎(chǔ)上進(jìn)行開(kāi)發(fā)修改[5]。

首先在工程中導(dǎo)入開(kāi)源項(xiàng)目android-serialport-api的源代碼,然后修改代碼。建立串口通信代碼如下:

// 調(diào)用android-serialport-api自帶的open方法,根據(jù)選擇的波特率與設(shè)備名稱(chēng)打開(kāi)串口

FileDescriptor m_FileDescriptor = open ( device_name , baudrate, flags);

// 得到輸入輸出流

InputStream m_com_InStream = new FileInputStream ( m_FileDescriptor );

OutputStream m_com_OutStream = new FileOutputStream ( m_FileDescriptor );

3.2.2 通信的自動(dòng)建立

Android的藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口和USB轉(zhuǎn)串口雖然在建立通信過(guò)程中的實(shí)現(xiàn)細(xì)節(jié)不同,但其過(guò)程皆可以概括為利用所需參數(shù)(藍(lán)牙Mac地址、WiFi IP地址與端口號(hào)、串口波特率與設(shè)備名稱(chēng))經(jīng)過(guò)多步配置建立連接,最終得到輸入輸出流。可以利用其過(guò)程中的相似性編寫(xiě)統(tǒng)一的建立通信方法,方法根據(jù)通信方式m_ComMode 調(diào)用對(duì)應(yīng)的通信建立程序,通過(guò)通用通信地址m_ComAddr經(jīng)多步配置建立連接,得到輸入輸出流。

3.3 數(shù)據(jù)通信功能設(shè)計(jì)

數(shù)據(jù)通信功能是Android透明串口傳輸模塊面向用戶的接口,提供一組輸入輸出方法read()、write(),用戶通過(guò)此方法經(jīng)藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口或USB轉(zhuǎn)串口模塊與下位機(jī)串口通信。

InputStream/OutputStream類(lèi)與DataInputStream/DataOutputStream類(lèi)存在繼承關(guān)系,它們的read()、write()方法具有相同的名稱(chēng)與參數(shù)形式,無(wú)論建立何種通信方式,都可以用同樣的方法對(duì)它們進(jìn)行讀寫(xiě)。輸入輸出流讀寫(xiě)主要方法的如下:根據(jù)通信方式選擇對(duì)應(yīng)的輸入流讀取數(shù)據(jù)、根據(jù)通信方式選擇對(duì)應(yīng)的輸出流寫(xiě)入數(shù)據(jù)。

對(duì)于設(shè)備流數(shù)據(jù)讀寫(xiě),一般為阻塞方式, 為適應(yīng)阻塞操作,本模塊創(chuàng)建一個(gè)用于數(shù)據(jù)讀寫(xiě)的讀寫(xiě)線程[6]。讀寫(xiě)方法read()、write()將讀寫(xiě)輸入輸出流所需參數(shù)m_receive_byte_Offset(接收數(shù)據(jù)起始位)、m_receive_byteCount(接收數(shù)據(jù)位數(shù))、m_send_byte_Offset(發(fā)送數(shù)據(jù)起始位)、m_send_byteCount(發(fā)送數(shù)據(jù)位數(shù))傳遞給讀寫(xiě)線程,讀寫(xiě)線程調(diào)用read_stream()、write_stream()方法實(shí)現(xiàn)數(shù)據(jù)通信。read()、write()方法會(huì)休眠一定時(shí)間等待讀寫(xiě)線程完成任務(wù),超出時(shí)限后不再等待,判定任務(wù)失敗,以避免調(diào)用程序的阻塞。

4.應(yīng)用實(shí)例

自動(dòng)縫紉設(shè)備在服裝廠中應(yīng)用普遍,這些設(shè)備通常通過(guò)操作面板控制設(shè)備運(yùn)行、修改參數(shù)。操作面板界面不直觀,操作復(fù)雜。本文以Android平板代替操作面板,遠(yuǎn)程控制設(shè)備[7]。使用Android透明串口傳輸模塊,通過(guò)藍(lán)牙轉(zhuǎn)串口模塊與自動(dòng)縫紉設(shè)備單片機(jī)串口通信。用戶操作Android觸摸屏向設(shè)備發(fā)送控制、修改參數(shù)指令,通過(guò)透明串口傳輸模塊發(fā)送至設(shè)備單片機(jī)串口,單片機(jī)執(zhí)行指令。單片機(jī)定時(shí)讀取設(shè)備當(dāng)前狀態(tài)參數(shù),通過(guò)藍(lán)牙轉(zhuǎn)串口模塊發(fā)送至Android設(shè)備,在觸摸屏顯示。

5.結(jié)束語(yǔ)

本文提出的Android透明串口傳輸模塊,將藍(lán)牙轉(zhuǎn)串口、WiFi轉(zhuǎn)串口和USB轉(zhuǎn)串口這三種通信方式封裝在一起,用戶可以任意選擇一種通信方式與下位機(jī)串口進(jìn)行通信,而不必關(guān)心每種方式的不同實(shí)現(xiàn)細(xì)節(jié),簡(jiǎn)化了Android工業(yè)控制應(yīng)用程序開(kāi)發(fā),提高了開(kāi)發(fā)效率。

參考文獻(xiàn):

[1]鄭彪,汪秉文.串口通信在工業(yè)控制中的應(yīng)用[J].自動(dòng)化儀表,2002,23(4):58-59.

[2]黃慧萍,肖世德,孟祥印.基于Android平臺(tái)的步進(jìn)電機(jī)遠(yuǎn)程控制系統(tǒng)[J].制造業(yè)自動(dòng)化,2014,36(2):44-47,61.

[3]李黎國(guó),張輝,程號(hào).基于Android健康服務(wù)終端藍(lán)牙傳輸軟件的設(shè)計(jì)[J].電子科技,2012,25(5):115-118.

[4]向誠(chéng),謝峰粹.基于WiFi和Android的智能探測(cè)車(chē)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(12):82-85.

[5]趙春亭,左小五.基于Android系統(tǒng)的USB轉(zhuǎn)串口的研究[J].工業(yè)控制計(jì)算機(jī),2014,27(1):83-84.

[6]朱冬梅,王錚,鄧先燦.微機(jī)與多臺(tái)單片機(jī)通信的多線程實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2000,20(10):79-80.

[7]李培培,朱維杰.基于Android車(chē)載虛擬儀表人機(jī)界面設(shè)計(jì)[J].電子科技,2013,26(2):74-75,78.

作者簡(jiǎn)介:

何塽納(1989-),男(漢族),浙江省奉化人,杭州電子科技大學(xué)碩士生,主要研究方向?yàn)檐浖_(kāi)發(fā)。

主站蜘蛛池模板: 在线日韩一区二区| 91九色国产在线| 免费看一级毛片波多结衣| 日韩av在线直播| 欧美精品H在线播放| 麻豆a级片| 国产产在线精品亚洲aavv| 99久久免费精品特色大片| 久久国产精品嫖妓| 国产精品人莉莉成在线播放| 国产91小视频| 国产精品jizz在线观看软件| 久久亚洲国产最新网站| 99激情网| 免费毛片视频| 99中文字幕亚洲一区二区| 国产精品漂亮美女在线观看| 无码专区在线观看| 国产精品九九视频| 日韩免费无码人妻系列| 日本影院一区| 国产交换配偶在线视频| 国产欧美精品一区二区| 中文一级毛片| 国产亚洲精久久久久久无码AV| 乱人伦99久久| 国产国模一区二区三区四区| 久久99国产乱子伦精品免| 亚洲色图在线观看| 日韩一二三区视频精品| 3344在线观看无码| 成人伊人色一区二区三区| 亚洲中文字幕97久久精品少妇| 午夜在线不卡| 99精品这里只有精品高清视频| 久久午夜夜伦鲁鲁片不卡| 成人综合久久综合| 永久免费AⅤ无码网站在线观看| 日韩人妻无码制服丝袜视频| 欧美另类第一页| 日韩精品少妇无码受不了| 在线观看国产精美视频| 久久中文字幕不卡一二区| 2020亚洲精品无码| 三级视频中文字幕| 2022精品国偷自产免费观看| 久久精品无码中文字幕| 欧美日韩va| 色老二精品视频在线观看| 中文字幕久久亚洲一区| 亚洲中文字幕在线一区播放| 精品一区二区三区波多野结衣| 免费无码又爽又刺激高| 免费国产小视频在线观看| 亚洲性日韩精品一区二区| 国产区在线看| 国产喷水视频| 人妻丝袜无码视频| 亚洲热线99精品视频| 麻豆精品在线播放| 亚洲另类色| 四虎影视无码永久免费观看| 欧美日韩一区二区在线播放| 午夜国产理论| 日韩色图在线观看| 黄片在线永久| 2048国产精品原创综合在线| 亚洲高清无在码在线无弹窗| 一区二区自拍| 亚洲成人精品久久| 亚洲综合色吧| 欧美综合中文字幕久久| 无码免费的亚洲视频| 精品中文字幕一区在线| 伊人久久久久久久| 国产第一页亚洲| 国产视频入口| 亚洲免费人成影院| 无码中字出轨中文人妻中文中| 高清无码手机在线观看| 中文字幕亚洲综久久2021| 日韩国产综合精选|