基于ARM的嵌入式Web服务器的设计与实现

2018-05-08 13:20李振张勤王磊
电子技术与软件工程 2018年22期
关键词:远程控制

李振 张勤 王磊

摘要 随着科学技术的飞速发展,嵌入式系统在计算机领域中显得尤为重要。嵌入式系统具有软硬件性能的裁剪性。除此之外,嵌入式系統还具有精简的系统,时效性非常高和功耗非常低的特点。因为HTML具有语言标准统一性的特点,所以只要将网络服务器嵌入到嵌入式设备中,就可以实现客户端浏览器收发信息和控制外围设备等功能。本论文根据ARM的嵌入式系统的网络互连技术和网络通信基础知识,对嵌入式设备用到的TCP/IP协议进行了合理的分析和简化,最后选择了TCP/IP协议中简化的UIP协议栈,实现了嵌入式Web服务器。

【关键词】STM32 Web服务器 远程控制

目前,通过网络来实现对局域网甚至是互联网的外围设备的监测与控制,在工业控制系统中变得尤为重要。现在的嵌入式Intemet技术在不受网络异构问题的基础上,完美的实现了远程控制技术。相对于传统的网络智能化水平取得了很大的进步,从而使得传统的产业结构得到了很大的改善。嵌入式Web服务器作为其代表,能够让使用Internet的用户更加快捷方便处理信息。而且能够通过以太网和调制解调器的连接,实现在连接的任何网络上运行,最终达到对远程设备的监测和控制。

1 嵌入式Web服务器的现状

嵌入式Web技术,其含义就是嵌入式系统连接到网络的实现。嵌入式Web技术必须具备较好的计算能力和存储能力,这样处理IP数据包的网络带宽以及吞吐量的速度会较快。在软件上能够实现网络的相关通信协议,从而处理数据的封装编码和发送接收等一系列相关问题。

由于嵌入式系统所连接的互联网非常大,设计的协议很多,所以用传统的方法将PC端连接到网络还是有很大的困难。嵌入式系统中除了少些处理器,大部分是存储容量比较小,运行速度比较慢的是8为和16位的嵌入式控制单元,而因特网上面的各种协议需要计算机能够存储大容量、运行速度要快等一些方面,它们不相吻合,所以造成了比较多的困难。除此之外,传统的TCP/IP协议由于实时性方面相对比较差,所以重点都花在了数据传输的稳定性能方面和数据流量操控方面,导致了传统的TCP/IP协议不适合用在实时性相对比较高的嵌入式领域当中。综上所述,使用传统的TCP/IP协议连接到互联网是不可取的。只要对其协议进行适当的裁剪并加以优化,不仅具备简洁性,又能够使微处理器拥有更多的存储空间去实现更多的外围设备,符合嵌入式应用的需求。

2 嵌入式Web服务器的设计

2.1 HTTP协议的实现

HTTP超文本传输协议的作用是搭建分布式的信息系统,然后在www万维网上实现存储数据,它分布在TCP/IP协议之上的应用层。

在嵌入式系统中,用户得到网页页面文件需要网络服务器的一系列处理。网络服务器被动的接收到来自于用户的请求后,会立刻判断这些请求是不是合理的。然后分析这些报文信息所包含的内容,收到相关信息数据,最后提供给用户网页页面。

2.1.1 GET请求

当用户需要网络上的资源时,用户会输入其网址来访问,这也属于GET的请求。GET请求的定义,即用户请求需要的页面信息然后立即返回实体主体中去。用户所需的文档的地定义都在URL中。正常情况下,服务器在响应的时候一般把文档的内容置放在响应报文的主体中去。

2.1.2 POST请求

响应报文以多种形式出现,有可能是状态行,也有可能是其中的一个首部,也有可能是包含的一个主体。定义报文的状态和反应响应的状态分别由状态行和状态码字段实现。不同系列的代码表示不同的功能和作用。100系列到500系列中5个代码的含义,分别表示非正式、请求成功、在URL里客户重新定向、客户端中的某个差错,以及在服务端中的某个差错。

将URL中的字段ASCII码相加是URL的计算方法。URL具备识别功能,是根据URL两段的空格来的。在POST方法过程中,在处于请求信息的实体部分是客户端浏览器所上传的控制数据。请求消息的识别字符是两个连续的字符,分别是CRLF(\r\n)。如果控制数据需要识别,那么可以采用变量名等于值得格式来进行识别。

2.2 嵌入式Web服务器的设计和实现

在本设计中实现的嵌入式Web服务器有3个基本功能。

2.2.1 数据的实时显示

具体体现在服务器能够将各个设备的实时状态,及时的以动态显示的方式提供到网页上,而且客户端能够通过因特网随时监测和控制其外围设备的状态。

2.2.2 设备运行参数和状态参数的参数控制

当接收到用户发送的参数设备请求才实行该参数的写入操作。

2.2.3 远程控制

用户即使不在设备的旁边,也能够随时通过因特网给驱动系统下达指令,控制这些远程外设运行,从而达到用户远程控制设备的目标。

因此,以系统应用设计和实现为基础的嵌入式We服务器,很好的解决了硬件和操作系统的不同,促使嵌入式Web服务器能够在各种各样的平台上得以应用。

2.3 协议栈和Webserver功能测试

UIP是一个分层的协议栈。分层协议的意义是它既能够为上层提供服务和接口,也能够对下层的实现环节进行屏蔽。换句话说,应用层中的HTTP协议是网络服务器给客户端浏览器提供相应服务的重要传输环节。传输层上的TCP协议为应用层上的HTTP协议能够实现稳定传输提供了一些差错重传等机制。网络层中IP协议随后接收来自于传输层的TCP协议,然后将传输的信息数据发送给最接近主机的下一层。最后在网卡驱动和相关网络协议的基础上实现相应的数据包实现物理层上的连接。

3 总结

在本章中完成了应用层HTTP协议的实现,在此基础上完成了嵌入式Web服务器的设计,并且成功的进行了测试运行。通过Web浏览器确实能够远程登陆Web服务器,及控制服务器端的外围设备,真正的实现了网络的动态交互。该服务器具有传输率高,可靠性强,容易访问等特点,具有广泛的应用前景。

参考文献

[1]李芳.计算机软件设计中的嵌入式软件设计分析[J].电脑知识与技术,2016 (03):64-65.

[2]郑玉静,嵌入式数控系统的网络应用研究[J].通信电源技术,2012 (04):83-84.

[3]杨易,嵌入式Web服务器中动态Web技术研究[D].湖北工业大学,2016.

猜你喜欢
远程控制
基于GSM的远程控制系统