3.6 BOA服务器搭建

由于MJPGstreamer服务器只能传输视频信息,而本设计需要接收客户端的控制命令并且还需返回机器人的传感器数据,因此需要移植支持CGI应用脚本的服务器。BOA服务器是一个可运行在Unix或Linux下的非常小巧的单任务WEB服务器,并且支持CGI脚本,广泛应用于嵌入式领域。本设计通过编写CGI脚本来完成服务器与客户端的数据交换。

3.7 服务器端程序设计

服务程序主要完成机器人的初始化、读取电量值并将电量值通过LED进行提示,读取命名管道获得命令字并将其解析执行。主要的流程图如图3所示。

如图3所示,本设计中的服务程序采用多进程程序设计方式,其子进程每60 s采集一次电源电量信息并更新电量指示灯显示,主进程采用阻塞读的方式读取命名管道来等待客

户端发送命令,获得命令之后对命令进行解析,并调用驱动程序来执行相应的命令,从而实现对机器人的控制。

4 客户端程序设计

4.1 Android客户端设计

Android客户端软件流程图如图4所示。

Android端的应用程序采用多线程技术,其中一个子线程每60 s向服务器发送一个获取电量的命令并根据收到的数据进行显示更新,另一个线程根据MJPEG协议来解析出图像数据并更新显示。主线程主要完成用户操控事件的监听,并根据用户的实际操控发送相应的命令给服务器,并从服务器获得机器人的最新数据来实时更新,其命令的发送方式采用HTTP协议中的GET方法。

GET方法是HTTP协议中定义的多种与服务器进行交互的方法之一,它一般用于获取/查询资源信息。该方法请求的数据会附在URL之后,并且提交的数据最多只能是1024字节,但是本设计中只需要传送命令字即可,因此采用GET方法来传送命令字与获取机器人数据信息。使用该方法来发送命令,服务器端的CGI程序可以在QUERY—STRING环境变量中非常方便地获取到客户端传送给服务器的数据,并且客户端应用程序可以在HttpResponse中获得服务器端返回的数据。

MJPEG将服务器端发送来的一张张JPEG图像数据发送给客户端,客户端不断地接收图像数据并显示更新,即形成了动态的图像。获取视频图像数据时,客户端首先发一个GET方法,如果服务器接收响应则会设置contexttype的boundary子属性来指明,然后服务器端开始发送图片数据,在数据头部会有图片类型以及大小信息,其中Content—Length字段指明图像数据的长度,Content—Type字段指明图像的类型值为image/jpeg。当一帧图像数据发送完毕后,服务器端将会发送边界字符串来表示一帧图像发送结束。

4.2 WEB客户端设计

WEB客户端程序流程图如图5所示。WEB客户端采用AJAX技术,其功能模块大体上分为3个部分:第一部分主要是监测用户的操作并采用HTTP GET方法来发送控制命令,然后将服务器返回的信息更新显示;第二部分主要为120 s定时发送,获取电源电量值的命令,并将获得的数据更新显示;第三部分获取图像数据并显示。

AJAX(Asynchronous Javascript+XML)即异步JavaScript和XML技术的简称,它可以实现网页异步更新。采用该方法来设计WEB应用,可以只对网页的部分内容进行更新,而不需要重新对整个页面进行加载。其工作原理如图6所示。

结语

本文从硬件选型、硬件电路设计、系统移植、驱动程序移植编写、服务器搭建、服务器程序编写,以及Android客户端和WEB客户端应用程序编写方面进行了较为详细的介绍。最终,用户能够通过Android客户端和WEB客户端对机器人进行夹持、运输、摆放动作的控制,并且可以实时地返回机器人采集到的图像数据和传感器数据。

ajax无线遥控器,基于WiFi网络的可视化遥控搬运机器人设计相关推荐

  1. java 复杂网络分析_基于复杂网络的Java程序分析工具设计与实现思路浅谈

    基于复杂网络的Java程序分析工具设计与 实现思路浅谈 摘要:近年来,随着科学技术的进步,计算机技术发展速度的加快,使得软件价值也逐步提高,不管是软件系统的应用领域,还是其规模均获得了相应的扩大,且软 ...

  2. 基于linux网络流量监控与分析软件的设计与实现shell,Shell图形化监控网络流量

    网络流量的监控工具有很多,如:Mrtg.Cacti.Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求.除了网络流量监控工具以外,还有Nagios这样的监控主机状 ...

  3. 基于单片机的无线语音遥控智能车设计

    文末下载完整资料 1 无线语音控制智能车设计概述 1.1 设计目的    随着电子工业的发展,计算机技术随着集成度的提高,和大规模集成电路的发展.计算机的一个重要分支--嵌入式计算机也在向高度智能化的 ...

  4. 基于3G网络的汽车防盗报警系统视频监控设计

    引言随着第三代移动通信网络的成熟发展,基于移动通信网络的视频监控技术的应用越来越广泛.本文基于3G网络覆盖率高.可靠性强.传输速率快的优势,设计实现汽车防盗报警系统的可视监控.本设计在现有的电子式汽车 ...

  5. 基于3G网络的汽车防盗报警系统视频监控设计[图]

    引言随着第三代移动通信网络的成熟发展,基于移动通信网络的视频监控技术的应用越来越广泛.本文基于3G网络覆盖率高.可靠性强.传输速率快的优势,设计实现汽车防盗报警系统的可视监控.本设计在现有的电子式汽车 ...

  6. 基于STM32F1单片机、ESP8266WIFI模块、DHT11温湿度传感的WIFI网络温湿度传输系统

    基于STM32F1单片机.ESP8266WIFI模块.DHT11温湿度传感的WIFI网络温湿度传输系统 功能说明 温湿度采集端 温湿度监控端 硬件材料 硬件连接 主要代码 温湿度采集端 温湿度监控端 ...

  7. linux 添加wifi网络打印机,基于WiFi无线网络的嵌入式打印终端的设计

    摘要:针对基于PC机的打印终端在实际运用中的许多不足提出了一种基于WiFi无线局域网技术的嵌入式移动打印终端设计方案.本方案采用S3C2440A为微处理器,以Linux为嵌入式操作系统,扩展了触摸屏. ...

  8. 基于WIFI信号的呼吸和心率检测(论文总结)

    高频率信号: 频率越高波长越短,饶射(衍射效果)能力越弱,但穿透能力(不变方向)越强,信号穿透会损失很大能量,所以传输距离就可能越近,频率越高在传播过程的损耗越大. 超带宽的理解: 超宽带技术(UWB ...

  9. android客户端显示拓扑结构,基于WIFI构建的智能家居系统综合接入及控制装置(Android客户端及综合测控).doc...

    基于WIFI构建的智能家居系统综合接入及控制装置(Android客户端及综合测控) 毕 业 论 文(设计) 中文题目: 基于WIFI构建的智能家居系统综合接入 及控制装置(安卓及综合测控) 英文题目: ...

最新文章

  1. jpa中使用Query判断条件查询
  2. 开源 java CMS - FreeCMS2.8 数据对象 guestbook
  3. 实现在CentOS7环境下搭建个人github博客
  4. 线性代数带参数的线性方程组的求法示例详解
  5. AT2305-[AGC010D]Decrementing【博弈论】
  6. 大数据学习笔记53:Flume Sink Processors(Flume接收器处理器)
  7. [记录]Python的master-worker和epoll模式
  8. 关于全球同服和亚马逊Global Accelerating
  9. ORACLE函数返回数据或字符串
  10. Access根据出生日期计算年龄_从身份证号码计算年龄
  11. 云计算技术与应用 - 了解认识云计算
  12. 垃圾邮件分类系统python_【Python】基于Bayes算法的垃圾邮件分类系统
  13. 2006年美国商业科技创新250强-----SUN公司第六!
  14. connected papers 白嫖攻略
  15. springMVC源码之组件介绍
  16. Oracle TRUNCATE语法
  17. OpenCV检测篇(二)——笑脸检测
  18. 【2022ROS系统melodic版本安装试错】
  19. 为什么要禁止除GET和POST之外的HTTP方法?
  20. java项目friends_Java中Friend概念的实现

热门文章

  1. Local Laplacian Filters : Edge-Aware Image Processing with a Laplacian Pyramid
  2. ROS::机器人系统分布式配置
  3. toybox 和 busybox 的作用
  4. OOAD之23种设计模式全选
  5. 台式机ubuntu12.04独立显卡更换成intel 核心显卡HD 4000
  6. cad跨图纸复制不了怎么解决?
  7. Fundamentals of Computer Graphics 4th目录
  8. Web报表系统葡萄城报表:报表软件
  9. ipmitool 实时检测温度的脚本编写
  10. 图片分辨率如何修改?改图片分辨率的方法