您的位置 首页 开关

根据Android的嵌入式Web服务器规划

随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流。本文主要论述了基于Android系统环境,在家庭网关中实现嵌入式Web服务器的设计方法,介绍了i-jet

摘要:跟着Internet技能的鼓起,在嵌入式设备的办理与交互中,依据Web办法的运用成为现在的干流。本文首要论说了依据Android体系环境,在家庭网关中完成嵌入式Web服务器的规划办法,介绍了i-jetty嵌入式Web服务器,及其Web运用功用的完成。
关键词:Android;嵌入式Web服务器;i-jetty;SQLite

只需在嵌入式设备中集成了Web服务器,就能完成用户与嵌入式设备低成本、高通用性的信息沟通,即客户端运用HTTP浏览器,在任何时刻、任何地址都能完成与嵌入式设备的信息交互。能够说,嵌入式Web的运用极大地促进嵌入式设备,特别是家电设备、通讯终端、仪器仪表的信息交互和长途操控功用。
在三网交融的大布景下,经过家庭网关完成外部网络即电视网、电信网、因特网与家庭内部电话、电视、电脑以及家庭电器设备的通讯,是当时家居智能化、现代化的重要发展趋势。本文的首要内容是研讨依据家庭网关的嵌入式体系,完成简略有用的Web服务器功用,为外部网络供给一个便利快捷地拜访和操控家庭内部资源的渠道。由于Android操作体系能便利地将各种运用程序嵌入网络,以及敞开性好、支撑硬件丰厚的特色,本文挑选Android操作体系作为家庭网关规划的软件渠道来树立Web服务器。

1 Android体系介绍
Android移动设备渠道是依据Linux内核再度开发的一个开源的操作体系和软件渠道,最前期由Google公司进行研讨和开发的。后来Goog le为了推行此技能,它和中国移动、HTC、三星、摩托罗拉等几十家手机通讯运营商和制造商,树立了敞开手机联盟,共同开发Android移动设备渠道。
Android采用了软件堆层的架构,首要分为三部分:其最底层是依据Linux内核进行再度开发的,Linux内核只供给最为根底的功用;中间层包含由C++开发的虚拟机Virtual Machine(VM)和函数库Library;最上层是各种运用软件,包含通话程序、短信程序等。运用软件则由各公司自行开发,以Java编写。每个Android运用程序都在VM的一个实例中运转,这个实例驻留在一个由Linux内核办理的进程中。
本文完成的Web运用尽管依据Android操作体系,但并不像一般的Android APP那样,需求一个AndroidManifest.xml文件包含必要的装备信息,且需求一个Activity类来供给UI。由于是Web服务不需求用户图形界面,只需用到Android供给的接口罢了,即android.jar,这是一个Java归档文件,其间包含构建运用程序所需的一切的Android SDK类。而且,由于Android VM的原因,不能直接运用.class文件,需求转换为.dex文件,这些内容将在下文具体介绍。

2 体系规划
在嵌入式体系中,主操控芯片的挑选关于整个体系功用和杰出运转有着至关重要的影响,在挑选主控芯片的过程中,需归纳考虑芯片本身的功用、兼容性、价格以及后续的晋级等要素。归纳考虑以上要素,本文规划的家庭网关采用了Cortex—A8处理器作为硬件渠道。由于Cor tex—A8支撑大型的操作体系,高频率、高档存储办理及丰厚的外设接口,为Android体系的运转供给了杰出的硬件根底。
一个Web服务器也被称为HTTP服务器,它经过HTTP协议与客户端通讯。这个客户端一般指的是Web浏览器。Web服务器监听浏览器的服务恳求,依据用户恳求的类型供给相应的服务;Web服务器在接收到用户端的恳求后,处理用户恳求并回来需求的数据。这些数据一般以格局固定、含有文本和图片的页面出现在用户端浏览器。本文Web服务器体系的规划架构如图1所示。

a.JPG

现在常用的嵌入式Web服务器首要有boa、thttpd、mini_httpd、shttpd和lighttpd等,但它们都不能直接运用于Android体系上。本文选用代码精粹、扩展性强的开源i-jettyWeb服务器,它可直接运转在Android体系上,为Servlet供给运转环境钝能。
Servlet是一种独立于渠道和协议的Web服务器端的Java运用程序,能够生成动态的Web页面。与传统的从命令行发动的Java运用程序不同,Servlet由Web服务器进行加载。
一个Web服务器体系是离不开数据库的支撑。SQLite是一款轻型的数据库,是恪守ACID的相关式数据库办理体系,它是针对嵌入式产品而规划的,它占用资源非常的低,在嵌入式设备中,或许只需求几百K的内存就够了。Android渠道集成了SQLite数据库,并供给了操作的API。所以,只需在Servlet中引进开发Android程序供给的API,就能完成用Servlet操作SQLite。
本文下面首要介绍i—ierry web嵌入式服务器的建立,以及怎么完成Servlet对SQIrite数据库的操作。
2.1 i-jetty Web服务器及其装置
i—jetty是一个将开源Web容器Jetty移植到GoogleAndroid手机渠道的开源项目,能够使嵌入式设备上运转Web运用。Jetty是一个100%由Java完成的、开源的HTYP服务器和javax.servlet容器,它不只是作为一个独立服务软件(如Tomcat)被运用,而且其优秀的组件(Compone t)规划、高内聚低耦合、高扩展性等特性使得Jetty非常易于作为嵌入式东西运用。总归,Jetty具有的长处包含:
1)装备运用简略;
2)规划模块化,代码简练易懂;
3)Tomcat的运用移植到Jetty根本不必修正;
4)非常合适嵌入式产品,可扩展性好;
i—jetty是运用Java言语编写的,它的API以一组JAR包的方式发布。开发人员能够j将Jetty容器实例化成一个目标,能够敏捷为一些独立运转(stand—alone)的Java运用供给网络和web衔接。运用简略、装备简略,体积很小,但它的功用完全,而且仍是一个Servlet容器,这就让动态网页完成和后台操作(例如数据库操作)成为或许。一起,i—jetty能够运用Android的接口,这就降低了开发的难度和复杂度。i—jetty与其他干流的服务器相同,只需将现已做好的Web项目发布到服务器的Webapps目录下,就能完成网站的正常运转,非常的便利。
下面介绍i—jetty服务器的装置:
首要,在eclipse里创立i—jetty的android项目,将下载的i—jetty源码掩盖进去。然后,将下面目录下的jar引进到i—jetty项目中:C:\Documents and Settings\org\eclipse\jetty,还需求servlet-api-2.5.jar。最终,编译i-jetty,并将其装置到设备中。尔后,即可对服务器进行各种装备。若想要运用自己的Web运用,则能够将自己的Web工程打包成war包,并将war包直接放到/sdeard/jetty /webapps/目录下。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/297201.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部