新闻中心

EEPW首页>嵌入式系统>设计应用> 基于以太网智能家居控制器的设计

基于以太网智能家居控制器的设计

作者: 时间:2013-11-30 来源:网络 收藏


  3.2 嵌入式 Web服务器的实现

  设计中采用的是型 8位单片机,由于单片机存储空间有限、处理速度相对较慢,且在整个远程控制中不需要实现完整的 TCP/IP协议。因此,可以在远程控制的网络连接和访问技术中采用精简 TCP/IP协议。要实现交互功能,就要在精简 TCP/IP协议的基础上实现 HTTP协议,构建嵌入式 Web服务器。本设计中的精简 TCP/IP协议具有同 TCP/IP协议一样的四层结构,各层实现的功能如下:

  ①链路层。设计中通过接入到 Internet,因此物理层和数据链路层要符合的 IEEE802.3标准。然而,控制器 RTL8019AS的硬件组成部分已经实现了 CSMA/CD控制机制,屏蔽了底层硬件处理的细节,并向上层软件提供与硬件无关的接口,最终完成了数据在以太网中的接收和发送。因此,设计中物理层与数据链路层的设计是通过 RTL8019AS硬件和驱动程序共同实现的。

  ②网络层实现了 ARP协议、ICMP协议和 IP协议。ARP是地址解析协议,具体处理过程是当接收到 ARP数据包,处理器就查看 IP地址是请求还是响应。如果是响应,则将响应中的网卡地址存到 ARP高速缓存表中;如果是请求,处理器将返回自己的网卡物理地址给对方。ICMP是调试响应 PING的请求,检测网路是否通顺。依照系统实际应用的要求, IP协议只需实现对数据报传送和接收,无须实现路由选择算法和差错控制,同时也不需支持 IP数据报的分片和重组。

  ③传输层实现 TCP协议。 TCP协议是面向连接的、端对端的可靠通信协议。设计中采取了 TCP连接的建立与关闭机制、超时重传机制、数据包确认机制、流量控制机制来保证它的可靠性。在超时重传机制中,如果超时重传定时器溢出后还没有收到确认,则重传该数据包,并复位重传定时器。为简单起见,程序里每次只发送一个 TCP数据包,然后等待它的确认,只有收到确认后才会继续发送下面的 TCP数据包。在本设计,程序重传的间隔时间是固定的,没有采用 TCP协议中的标准算法,当达到一定的次数后,发送方还没有收到确认,则会放弃该包的发送并关闭 TCP连接。TCP的流量控制是为了协调通信双方的收发

  速率不均衡而设计的。设计中考虑到系统在使用 TCP协议时,只设置了一个中等 IP包大小接收缓存,因此接收窗口恒定设为 1024。这样远端主机就会以较慢的传输速率与本端的 Web服务器进行通信,不会导致死机。

  ④应用层实现了 HTTP协议。HTTP是在 Web服务器和浏览器之间通信的协议。为了

  简化,设计中采用固定的 HTTP报文头封装 HTTP应答数据报文。格式如下:

  char code html_header[ ] //客户端访问主页时候服务器的响应头部

  = {"HTTP/1.1 200 OKn" //响应行( Respond Line),状态为 OK,表示文件可以读取

  "Cache-control: no-cachen" //没有高速缓存控制

  "Connection: Keep-Aliven" //HTTP/1.1的可持续链接

  "Content-Length: TAG:LEN1n" //文件长度

  "Content-Type: text/htmlrnrn" };//客户端 GET请求的文件格式

  在响应 HTTP请求时,由于以太网数据包的数据部分不能超过 1500字节,因此当发送

  数据超过 1500字节,需要分组发送。

  3.3 以太网远程控制运行结果

接入以太网后,用户只需在浏览器中输入控制器的 IP地址,便可登录远程控制界面。当正确输入用户名和密码后,便进入控制页面,用户可以访问并控制各子系统。


  图 4为智能家电的控制页面,系统使用 GIF格式图片表示智能家电开关的状态。当单击控制页面中相应的开关后,智能家居 Web服务器收到 HTTP请求,执行 CGI程序,将相反状态的图片嵌入到网页相应的位置中。与此同时,单片机会在相应家电的控制端口,输出一个与之前状态相反的电平,此时继电器动作,家电运行状态改变。最后智能家居 Web服务器将新的 HTML页面回送给用户端,浏览器更新页面,并显示改变后的家电状态。

  智能家居 Web服务器的软件系统还启用了定时机制,当用户在规定的时间内未执行任何操作,系统将退出控制页面,返回到登录页面。用户必须重新输入验证信息,并登录后才可再次进入控制页面执行操作,大大提高了整个智能家居控制系统的安全性。



参考文献:

[1].datasheethttp://www.dzsc.com/datasheet/_705483.html.
[2].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[3].ATF16V8Bdatasheethttp://www.dzsc.com/datasheet/ATF16V8B_95069.html.
[4].DS18B20datasheethttp://www.dzsc.com/datasheet/DS18B20_819975.html.
[5].RTL8019ASdatasheethttp://www.dzsc.com/datasheet/RTL8019AS_173.html.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭