基于微信平台的多点温度采集系统手机Wifi通信设计概述

上传人:帝城 文档编号:111149742 上传时间:2022-06-20 格式:DOCX 页数:47 大小:1.32MB
收藏 版权申诉 举报 下载
基于微信平台的多点温度采集系统手机Wifi通信设计概述_第1页
第1页 / 共47页
基于微信平台的多点温度采集系统手机Wifi通信设计概述_第2页
第2页 / 共47页
基于微信平台的多点温度采集系统手机Wifi通信设计概述_第3页
第3页 / 共47页
资源描述:

《基于微信平台的多点温度采集系统手机Wifi通信设计概述》由会员分享,可在线阅读,更多相关《基于微信平台的多点温度采集系统手机Wifi通信设计概述(47页珍藏版)》请在装配图网上搜索。

1、学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于 1、保密囗,在 年解密后适用本

2、授权书2、不保密囗 。(请在以上相应方框内打“”)作者签名: 年 月 日导师签名: 年 月 日华 中 科 技 大 学 毕 业 设 计(论 文)摘 要 随着计算机技术与网络技术飞速发展,计算机已日渐趋于小、微型化,这为远程智能化的环境监控系统的出现提供了可能性。远程智能化监控系统不同于传统的人工监控,其有无需值守、成本低廉、监控准确的优势必将在未来得到广泛应用。该系统可以适用于工业生产、农业大棚、智能家居等诸多领域。本文对该智能环境监控系统的无线通信展开研究。目的是设计一种简单易用、传输可靠、速率较高的通信方式。不仅能够时间无线局域网内的通信,将各节点的数据汇聚到根节点,还可以与互联网上的终端通

3、信,将本地采集的数据发送至云服务器。论文首先分析了课题研究的背景、意义和现状,分析了几种常见无线通信方式的特点及适用场景,并确定了Wi-Fi作为该系统的无线通信方式。接着介绍了Wi-Fi网络的拓扑结构、基本服务和简单的安全问题。根据Wi-Fi网络的特性设计出了智能环境监控系统的整体结构,各节点采用SAM D21单片机作为主控芯片,采用ESP8266作为Wi-Fi模块,最终实现微信公众号对环境温度的监控功能。对Wi-Fi模块控制程序的开发使用的是AT指令,并实现了Wi-Fi网络的多对一连接和温度数据的自动记录、存储。 关键词:Wi-Fi通信;监测;UART;嵌入式技术AbstractWith t

4、he rapid development of computer technology and network technology,Computers are becoming smaller and smaller. This provides the possibility for the emergence of the remote intelligent environmental monitoring system. Remote intelligent monitoring system is different from the traditional manual moni

5、toring system, It has the advantages of no need to be on duty, low cost, accurate monitoring will be widely used in the future. This system can be applied to industrial production, agricultural greenhouse, smart home, and many other fields. In this paper, the wireless communication of the intelligen

6、t environmental monitoring system is studied.The purpose is to design a simple and easy to use, reliable transmission, high rate of communication .Not only can achieve wireless LAN communication,which can transmit each nodes data to the root node,but also can commuicate with terminal on the internet

7、,transmit local data to cloud server.At first, the background,significance and current situation of the research are analyzed.The characteristics and application scenarios of several common wireless communication modes are analyzed,and determine the Wi-Fi as the system of wireless communication .The

8、n, the topology structure, basic service and simple security of Wi-Fi network are introduced.According to the characteristic of Wi-Fi network, the whole structure of intelligent environment monitoring system is designed,Each node uses SAM D21 microcontroller as the main control chip, using ESP8266 a

9、s the Wi-Fi module.Finally realized the monitoring function of the public number of WeChat to the environment temperature.using the AT commands for the development of the control program of WiFi module.Beside,The automatic recording and storage of the temperature data and Wi-Fi networks multi to one

10、 connection is realizeKey Words:Wi-Fi; Monitoring; UART; Embedded technology II 目 录摘要Abstract1 绪论11.1 课题研究背景与意义11.2 课题研究现状11.3 无线通信方式的选择21.4 Wi-Fi通信及其发展趋势21.5 本论文主要内容42 相关技术介绍62.1 Wi-Fi网络基本拓扑结构62.2 Wi-Fi的基本服务介绍82.3 Wi-Fi安全技术的发展92.4 本章小结103 远程多点温度采集系统总体设计113.1 系统功能需求113.2 系统架构分析123.3 硬件模块选型一三3.4 Wi-F

11、i模块的串口工作模式173.5 本章小结194 基于SAM D21的Wi-Fi控制程序开发214.1 MCU与Wi-Fi通信接口选择214.2 Wi-Fi模块通信接口协议224.3 Wi-Fi模块控制程序设计234.4 Wi-Fi网络的多连接与历史数据的存储274.5 本章小结315 系统测试325.1 Wi-Fi网络连接测试325.2 微信终端获取数据测试336 总结与展望356.1 总结356.2 展望36致谢37参考文献38编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第42页 共47页1 绪论1.1 课题研究与意义随着电子技术与计算机技术的快速发展,电路集成度迅速增

12、加,计算机的发展越来越具有小、微型化的趋势,微型计算机已日益成为智能机器人、工业控制和智能管理系统中必不可缺的智能部件。在工业、农业等监控系统中,常常需要使用数台单片机作为监控终端,PC或者智能手机作为监控源,构成一种多点测控系统。温度是人们日常生产生活中一个重要的环境量,比如大型粮仓、工业生产现场、蔬菜大棚等场所的温度测控。如果这种大型的生产场所由人工监控,不但不准确,而且还会耗费大量的人力物力,监控成本较高。此外,随着无线网络的快速发展,建立网络化监控系统已经渐渐成为一种趋势,温度监控系统将逐渐走向智能控制和无线网络控制。Wi-Fi是一种允许电子设备接入到一个无线局域网(WLAN)的技术,

13、Wi-Fi无线网络便捷与高速的特点使其得以快速普及,最近几年来,Wi-Fi技术日趋成熟,在人们生活中的应用也日趋普遍。Wi-Fi具有信息交互速度快、有效通信范围广、使用门槛和成本低等优势。在网络技术空前发展的今天,Wi-Fi正以其特有的优势适用于生产、生活的方方面面,为人们提供着高效的移动连接。此外,Wi-Fi作为无线通信方式无需布线,可以不受空间区域的限制,市场发展潜力很大。本课题研究的是智能温度监测系统的设计,实现了能够对被监测对象进行现场或远程监控的功能,用户可以再任何地方用手机、电脑通过网络进行监测。同时也是对物联网技术的一种应用,实现了物体之间的智能连接。1.2 课题研究现状随着互联

14、网技术与通信技术的快速发展,无处不在的网络终端、智能化的移动云计算以及便捷的无线接入、无线互联等概念已逐渐融入了人们的工作和生活的方方面面。随之而来的便携式终端和各种无线通信技术发展速度也迅速提升。并且在我们的生产生活中得到了广泛应用,目前常用的无线通信技术有GPRS/GSM/CDMA、蓝牙、Home.RF、ZigBee、UWB、WLAN、IrDA等。 基于GPRS/GSM/CDMA无线通信网络的数据传输技术是一种十分常用的无线数据传输技术,在手机终端十分常用,该技术依托于GPRS/GSM/CDMA无线通信网络实现无线数据收发;蓝牙是一种支持设备短距离无线通信的技术,通常有效通信范围在10米之

15、内。蓝牙的标准是IEEE802.一五,工作在2.4GHz 频带,带宽为1Mb/s;IrDA是红外连接技术,因为红外线特有的直射特性,这要求设备之间只能进行视距通信,不能有任何间隔。此外,通信终端的位置也相对不容易改变,不适合移动设备的移动数据传输;HomeRF也称为家庭射频,其设计初衷就是为了实现家用电器设备之间的通信。其传输距离较长,传输速度较快,适合各种影音数据的传输。1.3 无线通信方式的选择在智能温度检测系统中,可以考虑使用的无线通信方式主要有Wi-Fi、蓝牙、及红外通信。其中蓝牙技术的有效通信半径是10米左右,在很多场合通信范围偏小,但是Wi-Fi的有效通信半径可达100米符合绝大多

16、数应用场景。红外通信技术因为红外线的直射特性,不适合在障碍较多的地方使用,无法应用于复杂的工业、农业监控环境。所以,Wi-Fi以其无需布线,成本低廉,传输速率高等优点是本课题中智能温度检测系统最合适的无线通信方式。1.4 Wi-Fi通信及其发展趋势Wi-Fi是一种可以让电子设备接入无线局域网(WLAN)的技术,主要工作在2.4Ghz到5Ghz频段,其安全性较有线连接和蓝牙较差,但其高速率、无需布线的优点使其得到了广泛应用1。Wi-Fi主要应用于构建无线网络环境,在该环境下的各部分互相作用以实现无线网络服务的功能,主要由以下几个部分构成2:(1)站点(Station,STA),是无线网络中的终端

17、,任何带网络接口的终端设备都可以是站点,比如手机、计算机等电子设备,STA通过无线链路接入AP。(2)基本服务单元(Basic Service Set,BSS),是网络中最基本的服务单元,最少可以由两个站点构成,所有站点可以与同一基本服务单元内的站点相互通信。(3)分配系统(Distribution System,DS),分配系统可以连接不同的BSS,通过连接多个基本服务单元可以组成覆盖范围更广的扩展服务单元。(4)接入点(Access Point,AP),作为基本服务单元中的基站,既可以接入普通站点,又可以接入分配系统。AP和STA均为可以寻址的实体。(5)扩展服务单元(ESS),由基本服务

18、单元和分配系统构成.多个基本服务单元连接以组成覆盖面更广的网络,以提供更宽广的服务区域。(6)关口(Portal),是一种逻辑成分,主要用于将无线局域网和有线局域网或其他网络组合,是无线网络接入互联网的必要部分。 图1-1 Wi-Fi网络原理图在传输速率和带宽上传统的WLAN通信存在很多不足,比如IEEE 802.11-1997最高传输速率只有12Mbit/s,而802.11b将这一速率提高到了11Mbit/s,802.11a和802.11g达到了54Mbit/s,802.11n最高速率则达到了300600Mbit/s。IEEE 802.11-1997可以采用IR方式、DSSS方式、FHSS方

19、式,IEEE 802.11b采用DSSS方式,兼容IEEE 802.11-1997。新一代Wi-Fi技术主要有两种,工作于5Ghz频段的IEEE 802.11ac标准,其最高传输速率可达1.3Gbit/s;还有工作于60Ghz频段的IEEE 802.11ad,最高传输速率可以达到7Gbit/s。此外还有全面兼容现有Wi-Fi的WiMAX(Worldwide Interoperability for Microwave Access),即全球微波互联接入,WiMAX以IEEE 802.16的系列宽频无线标准为基础,拥有更宽的频段、更远的传输距离、更快的传输速度,其普及之后将会提供更优于Wi-Fi

20、的无线网络服务3。1.5 本论文主要内容本文中基于微信平台的多点温度采集系统主要硬件采集系统、服务器和微信平台三部分组成。硬件采集系统主要由SAM D21单片机、LM35温度传感器、LCD液晶显示屏、ESP8266 Wi-Fi模块构成。Wi-Fi模块将单片机串口信号转为Wi-Fi信号并发送出去,完成单片机与服务器间的有效通信。单片机采集信息并将采集到的A/D转换后通过UART接口发送。根据以上内容,本文共分为六章,具体结构安排如下:第一章 绪论。主要论述了课题的来源于研究意义。也介绍了本课题当前研究现状和未来发展前景。第二章 相关技术介绍。包括Wi-Fi网络拓扑结构,Wi-Fi提供的基本服务以

21、及Wi-Fi组网方式。第三章 系统总体设计。包括系统需求与架构分析,并详细介绍了单片机、Wi-Fi模块和温度传感器的选型。第四章 基于Ateml SAMD21的Wi-Fi模块控制程序的开发,介绍了Wi-Fi模块控制流程、通信接口的选择以及通信结构。第五章 系统测试,测试基于微信平台的多点温度采集系统是否正确可用,以及通信是否快速有效。第六章 结论与展望,对本课题中的研究项目进行总结。并对课题研究中的一些不足和未来扩展方向进行分析。2 相关技术介绍2.1 Wi-Fi网络基本拓扑结构802.11采用2.4Ghz和5Ghz两个ISM频段,2.4Ghz的ISM频段被世界上绝大多数国家所采用,物理层使用

22、了红外、直接序列扩频(DSSS)或跳频扩频(FSSS)技术,最大传输速率可以达到2Mbps。对于多路访问控制在媒介访问控制子层(MAC)采用的是碰撞回避协议(CA)。基本服务集(BSS)分为Independent BSS和Infrastructure Bss两种4。作为一个独立的基本服务单元,IBSS网络中没有接入点。所以IBSS网络也称为对等网络(Peer to Peer)或非结构组网(Ad-hoc)。在这种网络中,各节点的地位是平等的,没有控制节点。这种网络有着各节点地位平等、通信灵活、结构灵活和可靠性高的优点。因此,该网络中任意两节点可以不经过认证就直接通信。但两者之间的距离必须在可以直

23、接通信的范围内。网络中的节点既有普通移动终端的基本功能也有报文转发能力。 图2-1 IBSS网络拓扑结构另一种基本服务集被称为基础结构模式。有接入点参与其中的既是基础结构模式,反之则是上述IBSS网络。在这种拓扑结构中,网络中的所有通信都要经过接入点。接入点相当于网络中的基站。 图2-2 基础结构模式拓扑结构BSS的覆盖范围一般比较小,一般仅仅有一个或数个房间大小。不过802.11标准可以允许将几个BSS串联为扩展服务集(Extended Service Set,ESS)。扩展服务集是无线网络覆盖区域扩大了的基本服务集。扩展服务集利用骨干网络将几个基本服务集整合在一起,其通常由多个接入点组成,

24、接入点覆盖小区之间部分重叠以实现客户端的无缝漫游,重叠区域保持在一五%20%以上为佳。同一个ESS中接入点使用的服务及标识相同。基本服务集网络是扩展服务集网络的最小单元。基本服务集网络的接入点通过有线连接的方式连入扩展服务集网络。图2-3 拓展服务集拓扑结构2.2 Wi-Fi的基本服务在IEEE 802.11b体系结构中并没有严格规定分布式系统的实现细节,而是规定了一系列在MAC层使用的网络服务。主要有两类服务:一种是STA服务(SS)。STA服务主要包含加密(Privacy)、媒介访问控制单元交付(MSDUdelivery),认证(Authentieation)、解除认证(Deauthent

25、ieation);DS服务包含分离(Disassoeiation)、分发(Distribution)、联合(Integration)、关联(Assoeiation)和重新关联(Reassociation)5。加密服务可以有效提升无线局域网的安全性,确保数据传输的可靠性。比如使用有线等效加密协议(WEP),对数据帧进行加密;媒介访问控制单元交付服务负责把数据正确传输到正确的位置。该服务给出了一种收发数据的方法。但是IEEE 802.11的传输过程实际上是一种不可靠的交付,可能会有差错。更高层负责提供检错和纠错服务;认证服务是IEEE 802.11提供的一种网络访问控制方式,其作用是确定通信对象站

26、点的身份。在发送和接收数据之前必须先确定该站点的身份;解除认证服务用于断开当前连接的验证关系。解除认证不需要发送请求,只需发送解除的通知。收到解除认证后工作站会立即断开连接。分离服务可以将工作站从网络中移除,从而终结现存的关联关系。所以,网络中的工作站如果要关闭或者离开应先使用分离服务断开连接。分离服务同样不是请求而是一个通知,不能被拒绝;分发服务是最主要的服务之一,工作站在发送每个数据时都需要使用分发服务。分发服务提供了数据帧的路由信息,对于本地的数据帧则直接发送在本地无线网络内,否则需要通过有线网络发送;整合服务可以将帧转发到目标网络,翻译帧格式,实现使用不同编址方案的网络间的可靠通信;关

27、联服务可以建立接入点和工作站之间的映射关系。通过这种建立的映射关系可以完成分发服务;重新关联服务可以重新建立工作站与接入点之间的映射关系。如工作站在一个扩展服务集(ESS)内的多个基本服务集(BSS)之间移动时会根据距离自动选择接入点。重新关联服务也可以用来改变已有关联的属性。2.3 Wi-Fi安全技术的发展在无线局域网(WLAN)发展尚未成熟时,常用的安全技术有:MAC地址过滤和SSID匹配。即物理地址过滤和服务器表识符匹配。物理地址过滤是通过保存一组允许访问的MAC列表,禁止表外的MAC访问。服务区标识符匹配则通过设置密码(SSID),只有工作站输入的SSID与之匹配才可以访问。虽然这种机

28、制较为简单,但却确保了一定的安全性。有限等效保密协议(WEP)。WEP采用了RC4堆成加密算法,主要在数据链路层起作用。WEP使用多种格式的密钥,40位、64位、128位都有所采用。WPA2是WPA的第二代标准,在原有的基础上又有了更多的提升。WPA2与IEEE802.11i很相似,在安全验证上他们都选择了预验证。在连接开始前的很短时间内完成验证并连接。使用VPN来进行无线网络连接也是一种行之有效的安全策略。VPN采用DES和3DES等技术来保障数据传输的安全。VPN的典型代表有IPSec VPN和SSL VPN。IPSec在网络层工作,负责站点之间通信的数据安全。其认证机制与预定义的安全关系

29、极大地保护了客户通信的安全性。SSL VPN则需要提前安装到浏览器中。因为其无客户机的特性,可以极大地节约运行开支。若用户对无线网络安全性要求较高可以选择将VPN于其他无线网络安全策略结合,以获取最大程度的无线互联网通信安全6。2.4 本章小结本章首先研究了Wi-Fi网络的基本拓扑结构,介绍了两种基本服务集(BSS)的结构以及多个基本服务集组成扩展服务集(ESS)的方法。其次介绍了Wi-Fi网络的两类基本服务STA服务和DS服务。最后介绍了Wi-Fi网络的安全问题,详细说明了Wi-Fi安全策略的发展过程以及一种无线局域网的安全解决方案。3 远程多点温度采集系统总体设计3.1 系统功能需求该系统

30、最终的目的是实现用手机在微信客户端远程监控多个采集点的当前温度信息,并回顾历史温度记录数据。包括SAM D21单片机,LCD液晶显示屏,ESP8266芯片,LM35模拟温度传感器,云服务器,Socket网络编程,微信公众平台的开发在该系统中被使用。用户可以在任何时间、任何地点在可以连入互联网的手机或者电脑端通过关注微信公众号来获取温度信息。终端用户可以通过微信公众号的反馈来获知采集系统是否在工作以及被测点温度是否正常。系统的具体要点如下:(1)系统的无线网络信号由一个接入互联网的接入点(AP)发起,各测量点的单片机分别作为独立的站点(STA)接入AP,实现了Wi-Fi的多对一连接模式以及TCP

31、连接的多对一连接模式。(2)为了保证系统的安全性,对Wi-Fi接入点进行了加密处理,对Wi-Fi模块配置时输入接入点的SSID和密码,从而保证了系统数据的安全可靠。(3)微信公众平台同一时间只接收一个客户端的数据,从而避免了数据信息的紊乱,接收数据完成后公众平台自动断开TCP连接。(4)单片机通过Wi-Fi模块不断向云服务器发送数据信息,服务器转发并每隔一段时间采样一组数据保存到文件,从而用户可以回看短时间内的数据记录。数据记录带有保存时的时间信息,用户可以清晰的获知何时被测点的温度超出了合理范围。(5)系统的信息交互建立在互联网连接上,微信平台的连入云服务器,单片机连入云服务器都需要接入互联

32、网,接入点AP通过登录云服务器完成数据的发送。(6)微信公众平台可以通过菜单、文字、语音的方式获取采集到的温度信息,并且与硬件平台保持高度同步性,可以正确的反应硬件平台的工作状态。系统整体信息交互具有稳定可靠性。3.2 系统架构分析单片机001 温度采集系统总体分三个部分,分为:硬件采集平台,服务器端,以及微信公众号。系统完成的功能是采集当前多个采集点环境温度的信号,在A/D转换后,简单处理并发送。通过SAM D21单片机驱动Wi-Fi模块连入互联网,将数据上传到云服务器。在服务器端建立TCP服务器,其它单片机和微信平台都作为TCP连接客户端接入服务器,服务器保持Socket软件监听,负责将收

33、到的信息转发。最终在微信公众号平台将采集到的温度数据显示出来。单片机xxx 温度采集 A/D转换.单片机xxx 温度采集 A/D转换单片机xxx 温度采集Wi-Fi模块收发 A/D转换云服务器 A/D转换单片机001 温度采集Wi-Fi模块收发单片机001 温度采集 A/D转换 A/D转换 图3-1 系统总体框图 从上图可以看出,基于微信平台的多点温度采集系统由SAMD21单片机硬件平台、云服务器、微信公众号平台三部分组成,各部分的具体功能如下:(1) 硬件采集平台:主要由SAM D21单片机、ESP8266 Wi-Fi芯片、温度传感器以及LCD液晶显示屏。SAM D21单片机作为系统终端的控

34、制设备,主要功能有模拟温度采集并进行A/D转换、通过UART口收发串口数据。Wi-Fi模块按照Wi-Fi协议将串口信号转为Wi-Fi信号或将Wi-Fi信号转换为串口信号。多个Wi-Fi模块分别作为站点STA接入无线网络接入点AP。当SAM D21单片机LCD液晶显示屏上显示的温度数据与AP接收到的温度数据一致时则说明单片机Wi-Fi通信准确无误。(2) 云服务器:因两台PC之间不能直接建立TCP连接,需通过多级路由转接。所以在本课题中使用了云服务器,任何接入互联网的PC都可以直接与其建立TCP连接。在云服务器上开启TCP服务器,云服务器作为TCP服务器,单片机以及微信公众号作为TCP客户端接入

35、服务器。云服务器仅其转发的作用,将单片机发送的数据转发至公众号,而将公众号发来的数据转发至单片机。(3) 微信公众号:微信公众号作为温度最终显示的界面,可以通过语音、文字、按键等方式向单片机发送取数据的指令并正确获取温度数据。3.3 硬件模块选型Atmel SAM D21是基于32位ARM Cortex -M0+的低功耗控制器,具有3264个引脚且其FLASH多达256KB、SRAM提升到了32KB。SAM D21最大工作频率高达48MHz并且达到2.46Coremark/MHz。Atmel SAM D21具有以下关键特性:(1) 低功耗。采用了Atmel独特的省电技术与事件系统,各外设之间可

36、以直接通信而无需CPU的干涉。同时为了进一步降低功耗,外设只有在发生特定事件时才唤醒CPU,平时CPU保持睡眠状态。(2) 外设的灵活性。SAM D21使用了串行通信模块SERCOM。每一个串行通信模块都可以在软件中进行配置,可以分别处理I2C、UART/USART和SPI的通信需求。通过多个串行通信模块的组合可以解决用户的具体通信需求。此外,SAM D21还有着工作频率高达3.4MHz的I2C。(3) DMA。SAM D21配有12通道直接存储器控制器。支持存储器和外设数据传输。(4) 全速USB。SAM D21 USB有两种工作模式,可以作USB嵌入式主机,也可以作USB设备模式。(5)

37、AtmelQTouch外设触摸控制器。主要用于为按钮、滚轮、滑条等外设提供内置硬件支持。它有着较高的灵敏度、高信噪比和自校准功能等优点。支持互电容式和自电容式触摸。(6)可扩展性。内存范围从8KB到256KB。封装引脚从14管脚到64管脚可供选择,用户可以选择最符合要求的设备。图3-2 SAM D21系统框图Flash可以通过SWD接口进行在线编程。SWD接口在可以不下载程序的芯片上调试。也可以直接应用加载程序直接通过任意通信接口在闪存上直接下载和升级应用程序。Atmel SAM D21还提供了一个完成的程序和系统开发软件,即是Atmel Stdio,其中包含数百个实验历程,可以大大缩短用户的

38、开发时间。Wi-Fi模块工作于传输层,其作用是将串口(RS232/RS485)信号转换为Wi-Fi信号。本课题应选择一种嵌入式Wi-Fi模块,其一般为32位MCU。内置Wi-Fi驱动和协议,包含TCP/IP协议栈,无线网络IEEE802.11b.g.n协议栈。其接口一般为单片机接口,如UART口等。根据系统的要求,有以下三个较为符合的Wi-Fi模块可用:WF-U-09T、USR-WiFi232-B和ESP8266。WF-U-09T可靠传输距离为50m,工作温度在-1070,3.3V工作电压,250mA300mA功耗电流;USR-WiFi232-B可靠传输距离在300m400m,工作温度-208

39、0,3.3V工作电压,170mA300mA功耗电流;ESP8266可靠传输距离为300m,工作温度-40125,3.3V工作电压,80mA功耗电流。由上可看出ESP8266具有低功耗、传输距离远的优点,并且ESP8266价格更为低廉,所以是本课题最佳选择的嵌入式Wi-Fi模块。 表3-1 三款Wi-Fi性能对比表技术特性WF-U-09TUSR-WiFi232-BESP8266无线标准IEEE802.11b/gIEEE802.11b/g/nIEEE802.11b/g/n功耗电流250mA300mA170mA300mA80mA工作电压3.3V3.3V3.3V接收灵敏度-68dBm-89dBm-71

40、dBm-91dBm-72dBm发射功率12dBm一五dBm20dBm14dBm20dBm工作温度-1070-2080-40125传输距离50m300m400m300mESP8266是一块非常实用的Wi-Fi模块。既可以加载在其他主机或者单片机上运行,也可以独立运行。当ESP8266独立运行时,可以从外部Flash启动。除此之外,芯片内部还配备了高速缓冲存储器能够有效地提升芯片性能。进一步减轻了芯片的负担;当ESP8266作为其他计算机或单片机的Wi-Fi模块时,可以通过计算机对其进行设置。只要通过适当的SERCOM接口使用AT指令对其进行初始化和配置即可8。ESP8266芯片有着较大的存储空间

41、和快速的计算能力。可以根据需要配合其他传感器使用,只需将其他传感器搭载在空置的GPIO口上,无需其他MCU控制器。这种设计方法最大程度的节省了开发所占的系统资源。ESP8266芯片集成度极高,内部包含很多部分。包括无线开关、电源管理转换部件。其外部电路很少,在实际开发中占用的空间也相对较少。 图3-3 ESP8266结构图按照输出信号的形式,温度传感器可以分为三类:数字式、模拟式、逻辑输出型。其中数字、模拟温度传感器应用较为广泛。数字式温度传感器使用集成芯片,采用单总线技术。这对它提高测量精度,减少外界的干扰有很大帮助。此外,数字温度传感器接口简单,可以直接将测量的温度转化为数字量供计算机处理

42、,无需A/D转换。通过集成部分测量电路,是整体电路更加简便,开发难度大大降低。这使得开发人员在硬件电路开发与调试时更加简便,便于设计开发。常用的数字温度传感器有DS一八B20,DHT11等。模拟温度传感器大多使用热敏电阻,其可测量的温度范围在4090。其特点是价格低廉、温差小、占用空间小、功率损耗少等。在本课题中,考虑到多点温度采集系统的便携性需要其保持较低的功耗,故采用模拟温度传感器。LM35是一种最常用的模拟温度传感器,其采用了内部补偿。测量温度可以低至0。所以,LM35是本课题的理想温度传感器。3.4 Wi-Fi模块的串口工作模式Wi-Fi模块的通信包含两部分。一部分是Wi-Fi模块和S

43、AM D21单片机通过UART串口进行通信。另一部分是Wi-Fi模块通过无线网络和无线网接入点进行通信。UART是单片机的串口,又称通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)10。本课题使用的波特率为1一五200,不使用校验位,8位数据位,1位停止位。AT就是Attention。AT指令集是AT指令的集合。通常是由终端设备发出,由终端适配器接收的指令集合。ESP8266通过AT指令对其配置。常用的AT指令有以下几条: 表3-2 常见AT指令AT测试AT启动AT+RST重启模块AT+GMR查看版本信息AT+UART设置串

44、口配置AT+RESTORE恢复出厂设置AT+CWMODE 选择 WIFI 应用模式AT+CWJAP加入 APAT+CIPSTA设置 STA 的 IP 地址 AT+CIPAP设置 AP 的 IP 地址AT+ CIPSTATUS获得连接状态AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号 AT+CIPSEND 发送数据 AT+CIPCLOSE关闭 TCP 或 UDPAT+CIFSR 获取本地 IP 地址 AT+CIPMUX 启动多连接 AT+CIPSERVER配置为服务器AT+CIPMODE设置模块传输模式在Wi-Fi正常供电之后,由SAM D21单片机UART发送AT指令对Wi-

45、Fi模块进行配置。通过AT指令使Wi-Fi模块作为站点加入已开启的无线网络接入点,组成一个无线网络。先发送AT指令测试模块是否正常工作,待返回OK后发送AT+UART对串口进行配置、发送AT+CWMODE=3选择STA和AP共存的方式;同样,待返回OK后发送AT+CWJAP=“SSID”,“PASSWORD”连入已开启的无线路由器。具体流程图如下 :图3-4 AT指令配置流程图3.5 本章小结本章主要论述了基于微信平台的多点温度采集系统整体设计。首先,分析了系统的具体需求和实现过程中几个基本的要点。然后,根据系统的需求确定了分工不同的多个系统模块,将整个系统划分为了三个部分然后分别进行开发。最

46、后,确定了硬件各部分的选型,详细分析了单片机,Wi-Fi模块,温度传感器选型的合理性。介绍了SAM D21单片机、ESP8266芯片和LM35的基本情况和特性。了解了硬件模块的优点与不足。4 基于SAM D21的Wi-Fi控制程序开发 4.1 MCU与Wi-Fi通信接口选择本课题使用的SAM D21单片机有多达6个SERCOM接口。每一个都可配置为SPI接口、I2C接口、全双工或单线半双工USART或LIN从机。SPI(Serial Peripheral Interface)串行外设接口。SPI总线具体包含三条信号线。一,串行时钟线;二,串行数据输出线;三,串行数据输入线。多个SPI设备可以通

47、过SPI总线相互连接。在这种连接中,由SPI主机提供SPI时钟信号。其他设备成为从设备或者SPI从机。在该连接中两设备之间可以实现全双工通信。在用通用输入输出口模拟SPI总线时,则至少要各有输入、输出接口。除此之外还有一个接口要按实际情况而定。若要实现主从设备相连,则该接口应为输入输出接口;若只有主设备,则该接口应为输出口;若只有从设备,则该接口应为输入口。I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准。I2C还有总线仲裁机制,常用于各设备之间高频率、短距离的信息交互。根据I2C的通信协议中规定,设备间可以自组网。因为其在传输数据时会带有目的地址。在

48、通用输入输出口模拟I2C总线进行双向传输时。需要一个输入输出口和一个输出口。UART总线使用的是异步串口通信协议,其结构较前两种串口的接口要庞杂很多。其基本组成结构有UART接收器、UART发送器、波特率产生器。波特率产生器产生波特率约等于数据波特率的16倍。由两根线完成收发,发送线TX用于发送数据,接收线RX用于接收数据。同样,如果用通用输入输出接口模拟UART总线。需要一个输入接口和一个输出接口。4.2 Wi-Fi模块通信接口协议UART使用的是异步,串行通信。串行通信是将数据按位顺序发送,各数据帧之间按先后顺序发送。主要有通信线路简单、易实现、成本低等优点。常应用于较远距离,且对传输速度

49、要求不高的应用环境。异步通信的基本传输单位是字符,且多个传输单位之间的时间间隔不定。但是在同一个字符中不同位之间的时间间隔是一定的。波特率代表数据的传输速率,也就是单位时间内传输的二进制位数。比如一个通信进程的波特率为200字符/秒,其中每一个字符可以划分为10位。所以其对应的波特率就是2000波特。具体的通信格式如下图所示,一个数据帧中包含7个有效数据位,1个起始位,1个校验位,1个停止位。图4-1 UART数据传输格式其中各位的意义如下:起始位:即逻辑值“0”,代表着一个数据帧的起始。 数据位:可以是58位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。以小字节序传输。校

50、验位:数据位加上一位校验位可以通过验证“1”的位数是偶数位还是奇数位来判断是否存在误码。这种校验的局限性也在于只能校验偶数位或奇数位的误码。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:即逻辑值“1”,表示当前没有数据传输。4.3 Wi-Fi模块控制程序设计Atmel单片机的开发用到的是Atmel官方IDEAtmel Stdio。它是对Atmel单片机进行开发最快捷的IDE,包括编译、运行、调试的所有过程。该软件可以通过在线编程的方式将代码存储到单片机的内存中,开发过程快速高效。Atmel Stdio可以用于Atmel绝大多数单片机的软件开发。因其内核基于Vi

51、sual Stdio,开发过程也与VS十分相似。此外还有特殊的软件设计框架(Atmel Software Framework,AFS),包含着丰富的开发历程。这大大缩短了用户的开发时间。Wi-Fi模块在系统中发送时起到的作用主要有两个,一是与单片机进行通信,将UART串口信号转换为Wi-Fi信号。二是作为站点与无线网络接入点通讯,将Wi-Fi信号发送到接入点。同样,在接收信号时也起到两个作用,一是从无线网络接入点收取信号并保持连接。二是将收到的Wi-Fi信号转换为串口信号发送回单片机MCU。其控制程序流程图如下:单片机初始化UART口发送串行信号对Wi-Fi模块进行配置Wi-Fi模块发送串行信

52、号转Wi-Fi信号并行信号转串行信号A/D转换温度采集 图4-2 控制程序流程图本课题中的SAM D21单片机使用Atmel Stdio进行开发,所以Wi-Fi模块的配置也在AS中进行。具体是先对单片机的UART口进行初始化,再通过UART口收发数据对Wi-Fi模块进行配置。以实现其接入无线网络并正常收取并发送数据的功能。具体配置过程如下:SAM D21使用的串行通讯模块完全可以在Atmel Stdio软件中进行配置。从而满足I2C、SPI和USART/UART通信需求。通过多个串行通讯模块的组合,可以在器件上个性化地定制外部设备的组合。所以先要将单片机的一个SERCOM配置为UART接口,再

53、使用Atmel Stdio中的库函数configure_usart()对其单片机UART口进行初始化。部分过程如下:struct usart_config config_usart; /单片机UART口初始化usart_get_config_defaults(&config_usart);config_usart.baudrate = 1一五200;config_usart.mux_setting = EXT2_UART_SERCOM_MUX_SETTING;config_usart.pinmux_pad0 = EXT2_UART_SERCOM_PINMUX_PAD0;while(usart_

54、init(&usart_instance,EXT2_UART_MODULE,&config_usart)!= STATUS_OK) 由以上可知,按照默认配置对UART进行配置,波特率设置为1一五200,。将EXT2扩展口的SERCOM配置为UART口。并在UART口初始化成功返回STATUS_OK以后结束。至此,SAM D21上的EXT2扩展口就被配置为UART口了,我们已经可以正常对其进行读写。通过对UART接口分步写入AT指令以对于UART接口相连的Wi-Fi芯片进行配置。先对Wi-Fi模块的工作模式、波特率等进行设置,再控制其加入已存在的Wi-Fi网络、加入已开启的TCP服务器,最后再定

55、义发送数据的格式并且按顺序发送温度数据。部分过程如下:uint8_t string0 = AT+CWMODE=3rn;uint8_t string1 = AT+CWJAP=SSID,PASSWORDrn;uint8_tstring3=AT+CIPSTART=TCP,122.205.5.5,5800rn;uint8_t string4 = AT+CIPSEND=8rn;uint8_t string5 = 0000-xxxrn; /将AT指令存入数组usart_write_buffer_wait(&usart_instance, string0, sizeof(string0);delay_ms(

56、1000); /发送相应的AT指令对Wi-Fi模块配置usart_write_buffer_wait(&usart_instance, string1, sizeof(string1);delay_ms(6000);usart_write_buffer_wait(&usart_instance, string3, sizeof(string3);delay_ms(1000);usart_write_buffer_wait(&usart_instance, string4, sizeof(string4);delay_ms(100);usart_write_buffer_wait(&usart_

57、instance, string5, sizeof(string5);delay_ms(100);首先将AT指令写在8位的int数组中,再用库函数usart_write_buffer_wait()将AT指令通过UART接口写入Wi-Fi芯片以实现对其的配置。配置中多次用到delay_ms()函数是因为Wi-Fi模块对AT指令的配置有一段时间的响应期,期间再写入其他AT指令可能造成Wi-Fi模块的崩溃。加入延时函数能够有效地保证Wi-Fi模块的稳定运行。单片机采集环境温度数据,并进行A/D转换。之后通过UART接口进行发送,先从FIFO读取数据。再执行并串转换。输出的数据帧格式为起始位在前,后面

58、为数据位、奇偶校验位和停止位。在谈到波特率之前,先要提到波特率除数(baud-rate divisor)。它是一个22位数,其中含有16位整数和6位小数。根据这两个数我们可以确定位周期。若系统时钟速率足够高便可以产生任意标准的波特率。并且误差范围很小。本课题中使用的波特率是1一五200。接收:在UART硬件的所有操作都是由一个运行速率在数据速率数倍的时钟信号控制的。接收端在每个时间脉冲检测输入信号的状态,寻找起始位的开始。如果起始位的持续时间是整个位时间的一半,则说明其是新数据位的开始。否则,其将被认为是一个伪脉冲并被忽略。等待进一步的位时间后,该行的状态被再次采样,并将所得的结果移入移位寄存

59、器。在所需的字符长度的位周期数(通常为5至8位)时间到后,移位寄存器的数据发送到接收系统。UART将设置一个标志指示新的数据是可用的,并且还可以生成处理器中断,以请求该主机处理器发送已接收的数据。UART通信通常没有共同的计时系统。通常情况下,UART在每一个数据脉冲变化时同步时钟。以这种方式获得定时信息,即使发射机的速度与接收机有所不同也能够可靠地接收信号。简化的UART并不这样做,而是重新同步的起始点的下降沿,然后读出每个预期的数据位的中心,如果数据速率足够准确停止位可以可靠地采样,这种方法就是可行的。这是UART在接收下一个字符时存储当前字符的典型特点。这个“双缓冲”给出了接收计算机的一

60、个字符传输时间来获取一个接收到的字符。UART在主机系统接口和接收移位寄存器之间有FIFO缓冲内存。这给了主机处理器更多的时间来处理UART中断,并降低接收数据的丢失率11。发送:发送动作并不是根据线路状态来确定的,也不是结合至任何固定定时间隔。而是根据定时确定的。只要发送系统发送一个数据到移位寄存器,UART产生一个起始位,输出相应的数据位到输出序列,同时发送校验位和停止位。因为单个字符的传输时间相对于CPU的运行时间仍十分长,所以UART会显示一个繁忙的数据位,以使系统在前一个数据位发送完成之前不再发送一个新的数据位。“转备好发送下一个字符”也可以被看做一个中断信号。因为全双工操作需要在同

61、一时间发送和接收字符,UART使用了两个不同的移位寄存器分别用来发送和接收数据。4.4 Wi-Fi网络的多连接与历史数据的存储在本课题中已经建立好了Wi-Fi的无线网接入点(AP),多台单片机分别作为站点(STA)接入。接入点已经接入互联网,故站点也可通过接入点访问互联网,访问云服务器。具体组网过程如下:(1)首先使用PC、手机或无线路由器建立无线网络,例如本课题中使用TP-LINK无线路由器建立了无线网络。 图4-3 建立Wi-Fi网络(2) 使用AT指令配置ESP8266 Wi-Fi模块,使其连入已经创建好的Wi-Fi网络。对应的AT指令是:AT+CWJAP=SSID,PASSWORD。其

62、中SSID是Wi-Fi网络名称,PASSWORD是其对应的密码。图4-4 多个客户端连入同一WLAN由上图可以看出,当有多个单片机与同一AP建立无线网连接时,分配的都是无限局域网内的IP(192.168.1.10x),每一个设备分配一个IP地址。(3) 使用AT指令配置Wi-Fi模块,使其与云服务器建立TCP连接,作为TCP客户端。对应的AT指令是:AT+CIPSTART=TCP,122.205.5.5,58000。该指令的作用是选择TCP协议,作为TCP客户端与目标IP为122.205.5.5,目标端口为58000的TCP服务器建立连接。 图4-5 TCP服务器由上图可以看出,当多个无限局域网内的设备与该局域网外的终端通信时使用的都是该网段的公网IP,只不过各设备对应的端口号不同。在本课题中,还需要在无人值守时将监控数据

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!