嵌入式Web服务器在高频电源上的应用

2021-11-23 11:51廖佳荣
通信电源技术 2021年11期
关键词:浏览器嵌入式网页

廖佳荣

(福建龙净环保股份有限公司,福建 龙岩 364000)

0 引 言

新一代的工业革命正在兴起,物联网作为其中主要的组成部分,越来越广泛地应用在各个领域。在人们的生活中,小到手表、钥匙,大到汽车、别墅,只要嵌入一个小型芯片就可以实现智能化。随着物联网的发展,越来越多的物体均已实现了智能化,让人们享受到更加安全轻松的生活。

嵌入式系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。嵌入式系统只针对一项特殊的任务,其功能单一、兼容性要求不高、可以进行优化且成本低廉[1]。

嵌入式Internet是近几年发展起来的新技术,该技术可以使嵌入式系统连接Internet网络进行信息交互,通常被称为非PC Internet接入。TCP/IP协议是Internet最基本的协议,采用TCP/IP协议有以下几个优点:一是可以利用现有的Internet网络设施进行多点通信;二是TCP/IP已经被广泛应用在各种设备上,嵌入式系统采用此协议可以直接跟其他设备进行通信;三是现在的手机等智能终端设备都含有最基本的上网浏览功能,采用手机自带的Internet浏览器即可跟嵌入式系统进行通信,无需特别安装App。

本方案在设备中嵌入TCP/IP协议栈组成Web服务器,使用HTTP协议来与客户端进行通信,用户可以在客户端利用Internet浏览器直接访问嵌入式Web服务器。由于嵌入式设备已经接入Internet,因此用户只要可以连接Internet便可查看设备的运行情况,并做出相应的设置修改。

1 实现方案

基于网络监控系统的构成方式可以分为两大类:C/S结构模式和B/S结构模式[2]。C/S结构,即Client/Server(客户端/服务器)结构;B/S结构,即Browser/Server(浏览器/服务器)结构。在C/S结构下,客户端需要采用专门的App,比较典型的有现在国内用户使用广泛的微信、QQ等,还有一些购物的网站(如淘宝、京东等)。采用这种结构不仅需要开发服务器端程序,而且还需要进行客户端的程序开发[3]。在B/S结构下,服务器会将数据发布到Web服务器上,用户只需要利用浏览器访问该服务器即可与设备进行交互。

C/S结构的开发难点主要在于客户端的开发,移动终端的操作系统五花八门,针对不同的系统需要开发不同的客户端App。例如,苹果的手机需要专门开发一款App,安卓的又要另一种。此外,还有版本的要求,如安卓4.0、5.0等,不同版本的兼容性都要考虑,开发的成本很高[4-6]。

B/S结构无需开发客户端程序,只要有Internet浏览器即可作为客户端,任何安装有浏览器的移动终端均可以使用浏览器直接访问服务器,只需要进行服务器端的程序开发即可,开发难度较低。B/S结构模式开发重点是要使服务器端包含HTTP协议模块,本方案便是基于该结构模式进行开发。

本系统嵌入TCP/IP协议栈,程序增加HTTP模块来支持HTTP协议,共同组成一个嵌入式Web服务器。用户通过浏览器发送请求信息,TCP/IP协议栈根据请求信息进行解析,解析的数据传输到HTTP模块,HTTP模块中的程序对数据进行相应的处理并将相应的网页文件传递回TCP/IP协议栈,再发送到用户的浏览器上[7]。

服务器提供两种连接方式供移动终端进行访问:方式一是系统内建WiFi热点,移动终端连接WiFi热点,使用网页浏览器直接访问Web服务器;方式二是服务器通过拨号上网连接上Internet,移动终端必须连接Internet网络,使用网页浏览器访问Web服务器。

系统通过通信电缆连接到高频电源,定期发送查询指令获取高频电源的运行参数,并将当前高频电源的运行参数等信息嵌入到Web页面发布到网上,这样高频电源的各项运行参数就呈现在浏览器上[8-11]。用户通过网页上的参数输入框修改设置参数,系统收到参数修改后发送修改指令到高频电源,高频电源返回新的运行参数,在网页上可以及时查看操作结果。

2 硬件设计

嵌入式Web服务器需要嵌入TCP/IP协议栈,对计算机的存储器、运算速度要求比较高,如果采用8位或16位的MCU,由于TCP/IP等Internet协议需要很多系统资源,因此系统运行缓慢或完全无法运行。基于此,本系统采用32位MCU。系统的硬件框图如图1所示。

图1 系统的硬件框图

(1)控制芯片MCU。STM32控制芯片是ST公司推出的基于Cortex-M3内核的32位MCU。本系统采用STM32F103RC增强型MCU,它可以提供48kB的SRAM、256kB的片内FLASH以及丰富的外设接口,性价比极高。

(2)串口通信。高频电源的通信连接采用RS485串口。STM32系列处理器均集成有USART串行通信接口,要与RS485串口进行通信必须进行电平转换,本系统电平转换芯片选用MAX3485。MAX3485采用半双工通信方式,具有将TTL转换为RS485电平的功能。同时其与MCU的连接也非常简单,只要分别连接MCU的RXD、TXD,再增加EN信号控制MAX3485的接收和发送即可。

(3)以太网通信。ENC28J60是一种带有SPI接口的网络适配器模块,单片机只要具有SPI控制器便可以通过该网络适配器模块扩展出以太网接口。ENC28J60内置MAC+PHY芯片来实现简单的以太网物理层连接,内部集成有一块10M BASE-T芯片,SPI接口的通信速率每秒最高可达10 MB,通过SPI接口连接MCU,嵌入式系统无需安装操作系统即可单芯片接入以太网。

(4)无线路由。无线路由器可以将RJ45接口传输的信号转换成WiFi信号通过天线转发给附近的移动终端,移动终端通过连接无线路由器的热点,在浏览器输入网址即可与高频电源进行信息交互。无线路由器的覆盖半径一般为50 m,超出范围的移动终端可以通过方式二进行访问。本系统采用无线路由嵌入无线3G模块,使用资费卡通过运营商3G网络进行拨号联网,移动终端可以通过GPRS拨号或连接已经接入了Internet的WiFi热点等方式连接Internet,在浏览器中输入网址便可实现与高频电源的信息交互。

3 软件设计

3.1 软件平台

采用微控制器开发工具MDK对基于Cortex-M3内核的微控制器进行程序开发。

3.2 主程序

系统送电,程序开始启动时首先初始化硬件,包括STM32、ENC28J60以及串口等;其次初始化Web服务器,载入HTTP模块;最后初始化完成后,开始进入主程序运行阶段。主程序运行主要包括以下4个阶段:

(1)发送读取命令至高频电源;

(2)将读取到的高频电源运行参数等更新网页;

(3)判断是否接收到客户端浏览器的读取请求,接收到请求则HTTP模块处理请求后返回Web网页,未接收到请求则直接进入下一阶段;

(4)判断是否接收到客户端浏览器的修改请求,未接收到修改请求则直接返回第一阶段,收到修改请求则HTTP模块处理请求后将新数据发送到高频电源,然后返回第一阶段。

3.3 服务器端程序开发

浏览器与服务器连接后的信息交互过程如下:

(1)浏览器向服务器发送请求消息;

(2)服务器接到浏览器的请求后,HTTP模块进行CGI处理,返回相应的网页程序;

(3)浏览器根据返回的网页程序进行网页解析;

(4)以上过程结束后,浏览器与服务器之间连接会断开,服务器进入等待状态,等待下一个浏览器连接请求。

3.4 CGI通用网关接口开发

CGI是一种通用的网关接口程序,运行在Web服务器端,可以对浏览器发来的请求信息进行处理,实现Web服务器与客户端之间的信息交互。

CGI程序的处理过程如下:

(1)用户的请求信息通过浏览器发送到Web服务器;

(2)CGI程序根据请求信息作出响应,将结果传送到Web服务器;

(3)Web服务器将处理结果反馈到用户的浏览器页面。

3.5 网页开发

网页文档使用HTML语言直接在文本文件中添加标记符号即可将文字、图形、表格以及链接等资源组成一个完整的网页文件,方便Internet浏览器解析。文本文件所占空间小,可以直接存储在嵌入式Web服务器的Flash中,根据用户的浏览请求,经过CGI程序的处理,返回相应页面至用户的浏览器上。

4 结 论

本文介绍了嵌入式Web服务器在高频电源上的应用,设计了一个B/S结构的系统,采用TCP/IP协议栈,重点使用了HTTP协议。首先,系统硬件组成简单,可以方便地嵌入高频电源或其他设备中;其次,系统相当于一个网站,用户与系统的交互过程其实是访问一个网站,无需特别的客户端软件;最后,系统可直接接入Internet,方便远程操控。

猜你喜欢
浏览器嵌入式网页
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
基于HTML5与CSS3的网页设计技术研究
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式PLC的设计与研究
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
嵌入式单片机在电机控制系统中的应用探讨
基于URL和网页类型的网页信息采集研究