《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android智能終端的遠程控制系統
基于Android智能終端的遠程控制系統
來源:電子技術應用2012年第8期
江燕良
西南交通大學 信息科學與技術學院, 四川 成都610031
摘要: 提出了基于Android 手機的遠程控制系統設計方案,該系統基于Openmobster開源手機云計算平臺。介紹了整個系統結構框架,詳細分析了各個模塊的具體實現。通過應用實例在設備上進行了測試,實現了云服務器端對Android智能手機終端的訪問和遠程控制。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2012)08-0129-04
Remote control system based on Android intelligent terminal
Jiang Yanliang
School of Information Science & Technology, Southwest Jiao tong University, Chengdu 610031, China
Abstract: Remote control system based on Android mobile phone which is based on open source mobile phone cloud computing platform, Openmobster proposed. We introduce the framework of the overall system structure and then have a detailed analysis of specific implementation for each module. The cloud server-side access and remote control to the Android smart phone have been achieved by the development of specific instance and fully test on equipment.
Key words : cloud computing; Openmobster; android;remote control

    隨著移動互聯網的快速發展,云計算在移動平臺的應用引發了一場變革。在移動領域的云計算(移動云計算)是利用云計算技術解決移動終端的存儲和數據處理等問題,幫助用戶擺脫硬件設備、存儲設備、應用程序等條件的限制,實現將移動終端應用的“計算”從終端轉移到服務器端, 從而弱化了對移動終端設備的處理要求[1]。Openmobster是一個開源的集成了手機應用的云服務平臺,具有開發手機同步應用、開發推送應用、開發離線手機應用、應用開發框架、移動云服務的服務器端開發框架和管理控制臺等特征。其目的是讓應用開發人員省掉開發底層同步及消息通知中間件的工作,只需將注意力集中于更好地實現業務需求上。

    本文介紹了一種基于Android智能終端的遠程控制系統,在系統中Android手機利用周圍的無線網絡資源,與云端服務器自發交互,如遠程下發通知、遠程設置密碼、遠程GPS定位、遠程數據同步等操作。通過該系統使云計算真正“落地”,實實在在地為手機提供服務。
1 Openmobster平臺的概述
1.1 Openmobster對應用的支持

    (1)數據同步
    無需任何特定的設備間的同步程序,即可支持云端和終端間數據的自動同步。允許應用工作于在線或離線模式,一旦檢測到終端數據狀態變更,立即發起對云端的自動數據同步。
    (2)實時推送通知消息
    云端的狀態變更可以通過實時消息推送通知到終端,該推送機制使用基于網絡Socket的方式,而不是發送短消息或電郵的方式。
    (3)移動遠程調用(Mobile RPC)
    提供了一種訪問云端服務的方式,無需復雜的網絡底層編碼(http編碼)即可通過RPC API接口進行調用。
    (4)管理控制臺
    提供了一個管理控制臺用于對云端服務器進行管理(含安全認證、賬號設置等)。
1.2 Openmobster平臺的架構
    (1)網絡拓撲結構
    Openmobster平臺的網絡拓撲結構如圖1所示[2]。

    (2)終端軟件堆棧結構
    Openmobster平臺的終端軟件堆棧結構如圖2所示。主要包含以下模塊:
    同步模塊:自動將所有本地狀態變更與云端數據保持同步。
    推送模塊:管理來自云端服務器的狀態更新通知,從而改善了用戶體驗,使其不必主動查詢新的通知。
    離線應用模塊:用于Sync模塊和Push模塊之間的管理協調,用戶可不必關注任何實際同步流程的細節,也不必關注如何處理收到的推送通知消息。
    遠程調用:支持從終端到云端MobileServiceBean的同步遠程調用。
    網絡連接:管理云端服務器建立的網絡連接,管理接收來自服務器通知的通信頻道。
    Inter-App總線:提供了安裝在設備上的Apps/Moblets底層通信協調。
    (3)云端軟件堆棧結構
    云端軟件堆棧結構主要包含以下模塊:
    ①同步模塊:同步設備側數據狀態變化到后端服務,這里使用了數據頻道的概念。
    ②推送模塊:監視數據頻道的更新,一旦發現數據有更新,將發送基于Comet的通知到終端。
    ③安全模塊:提供了身份驗證和鑒權,以確保連接至服務器的終端得到許可。
    ④Secure Socket-Based Data Service:這是一個高性能的基于Java NIO的Socket服務器。
    ⑤Mobile RPC:服務器端的RPC框架。
    ⑥Management Console:管理控制臺。
2 系統總體設計
    系統的總體設計思路是將Openmobster的Jboss服務器部署在一臺PC上,負責提供底層服務并與用戶的Android 手機進行通信。將Openmobster平臺的客戶端CloudManager安裝在手機上,提供管理界面,如用戶登錄、設備激活、推送通知、數據同步、查看網絡連接狀態等??梢娺@是一個C/S架構的系統,其中PC作為服務器,Android 手機作為客戶端。
    在該系統中,PC首先連接到網絡并獲取IP地址,然后將Openmobster的服務器根據此IP地址部署在PC上。Android手機通過打開WiFi連接到此網絡,根據部署服務器的IP地址登錄并激活手機客戶端。用戶便可以通過自己設計的網頁界面下發控制命令到手機終端,JSP模塊獲取并封裝這些命令字段后下發給云服務器端。CloudServer模塊根據 Openmobster平臺提供的一系列接口和通道,將這些命令最終下發給手機終端并執行相應的操作。系統的總體結構如圖3 所示。

    圖3所示結構圖主要涉及以下功能模塊:
    (1)Jboss服務器:Openmobster的服務器均采用Jboss來搭建服務器。
    (2)JSP代碼:網頁界面下發的命令字段通過JSP代碼封裝并下發至云服務器端的工程。
    (3)網頁:由于Openmobster只有控制臺沒有自己的網站,操作起來極其不便。因此在本文中設計了一個網頁界面,實現與用戶的交互。
    (4)HSQLDB數據庫:建立一個數據庫,方便用戶數據的存儲和讀取。
    (5)Hibernate:建立與數據庫的映射關系,方便用戶查看所需要的數據。
    (6)Openmobster:為手機云應用的開發提供基本的支持。
    (7)Android:手機終端應用開發。
    (8)CloudManager:安裝在手機上的客戶端。
3 系統的具體實現
3.1搭建開發環境

    (1)云服務器端
   由于Openmobster平臺運行于Jboss服務器上,所以先搭建Jboss服務器,下載Jboss軟件并進行相關配置使得Jboss主頁能夠訪問。然后對所使用的數據庫預先進行配置,并將數據庫中的Openmobster目錄拷入server下。具體步驟如下:
    首先打開Windows控制臺,進入到$JBOSS\bin目錄下,運行:
    Run -c openmobster -b “IP address”以啟動JBoss服務器。
    然后在瀏覽器中運行http://{IP address }:{port}/o確認服務器已正常啟動。
    使用管理控制臺,進入$Openmobster \cloudConsole\bin目錄下,運行以下腳本:openmobster.sh或openmobster.bat啟動控制臺。
    如果是第一次運行,使用如下命令配置root賬號:
    configure -a {cloudServer IP Address} -po 1502 -u root -p { password }
    然后以root賬戶登錄:
    startadmin -u root -p { password }
    最后配置其他普通用戶賬號:
    register -u {email of the user being registered} -p { password }
  (2)手機終端:
    手機終端也需要安裝相應的Openmobster的服務模塊,該服務模塊需要開機自啟動。
    將CloudManager app模塊安裝到手機,然后啟動該應用,選擇“Activate”菜單,按提示逐步輸入云端服務器IP地址,用戶注冊帳號及密碼等實現登錄。
3.2 云服務器端的開發
    (1)實現一個MobileBean類型,并添加getXXX()、setXXX()方法。MobileBean封裝了用于和服務器端同步的域級信息。通過服務器上的頻道傳播到手機終端。
    (2)實現一個Channel類型,需要首先實現CRUD(Create, Read, Update, Delete)接口來暴露后端數據。Create用于創建一個MobileBean的新實例,當設備側檢查到一個新的實例并同步回云端,返回單獨的id值。Read用于返回對應id完整加載的MobileBean。另外還有一個readAll()方法用于返回所有相關的MobileBean。
    (3)實現bootup()方法,該方法用于返回使程序正常啟動所需的足夠信息 (beans),一般在頻道第一次啟動時調用。
     public List<? extends MobileBean> bootup()
     {
     List<DemoBean>bootupBeans=new ArrayList<DemoBean>();
     DemoBean Bean = new DemoBean ();
  bootupBeans.add(syncBean);
     return bootupBeans;
     }
     實現scanForNew方法,該方法用于檢查頻道所連接的后端是否已經創建了一個新的MobileBean,基于此,將返回新的bean的id或null。如果這些新的bean可用,信息將被自動同步并通知給用戶。
      public String[ ] scanForNew(Device device, Date lastScanTimestamp)
      {
        return new String[]{"push:1", "push:2"};
     }
     (4)聲明相關的MobileServiceBean,實現其invoke方法:
    List<EmailBean> mockBeans = EmailBean.generateMockBeans();
     List<String> subjects = new ArrayList<String>();
     for(EmailBean local:mockBeans)
     {
     subjects.add("id="+local.getOid()+":subject="+local.getSubject());
    } response.setListAttribute("subjects", subjects);
     (5)在openmobster-config.xml 中注冊該頻道。
  <bean name="demobean" class="com.demo.sync.DemoBeanChannel">
3.3 Android手機終端的開發
    (1)編寫HomeScreen。HomeScreen組件代表了Android
app啟動時的屏幕主界面。其postRender()方法的實現如下:。
    if(MobileBean.isBooted("demobean"))
    {
    MobileBean[]demobeans=MobileBean.readAll("demobean");
     String[] ui = new String[demobeans.length];
     for(int i=0,size=ui.length;i<size;i++)
      {
      ui[i] = demobeans [i].getValue("message");
      }
    listApp.setListAdapter(new ArrayAdapter(listApp,
  android.R.layout.simple_list_item_1, ui));
  }
        (2)在moblet-app.xml 進行配置。
    <screen>com.demo.app.HomeScreen</screen>
3.4 系統的總體設計流程
    整個系統的總體設計流程如圖4所示。具體設計步驟如下:

    (1)用戶通過瀏覽器打開自己設計的網頁,選取需要下發的控制命令,然后輸入已經在服務器上配置好的賬號和密碼,點擊&ldquo;確定&rdquo;后調用JSP代碼:
    <form action="action.jsp" method="post" name="form1" id="form1">
    (2)JSP執行過程為將網頁請求request封裝的各功能選項字段取出并封裝。
    (3)CloudServer中定義的DemoChannel會定期調用scanForNew并對上面的字段進行檢查,一旦發現有新數據,即通過read()接口取出該數據,將其封裝到DemoBean對象中,并通過OpenMobster下發推送通知到終端。
    (4)終端的后臺服務Service同樣建立了對應云端
DemoChannel的接口,一旦收到頻道的下發通知,即通過發送Intent的方式啟動一個Activity,在啟動過程中可以通過MobileBean.read(channelUri,userName)接口讀出對應賬號名和通道下發MobileBean,通過MobileBean.getValue接口獲得下發通知中的各功能命令字段。
    (5)通過對上述各命令字段的含義解析,獲取字段的值,并進入等待隊列。如果手機上的客戶端已經被用戶登錄并激活,將調用Android平臺提供的各個功能接口,完成下發的控制命令操作[3]。
 (6)如果下發的命令字段中要求將手機中的數據上傳到服務器時,通過類似下發的逆過程,相應地建立上傳的通道,將數據上傳到服務器側。如果用戶有需要,還可以將這些數據展示在網頁界面上。
4 實現結果
    系統采用了C/S模式的架構進行實現,服務器與客戶端通過Socket 進行網絡通信。在PC 端Openmobster的實現中,采用了基于HTTP長連接的&ldquo;服務器推送&rdquo;技術,通過長連接,服務器隨時發送Push通知;服務器采用移動App框架結構,手機的客戶端做成一個可開機自啟動的apk,該手機只要接入網絡而且被激活,會在后臺一直運行等待用戶發送命令。該系統可實現遠程追蹤、遠程擦除、遠程鎖定、遠程同步、遠程推送、遠程過程調用等功能[4],實現環境為Eclipse。Android 手機端的激活與遠程下發和鎖定過程如圖5所示。

 

 

    經過在Android高通平臺手機上反復測試,手機連接Server 的時間小于3 s,遠端Server對手機控制命令的響應時間小于5 s,基本完成了云服務器對智能手機終端的訪問和控制功能。但是在測試過程中發現Openmobster平臺設計的數據同步算法還不完善,如在本地進行的新增、修改、刪除記錄的操作時,如果沒來得及同步到服務器側,會因為重新同步數據操作而丟失,造成用戶使用不便,有待于今后深入研究和探討。
參考文獻
[1] 王鵬,董靜宜.一種云計算架構的實現方法研究[J].計算機工程與科學,2009,31(1):11-13.
[2] ABI Research. Mobile cloud applications[EB/OL].(2010-03-09)[2011-02-20].http://www.abiresearch.com/research/1003385-Mobile+Cloud+Applications.
[3] 楊文志.Google Android程序設計指南[M].北京:電子工業出版社,2009.
[4] 韓超,梁泉.Android系統原理及開發要點詳解[M].北京:電子工業出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          日韩网站在线观看| 欧美精品久久一区二区| 亚洲国产精品日韩| 亚洲美女啪啪| 国产亚洲视频在线| 国产精品嫩草影院av蜜臀| 合欧美一区二区三区| 国产精品久久婷婷六月丁香| 亚洲国产mv| 国产农村妇女毛片精品久久麻豆| 国产日韩一区二区三区在线播放| 免费观看国产成人| 玖玖在线精品| 亚洲精品日韩精品| 欧美激情一区二区三区蜜桃视频| 欧美在线看片a免费观看| 国产视频丨精品|在线观看| 欧美国产另类| 亚洲国产精品一区二区尤物区| 美女日韩欧美| 亚洲国产精品悠悠久久琪琪| 欧美成人激情在线| 欧美日韩国产999| 国产精品第三页| 这里只有精品在线播放| 欧美ab在线视频| 亚洲第一区中文99精品| 午夜视频一区在线观看| 亚洲欧洲美洲综合色网| 欧美日韩国产在线播放| 在线成人免费观看| aa日韩免费精品视频一| 久久人人爽人人| 国产欧美精品日韩区二区麻豆天美| 樱桃国产成人精品视频| 一区二区日韩精品| 国产精品成人免费| 在线精品亚洲一区二区| 精品51国产黑色丝袜高跟鞋| 国产亚洲欧美另类中文| 一区二区三区在线免费播放| 欧美专区在线播放| 欧美国产高潮xxxx1819| 另类综合日韩欧美亚洲| 国产综合久久久久久鬼色| 午夜精品久久久久| 激情国产一区| 制服丝袜激情欧洲亚洲| 国产精品综合av一区二区国产馆| 亚洲一二三区在线观看| 欧美激情亚洲自拍| 国产日本欧美一区二区三区在线| 久久成人18免费网站| 国产一区二区你懂的| 亚洲视频一区在线观看| 一区二区三区视频在线看| 亚洲精品乱码久久久久久久久| 久久人人97超碰精品888| 欧美一区二区三区免费观看视频| 国内精品久久久久久影视8| 欧美一区二区三区喷汁尤物| 国内精品久久久久久久97牛牛| 免费一级欧美片在线观看| 国产一区二区三区成人欧美日韩在线观看| 久久精品成人| 最新中文字幕一区二区三区| 另类图片综合电影| 国产日韩欧美高清免费| 亚洲影视综合| 欧美亚洲成人网| 亚洲综合大片69999| 亚洲国产成人精品久久久国产成人一区| 亚洲国内精品在线| 美女啪啪无遮挡免费久久网站| 国产精品久久久久aaaa九色| 亚洲国产视频一区二区| 噜噜爱69成人精品| 欧美精品电影在线| 亚洲激情二区| 另类图片综合电影| 欧美日韩亚洲在线| 欧美亚洲日本国产| 欧美色播在线播放| 欧美综合国产精品久久丁香| 老司机精品福利视频| 国产欧美在线看| 影音先锋久久资源网| 欧美伦理a级免费电影| 欧美性大战xxxxx久久久| 欧美日韩网站| 亚洲精品一区在线| 欧美国产在线电影| 国产精品网红福利| 国产精品视频一二| 国产日韩欧美一区二区| 先锋影音久久久| 亚洲美女色禁图| 久久久另类综合| 久久成人这里只有精品| 久久久久久亚洲精品杨幂换脸| 国产精品免费一区二区三区在线观看| 欧美三日本三级少妇三2023| 免费高清在线一区| 国产伊人精品| 久久亚洲一区二区三区四区| 国产一区二区毛片| 欧美日韩一区视频| 国产日本欧美一区二区三区在线| **网站欧美大片在线观看| 亚洲欧美大片| 欧美日韩亚洲激情| 亚洲人午夜精品免费| 老司机成人网| 欧美二区在线| 最新高清无码专区| 欧美激情第一页xxx| 99re视频这里只有精品| 亚洲第一天堂无码专区| 猛男gaygay欧美视频| 亚洲国产精品精华液网站| 欧美精品日韩精品| 欧美色欧美亚洲高清在线视频| 欧美午夜电影一区| 久久男人资源视频| 很黄很黄激情成人| 亚洲欧美日韩网| 亚洲精品欧美日韩专区| 久久这里只有精品视频首页| 亚洲破处大片| 欧美一区二区三区在线看| 一本一本久久a久久精品综合麻豆| 在线日本成人| 久久综合精品国产一区二区三区| 亚洲欧美日韩精品久久亚洲区| 亚洲二区在线视频| 亚洲欧美国产精品专区久久| 国产精品视频精品视频| 亚洲一区免费| 日韩一级黄色大片| 亚洲激情第一区| 欧美在线视频观看免费网站| 亚洲国产婷婷综合在线精品| 国产精品一卡二卡| 一区二区国产日产| 久久久久网址| 激情综合网激情| 亚洲电影专区| 欧美一区二区三区日韩| 亚洲高清视频的网址| 影音先锋在线一区| 亚洲电影免费观看高清完整版在线观看| 美女爽到呻吟久久久久| 欧美日韩一区在线观看| 欧美三日本三级少妇三2023| 久久精彩免费视频| 在线免费观看一区二区三区| 国产精品av免费在线观看| 亚洲精品中文字幕在线| 麻豆精品精华液| 欧美在线综合视频| 日韩亚洲欧美成人一区| 99re热这里只有精品视频| 久久久久国产精品一区| 亚洲视频一起| 欧美诱惑福利视频| 久久中文字幕一区二区三区| 欧美性片在线观看| 在线视频你懂得一区| 午夜精品剧场| 国产九九视频一区二区三区| 国产乱码精品| 午夜伦欧美伦电影理论片| 亚洲激情av在线| 欧美日韩亚洲三区| 亚洲影院色在线观看免费| 欧美午夜精品理论片a级按摩| 亚洲精品九九| 亚洲国产精品美女| 国产精品初高中精品久久| 久久婷婷亚洲| 国产精品一区二区三区成人| 国产精品不卡在线| 久久精品人人做人人爽| 亚洲男人的天堂在线| 午夜精品久久久久久99热软件| 欧美jizzhd精品欧美喷水| 免费成年人欧美视频| 欧美wwwwww| 欧美日本高清| 久久九九久精品国产免费直播| 香蕉久久夜色精品国产使用方法| 国产精品高潮呻吟久久av无限| 亚洲性线免费观看视频成熟| 欧美ed2k| 亚洲久色影视| 夜夜嗨av色一区二区不卡| 国产亚洲精品久久久久婷婷瑜伽| 欧美成人免费视频| 另类图片国产| 久久精品国产视频| 国产女主播一区二区| 国产美女精品人人做人人爽| 日韩天天综合| 国产欧美一区二区三区国产幕精品| 久久久无码精品亚洲日韩按摩| 国产精品久久激情| 亚洲欧美国产高清va在线播| 久久免费高清| 国语自产在线不卡| 亚洲经典一区| 久久久久久久精| 校园春色国产精品| 欧美一区二区视频在线观看2020| 国产亚洲人成a一在线v站| 在线视频日韩| 国产精品久久久久影院色老大| 亚洲欧美激情在线视频| 日韩西西人体444www| 性色一区二区| 国产亚洲精品bv在线观看| 久久综合九色综合欧美狠狠| 久久久久久一区二区| 欧美区一区二区三区| 美日韩免费视频| 在线看片日韩| 狠狠色综合色综合网络| 狠狠色综合网站久久久久久久| 伊人精品久久久久7777| 亚洲性感激情| 欧美日韩三级在线| 午夜在线电影亚洲一区| 欧美日韩精品一区二区在线播放| 欧美视频官网| 国产精品私拍pans大尺度在线| 久久免费视频网站| 欧美大学生性色视频| 欧美一级二级三级蜜桃| 亚洲性感激情| 久久亚洲精品网站| 国产精品成人免费精品自在线观看| 国产精品日日摸夜夜摸av| 国产欧美一级| 美女主播精品视频一二三四| 亚洲电影毛片| 欧美成人精品在线| 午夜亚洲性色福利视频| 一本色道久久综合亚洲精品婷婷| 国产在线观看91精品一区| 久久精品视频99| 亚洲乱码国产乱码精品精可以看| 亚洲高清视频一区| 美女视频黄a大片欧美| 一区二区精品在线| 欧美日本在线播放| 国产精品羞羞答答| 美女被久久久| 老司机凹凸av亚洲导航| 精品动漫3d一区二区三区免费版| 一区二区激情视频| 国产精品视频福利| 欧美一区二区久久久| 一区在线免费观看| 欧美精品首页| 欧美 日韩 国产 一区| 最新亚洲视频| 久久婷婷久久| 国产精品一区二区欧美| 久久综合九色综合网站| 欧美一区成人| 狠狠色狠狠色综合日日tαg| 国产原创一区二区| 欧美高清视频在线观看| 精品1区2区| 欧美日韩一级视频| 国产精品手机视频| 美腿丝袜亚洲色图| 国产精品不卡在线| 老司机精品福利视频| 久久精品一区二区三区四区| 欧美亚洲尤物久久| 国产精品女人毛片| 久久久久久亚洲精品不卡4k岛国| 欧美精品在线免费播放| 麻豆乱码国产一区二区三区| 国产精品夫妻自拍| 午夜精品免费在线| 中文在线资源观看网站视频免费不卡| 欧美成人精品在线播放| 欧美午夜激情小视频| 欧美一级在线视频| 国产精品白丝av嫩草影院| 亚洲国产成人久久综合| 欧美精品在线网站| 久久阴道视频| 国产精品v日韩精品v欧美精品网站| 亚洲精品一区二区三区av| 亚洲精品在线一区二区| 欧美一区激情视频在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲视频成人| 欧美午夜精品| 中日韩美女免费视频网站在线观看| 欧美日韩dvd在线观看| 一本到12不卡视频在线dvd| 久久久久久久欧美精品| 欧美h视频在线| 在线观看国产日韩| 国产精品日日做人人爱| 亚洲精品资源美女情侣酒店| 亚洲国内欧美| 亚洲综合精品自拍| 最新成人av网站| 国产精品久久久久久久久久尿| 欧美va亚洲va香蕉在线| 欧美激情国产日韩| 亚洲视频欧美在线| 蜜桃av综合| 亚洲国产欧美一区| 很黄很黄激情成人| 欧美激情一区二区三级高清视频| 国内久久视频| 亚洲自拍偷拍福利| 亚洲欧美影院| 欧美激情无毛| 日韩亚洲欧美一区二区三区| 欧美精品18| 久久人人看视频| 欧美日韩午夜视频在线观看|