欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > RF/微波 > 正文

可視化WIFI遙控搬運機器人之客戶端設計

發布時間:2015-02-25 責任編輯:sherryyu

【導讀】本設計主要研究基于WIFI網絡的可視化無線遙控搬運機器人,利用WIFI網絡高速傳輸實時視頻圖像采集,通過機器人安裝的傳感器實現數據采集。采用WIFI網絡通訊使得控制端多樣化,可用手機,電腦等具備WIFI功能的設備進行控制。這里主要講解可視化WIFI遙控搬運機器人之客戶端設計。

可視化WIFI遙控搬運機器人之服務器搭建
http://www.empresariosaem.com/rf-art/80025761
可視化WIFI遙控搬運機器人之硬件部分設計
http://www.empresariosaem.com/rf-art/80025732
 
本設計主要研究基于WIFI網絡的可視化無線遙控搬運機器人,利用WIFI網絡高速傳輸實時視頻圖像采集,通過機器人安裝的傳感器實現數據采集。采用WIFI網絡通訊使得控制端多樣化,可用手機,電腦等具備WIFI功能的設備進行控制。此外,還可將機器人接入Internet實現更遠距離的控制。本設計在S3C6410平臺上移植了Linux操作系統用于接收命令并對硬件設備進行控制,其中移植了MJPGstreamer作為視頻服務器,移植了BOA服務器作為WEB服務器。本文將從硬件設計,驅動程序編寫,服務器移植,服務程序編寫,Android應用程序編寫,Web應用程序編寫等方面來講述本設計的功能實現。
 
總體設計及硬件選型和電路部分:可視化WIFI遙控搬運機器人(1):硬件部分

驅動程序編寫,服務器移植,服務程序編寫部分:可視化WIFI遙控搬運機器人(2):服務器搭建
 
4 客戶端程序設計

4.1 Android客戶端設計

4.1.1 Android客戶端軟件流程圖
Android應用程序流程圖
圖 4-1 Android應用程序流程圖
 
如圖4-1所示,Android端的應用程序采用多線程技術,其中一個子線程每60S向服務器發送一個獲取電量的命令并根據收到的數據進行更新顯示,另一個線程根據MJPEG協議來解析出圖像數據并更新顯示,主線程主要完成用戶操控事件的監聽,并根據用戶的實際操控發送相應的命令給服務器并從服務器獲得機器人的最新數據來實時更新。其命令的發送方式采用HTTP協議中的GET方法。
 
4.1.2 HTTP GET方法簡介
 
GET方法是HTTP協議中定義的多種與服務器進行交互的方法之一,它一般用于獲取/查詢資源信息。該方法請求的數據會附在URL之后,并且提交的數據最多只能是1024字節,但是本設計中只需要傳送命令字即可,因此采用GET方法來傳送命令字與獲取機器人數據信息。使用該方法來發送命令,服務器端的CGI程序可以在QUERY-STRING環境變量中非常方便的獲取到客戶端傳送給服務器的數據,并且客戶端應用程序可以在HttpResponse中獲得服務器端返回的數據。
 
4.1.3 HTTP GET方法實現
 
Android應用中HTTP GET方法實現部分代碼如下:
 
public String doGet(String url){
 
//參數設置
 
...
 
//創建 HttpClient 的實例
 
HttpClient httpClient = new DefaultHttpClient(httpParams);
 
// GET
 
HttpGet httpGet = new HttpGet(url);
 
try {
 
HttpResponse response = httpClient.execute(httpGet);
 
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
 
// 使用getEntity方法獲得返回結果
 
return EntityUtils.toString(response.getEntity());
 
}
 
...
 
}
 
4.1.4 Mjpeg協議介紹
 
Mjpeg即Motion JPEG。MJPEG將服務器端發送來的一張張JPG圖像數據發送給客戶端,客戶端不斷的接收圖像數據并顯示更新即形成了動態的圖像。MJPEG在HTTP中mjpg的在http的mime type是"x-mixed-replace"。獲取視頻圖像數據時,客戶端首先發一個GET方法,如果服務器接收響應則會設置context type的boundary子屬性來指明。然后服務器端開始發送圖片數據,在數據頭部會有圖片類型以及大小信息,其中Content-Length字段指明圖像數據的長度,Content-Type字段指明圖像的類型其值為image/jpeg。當一幀圖像數據發送完畢后,服務器端將會發送邊界字符串來表示一幀圖像發送結束。
[page]
4.1.5 Mjpeg解析圖像數據流程圖
Mjpeg解析圖像流程圖
圖 4-2 Mjpeg解析圖像流程圖
 
4.1.6 Mjpeg解析圖像數據代碼
 
在Android客戶端需要根據Mjpeg協議來編寫代碼實現圖像數據的解析,其中部分代碼如下:
 
Socket server = new Socket(url.getHost(), url.getPort());
 
OutputStream os = server.getOutputStream();
 
InputStream is = server.getInputStream();
 
StringBuffer request = new StringBuffer();
 
request.append("GET " + url.getFile() + " HTTP/1.0rn");
 
request.append("Host: " + url.getHost() + "rn");
 
request.append("rn");
 
os.write(request.toString().getBytes(), 0, request.length());//請求返回File
 
StreamSplit localStreamSplit = new StreamSplit(new DataInputStream(new BufferedInputStream(is)));
 
Hashtable localHashtable = localStreamSplit.readHeaders();//獲得文件的信息頭
 
String str3 = (String)localHashtable.get("content-type");//獲得content-type以后的數據
 
int n = str3.indexOf("boundary=");//定位邊界字符串
 
Object localObject2 = "--";
 
if (n != -1){
 
localObject2 = str3.substring(n + 9);//指定到boundary子屬性
 
str3 = str3.substring(0, n);
 
if (!((String)localObject2).startsWith("--"))
 
localObject2 = "--" + (String)localObject2;}
 
if (str3.startsWith("multipart/x-mixed-replace")){//判斷MIME類型
 
localStreamSplit.skipToBoundary((String)localObject2);//定位到圖像數據部分
 
}do{
 
if (localObject2 != null){
 
localHashtable = localStreamSplit.readHeaders();
 
if (localStreamSplit.isAtStreamEnd())
 
break;
 
str3 = (String)localHashtable.get("content-type");
 
if (str3 == null)
 
throw new Exception("No part content type");
 
}
 
if (str3.startsWith("multipart/x-mixed-replace")){
 
n = str3.indexOf("boundary=");
 
localObject2 = str3.substring(n + 9);//獲得
 
localStreamSplit.skipToBoundary((String)localObject2);
 
}else{
 
byte[] localObject3 = localStreamSplit.readToBoundary((String)localObject2);
 
if (localObject3.length == 0)
 
break;
 
Message message = Message.obtain();
 
message.arg1 = 0;
 
message.obj = BitmapFactory.decodeByteArray(localObject3, 0, localObject3.length);
 
messageHandler.sendMessage(message);//顯示消息
 
}
 
fps++;
 
try{
 
Thread.sleep(10L);
 
}catch (InterruptedException localInterruptedException){
 
}
[page]
4.2 Web客戶端設計

4.2.1 Web客戶端程序流程圖
 
如圖4-3所示,WEB客戶端采用AJAX技術,其功能模塊大體上分為3個部分:第一部分主要是監測用戶的操作并采用HTTP GET方法來發送控制命令,最后將服務器返回的信息更新顯示。第二部分主要為120S定時發送獲取電源電量值得命令,并將獲得的數據更新顯示。第三部分獲取圖像數據并顯示。
 WEB客戶端流程圖
圖 4-3 WEB客戶端流程圖
 
4.2.2 AJAX技術簡介
 
AJAX(Asynchronous Javascript + XML)即異步JavaScript和XML技術的簡稱,它可以實現網頁異步更新。采用該方法來設計WEB應用,可以只對網頁的部分內容進行更新,而不需要重新對整個頁面進行加載。其工作原理如下圖所示:
AJAX工作原理
圖 4-4 AJAX工作原理
 
4.2.3 圖像數據顯示實現
 
采用WEB瀏覽器來顯示的時候只需要添加如下代碼:
 
<img src="http://192.168.2.1:8080/?action=stream" style="width:640px; height:480px;"/>
 
4.2.4 利用AJAX技術實現命令發送與數據更新
 
XMLHttpRequest 是 AJAX 的最基礎的部分,本設計中的部分代碼如下:
 
function SendCmd(cmd)
 
{
 
var xmlhttp;
 
if (window.XMLHttpRequest)
 
{// code for IE7+, Firefox, Chrome, Opera, Safari
 
xmlhttp=new XMLHttpRequest();
 
}
 
else
 
{// code for IE6, IE5
 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 
}
 
xmlhttp.open("GET","./car.cgi?"+cmd,true);
 
xmlhttp.send();
 
xmlhttp.onreadystatechange=function()
 
{
 
if (xmlhttp.readyState==4 && xmlhttp.status==200)
 
{
 
var rec=xmlhttp.responseText;
 
if( rec.indexOf("PRE") == 0)
 
{
 
document.getElementById("Pressure").innerHTML="壓力:"+rec.substr(4);
 
}
 
if( rec.indexOf("POW") == 0)
 
{
 
var get_power=parseFloat(rec.substr(4));
 
get_power=9.9*get_power/1024;
 
if(power == 0)
 
power=get_power;
 
if(get_power<=power && power-get_power<0.2)
 
{
 
power=get_power;
 
if(power>8.3)
 
document.getElementById("Power").innerHTML="電量:100%";
 
else if(power>8.2)
 
...
 
}
 
}
 
}
 
}
 
}
 
5 結束語
 
本文從硬件選型,硬件電路設計,系統移植,驅動程序移植編寫,服務器搭建,服務器程序編寫,以及Android客戶端和Web客戶端應用程序編寫方面進行了較為詳細的介紹。通過自己的努力,完成了最低層的硬件設計到最上層軟件開發,實現了本設計的基本功能。最終用戶能夠通過Android客戶端和Web客戶端對機器人進行夾持,運輸,擺放動作的控制,并且能夠實時地返回機器人采集到的圖像數據和傳感器數據。
 
由于本設計基于成本的考慮,并沒有采用大功率高精度的硬件設備,所以只能作為一種功能演示以及技術可行性演示。在后續的工作中還可以提升硬件設備,調整應用程序來獲得更好的使用價值以及更好的用戶體驗。
 
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
99久久精品国产网站| 亚洲激情第一区| 欧美日韩一区二区三区高清| 色先锋aa成人| 欧美自拍偷拍午夜视频| 91麻豆免费看片| 色噜噜狠狠色综合欧洲selulu| 成人99免费视频| 91视频免费播放| 在线视频一区二区三区| 欧洲日韩一区二区三区| 欧美性一级生活| 欧美精品一卡两卡| 日韩一级片网站| 久久婷婷国产综合精品青草| 国产视频一区在线观看| 国产精品国产三级国产普通话蜜臀 | 国产一区视频网站| 国产一区二区0| 成人一级片在线观看| 91视频在线观看| 欧美色综合天天久久综合精品| 欧美久久久一区| 久久久久综合网| 美女诱惑一区二区| 成人av网站免费| 欧美日韩在线一区二区| 久久亚洲综合色| 亚洲精品亚洲人成人网| 日本欧美久久久久免费播放网| 国产一区二区福利| 欧美优质美女网站| 精品国产乱码久久久久久免费 | 麻豆视频观看网址久久| 成人午夜精品在线| 欧美日韩免费不卡视频一区二区三区| 欧美成人精品福利| 亚洲色图在线播放| 久久精品噜噜噜成人88aⅴ| 99v久久综合狠狠综合久久| 欧美精品在线观看播放| 国产精品美女一区二区三区| fc2成人免费人成在线观看播放 | 欧美bbbbb| 一本色道久久综合亚洲精品按摩| 日韩三级视频在线看| 亚洲蜜桃精久久久久久久| 精彩视频一区二区三区| 色婷婷亚洲综合| 久久亚洲综合av| 奇米一区二区三区av| 99精品视频在线播放观看| 26uuu精品一区二区| 午夜影视日本亚洲欧洲精品| 91麻豆6部合集magnet| 久久天堂av综合合色蜜桃网 | 日韩久久免费av| 一本色道久久加勒比精品| 国产亚洲一本大道中文在线| 亚洲国产精品自拍| 色噜噜偷拍精品综合在线| 国产精品乱人伦| 高清av一区二区| 国产亚洲人成网站| 久久99国产精品麻豆| 欧美mv和日韩mv的网站| 日韩黄色小视频| 6080yy午夜一二三区久久| 夜色激情一区二区| 欧美伊人久久大香线蕉综合69| 国产欧美一区二区在线| 国产精品 欧美精品| 久久亚洲春色中文字幕久久久| 亚洲香肠在线观看| 欧美色网一区二区| 日韩综合一区二区| 91精品国产一区二区三区香蕉| 亚洲国产精品久久艾草纯爱| 欧美日韩中字一区| 视频一区二区三区中文字幕| 欧美三区免费完整视频在线观看| 亚洲影院久久精品| 8x8x8国产精品| 经典三级视频一区| 久久精品欧美一区二区三区不卡| 精品一区二区三区免费观看| 日韩精品一区二区在线| 久88久久88久久久| 欧美—级在线免费片| 99久久国产免费看| 日韩影视精彩在线| 欧美精品一区二区三| av亚洲精华国产精华| 亚洲蜜臀av乱码久久精品| 欧美日韩精品二区第二页| 日韩中文字幕亚洲一区二区va在线| 欧美一区二区三区播放老司机| 国产在线国偷精品产拍免费yy| 一区在线观看免费| 在线不卡免费欧美| 国产一区 二区 三区一级| 国产精品国产馆在线真实露脸| 色综合久久综合中文综合网| 美国毛片一区二区三区| 国产精品成人午夜| 91精品国产综合久久久蜜臀粉嫩| 国产又黄又大久久| 伊人色综合久久天天| 日韩免费高清av| 色综合久久综合| 国产在线精品国自产拍免费| 一区二区三区高清| 国产三级精品在线| 欧美日韩久久久一区| 高清不卡在线观看av| 丝袜国产日韩另类美女| 国产精品日产欧美久久久久| 亚洲午夜一二三区视频| 久久久久亚洲蜜桃| 欧美日韩中字一区| www.久久精品| 国内精品写真在线观看| 亚洲成人在线观看视频| 国产片一区二区三区| 8x福利精品第一导航| 色哟哟国产精品| 不卡的电影网站| 国产高清成人在线| 久久精品国产久精国产爱| 亚洲精品国产视频| 国产精品久久久99| 久久精品水蜜桃av综合天堂| 日韩一区二区三区视频| 日本道精品一区二区三区| 99国产精品视频免费观看| 国产精品一区二区在线观看不卡 | 欧美激情一区二区三区| 91精品国产综合久久久久久久| 欧美做爰猛烈大尺度电影无法无天| 不卡av电影在线播放| 国产成人免费在线观看| 国产又黄又大久久| 久久99精品久久久久久国产越南 | 日韩精品一区在线观看| 欧美中文字幕亚洲一区二区va在线 | 欧美日韩精品三区| 在线观看国产日韩| 日本精品免费观看高清观看| www.性欧美| av影院午夜一区| 色综合久久久久综合99| 91传媒视频在线播放| 色哦色哦哦色天天综合| 91官网在线免费观看| 在线观看国产日韩| 欧美日本韩国一区| 91精品国产91久久久久久一区二区 | 久久亚洲精品小早川怜子| 久久久九九九九| 成人欧美一区二区三区小说| 亚洲嫩草精品久久| 亚洲高清免费一级二级三级| 日本美女一区二区三区| 国产一区在线观看麻豆| 国产成人免费在线观看| 色网站国产精品| 在线播放亚洲一区| 奇米综合一区二区三区精品视频 | 国产精品人妖ts系列视频| 亚洲三级小视频| 午夜欧美电影在线观看| 久久精品国产澳门| 成人激情小说乱人伦| 欧美日韩一卡二卡| 久久综合色8888| 亚洲欧美日韩在线不卡| 奇米在线7777在线精品| 成人高清免费在线播放| 欧美午夜寂寞影院| 久久久青草青青国产亚洲免观| 亚洲欧美国产高清| 美女在线一区二区| 91在线观看地址| 欧美大片一区二区三区| 亚洲免费伊人电影| 韩国女主播成人在线| 99久久精品国产毛片| 日韩免费看网站| 亚洲精品免费看| 国产乱码字幕精品高清av | 国产一区二区三区观看| 一本大道久久a久久综合婷婷| 日韩欧美亚洲另类制服综合在线| 国产欧美一区二区三区在线看蜜臀| 亚洲影院久久精品| 成人免费毛片app| 日韩三级在线观看| 亚洲国产精品影院| 色婷婷综合久久久中文一区二区| 精品久久久久久久人人人人传媒|