当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Android的远程家电控制终端设计

摘要:家电控制是智能家居系统的重要组成部分,而随着智能手机的普及和3G网络技术的快速发展,以智能手机作为智能家居远程控制的终端设备是一个非常理想的选择。目前在全球范围内,Android是一个市场占有率高,免费,开放的智能设备操作系统。因此,本系统以Android智能终端作为客户端,使用UDP网络传输协议,以实现家电远程控制系。
关键词:Android;家电控制;智能家居;UDP协议

    在科学技术飞速发展的今天,人们的物质条件和生活水平都在不断地提高,人们对家居环境的要求也在不断地增长。家居不仅要舒适更加需要安全和便捷。远程家电控制,使人们可以随时随地控制家中设备,给人们带来便捷的生活方式。传统的智能家居系统中,大多基于Int ernet的远程控制,并采用PC做监控终端,受到Internet地域的限制,使用起来不是很方便。但随着智能手机的普及,由于手机体积小便于携带,智能手机作为智能家居的控制终端是大势所趋。

1 Android介绍
   
Android是Google公司在2007年11月正式推出的一款开源的操作系统。Android系统在它推出后仅仅两年的时间,就打败了称霸智能手机市场10年的诺基亚Symbian成为全球最受欢迎的手机操作系统。
1.1 Android的安全机制
   
Google为Android引进了以下特有的安全机制:应用程序权限机制,组件包装和数字签名。
    (1)应用程序权限机制
    Android把每个权限定义成一个字符串,开发过程中可以通过在XML Manifest文件中进行权限的声明和请求。权限定义分为两个类别,一类是应用程序在执行时所需要请求的权限,另一类是被其他组件请求的权限。
    (2)组件包装
    Android通过定义组件的“exported”属性来实现把组件包装在程序内容内。将“exported”属性设置为“false”就是拒绝被其他外部程序调用。
    (3)数字签名
    Android的所有应用程序必须有数字证书,这个数字证书是可以自签名的。
1.2 Android的系统框架
   
如图1所示Android的系统框架由4个部分组成:Linux内核层、系统运行库层、应用程序框架层和应用程序层。


    (1)Linux内核层
    Android的Linux内核层是基于Linux2.6的,它是介于硬件层和其他软件组的一个抽象层次。提供内存管理、安全性、进程管理、驱动模型、网络组等核心服务。
    (2)系统运行库层
    这一层分成两个部分,系统库和Android运行时库。
    系统库是应用层框架库的支撑。它起到了纽带的作用。它主要负责2D和3D绘图、显示合成和支持多种常用的音频、视频格式录制和回放等功能。
    Android运行时库又包括核心库和Dalvik虚拟机两部分。核心库提供了Java语言核心库内的大部分功能;Dalvik虚拟机是Android重新设计的一款虚拟机。Dalvik可以在消耗较少的资源情况下,使一台设备同时运行多个虚拟机程序。[!--empirenews.page--]
    (3)应用程序框架层
    应用程序框架层为开发者提供开发所需的各种API,常用的组件有:UI组件、Content Providers(提供一种使应用程序之间可以实现数据互相访问和共享的服务)、资源管理(管理字体、图片、组件ID等)、活动管理(它管理了整个程序的生命周期)等。
    (4)应用程序层
    应用层是和用户交互的一个层次,用户可以看得见和操作的一些应用。Android本身提供了桌面,联系人,拨打电话,浏览器等很多基本的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序。

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


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

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


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

    其中portNumber是指服务器的端口号,message是根据应用层帧格式得到的控制命令,serverAddr是指服务器的IP地址。[!--empirenews.page--]
3.4 软件设计流程
   
图3是整个基于Android远程控制系统软件设计流程图。


    为了方便地适用于不同的家电控制系统,我们将服务器的IP地址以一个由用户输入的方式来完成,这样当在一个新的地方安装整套系统时,在无需改变Android安装包的情况下,自己输入新的系统的服务器IP即可实现远程控制。

4 测试结果
   
本家电控制器在完成设计、调试后,在实际展厅进行控制实验表明该设计可以完成预定功能。在长期的实践和全面测试的过程中,证实本套系统可完成以下功能并且性能稳定。
    (1)空调控制:空调开关,模式转换,扫风功能,调节风速;
    (2)电视控制:电视遥控(开关、选台、音量调节、电视菜单),电视导航(包括各地省级市级电视台电视节目预告),电视游戏;
    (3)灯光控制:各个房间灯光的开关;
    (4)风扇控制:各个房间风扇的开关。
    如图4所示,是手机控制界面图。从左到右依次是空调控制界面,电视控制界面,灯光和风扇控制界面。



5 小结
   
本文简要的介绍了基于Android的智能家居远程家电控制的终端设计和关键技术,包括Android的安全机制和内核分析,远程家电控制系统的组成,每个组成部分的功能,应用层帧格式的定义,传输协议的选用以及软件设计流程。并在最后展示了测试结果,证明了基于Android远程家电控制的可行性。与传统的基于Internet的远程家电控制系统相比,基于Android手机的控制系统有着巨大的优势和前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

舍弗勒以"专注驱动技术的科技公司"为主题亮相IAA MOBILITY 2025(B3馆B40展台) 合并纬湃科技后首次亮相IAA MOBILITY,展示拓展后的汽车产品组合 凭借在软件、...

关键字: 电气 软件 驱动技术 BSP

香港2025年 9月12日 /美通社/ -- 全球领先的互联网社区创建者 - 网龙网络控股有限公司 ("网龙"或"本公司",香港交易所股票代码:777)欣然宣布,其子公司My...

关键字: AI 远程控制 控制技术 BSP

广州2025年9月12日 /美通社/ -- 9月11日,由国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵"...

关键字: 数字化 供应链 控制 电子

深圳2025年9月11日 /美通社/ -- 2025 年 9 月 10 日,第 26 届中国国际光电博览会(简称 "CIOE 中国光博会")在深圳盛大开幕。本届展会吸引力再创新高,全球超3800家优质...

关键字: 自动化 光电 CIO BSP

天津2025年9月11日 /美通社/ -- 国际能源署(IEA)数据显示,2024 年全球数据中心电力消耗达 415 太瓦时,占全球总用电量的 1.5%,预计到 2030 年,这一数字将飙升至 945 太瓦时,近乎翻番,...

关键字: 模型 AI 数据中心 BSP

北京2025年9月11日 /美通社/ -- 国际9月11日上午,2025年中国国际服务贸易交易会(以下简称"服贸会")—体育赛事经济高质量发展大会现场,北京经济技术开发区工委委员、管委会副主...

关键字: 5G BSP GROUP MOTOR

柏林2025年9月9日 /美通社/ -- 2025年9月5日,纳斯达克上市公司优克联集团(NASDAQ: UCL)旗下全球互联品牌GlocalMe,正式亮相柏林国际消费电子展(IFA 2025),重磅推出融合企...

关键字: LOCAL LM BSP 移动网络

深圳2025年9月9日 /美通社/ -- PART 01活动背景 当技术的锋芒刺穿行业壁垒,万物互联的生态正重塑产业疆域。2025年,物联网产业迈入 "破界创造"与"共生进化" 的裂变时代——AI大模型消融感知边界,...

关键字: BSP 模型 微信 AIOT

"出海无界 商机无限"助力企业构建全球竞争力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由领先商业管理媒体世界经理人携手环球资源联合主办、深圳•前海出海e站通协办的...

关键字: 解码 供应链 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林当地时间9月6日,在2025德国柏林国际电子消费品展览会(International Funkausstellung...

关键字: 扫地机器人 耳机 PEN BSP
关闭