基于STM32F103RB微处理器和W5100芯片实现嵌入式Web服务器的设计

发布者:SereneSoul55最新更新时间:2024-06-17 来源: elecfans关键字:STM32F103RB  微处理器  嵌入式Web服务器 手机看文章 扫描二维码
随时随地手机看文章

目前,网络化控制己成为远程控制的主要研究方向,利用网络实现对局域乃至全球范围内设备的监控是工业控制系统的发展趋势。嵌入式 Internet远程监控技术作为网络化控制的代表,它解决了工业控制领域中异构网络互联问题,提高了传统装备的智能化水平,促进了传统产业结构的调整。嵌入式Web服务器尤其适用于嵌入式Internet应用,它通过Ethernet或Modem的连接可以轻松连接到任何网络,真正实现对设备的远程管理和控制。


实现方案

嵌入式Web服务器必须具备的基本功能包括:可控制与其连接的设备并获取设备的状态和数据;现场信息可以网页形式发布;可及时响应远程用户的控制命令。此外,嵌入式设备应具有功能简单、功耗低和便携等特点。为此,设计的系统如图1所示。

o4YBAGB9RduAHDF_AABRqsZdEhw057.png?imageView2/2/w/1000

本系统采用了ST公司的Cortex-M3内核的STM32微处理器STM32F103RB。该芯片属于STM32系列的增强型,提供多达 128KB的片内Flah、20KB的RAM和丰富的外设接口。Cortex-M3内核在设计上专门考虑了满足集功耗低、实时性强的工业级嵌入式产品领域的特点。在性能相同的条件下,STM32产品功耗比同级别产品要低75%,工作环境温度达105℃。因为集成度很高,除一个电源外,LQFP100封装芯片的最小系统只需要外接7个电容即可。

TCP/IP协议栈由W5100来支持,它集TCP/IP协议栈、以太网MAC和PHY为一体,其内部16KB的发送/接收缓冲区可快速进行数据交换,最大通信速率达到25Mbps;内嵌10BaseT/100BaseTX以太网物理层,支持自动应答;提供多种总线接口方式,可以很方便地与各种 MCU连接,简化了硬件电路设计,使嵌入式系统在没有操作系统的支持下,真正实现单芯片接入因特网的理想。

为减少PCB板面积和布线复杂性,考虑到系统的数据传输率要求不高,选择SPI接口作为STM32F103RB和W5100的连接方式。STM32F103RB、W5100和RJ45接口构成一个典型的嵌入式Web服务器。

作为一个应用实例,本设计利用STM32F103RB的片上ADC和GPIO,将服务器与LED和压力传感器相连,一旦服务器接收到来自浏览器端的连接请求,服务器将及时响应,将当前的压力参数、LED状态和温度等信息嵌入到Web页面并发布到网上,这样现场的各种信息就呈现在浏览器。此外,用户通过网页上的控制按钮可以远程控制LED状态,操作结果能及时反馈在网页上。

硬件设计

图2为嵌入式Web服务器的简化电路图,主要显示了构成服务器的三个核心器件的连接方式。RJ45接口是带有网络变压器的物理层接口。在W5100中,通过将SEN引脚经10KΩ电阻上拉到高电平以使能其处于SPI从模式。CS为片选,MISO和MOSI为两条数据传输线。W5100的SPI工作时钟由处于主模式的 STM32F103RB提供。为方便STM32F103RB判断W5100的工作状态,必须将W5100的中断引脚INT与STM32F103RB的外部中断线相连接。W5100的第5、6、8和9引脚是PHY信号线,用于与RJ45接口相连接。除电源相关引脚外,W5100的其它引脚可以选择置空。

pIYBAGB9ReWABLMMAACuwEdUN2Q091.png?imageView2/2/w/1000

软件设计

主程序

主程序流程图如图3所示。

pIYBAGB9RfGAFgyOAABeLQPztYU739.png?imageView2/2/w/1000

当程序开始启动时,程序首先初始化STM32和W5100,配置STM32工作在SPI主模式,而W5100工作在从模式,启动STM32的A/D和片上的温度传感器,配置W5100工作于TCP服务器模式,在TCP服务器模式下,端口的状态转换如图4所示。在使用内部温度传感器时要注意:温度传感器在从调电模式唤醒后到它能以正常水平输出采样电压前有一段建立时间;ADC唤醒后同样需要一段建立时间,为使延迟最小,ADON位(用于启动A/D转换)和TSVREFE位(用于将温度传感器从调电模式中唤醒)应该同时置位。另外,对温度传感器的采样时间要大于2.2μs。

pIYBAGB9RfyAUBgxAACfOQYvoYw635.png?imageView2/2/w/1000

接下来是一个无限循环体,程序开始不断检查外部中断状态标志(WInterFlag)和Socket接收数据状态标志(SockRecvFlag)是否改变,同时开始处理A/D转换的数据,以保证服务器在产生网页时能得到当前的各种数据。

一旦W5100的Socket端口有中断事件产生时,W5100将通过其中断引脚INT触发STM32的外部中断,使STM32进入外部中断处理函数改变WInterFlag,程序接着进入处理W5100中断事件函数,在此函数中,STM32通过访问W5100的中断寄存器(IR)和端口0中断寄存器(S0_IR)判断出W5100的端口0产生何种中断事件,若Socket接收到数据,则改变SockRecvFlag。

程序检测到SockRecvFlag发生改变,立即进入处理接收数据函数。处理接收数据函数是整个程序的核心,它主要负责收发数据、解析HTTP协议和响应用户的不同请求。图5为该过程的程序流程图。

数据处理程序

HTTP协议是一种请求/响应协议。在基于HTTP的客户/服务器数据交换时,当HTTP请求产生时,就开始一次HTTP通信。过程如下:浏览器提取出URL中的主机后,向DNS发出请求,解析主机名的IP地址;DNS解析地址并将结果返回给浏览器;浏览器向该地址请求建立TCP连接;浏览器发出请求报文;服务器向浏览器发送响应报文,并将指定数据发送给浏览器;断开连接。

根据HTTP协议规定,如果客户端没有发出请求,则服务器不会自动发送页面。因此通过在网页程序中加入标记,使浏览器在无用户干预下周期性地刷新页面,从而保证用户及时地获得远程现场的信息。

HTTP消息包括一个起始行、零个或多个消息头域、一个标示头域结束的实体行和一个可能存在的消息体。本程序主要解析消息的起始行,而忽略其它内容,这种处理思路也符合嵌入式系统硬件对软件实现的复杂度要求。请求方法决定了对请求URI所指定的资源进行操作的方式,GET方法读取URL指定的资源,一般用来向服务器传输少量且透明的数据,数据总量被限制在255个字符以内,而POST方法可传输大量数据,与HTML的表单特性相配合以实现远程动态交互控制。

当连接开始时,客户端发送GET方法请求给服务器,以访问服务器网页,为限定特定用户访问,增加数据安全性,在网页中加入基本认证机制。当客户端请求受基本认证机制保护的网页时,服务器即要求用户认证,服务器端对用户的登陆信息按Base64码解码,只有认证成功,浏览器才能获得正确的网页数据。正确的控制网页如图6所示,若用户信息有误,服务器返回以状态码401为起始行的响应消息。

o4YBAGB9RgOAekRcAAC_O-FCZGQ406.png?imageView2/2/w/1000

由于服务器端检测的数据处在不停的变化之中,为使网页的数据也能及时地更新,网页程序初始化时,要显示的数据都使用字符串标记暂时表示,在每次发送响应消息到端口前,再将网页中定义字符串标记用当前设备的实际值替换。

对LED的控制,网页程序采用HTML语言的表单,HTTP协议请求方法采用POST。POST作为请求方法时,首先和Web服务器建立连接,成功后浏览器将HTML表单中的值发送给Web服务器。这种方式没有字符长度的限制,表单数据是作为附加的文档发送而不是作为URL的一部分发送。服务器程序通过判断客户的不同控制命令即时做出LED灯的开关响应。

在每次连接成功后,服务器端程序会返回以状态码200开头的响应消息,消息的起始行为:HTTP/1.1 200 OK。当用户请求一个服务器端不存在的文件时,服务器返回以状态码404开头的响应消息。

pIYBAGB9RguAZHcqAAC82gbSQBQ852.png?imageView2/2/w/1000

结语

这种利用硬件实现TCP/IP协议的网络芯片W5100及具有Cotex-M3内核的STM32处理器构成嵌入式Web服务器的方案性价比高。通过网络,用户在浏览器端可及时收到远程现场传感器采集的数据,远程现场的开关状态指示灯可实时地响应用户的开关信号操作请求。测试表明该系统传输大块数据文件的速率可达到100KBPS。为提高网络资源的安全性,可采用AES(Advanced Encryption Standard,先进加密标准)等编码机制来加密必须保护的私有数据。


关键字:STM32F103RB  微处理器  嵌入式Web服务器 引用地址:基于STM32F103RB微处理器和W5100芯片实现嵌入式Web服务器的设计

上一篇:基于TMS320F28335和STM32F103VET6芯片实现北斗定位系统的设计
下一篇:基于Pixart PAH8013ES+STM32F411实现耳机血氧与心率的检测方案

推荐阅读最新更新时间:2026-03-22 14:13

利用嵌入式系统与Internet相连接实现Web服务器的应用
嵌入式Internet是指电子设备通过嵌入式模块而非PC直接接入到Internet,与Internet进行信息交互的过程。目前Internet成为全球最大、信息最丰富的互联网络。用户甚至希望家电设备、仪器仪表以及工业生产中的数据采集与控制等设备也能够连接到Internet上,因为这意味着用户可以方便、快捷、低廉地通过网络进行远程控制、监测和信息传送。美国贝尔实验室的科学家预测,未来将会产生比PC时代多成百上千倍的超级嵌入式Internet服务器。Internet技术和嵌入式技术的相互融合,为嵌入式系统的设计和产品开发带来了前所未有的发展空间和机遇。 1 、单片机嵌入式Web应用的硬件系统设计 在硬件系统的设计中,本文采用了AT
[单片机]
利用<font color='red'>嵌入式</font>系统与Internet相连接实现<font color='red'>Web服务器</font>的应用
一种嵌入式Web服务器的远程测控系统
简介:针对目前工业现场大量8位普通微处理器尚未接入Internet的现状,本文详细介绍了基于51单片机的嵌入式Web服务器,并由此构建了基于二维精密工作平台的远程测控系统。经实践检验,此方案切实可行。 1、引 言 目前远程测控系统一般都采用以太网和现场总线混合控制网络。由于现场总线多种标准共存局面的存在,严重地影响了自身追求的开放性、分散性和完全互操作性的特点。随着Internet技术的迅速发展,以太网和TCP/IP协议已成为世界范围内的事实标准。基于TCP/IP的以太网可满足控制系统的各个层次的需求,并具有实现现场设备层和企业管理层的无缝连接、低成本等现场总线技术无法比拟的优点。专家预言,基于以太网传输的嵌入式Interne
[单片机]
一种<font color='red'>嵌入式</font><font color='red'>Web服务器</font>的远程测控系统
基于Android系统环境的嵌入式Web服务器设计
随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流。本文主要论述了基于Android系统环境,在家庭网关中实现嵌入式Web服务器的设计方法,介绍了i-jetty嵌入式Web服务器,及其Web应用功能的实现。 只要在嵌入式设备中集成了Web服务器,就能实现用户与嵌入式设备低成本、高通用性的信息交流,即客户端利用HTTP浏览器,在任何时间、任何地点都能实现与嵌入式设备的信息交互。可以说,嵌入式Web的应用极大地促进嵌入式设备,特别是家电设备、通信终端、仪器仪表的信息交互和远程控制功能。 在三网融合的大背景下,通过家庭网关实现外部网络即电视网、电信网、因特网与家庭内部电话、电视、电
[单片机]
基于Android系统环境的<font color='red'>嵌入式</font><font color='red'>Web服务器</font>设计
嵌入式WEB服务器在太阳能发电站监测系统中的设计应用
监控系统分2种,C/S模式和B/S模式。C/S模式需要在PC安装客户端,在嵌入式系统上还需要安装服务端,这在设计上不仅加大了开发工作量,而且还得配备专用电脑,但有时候在工业现场上是没有办法做到的。而B/S模式则显得其灵活性和成本低廉性。首先在B/S模式下面我们只需要开发单个WEB应用,客户端和服务端程序都不需要。其次还可以用具备浏览器的终端设备来随时随地浏览察看和控制后端设备。另外还可以省下其他监控硬件设备,有效降低了成本,增强整套系统市场竞争力。 综合考虑本系统采用B/S方式。监控系统以ARM11微处理器(SC6410)为硬件核心,嵌入式Linux为软件核心的综合平台方案。在此平台上设计了基于Linux嵌入式Web太阳能监控系统
[单片机]
<font color='red'>嵌入式</font><font color='red'>WEB服务器</font>在太阳能发电站监测系统中的设计应用
基于SX52的嵌入式Web服务器的快速实现
随着互联网的日益普及,信息共享的程度不断提高,网络仪表及网络控制设备的流行逐渐成为趋势。如何通过互联网共享以单片机应用系统为中心的小型嵌入式设备的信息,成为当今电子界的热门话题。传统的互联网应用以PC为中心。如今,互联网应用正在转到以嵌入式设备为中心。用单片机实现嵌入式互联网方案的技术难点是:如何利用单片机本身有限的资源对信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。目前解决这个问题有两种方案:一种是PC网关+专用网,缺点是要增加布线和第三方协议转换软件;另一种是32位MCU+RTOS,弊端是开发难,成本极高。而用软件方法实现网络协议比采用集成网络协议的芯片,具有节省空间、降低成本的优点,更重要的是可以随意
[单片机]
基于SX52的<font color='red'>嵌入式</font><font color='red'>Web服务器</font>的快速实现
嵌入式Web服务器技术及其在电力系统中的应用综述
1 引言 随着现代通信技术的发展,网络技术特别是基于TCP/IP通信协议的Web技术得到了广泛的应用和普及。在TCP/IP协议基础上建立的HTTP超文本传输协议、FTP文件传输协议、Telnet远程登陆协议以及SMTP邮件协议等协议族构成了Web技术的核心。更重要的是这些协议是开放、标准和独立于系统平台的,利用现有的网络硬件基础,就可以很方便地建立基于TCP/IP网络协议的Internet/Intranet网络系统。Web技术允许任意地点的用户通过Web浏览器接入网络,访问Web服务器发布的各类信息,实现世界范围内的互联 。Web浏览器使用的是基于 HTTP超文本协议的HTML超文本模式语言,其标准化的界面表达独立于客户端软硬
[单片机]
<font color='red'>嵌入式</font><font color='red'>Web服务器</font>技术及其在电力系统中的应用综述
基于嵌入式Web服务器的智能温室监控系统
摘 要 阐述了一个温室大棚的自动控制系统。该系统使用Luminary公司的LM3S102处理器以及精简的TCP/IP协议栈,构建了嵌入式Web服务器,实现基于以太网的智能温室大棚监控功能。系统通过对光照强度、温度、湿度等信号的采集,使用户可以在任意计算机终端上通过IE浏览器远程监控大棚状态,实现对大棚电动卷帘机、温室电热器、植物生长灯、微管喷滴灌等系统的实时控制。用户也可通过LCD屏与键盘实现大棚的实地监控。系统采用PoE技术,不需要额外的输电线,充分利用了LM3S102外设,使测控系统适应基层生产的需要。 关键词 温室监控 嵌入式 以太网供电 协议栈 Web服务器 LM3S102 现代化的温室监控系统用来实时采集温室内温度
[工业控制]
基于<font color='red'>嵌入式</font><font color='red'>Web服务器</font>的智能温室监控系统
ARM7的嵌入式Web服务器设计技术
1 概述 随着嵌入式技术和网络技术的发展,嵌入式设备通过网络接入局域网或者Internet逐步成为一种发展趋势。嵌入式Web服务器技术以其良好的通用性和交互性为嵌入式设备提供网络接口,对嵌入式设备实现远程管理和控制,是实现嵌入式设备网络化的重要技术。 本设计提出的基于ARM7的嵌入式Web服务器设计有三大技术亮点: ①采用浏览器/服务器(B/S)通信架构。与客户机/服务器通信架构相比,B/S架构无需在客户端上开发专门的应用软件,只需从浏览器上输入IP地址,直接对设备进行远程监控。 ②传统的Web服务器需要一个数据库系统的支持用来保存内容,因而对用于存储的硬件设备要求更高,增加了成本。本设计只需构建一个简单的文件系统
[单片机]
ARM7的<font color='red'>嵌入式</font><font color='red'>Web服务器</font>设计技术
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved