网络工程课程设计报告基于以太网的远程温湿度采集控制系统 8.docx
《网络工程课程设计报告基于以太网的远程温湿度采集控制系统 8.docx》由会员分享,可在线阅读,更多相关《网络工程课程设计报告基于以太网的远程温湿度采集控制系统 8.docx(15页珍藏版)》请在冰豆网上搜索。
网络工程课程设计报告基于以太网的远程温湿度采集控制系统8
《基于以太网的远程温湿度采集控制系统》
课程设计报告
计算机与信息工程学院
2016年6月
一、引言
物联网系统是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。
随着生活水平的提高和科学技术发展的需求,人类对环境信息的感知上有了更高的要求,在某些特殊工业生产领域和室内存储场合对环境要求显得特别苛刻;随着物联网技术的发展,为环境环境检测提供了更进一步的保障。
基于物联网的环境信息采集系统包含感知层、传输层、应用层三个层面;传输层常见的有温湿度、烟感、一氧化碳、压力等物联网传感器模块,传输层包括有线通信和无线通信两部分,应用层包括各种终端。
在室内环境监测领域,以物联网技术为基础,结合ZigBee技术可以实现、准确、完整、可靠的反应环境信息,做到实时监控。
二、设计要求
通过对温湿度测控发展历史、研究背景以及发展现状综合研究得知,温湿度数字信号传感器优于传统模拟信号传感器。
本文提出一种远程监控系统,即基于以太网的湿度智能监控系统。
通过对半导体、通信与控制技术的结合,解决温湿度监控系统中传统现场总线的速率瓶颈问题,并且将单片机技术与以太网结合,其适应面、实时性和性价比方面得到大幅加强,具有温湿度采集传输速率高,经济实用,易于扩展和维护,能够大规模组网等特点。
具体主要表现在设计方案中的三个方面,具体来说,为总体监控方案以及对应的实施方案,即硬件技术方案与软件技术方案,共三部分。
设计内容包括:
1)读取DHT11温度并通过串口打印
2)浏览器显示设计网页模板
3)网页实时显示温度
4)网页按钮控制KED灯
三、主要设备
1.W5500
W5500是一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。
W5500集成了TCP/IP协议栈,10/100M以太网数据链路层(MAC)及物理层(PHY),使得用户使用单芯片就能够在他们的应用中拓展网络连接。
W5500提供了SPI(外设串行接口)从而能够更加容易与外设MCU整合。
而且,W5500的使用了新的高效SPI协议支持80MHz速率,从而能够更好的实现高速网络通讯。
为了减少系统能耗,W5500提供了网络唤醒模式(WOL)及掉电模式供客户选择使用。
以太网控制芯片W5500具有以下特点 :
1)支持硬件TCP/IP协议:
TCP,UDP,ICMP,IPv4,ARP,IGMP,PPPoE
2)支持8个独立端口(Socket)同时通讯
3)支持掉电模式
4)支持网络唤醒
5)支持高速串行外设接口(SPI模式0,3)
6)内部32K字节收发缓存
7)内嵌10BaseT/100BaseTX以太网物理层(PHY)
8)支持自动协商(10/100-Based全双工/半双工)
9)不支持IP分片
10)LED状态显示(全双工/半双工,网络连接,网络速度,活动状态)
11)48引脚LQFP无铅封装(7x7mm,0.5mm间距)
图3.1.1W5500核心控制器
2.DHT11温湿度传感器
HT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为3针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
图3.2.1DHT11温湿度传感器
3.STM32F103单片机
本系统采用W5500单片机作为主控制器,STM32F103xx增强型系列由意法半导体集团设计,使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。
所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:
多达2个I2C和SPI、3个USART、一个USB和一个CAN。
1、结构与功能
■内核:
ARM32位的Cortex™-M3CPU
−72MHz,1.25DMips/MHz(Dhrystone2.1),0等待周期的存储器−支持单周期乘法和硬件除法
■存储器
−从32K字节至512K字节的闪存程序存储器(STM32F103xx中的第二个x表示FLASH容量,其中:
“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K)−从6K字节至64K字节的SRAM
■时钟、复位和电源管理
−2.0至3.6伏供电和I/O管脚
−上电/断电复位(POR/PDR)、可编程电压监测器(PVD)−内嵌4至16MHz高速晶体振荡器
−内嵌经出厂调校的8MHz的RC振荡器−内嵌40kHz的RC振荡器−PLL供应CPU时钟
−带校准功能的32kHzRTC振荡器
■低功耗
−睡眠、停机和待机模式−VBAT为RTC和后备寄存器供电
■2个12位模数转换器,1us转换时间(16通道)
−转换范围:
0至3.6V−双采样和保持功能−温度传感器
■DMA
−7通道DMA控制器
−支持的外设:
定时器、ADC、SPI、I2C和USART
■多达80个快速I/O口
−26/37/51/80个多功能双向5V兼容的I/O口−所有I/O口可以映像到16个外部中断
■调试模式
−串行线调试(SWD)和JTAG接口
■多达7个定时器
−多达3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道
−16位6通道高级控制定时器−多达6路PWM输出
−死区控制、边缘/中间对齐波形和紧急制动−2个看门狗定时器(独立的和窗口型的)−系统时间定时器:
24位自减型
■多达9个通信接口
−多达2个I2C接口(SMBus/PMBus)
−多达3个USART接口,支持ISO7816,LIN,IrDA接口和调制解调控制
−多达2个SPI同步串行接口(18兆位/秒)
−CAN接口(2.0B主动)
−USB2.0全速接口
■ECOPACK®封装(兼容RoHS)
图3.3.1STM32F103单片机
4.设计实现
1、基于W5500的TCP实现
TCP(TransmissionControlProtocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。
在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。
在因特网协议族(Internetprotocolsuite)中,TCP层是位于IP层之上,应用层之下的中间层。
不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
图4.1.1TCP三次握手
图4.1.2TCP四次挥手
图4.1.3TCPServer实现
图4.1.4TCPClient实现
使用wireshark抓包工具抓取客户机与WEB服务器通讯过程
图4.1.5TCP三次握手建立连接
图4.1.6TCP数据传输
图4.1.7TCP断开连接
2、基于W5500的DHCP实现
DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:
给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCPServer和DHCPClient的服务端口;546号端口用于DHCPv6Client,而不用于DHCPv4,是为DHCPfailover服务,这是需要特别开启的服务,DHCPfailover是用来做"双机热备"的。
DHCP服务允许工作站连接到网络并且自动获取一个IP地址。
配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址、子网掩码、缺省网关、一个WINS服务器的IP地址,以及一个DNS服务器的IP地址。
图4.2.1从DHCP服务器获取IP地址过程
图4.2.2初始化DHCP客户端代码
3、基于W5500的DNS实现
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
图4.3.1DNS域名解析过程
图4.3.1DNS代码实现
4、基于W5500的HTTP实现
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。
客户端是终端用户,服务器端是网站。
通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。
(我们称这个客户端)叫用户代理(useragent)。
应答的服务器上存储着(一些)资源,比如HTML文件和图像。
(我们称)这个应答服务器为源服务器(originserver)。
在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道。
HTTP协议的主要特点可概括如下:
1)客户/服务器模式。
支持基本认证和安全认证。
2)简单快速:
客户向服务器请求服务时,只需传送请求方法和路径。
请求方法常用的有GET、HEAD、POST。
每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3)灵活:
HTTP允许传输任意类型的数据对象。
正在传输的类型由Content-Type加以标记。
4)无连接:
无连接的含义是限制每次连接只处理一个请求。
服务器处理完客户的请求,并收到客户的应答后,即断开连接。
采用这种方式可以节省传输时间。
5)无状态:
HTTP协议是无状态协议。
无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
它是一个URIscheme(抽象标识符体系),句法类同http:
体系。
用于安全的HTTP数据传输。
https:
URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。
图4.4.1HTTP请求过程
图4.4.2实现代码
使用wireshark抓包工具抓取客户机与WEB服务器通讯过程
图4.4.3图中分别为TCP三次握手、获取客户机的HTTPResqust、服务器回复HTTPResponse
5、基于以太网的远程温湿度采集控制系统
1.获取温度和湿度的信息,并打印出来
图4.5.1信息打印
2.网页实时显示温度、湿度数据
图4.5.2网页显示温、湿度
图4.5.3网页代码实现
图4.5.4温、湿度获取代码实现
使用wireshark抓包工具抓取客户机与WEB服务器通讯过程
图4.5.5TCP三次握手
图4.5.6获取客户机的HTTPResqust
图4.5.7服务器回复HTTPResponse
5、心得体会
通过这次的课程设计,我们学习到了很多新的、有趣的知识,而且还把把之前学习的网络和编程知识充分的结合起来,让我们了解了网络知识还能这么用,通过一步步的需求实现的过程,让我们很有成就感,经过这次的课程设计不仅学到了单片机知识,而且还巩固了之前所学的网络知识。