太阳集团tcy8722

当前位置: 首页 >应用方案 >技术应用 >

单片机平台简易服务器设计网页配置详解

资源有限的单片机平台的简易webserver服务器设计思路

随着物联网产业的普及,众多低成本的以太网类产品面市,大多数的产品基本使用中等资源的单片机平台,如国产的沁恒的带以太网类功能的单片机,此类单片机最大的特点是资源少,功能全,基于此类芯片开发的产品,产品使用时的配置往往采用资源占用较少的AT指令,或者私有配置协议来实现,本文主要介绍在此类单片机平台上实现网页配置的一种方法

实现网页配置首先在flash资源上至少要有10-15k的空间,设备功能复杂度不可太高,拿NA111串口服务器举例,串口服务器产品实现了基本的tcp/udp/http/mqtt网络通讯功能,串口透传以及注册包心跳包等功能,参数总量较少,可以在网页上实现所有参数的配置。

1. 网页设计

网页实现的方法上,使用静态网页的方式,由于存储容量有限,不可能实现太多的美化功能,也不能调用外部库(考虑离线配置情况),且静态网页可以直接使用浏览器打开,除了ajax的请求外,界面渲染按钮操作等均可直接在本地调试完成

网页的源码结构上可以按照以下方式

-->index.html

-->style.css

-->a.js

-->b.js

-->dat1.json

-->dat2.json

html文件为主页面,css文件为样式表,a.js,b.js主要用于界面控制参数处理等,这几种文件内容固定,.json文件则为参数,属于标准的json文件,内容由设备即时生成;

在资源较少的平台上,以上文件如果按照字符串数组存储的话,其占用空间可能超过50k,所以在单片机上存储时需要考虑压缩文件形式,且http支持GZIP的压缩格式传输文件,利用此方法,可以将内容固定的部分文件通过专用的软件将内容进行压缩,生成数组,在单片机内部进行存储即可,传输时,在http的返回头上增加“content-type:gzip"字段,后直接将数组发出即可,浏览器可自动识别解压文件

2. 服务器设计,同样由于资源问题,设备上的服务器不可能做到移植网页服务器框架,因此只能执行设计,需要完成的工作如下

1. HTTP协议解析库:实现基本的post/get解析请求即可,文件请求类型需要支持:html/css/js/json,几种类型,关于http报文的定义及解析可以百度参考:

2.网络收发支持,服务器主体框架:服务器桩主体框架主要实现数据收发部分、请求判定部分,流程如下

简易webserver服务器设计思路

通过以上方式即可实现网页操作

最终实现效果如下

太阳集团tcy8722

今天的分享就到这里啦,EBYTE人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网进行了解,还有客服小姐姐在线答疑哦!


太阳集团tcy8722