国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于智能手機的服務機器人監(jiān)護控制系統(tǒng)設計

2015-05-06 02:26孫振邦賈劍平劉繼忠鄭恩濤
電視技術 2015年24期
關鍵詞:服務器端串口端口

孫振邦,賈劍平,劉繼忠,華 晶,鄭恩濤

(南昌大學 機器人與焊接自動化重點實驗室,江西 南昌 330031)

基于智能手機的服務機器人監(jiān)護控制系統(tǒng)設計

孫振邦,賈劍平,劉繼忠,華 晶,鄭恩濤

(南昌大學 機器人與焊接自動化重點實驗室,江西 南昌 330031)

以高齡老年人和癱瘓病人為主的病患,其生活自理能力的下降與喪失,造成了這類群體的長期日常護理問題變得日益突出。為緩解這一問題的嚴峻形勢,研發(fā)一種立足于家庭和大眾化的醫(yī)療護理系統(tǒng)符合當前社會需求。在自主研發(fā)的多功能服務機器人的基礎上,依托智能手機平臺,開發(fā)了移動監(jiān)護系統(tǒng)。介紹了服務機器人的機電系統(tǒng)以及控制主板的硬件設計。詳細論述了串口通信和利用Java媒體框架實現(xiàn)的視頻交互。通過網絡地址轉換,系統(tǒng)具備隨時隨地對家庭中患者進行遠程監(jiān)控,遠程護理的功能。實驗結果證明,系統(tǒng)運行可靠,具有較高的實用性。

日常護理;服務機器人;遠程監(jiān)控;遠程護理

老年人口數(shù)量的迅猛增長已經給當前的醫(yī)療資源和系統(tǒng)帶來了可預見的嚴峻挑戰(zhàn)。傳統(tǒng)的醫(yī)療護理資源對于癱瘓或者生活難自理的患者而言,其供需矛盾是很突出的。當前社會人口紅利正逐步下降,人工成本不斷提升。資源分配不均衡與龐大市場需求的壓力已迫切地要求傳統(tǒng)護理手段的變革。本文從遠程醫(yī)療的發(fā)展趨勢著手,開發(fā)了基于Android系統(tǒng)的手機軟件和Windows操作系統(tǒng)的服務器程序,結合多功能服務機器人,為病患實現(xiàn)遠程護理提供了一種實用可行的方案。該系統(tǒng)能夠應用于家庭,可提高護理質量,使護理工作變得簡便易行,同時減輕患者因癱瘓和固定臥姿造成身體機能下降引起的如褥瘡和肌肉萎縮等病癥,可在一定程度上緩解老齡化帶來的社會醫(yī)療問題。

1 系統(tǒng)總體方案

遠程移動監(jiān)護系統(tǒng)由三個部分構成:服務機器人控制主板,這個部分可接收服務器發(fā)送的控制指令控制床體;服務器端作為服務機器人的本地監(jiān)護控制端,服務程序采用Java編寫,承擔對病患的監(jiān)控與床體控制指令的發(fā)送;遠程移動監(jiān)護端即用戶的手機端,依靠WiFi或者3G網絡,可實現(xiàn)移動端訪問服務器端,達到實時監(jiān)控和遠程護理的目的[1]。系統(tǒng)架構如圖1所示。家庭成員在各自手機上,都可以對家中患者實現(xiàn)護理。該系統(tǒng)可大大節(jié)約護理成本,降低護理人員的勞動強度,可滿足家庭護理的需求。

圖1 系統(tǒng)架構示意圖

1.1 服務機器人機電系統(tǒng)

服務機器人主體部分是多功能護理床。多功能護理床采用4個直線電機驅動。各電機的行程安裝位置依據(jù)床體設計的大小尺寸以及完成升降背、曲平腿、左右翻身和座便器升降的位置姿態(tài)來確定。各個控制動作之間,有嚴格的約束關系:即升降背和曲平腿時,翻身電機要回復平衡位置,床體要橫向水平。翻身動作執(zhí)行時,降背與平腿要先到達極限位置,床體要縱向水平。邏輯控制中需要將這些約束條件加入控制程序,才能使護理床實現(xiàn)預定的動作響應。電機驅動器采用JCB35E,供電電源為220 V/AC,機電系統(tǒng)結構示意如圖2所示。

圖2 機電系統(tǒng)結構示意圖

1.2 控制主板硬件

服務機器人控制主板是遠程控制多功能護理床的連接模塊。它采用STC89C52單片機作為微控制器,工作電壓為+5 V,直流電源供電,通過RS-232接口接收上位機服務器端的指令。微控制器判斷接收的指令后運行相應的控制邏輯,控制繼電器輸出相應的動作信號??刂浦靼鍖嵨锶鐖D3所示。

圖3 控制主板

2 系統(tǒng)軟件設計

2.1 軟件內容

軟件設計內容包括服務器程序和手機應用,開發(fā)平臺為Eclipse。服務器程序和客戶端程序都采用同一種開發(fā)語言,可大大提高系統(tǒng)的兼容性和開發(fā)效率。服務器端負責接收客戶端的訪問與請求。軟件系統(tǒng)采用多線程編程,主要完成以下幾個功能:串口通信、視頻采集與發(fā)送、自動護理功能和網絡地址轉換等。

2.2 串口通信模塊

在Java SE開發(fā)平臺中,并沒有串口編程的相關API。因此在Java應用程序中,需要使用SUN公司提供的Java串口通信包,控制RS-232接口[2]。

2.2.1 在javax.comm包中,幾個重要的類

javax.comm.CommPort:CommPort是一個描述由底層系統(tǒng)支持的通信端口的抽象類。它包括一個對各種通信端口的通用的高層I/O控制方法。SerialPort 和ParallelPort都是它的子類,分別是串口控制類和并口控制類。

javax.comm.SerialPort:該類是描述串口的底層接口,可以直接對串口進行讀寫以及設置等工作。

javax.comm.CommPortIdentifier:該類是串口控制的核心類,用于對串口的管理。它包括的方法有:確定是否有可用的通信端口;決定端口的所有權;判斷端口所有權的優(yōu)先級;管理端口所有權狀態(tài)改變引起的事件。

服務器程序采用多線程來管理不同的任務。程序初始化后,在主線程中開辟自定義的SerialOpen線程,使其在服務程序運行時打開串口,并獲取I/O流。

2.2.2 串口參數(shù)配置

串口通信包中封裝的API函數(shù)有如getPortIdentifiers()、getPortType()、open()和setSerialPortParams()等函數(shù),就可實現(xiàn)對端口的檢測、端口類型識別、串口打開和參數(shù)設置的功能。該線程還繼承了SerialPortEventListener接口,在串口接收到數(shù)據(jù)時,可自動響應serialEvent()函數(shù),執(zhí)行數(shù)據(jù)處理。設置波特率值為19 200,數(shù)據(jù)位8位,停止位1位,無校驗位,具體設置方法是:

/*獲取端口列表*/

Enumeration portList=CommPortIdentifier.getPortIdentifiers();

/*獲取端口ID*/

CommPortIdentifier portId=(CommPortIdentifier)portList.nextElement();

/*打開串口*/

if(portId.getPortType()==CommPortIdentifier.PORT_SERIAL)

{

SerialPort serialPort=(SerialPort)portId.open("SRComm",2000);

}

/*串口參數(shù)設置*/

serialPort.setSerialPortParams(19200,SerialPort.DATABITS_8,

SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);

2.3 視頻采集與控制

視頻監(jiān)控功能能夠使家屬更加清楚地了解患者的狀態(tài),同時為遠程床體控制提供了安全保障。采用的是Java媒體框架[3-4],它是Java的一個類包。

服務器端在接收到客戶端的視頻請求之后,需要開啟攝像頭設備。javax.media包中的CaptureDeviceManager類的getDevice( )方法可獲取VFW視頻設備。Manger類的createRealizedPlayer( )方法可獲得本地端播放器player對象,用于顯示本地監(jiān)控視頻。通過實例化的player對象可獲得FrameGrabbingControl類對象。該對象的grabFrame( )方法可實現(xiàn)對當前視頻的截取。實現(xiàn)主要代碼如下:

1)打開攝像頭并獲取視頻組件代碼:

String vfw_str = "vfw:Microsoft WDM Image Capture (Win32):0";

//獲取視頻設備

CaptureDeviceInfo

captureDeviceInfo=CaptureDeviceManager.getDevice(vfw_str );

//獲取MediaLocator對象

MediaLocator mediaLocator=captureDeviceInfo.getLocator();

//根據(jù)MediaLocator獲取播放器

Player player=Manager.createRealizedPlayer(mediaLocator);

player.start();

//獲得視頻組件

Component comp=player.getVisualComponent();

2)幀圖像抓取代碼:

//獲取畫面抓取控件

FrameGrabbingControl fgc=( FrameGrabbingControl)player.getControl("javax.media.

Control.FrameGrabbingControl");

//獲取圖像緩存并生成圖像對象

Buffer buffer=fgc.grabFrame();

BufferToImage btoi=new BufferToImage((VideoFormat)buffer.getFormat());

Image img=btoi.createImage(buffer);

客戶端的消息處理線程,會從服務器的消息對象中解析出幀圖像。由于客戶端顯示是在主線程(UI線程)中進行的[5]。為了解決Android線程間通信問題,采用了Handler消息傳遞機制。其原理是在主線程中重寫handleMessage( )方法處理消息,當有消息傳來時,該方法會從MessgeQueue中獲取消息并自動回調。而在子線程中只需要負責將要處理的消息,發(fā)送到與之關聯(lián)的MessageQueue中即可。

與此同時,需要將手機端的視頻圖像傳送到服務器,進行視頻交互。在視頻連接成功之后,手機端會調用前置攝像頭將預覽圖像顯示在SurfaceView組件上[6],主要代碼是:

surfaceHolder=surfaceView.getHolder();

surfaceHolder.addCallback(Callback);

然后攝像頭在預覽回調函數(shù)camera.setPreviewCallback( )中實現(xiàn)接口PreviewCallback并進行捕捉圖像,并將幀圖像消息傳輸至服務器端處理。主程序流程圖如圖4所示。

a 客戶端流程

b 服務器流程圖 4 客戶端與服務器程序流程圖

在點擊手機的遙控選項時,會跳轉到窗體控制按鈕頁卡如圖5,包括抬背、曲腿、翻身等按鈕。在點擊按鈕后,程序將會產生控制消息并發(fā)送,并自動返回監(jiān)控界面,保證對控制動作的實時監(jiān)視。手機傳輸?shù)膸瑘D像和控制消息都被封裝在同一類型的自定義消息對象中。根據(jù)內容的不同,通過setMessageID(String ID)方法給消息對象設置不同的屬性ID。使用Java序列化機制,消息類需要實現(xiàn)Serializable接口。將封裝好的消息對象通過ObjectOutputStream發(fā)送出去。服務器在接收數(shù)據(jù)時,通過反序列化,得到消息對象并進行消息類型判別,執(zhí)行圖像處理或是串口操作。

a 遙控 b 自動護理圖5 遙控與自動護理(截圖)

2.4 自動護理功能

為了使患者能夠得到最有效的護理,該系統(tǒng)還設置了自動護理功能。對于癱瘓患者,由于長時間臥病在床而無力變換體位,會導致運動機能的進一步喪失和引起褥瘡。傳統(tǒng)護理手段需要監(jiān)護人員長時間的守護。普通病床也不方便協(xié)助患者的姿態(tài)變換。該系統(tǒng)可方便家屬在遠程端依據(jù)患者情況,設置相應的自動護理模式。

在該界面中,每個護理動作都可以自行設定時間和開啟。在設定完成之后,點擊自動護理按鈕,應用程序調用startService( )啟動服務。Service不需用戶界面可在后臺長期運行。在服務中會保持網絡連接的通暢,依據(jù)設定的時間,定時向服務器發(fā)送控制消息,實現(xiàn)軟件的自動護理功能。普通的Service不是一條新的線程,如果處理耗時的任務,會阻塞主線程產生ANR異常。因此該服務繼承了IntentService,會單獨創(chuàng)建worker線程,并將定時操作在onHandleIntent( )方法中運行。為了保證護理可靠性,在每次自動護理動作的同時,都會在客戶端實現(xiàn)提醒功能。當點擊停止自動護理時,則會關閉此服務。

2.5 遠程訪問與控制實現(xiàn)

系統(tǒng)采用C/S結構,實現(xiàn)網絡訪問。Internet依靠TCP/IP協(xié)議,可以使任意兩臺計算機實現(xiàn)互聯(lián)。TCP協(xié)議是一種“可靠的”,面向連接的傳輸機制,保證數(shù)據(jù)的無損和有序送達[7]。服務器/客戶端模式在局域網中容易實現(xiàn)。在局域網中可以固定服務器的IP地址??蛻舳酥苯釉L問該IP就可實現(xiàn)通信連接。在本系統(tǒng)中,服務器位于家庭環(huán)境中的內網,無法獲取固定的公網IP地址。智能手機在不同的網絡環(huán)境下,其IP地址也是會隨時改變的。因此,無法采用局域網訪問方式。

網絡訪問采用內網代理服務器。在內網代理的服務器中,實現(xiàn)端口映射的功能[7]。將家庭內網主機即服務器的5221端口申請一個域名:15*********.xicp.net,外網訪問端口號為:4***8。內網代理服務器會將本地服務器動態(tài)的IP地址及端口號映射到該固定的域名上??蛻舳嗽诿看蔚顷憰r如圖6,就可直接訪問該域名以及外網端口號,就可解析至非固定IP的服務器上,實現(xiàn)訪問功能。本系統(tǒng)采用Socket機制,Android中進行Socket編程與Java程序中一致[8]。服務器端程序在初始化后,就持續(xù)監(jiān)聽5221端口:Socket Server_sock=new ServerSocket(5221);??蛻舳嗽邳c擊連接之后,執(zhí)行的訪問代碼是:Socket Client_sock =new Socket("15*********.xicp.net",4***8);當服務套接字創(chuàng)建成功時,客戶端和服務器端就可以實現(xiàn)雙向通信。

圖6 登錄信息界面(截圖)

3 系統(tǒng)測試與分析

服務器端程序開啟運行之后,手機客戶端在無線網絡環(huán)境下登錄成功,即可實現(xiàn)對服務器端的訪問。通過反復測試,系統(tǒng)的視頻交互流暢,延時性很低。護理操作功能穩(wěn)定,能夠實現(xiàn)對病患的各種護理。自動護理服務后臺運行可靠,能夠保證按照監(jiān)護人的設定,實現(xiàn)無人自動護理,如圖7所示。

4 結語

本文從遠程醫(yī)療的社會需求與智能家居的發(fā)展趨勢出發(fā),借助多功能服務機器人的平臺,提出了利用智能手機實現(xiàn)遠程監(jiān)護患者的新型實用監(jiān)護系統(tǒng)。通過視頻監(jiān)控、遠程控制、自動護理等功能,擺脫了傳統(tǒng)護理的局限性,使家屬和醫(yī)護人員能夠更加方便的照料患者。隨著智能設備的普及以及無線網絡的發(fā)展,遠程醫(yī)療及家庭護理將會迎來廣闊的市場前景。

a 服務器端效果圖

b 客戶端效果圖圖7 系統(tǒng)運行效果(截圖)

[1] 賈振堂,呂海蓮,韓艷芳.手機視頻監(jiān)控系統(tǒng)及其性能[J].電視技術,2007,31(11):81-83.

[2] 吳金鋒,劉偉平,黃紅斌.Java串口通信數(shù)據(jù)采控系統(tǒng)的設計與實現(xiàn)[J]. 微計算機信息,2010(10):65-66.

[3] 趙瑩,陸穎瑜,張永林. 基于Java的視頻監(jiān)控系統(tǒng)中報警錄像功能的實現(xiàn)[J]. 計算機工程與設計,2008,29(17):4574-4577.

[4] 閻秀英,周亞建,胡正名.基于Java的網絡實時遠程監(jiān)控系統(tǒng)設計[J]. 計算機工程,2009,35(5):74-75.

[5] BARTLOMIEJ B,DARIUSZ M,BOZENA M M. Remote video verification and video surveillance on android-based mobile devices[C]//Proc. 3rd International Conference on Man-Machine Interactions (ICMMI).Brenna,Poland:Springer,2014:547-557.

[6] 張雅楠,楊璐,鄭麗敏. 基于Android手機的遠程視頻監(jiān)控系統(tǒng)的設計與開發(fā)[J]. 計算機應用,2013,33(S1):283-286.

[7] 張建偉. 網絡地址轉換技術與網絡安全[J].計算機應用研究,2001(2):123-125.

[8] 王家林. Android4.0網絡編程詳解[M].北京:電子工業(yè)出版社,2012.

【本文獻信息】王寶珠,劉振,郭志濤.基于Android智能的健康監(jiān)測系統(tǒng)設計與實現(xiàn)[J].電視技術,2015,39(24).

Design of Smart Phone-Based Monitoring and Control System for Service Robot

SUN Zhenbang,JIA Jianping,LIU Jizhong,HUA Jing,ZHENG Entao

(KeyLaboratoryonRobotandWeldingAutomation,NanchangUniversity,Nanchang330031,China)

The patients who mainly consist of elderly and paralyzed people lose their self-care ability gradually and completely. This lead to the problem of long-term daily care for the groups becoming worse. In order to alleviate the serious situation of this issue, develop the medical care system based on family and popularization that can meet the demand of current society. On the basis of self-developed multifunctional service robot, develop the system of mobile monitor and control relaying on smart phone platform. Introduce the electromechanical system of service robot and hardware design of control board. Then serial communication and video interaction by Java Media Framework are described in detail. Through network address translation, system can realize remote monitoring and remote nursing the patient in home anytime from everywhere. Test results show that the system is reliable, and has high practicability.

daily care;service robot;remote monitoring;remote nursing

國家自然科學基金項目(61273282);江西省高等學??萍悸涞赜媱濏椖?KJLD13002)

TP24;TP37;TP393

A

10.16280/j.videoe.2015.24.006

2015-07-10

【本文獻信息】孫振邦,賈劍平,劉繼忠,等.基于智能手機的服務機器人監(jiān)護控制系統(tǒng)設計[J].電視技術,2015,39(24).

孫振邦(1990— ),碩士生,主要研究方向為機器人技術與智能化。

責任編輯:時 雯

猜你喜歡
服務器端串口端口
一種端口故障的解決方案
淺談AB PLC串口跟RFID傳感器的通訊應用
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設計
淺析異步通信層的架構在ASP.NET 程序中的應用
端口阻塞與優(yōu)先級
基于Qt的安全即時通訊軟件服務器端設計
數(shù)字電源內部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽崿F(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
基于C/S架構的嵌入式監(jiān)控組態(tài)外設擴展機制研究與應用