0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析关于微控制器的web服务器设计

电子工程师 来源:微计算机信息 作者:微计算机信息 2021-06-12 19:25 次阅读

基于Web的网络管理(WBM)技术是Internet网络不断普及的结果。其根本点就是允许通过Web浏览器进行网络管理,可以把SNMP数据汇集到Web应用中去,既集成了SNMP协议,又能较好地解决网络管理平台存在的困难。WBM融合了Web功能与网管技术,从而为网管人员提供了比传统工具更强有力的能力。

管理者的操作不受地理位置的限制,可在任何平台下被访问。对系统的修改只需在Web Server上进行,无需在客户端作任何修改,减少了系统维护及修改的工作量与费用。具体包括HTTP协议、HTML语言、CGI原理以及B/S结构。

4.2 基于Rabbit2000的嵌入式服务器

4.2.1 TCP/IP协议栈与HTTP的实现

IP包含编址方案,并提供寻址功能;TCP则是在不同主机的对等进程之间提供可靠的进程间通信。与TCP两端口所连接的实体中,一端为应用程序进程或用户,另一端则为底层协议,如IP协议。TCP在建立连接过程中采用三向握手机制,以保证数据的可靠性。 Dynamic C实现TCP/IP协议通信的程序主体框架。在Dynamic C中,HTTP由HTTP.LIB来负责实现。

4.2.2 系统工作流程

系统流程如下:

(1) 系统上电,从FLASH读取系统配置信息,进行相应的配置。

(2) 各个变量初始化。

(3) 设置波特率,清空接收,发送缓冲区。

(4) 初始化各受控变量,及相关标记。

(5) 读flash,判断是否有数据保存标志。如有,则读出各个设置,赋值给各相关变量。

(6) 如没有,则认为是设置初始化,重新初始化文件系统,格式化,写入缺省设置。

(7) 初始化socket,启动以太网

(8) 进入通讯,与机架上的各台设备通信。

(9) 启动web服务器,等待连接。

(10) 8与9各作为一个线程一直循环执行。

(11) 隔一段时间查询,如果掉电后需要保存的数据发生变化,则把数据保存到flash o

(12) 如果用户改变agentip,管理ip,子网掩码,网关等,则重新配置网络。

4.3 UCD-SNMP代理扩展

基于SNMP的网络管理软件及应用开发工具有很多,较为普及和流行的一种即为UCD-SNMP。由于UCD-SNMP的应用较为广泛,而该软件提供了较多的实用SNMP网络管理工具和SNMP代理,所以在实际使用中可以直接用于网络管理,进行各种操作。对该工具进行功能上的扩展,可以修改代理配置文件使SNMP代理能够执行外部命令,也可以扩展代理支持的MIB使代理能够支持自定义的被管对象。包括三方面扩展: 1) MIB定义文件;2) C代码头文件;3) C 代码执行文件。

4.4 MIB设计

MIB包括代理端本身MIB和设备MIB两大部分。

4.4.1 代理端本身MIB

代理端本身MIB:包括私有MIB和标准的MIBⅡ两大部分。

1.私有MIB

私有MIB:代理端系统描述,代理端ip地址,代理端mac地址,管理端ip,子网掩码,网关,代理OID,代理启动时间,设备数目,一些标记等。OID前缀为1.3.6.1.4.1.20353.1。

2. MIBⅡ

MIBⅡ是目前最重要,也是获得支持最广泛的MIB, UCD_ SNMP支持MIBⅡ。只要把MIBⅡ编译进agent,作一些小的修改就可以了。

4.4.2 设备MIB

设备MIB:设备型号,设备总体状态,各指示灯状态,各按钮状态,设置按钮(按下或弹出),其他设置等。

OID前缀为1.3.6.1.4.1.20353.2.

动态MIB的设计:

各型号设备的MIB子树的结构作为全局变量,在系统启动时就已经存在。系统启动时,通信程序轮询一遍各设备的状态,发现某个地址有设备,读取该设备型号及MIB信息,为该设备注册MIB子树。这样,一遍轮询后,设备的MIB都已经建立起来了。

程序不停的轮询各设备的状态,当发现设备已经不在线时,从系统MIB树注销该设备所在位置的子MIB树。当发现新设备时,向系统MIB树注册该设备所在位置的子MIB树。当设备状态改变时,改变相应的MIB变量。这样,就实现了MIB的动态刷新。

5 本文作者创新点

近年来,随着计算机软硬件技术的迅速发展,计算机的应用已逐渐深入各个领域,它渗透到我们工作、学习和生活的方方面面。本文设计并实现了基于RABBIT 2000的WEB服务器,基于ARM+UCLINUX的SNMP代理。这两个系统均用于通信设备的网路管理,工作稳定。本系统设计不需要多少成本,而性能与商用的嵌入式操作系统相差无几。因此非常适合于对成本敏感的系统设计。

参考文献:

[1] 李驹光,聂雪媛,江泽明,王兆卫,ARM应用系统开发详解-基于S3C4510B的系统设计,清华大学出版社2003年12月

[2] 王航。嵌入式通信平台的硬件设计与实现,国防科学技术大学研究生院,2002年l月

[3] 周立功等,ARM微控制器基础与实战,北京航空航天大学出版社2003年11月

[4] [美]Mark A.Miller, P.E.著晏明峰李静晏峻峰译,用SNMP管理互联网络(第三版),中国水利水电出版社2000年3月第一版

[5] 杨妮妮,赵新慧,李文超,冯锡炜。 基于Web的SNMP网络管理[J]。 微计算机信息, 2006, 2-3: P110-111、P72

节选自:微计算机信息

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18274

    浏览量

    288364
  • 以太网
    +关注

    关注

    40

    文章

    5075

    浏览量

    166216
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1270

    浏览量

    78282
  • MIB
    MIB
    +关注

    关注

    0

    文章

    9

    浏览量

    8189
收藏 人收藏

    评论

    相关推荐

    什么是web服务器?如何选择服务器配置?

    Web服务器是一种软件或硬件设备,用于托管和提供网页内容。它接收客户端(如浏览器)发送的HTTP请求,并返回相应的网页内容或其他资源,以实现更高的性能和可靠性。它是网站和应用程序在互联网上构建和交付
    的头像 发表于 01-03 15:25 322次阅读

    ESP8266可作为Web服务器吗?怎么实现?

    ESP8266可作为Web服务器吗怎么实现
    发表于 10-24 08:17

    基于嵌入式Web服务器的远程控制系统设计

    电子发烧友网站提供《基于嵌入式Web服务器的远程控制系统设计.pdf》资料免费下载
    发表于 10-18 11:17 0次下载
    基于嵌入式<b class='flag-5'>Web</b><b class='flag-5'>服务器</b>的远程<b class='flag-5'>控制</b>系统设计

    使用STM8S微控制器的模数转换

    本应用说明的目的是解释如何使用模数转换在许多STM8S微控制器系列设备中实现。它提供了有用的关于如何配置ADC寄存微控制器资源以及使用
    发表于 10-10 07:48

    基于单片机的Web服务器设计

    1.单片机Web服务器传输速度快、有成熟的。协议栈软件可以利用2.外围芯片少,成本低,开发速度快3.Web浏览广泛使用4.社会需求量大
    发表于 09-25 08:25

    STM8S微控制器参考手册

    导言本参考手册为应用开发人员提供了关于如何使用STM8S微控制器的存储和外设的完整信息。STM8S是一个拥有不同存储大小,封装和外设的微控制器
    发表于 09-25 07:33

    如何使用STM32G4系列微控制器存储和外围设备

    本参考手册面向应用程序开发人员。它提供了关于如何使用STM32G4系列微控制器存储和外围设备。 STM32G4系列是一系列具有不同内存大小和封装的微控制器以及外围设备。 有关订购信息
    发表于 09-08 06:59

    EasyWeb:微小的TCP/IP协议栈和Web服务器

    APNT_164 应用程序说明 APNT_164 概览 MCB167-NET原型板板提供10BS-T(RJ45)Ethernet连接。这个标准界面可用于在局域网中向PC或其他微控制器快速传输数据
    发表于 09-04 07:39

    Web服务器开源分享

    电子发烧友网站提供《Web服务器开源分享.zip》资料免费下载
    发表于 06-25 15:55 0次下载
    <b class='flag-5'>Web</b><b class='flag-5'>服务器</b>开源分享

    嵌入式Web服务器的 STM32 固件更新代码

    此开源参考设计演示了如何通过支持 LwIP 的微控制器系统上的嵌入式 Web 服务器安全、稳健和专业地更新固件。
    发表于 06-21 15:19 9次下载
    嵌入式<b class='flag-5'>Web</b><b class='flag-5'>服务器</b>的 STM32 固件更新代码

    S32K344EHT1MMMST微控制器,它是符合ASIL-D设备标准且符合ASIL-D系统标准的微控制器吗?

    以下是关于 S32K344EHT1MMMST微控制器安全标准 ASIL-D 的查询: 微控制器是否足够独立以实现外设冗余,即在任何外设故障的情况下,如 sci。微控制器会切换到新的
    发表于 06-12 07:17

    Web服务器启动时MQTT (SSL) 断开连接如何解决?

    一周问题。任何一种协议都在运行 MQTT /web 服务器。如果网络服务器已启动,则 mqtt 会断开连接。如果连接了 mqtt,Web 服务器
    发表于 06-02 07:51

    Java web应用程序与esp8266通信以进行硬件控制,怎么实现?

    ,Netbeans IDE 用于 java 代码;另一方面,我有一张带有 8 位 PIC 微控制器 + esp8266 模块 + 和直流电机的电子卡来控制开门;应用程序密钥将是java web app
    发表于 05-22 06:18

    在STA断开连接的AP_STA 模式下的OTA+Web服务器问题求解

    Web 服务器不可靠并且 OTA 在上传过程中中断。 我猜这是因为 ESP 正在跳频以搜索配置为连接的 SSID,从而失去与关联客户端的连接。 那么:解决这个问题的最佳方法是什么?当客户端连接
    发表于 05-15 07:43

    ESP8266使Web服务器完全无响应是怎么回事?

    ) { server.handleClient(); 我的问题是代码中已经有一个循环需要延迟 2 秒执行,如果我将 server.handleClient() 函数放在这个循环中,它会使 Web 服务器完全无响应。有没有另一种方法可以使
    发表于 05-12 08:20