关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于Android的远程家电控制终端设计

基于Android的远程家电控制终端设计

作者:时间:2012-12-21来源:网络收藏

(3)应用程序框架层
应用程序框架层为开发者提供开发所需的各种API,常用的组件有:UI组件、Content Providers(提供一种使应用程序之间可以实现数据互相访问和共享的服务)、资源管理(管理字体、图片、组件ID等)、活动管理(它管理了整个程序的生命周期)等。
(4)应用程序层
应用层是和用户交互的一个层次,用户可以看得见和操作的一些应用。本身提供了桌面,联系人,拨打电话,浏览器等很多基本的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序。

2 远程系统的组成
整个系统主要包括3个部分:远程控制终端(手机或者平板电脑),服务器和器。先由远程终端发送带有控制命令的数据包到服务器,当服务器收到控制指令之后,再由服务器发送控制命令到相应的器上。图2是远程家电控制系统的结构图。

本文引用地址:http://www.eepw.com.cn/article/159607.htm

d.JPG


在本文中,主要介绍控制终端的设计,下面简单地介绍一下服务器和家电控制终端。服务器收到命令数据时,通过设备类型和子设备号来识别是哪个设备的控制命令,然后将相应的控制命令发送到相应的控制器上。具体的帧格式定义,会在下一章节中讲解。对于家电控制器,分为两种。一种是简单控制电路的通断来控制电器的控制器,主要可控制灯光、冰箱、排风扇等家电,一种是模拟红外遥控器发出信号的控制器,主要可控制空调、电视机等使用红外遥控器的家电。我们有了家电控制器之后,就可以在不对家电做任何的改动的情况下,对家电进行控制。

3 终端程序设计
3.1 传输协议的选择
中的应用原则中,TCP和UDP作为目前最常用到的网络通信协议,可以看出TCP是基于连接的协议,UDP是一个无连接的、不可靠的协议,相对于基于流传输的TCP而言,UDP是基于消息传输的,整体上具有传输速度快等优点。通过研究可以看出家用电器的控制信息特点是数据量小,控制信息短,适合用于传送少量数据、对可靠性要求不高的应用环境,因此更适合采用简单的、面向数据报的
3.2 应用层帧格式的定义
由于目前没有统一的标准,各个不同的系统都是自己定义各个设备的通信协议。表1是本系统家电控制系统应用层报文帧格式的定义。

e.JPG


(1)报头:固定为0x66、0xAD两字节,表示一个报文帧的开始。
(2)数据长度:从报头段0x开始算到命令数据段的最后一个字节总和。表示整个帧的字节数。
(3)路由地址:这个数据位是对路由进行选择。根据部署的网络不同的位置,选择链路质量最好的路由节点进行数据传输。
(4)设备类型:表示家居设备的种类,我们将家电控制系统固定为0xF4。
(5)子设备号:此字段为家电控制系统里的设备分配唯一的地址,这样我们可通过设备类型段和子设备号两个字段唯一标识某个家电设备,便于控制信息的准确有效送达到控制器。
(6)命令数据:装载具体的家电控制命令,告诉家电控制器收到数据之后需要对家用电器做哪些操作。
3.3 Socket套接宇
在网络层通过传输层进行数据通信时,常常会遇到多个应用程序提供并发服务的问题,为了区别不同的应用程序进程间的网络通信和连接,就需要使用socket套接字这个接口。对于使用不同的协议通信,TCP是使用socket对象来实现,而UDP是使用DatagramSocket对象来实现。由于我们远程家电控制系统使用的是,在这里我只介绍DatagramSocket。
DatagramSocket是用于连接两个端点的分组投递服务,是由系统提供的一个公共类。根据编程人员所给的参数,它可以建立与任意可用端口或者与给定端口的连接。
这里我们需要了解的方法有close()、receive(Datagram Packet pack)和send(DatagramPaeket pack)。它们分别是关闭套接字、接收数据报和发送数据报。
从上文我们可以看到发送和接收数据报时,我们接收到的是一个DatagramPaeket对象。所以在这里必须得提到的就是用来存储数据报数据的final类DatagramPacket。DatagramPacket有多个构造方法,但是它的每个构造方法中一定包括byte[]buf和int lcnsth这两个参数。buf是用来存储所要传输的数据,length是表示传输的数据的长度。当然你在创建DatagramPaeket对象时,还可以指定接收端的IP地址和端口号。
发送数据报的代码为:
f.JPG
其中portNumber是指服务器的端口号,message是根据应用层帧格式得到的控制命令,serverAddr是指服务器的IP地址。



评论


相关推荐

技术专区

关闭