基于精简TCP/IP协议栈的信息家电网络服务器
在应用软件上实现简单WEB服务器功能,其主要由两个模块构成:一是用户登陆模块;二是家电监控模块。用户登陆模块需要解决用户的合法性检查,即接收用户输入的用户名和密码,进行校验,合法则进入家单监控页面,非法则发出警告页面。家电监控模块针对各家电的硬件情况,收集信息家电的状态码,并通过网页形式显示。
在两个模块中,有一部分相似的处理,即对输入的数据进行解析。现在定义数组htmlinputs来存放解析后的信息。对表单输入的数据进行解析后,将其name值和value值分别存放在htmlinput_struct.name和htmlinput_struct.value里,便于以后的处理。变量htmlinputcount存放表单里输入变量的个数。定义如下:
struct htmlinput_struct htmlinputs[100];
int htmlinputcount=0;
除此外,定义函数get_inputs()和translate()对输入的数据进行处理。
Int get_inputs();//将从表单输入的数据分别装到对应的name/value数据队中
Void translate(char*sourcestr);//解读编码URL字符
具体程序代码在此就不再多述。
整个上层应用程序的流程图如图7所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
5 小结
以太网作为接口,以S1C33系列微处理器为硬件平台,利用软件化的精简嵌入式TCP/IP,能够实现HTTP服务。当然在系统成熟的条件下,还可以考虑把以太网接口替换为无线网络接口。本文为信息家电网络接入Internet提供了一种无需额外的PC或网关设备的解决方案。这种低成本、高性能的方案,具有可靠、灵活的特点,适用于通信速率不太、允许时延大于1s且需要连接Internet的家庭自动化设备。此外用户还可以根据需要,按照此方法,构造自己的网络服务器,可为普通的电气设备或系统如公共服务设备、家庭医疗保健设备、工业自动化系统等,赋予接入Internet的能力。