www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件

摘 要: 提出了基于Android 手機(jī)的遠(yuǎn)程控制系統(tǒng)設(shè)計方案,該系統(tǒng)基于Openmobster開源手機(jī)云計算平臺。介紹了整個系統(tǒng)結(jié)構(gòu)框架,詳細(xì)分析了各個模塊的具體實現(xiàn)。通過應(yīng)用實例在設(shè)備上進(jìn)行了測試,實現(xiàn)了云服務(wù)器端對Android智能手機(jī)終端的訪問和遠(yuǎn)程控制。
關(guān)鍵詞: 云計算; Openmobster; Android; 遠(yuǎn)程控制

隨著移動互聯(lián)網(wǎng)的快速發(fā)展,云計算在移動平臺的應(yīng)用引發(fā)了一場變革。在移動領(lǐng)域的云計算(移動云計算)是利用云計算技術(shù)解決移動終端的存儲和數(shù)據(jù)處理等問題,幫助用戶擺脫硬件設(shè)備、存儲設(shè)備、應(yīng)用程序等條件的限制,實現(xiàn)將移動終端應(yīng)用的“計算”從終端轉(zhuǎn)移到服務(wù)器端, 從而弱化了對移動終端設(shè)備的處理要求[1]。Openmobster是一個開源的集成了手機(jī)應(yīng)用的云服務(wù)平臺,具有開發(fā)手機(jī)同步應(yīng)用、開發(fā)推送應(yīng)用、開發(fā)離線手機(jī)應(yīng)用、應(yīng)用開發(fā)框架、移動云服務(wù)的服務(wù)器端開發(fā)框架和管理控制臺等特征。其目的是讓應(yīng)用開發(fā)人員省掉開發(fā)底層同步及消息通知中間件的工作,只需將注意力集中于更好地實現(xiàn)業(yè)務(wù)需求上。
本文介紹了一種基于Android智能終端的遠(yuǎn)程控制系統(tǒng),在系統(tǒng)中Android手機(jī)利用周圍的無線網(wǎng)絡(luò)資源,與云端服務(wù)器自發(fā)交互,如遠(yuǎn)程下發(fā)通知、遠(yuǎn)程設(shè)置密碼、遠(yuǎn)程GPS定位、遠(yuǎn)程數(shù)據(jù)同步等操作。通過該系統(tǒng)使云計算真正“落地”,實實在在地為手機(jī)提供服務(wù)。
1 Openmobster平臺的概述
1.1 Openmobster對應(yīng)用的支持
(1)數(shù)據(jù)同步
無需任何特定的設(shè)備間的同步程序,即可支持云端和終端間數(shù)據(jù)的自動同步。允許應(yīng)用工作于在線或離線模式,一旦檢測到終端數(shù)據(jù)狀態(tài)變更,立即發(fā)起對云端的自動數(shù)據(jù)同步。
(2)實時推送通知消息
云端的狀態(tài)變更可以通過實時消息推送通知到終端,該推送機(jī)制使用基于網(wǎng)絡(luò)Socket的方式,而不是發(fā)送短消息或電郵的方式。
(3)移動遠(yuǎn)程調(diào)用(Mobile RPC)
提供了一種訪問云端服務(wù)的方式,無需復(fù)雜的網(wǎng)絡(luò)底層編碼(http編碼)即可通過RPC API接口進(jìn)行調(diào)用。
(4)管理控制臺
提供了一個管理控制臺用于對云端服務(wù)器進(jìn)行管理(含安全認(rèn)證、賬號設(shè)置等)。
1.2 Openmobster平臺的架構(gòu)
(1)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
Openmobster平臺的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示[2]。

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

圖3所示結(jié)構(gòu)圖主要涉及以下功能模塊:
(1)Jboss服務(wù)器:Openmobster的服務(wù)器均采用Jboss來搭建服務(wù)器。
(2)JSP代碼:網(wǎng)頁界面下發(fā)的命令字段通過JSP代碼封裝并下發(fā)至云服務(wù)器端的工程。
(3)網(wǎng)頁:由于Openmobster只有控制臺沒有自己的網(wǎng)站,操作起來極其不便。因此在本文中設(shè)計了一個網(wǎng)頁界面,實現(xiàn)與用戶的交互。
(4)HSQLDB數(shù)據(jù)庫:建立一個數(shù)據(jù)庫,方便用戶數(shù)據(jù)的存儲和讀取。
(5)Hibernate:建立與數(shù)據(jù)庫的映射關(guān)系,方便用戶查看所需要的數(shù)據(jù)。
(6)Openmobster:為手機(jī)云應(yīng)用的開發(fā)提供基本的支持。
(7)Android:手機(jī)終端應(yīng)用開發(fā)。
(8)CloudManager:安裝在手機(jī)上的客戶端。
3 系統(tǒng)的具體實現(xiàn)
3.1搭建開發(fā)環(huán)境
(1)云服務(wù)器端
由于Openmobster平臺運行于Jboss服務(wù)器上,所以先搭建Jboss服務(wù)器,下載Jboss軟件并進(jìn)行相關(guān)配置使得Jboss主頁能夠訪問。然后對所使用的數(shù)據(jù)庫預(yù)先進(jìn)行配置,并將數(shù)據(jù)庫中的Openmobster目錄拷入server下。具體步驟如下:
首先打開Windows控制臺,進(jìn)入到$JBOSSbin目錄下,運行:
Run -c openmobster -b “IP address”以啟動JBoss服務(wù)器。
然后在瀏覽器中運行http://{IP address }:{port}/o確認(rèn)服務(wù)器已正常啟動。
使用管理控制臺,進(jìn)入$Openmobster cloudConsolebin目錄下,運行以下腳本: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)手機(jī)終端:
手機(jī)終端也需要安裝相應(yīng)的Openmobster的服務(wù)模塊,該服務(wù)模塊需要開機(jī)自啟動。
將CloudManager app模塊安裝到手機(jī),然后啟動該應(yīng)用,選擇“Activate”菜單,按提示逐步輸入云端服務(wù)器IP地址,用戶注冊帳號及密碼等實現(xiàn)登錄。
3.2 云服務(wù)器端的開發(fā)
(1)實現(xiàn)一個MobileBean類型,并添加getXXX()、setXXX()方法。MobileBean封裝了用于和服務(wù)器端同步的域級信息。通過服務(wù)器上的頻道傳播到手機(jī)終端。
(2)實現(xiàn)一個Channel類型,需要首先實現(xiàn)CRUD(Create, Read, Update, Delete)接口來暴露后端數(shù)據(jù)。Create用于創(chuàng)建一個MobileBean的新實例,當(dāng)設(shè)備側(cè)檢查到一個新的實例并同步回云端,返回單獨的id值。Read用于返回對應(yīng)id完整加載的MobileBean。另外還有一個readAll()方法用于返回所有相關(guān)的MobileBean。
(3)實現(xiàn)bootup()方法,該方法用于返回使程序正常啟動所需的足夠信息 (beans),一般在頻道第一次啟動時調(diào)用。
  public List<? extends MobileBean> bootup()
  {
  List<DemoBean>bootupBeans=new ArrayList<DemoBean>();
  DemoBean Bean = new DemoBean ();
  bootupBeans.add(syncBean);
  return bootupBeans;
  }
  實現(xiàn)scanForNew方法,該方法用于檢查頻道所連接的后端是否已經(jīng)創(chuàng)建了一個新的MobileBean,基于此,將返回新的bean的id或null。如果這些新的bean可用,信息將被自動同步并通知給用戶。
   public String[ ] scanForNew(Device device, Date lastScanTimestamp)
   {
return new String[]{"push:1", "push:2"};
  }
  (4)聲明相關(guān)的MobileServiceBean,實現(xiàn)其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手機(jī)終端的開發(fā)
(1)編寫HomeScreen。HomeScreen組件代表了Android
app啟動時的屏幕主界面。其postRender()方法的實現(xiàn)如下:。
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 進(jìn)行配置。
<screen>com.demo.app.HomeScreen</screen>
3.4 系統(tǒng)的總體設(shè)計流程
整個系統(tǒng)的總體設(shè)計流程如圖4所示。具體設(shè)計步驟如下:

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

北京2025年8月13日 /美通社/ -- 近日,搭載兆芯開先KX-7000高性能處理器的希沃華騰新一代計算終端產(chǎn)品應(yīng)運而生,憑借應(yīng)用數(shù)據(jù)互通、輕松批量部署、自有備授課軟件等特色,為教學(xué)教研等工作的高效開展提供有力支撐和...

關(guān)鍵字: 終端 AI 數(shù)字化 通用處理器

在智能制造和物流自動化領(lǐng)域,AGV(Automated Guided Vehicle,自動導(dǎo)引車)機(jī)器人扮演著舉足輕重的角色。其控制系統(tǒng)宛如人類的大腦,指揮著 AGV 的一舉一動,不同類型的 AGV 機(jī)器人控制系統(tǒng),有著...

關(guān)鍵字: 機(jī)器人 控制系統(tǒng) 自動化

2025年8月1日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 推出全新自動化資源中心,為工程師帶來豐富的工業(yè)自動化新技術(shù)。借助這些資源,該...

關(guān)鍵字: 控制系統(tǒng) 機(jī)器人 自動化軟件

深圳2025年7月22日 /美通社/ -- 2025年7月16日,榮耀終端股份有限公司(以下簡稱"榮耀")與中國電信股份有限公司(以下簡稱&qu...

關(guān)鍵字: 中國電信 終端 榮耀 AI

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個android都支持這個功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

深圳 2025年7月10日 /美通社/ -- 在2025歐洲工具及智能硬件領(lǐng)域"黃金標(biāo)準(zhǔn)"Heimwerker的最新測評中,搭載廣和通純視覺方案的智能割...

關(guān)鍵字: BSP 終端 視覺技術(shù) 軟硬件

上海 2025年6月19日 /美通社/ -- 2025上海世界移動通信大會(MWC上海),榮耀CEO李健受邀出席人工智能+(AI+)主題論壇,并發(fā)表"開放共生,眾...

關(guān)鍵字: 模型 榮耀 AI 終端

上海 2025年5月29日 /美通社/ -- 2025年5月,飛凱材料旗下子公司江蘇和成顯示科技有限公司(以下簡稱"和成顯示")與全球領(lǐng)先的液晶材料企業(yè)JNC株式會社(前身為日本智索Chisso株式...

關(guān)鍵字: 液晶 液晶材料 終端 人機(jī)交互

深圳 2025年5月21日 /美通社/ -- 隨著5G與AI不斷融合,穩(wěn)定高速、智能的移動網(wǎng)絡(luò)已成為商務(wù)、旅行、戶外作業(yè)等場景的剛需。廣和通5G AI MiFi方案憑借領(lǐng)先...

關(guān)鍵字: AI 移動寬帶 終端 TE

Google 宣布與中國 AR 科技公司 XREAL 達(dá)成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺打造的旗艦級 AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR
關(guān)閉