基于微信平台的多点温度采集系统手机通信设计概述_第1页
基于微信平台的多点温度采集系统手机通信设计概述_第2页
基于微信平台的多点温度采集系统手机通信设计概述_第3页
基于微信平台的多点温度采集系统手机通信设计概述_第4页
基于微信平台的多点温度采集系统手机通信设计概述_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

{网络营销}基于微信平台的多点温度采集系统手机通信设计概述学位论文原创性声明作者签名:年月日学位论文版权使用授权书位论文。本学位论文属于1、保密囗,在年解密后适用本授权书2、不保密囗。(请在以上相应方框内打“√”)作者签名:年月日导师签名:年月日摘要该系统可以适用于工业生产、农业大棚、智能家居等诸多领域。服务器。Wi-FiWi-FiWi-Fi网络的特性设计出了智能环境监控系统的整体结构,各节点采用SAMD21单片机作为主控芯片,采用ESP8266作为Wi-FiWi-Fi模块控制程序的开发使用的是AT指令,并实现了Wi-Fi网络的多对一连接和温度数据的自动记录、存储。关键词:Wi-Fi通信;监测;UART;嵌入式技术AbstractWiththerapiddevelopmentofputertechnologyandnetworktechnology,Computersarebeingsmallerandsmaller.Thisprovidesthepossibilityfortheemergenceoftheremoteintelligentenvironmentalmonitoringsystem.Remoteintelligentmonitoringsystemisdifferentfromthetraditionalmanualmonitoringsystem,Ithastheadvantagesofnoneedtobeonduty,lowcost,accuratemonitoringwillbewidelyusedinthefuture.Thissystemcanbeappliedtoindustrialproduction,agriculturalgreenhouse,smarthome,andmanyotherfields.Inthispaper,thewirelessmunicationoftheintelligentenvironmentalmonitoringsystemispurposeistodesignasimpleandeasytouse,reliabletransmission,highrateofmunication.NotonlycanachievewirelessLANmunication,whichcantransmiteachnode’sdatatotherootnode,butalsocanmuicatewithterminalontheinternet,transmitlocaldatatocloudserver.Atfirst,thebackground,significanceandcurrentsituationoftheresearcharecharacteristicsandapplicationscenariosofseveralmonwirelessmunicationmodesareanalyzed,anddeterminetheWi-Fiasthesystemofwirelessmunication.Then,thetopologystructure,basicserviceandsimplesecurityofWi-FinetworkaretothecharacteristicofWi-Finetwork,thewholestructureofintelligentenvironmentmonitoringsystemisdesigned,EachnodeusesSAMD21microcontrollerasthemaincontrolchip,usingESP8266astheWi-FirealizedthemonitoringfunctionofthepublicnumberofWeChattotheenvironmenttheATmandsforthedevelopmentofthecontrolprogramofWiFi,TheautomaticrecordingandstorageofthetemperaturedataandWi-Finetwork'smultitooneconnectionisrealizeKeyWords:Wi-Fi;Monitoring;UART;Embeddedtechnology目录摘要ⅠAbstractⅡ1绪论11.1课题研究背景与意义11.2课题研究现状11.3无线通信方式的选择21.4Wi-Fi通信及其发展趋势21.5本论文主要内容42相关技术介绍62.1Wi-Fi网络基本拓扑结构62.2Wi-Fi的基本服务介绍82.3Wi-Fi安全技术的发展92.4本章小结103远程多点温度采集系统总体设计113.1系统功能需求113.2系统架构分析123.3硬件模块选型一三3.4Wi-Fi模块的串口工作模式173.5本章小结194基于SAMD21的Wi-Fi控制程序开发214.1MCU与Wi-Fi通信接口选择214.2Wi-Fi模块通信接口协议224.3Wi-Fi模块控制程序设计234.4Wi-Fi网络的多连接与历史数据的存储274.5本章小结315系统测试325.1Wi-Fi网络连接测试325.2微信终端获取数据测试336总结与展望356.1总结356.2展望36致谢37参考文献381绪论1.1课题研究与意义数台单片机作为监控终端,PC温度是人们日常生产生活中一个重要的环境量,比如大型粮仓、工业生产现场、和无线网络控制。Wi-Fi是一种允许电子设备接入到一个无线局域网(WLAN)的技术,Wi-Fi无线网络便捷与高速的特点使其得以快速普及,最近几年来,Wi-Fi技术日趋成熟,Wi-Fi使用门槛和成本低等优势。在网络技术空前发展的今天,Wi-Fi正以其特有的优势适用于生产、生活的方方面面,为人们提供着高效的移动连接。此外,Wi-Fi作为无线通信方式无需布线,可以不受空间区域的限制,市场发展潜力很大。是对物联网技术的一种应用,实现了物体之间的智能连接。11.2课题研究现状方面面。生产生活中得到了广泛应用,目前常用的无线通信技术有GPRSCDMA、蓝牙、、ZigBee、UWB、WLAN、IrDA等。基于GPRSCDMA无线通信网络的数据传输技术是一种十分常用的无线数据传输技术,在手机终端十分常用,该技术依托于GPRSCDMA无线通信网络实现无线数据收发;蓝牙是一种支持设备短距离无线通信的技术,通常有效通信范围在10米之内。蓝牙的标准是IEEE802.一五,工作在2.4GHz频带,带宽为1Mb/s;IrDAHomeRF也称为家庭射频,其设计初衷就是为了实现家用电器设备之间的通信。其传输距离较长,传输速度较快,适合各种影音数据的传输。1.3无线通信方式的选择在智能温度检测系统中,可以考虑使用的无线通信方式主要有Wi-Fi、蓝牙、及红外通信。其中蓝牙技术的有效通信半径是10米左右,在很多场合通信范围偏Wi-Fi的有效通信半径可达1002业、农业监控环境。所以,Wi-Fi以其无需布线,成本低廉,传输速率高等优点是本课题中智能温度检测系统最合适的无线通信方式。1.4Wi-Fi通信及其发展趋势Wi-FiWLAN2.4Ghz到5Ghz频段,其安全性较有线连接和蓝牙较差,但其高速率、无需布线的优点使其得到了广泛应用[1]。Wi-Fi主要应用于构建无线网络环境,在该环境下的各部分互相作用以实现无线网络服务的功能,主要由以下几个部分构成[2]:(1)站点(Station,STA),是无线网络中的终端,任何带网络接口的终端设备都可以是站点,比如手机、计算机等电子设备,STA通过无线链路接入AP。(2BasicServiceSet,BSS少可以由两个站点构成,所有站点可以与同一基本服务单元内的站点相互通信。(3)分配系统(DistributionSystem,DS),分配系统可以连接不同的BSS,通过连接多个基本服务单元可以组成覆盖范围更广的扩展服务单元。(4AccessPoint,AP,作为基本服务单元中的基站,既可以接入普通站点,又可以接入分配系统。AP和STA均为可以寻址的实体。(5)扩展服务单元(ESS),由基本服务单元和分配系统构成.多个基本服务单元连接以组成覆盖面更广的网络,以提供更宽广的服务区域。3(6)关口(Portal),是一种逻辑成分,主要用于将无线局域网和有线局域网或其他网络组合,是无线网络接入互联网的必要部分。图1-1Wi-Fi网络原理图在传输速率和带宽上传统的WLAN通信存在很多不足,比如IEEE802.11-1997最高传输速率只有1~2Mbit/s,而802.11b将这一速率提高到了11Mbit/s,802.11a和802.11g达到了54Mbit/s,802.11n最高速率则达到了300~600Mbit/s。IEEE802.11-1997可以采用IR方式、DSSS方式、FHSS方式,IEEE802.11b采用DSSS方式,兼容IEEE802.11-1997。新一代Wi-Fi5Ghz频段的IEEE802.11ac传输速率可达1.3Gbit/s60Ghz频段的IEEE802.11ad,最高传输速率可以达到7Gbit/s。此外还有全面兼容现有Wi-Fi的WiMAX(WorldwideInteroperabilityforMicrowaveAccess)WiMAX以IEEE802.16距离、更快的传输速度,其普及之后将会提供更优于Wi-Fi的无线网络服务[3]。1.5本论文主要内容三部分组成。硬件采集系统主要由SAMD21单片机、LM35温度传感器、LCD液晶ESP8266Wi-FiWi-Fi模块将单片机串口信号转为Wi-Fi信号4A/D转换后通过UART接口发送。根据以上内容,本文共分为六章,具体结构安排如下:第一章绪论。主要论述了课题的来源于研究意义。也介绍了本课题当前研究现状和未来发展前景。第二章相关技术介绍。包括Wi-Fi网络拓扑结构,Wi-Fi提供的基本服务以及Wi-Fi组网方式。第三章系统总体设计。包括系统需求与架构分析,并详细介绍了单片机、Wi-Fi模块和温度传感器的选型。第四章基于AtemlSAMD21的Wi-Fi模块控制程序的开发,介绍了Wi-Fi模块控制流程、通信接口的选择以及通信结构。第五章系统测试,测试基于微信平台的多点温度采集系统是否正确可用,以及通信是否快速有效。第六章结论与展望,对本课题中的研究项目进行总结。并对课题研究中的一些不足和未来扩展方向进行分析。52相关技术介绍2.1Wi-Fi网络基本拓扑结构802.11采用2.4Ghz和5Ghz两个ISM频段,2.4Ghz的ISM频段被世界上绝大多数国家所采用,物理层使用了红外、直接序列扩频(DSSS)或跳频扩频(FSSS)2MbpsMAC)采用的是碰撞回避协议(CA)。基本服务集(BSS)分为IndependentBSS和InfrastructureBss两种[4]。作为一个独立的基本服务单元,IBSS网络中没有接入点。所以IBSS网络也称为对等网络(PeertoPeerAd-hoc)。在这种网络中,各节点的地活和可靠性高的优点。因此,该网络中任意两节点可以不经过认证就直接通信。端的基本功能也有报文转发能力。图2-1IBSS网络拓扑结构反之则是上述IBSS网络。在这种拓扑结构中,网络中的所有通信都要经过接入点。接入点相当于网络中的基站。图2-2基础结构模式拓扑结构BSS802.11标准可以允许将几个BSS串联为扩展服务集(ExtendedServiceSet,ESS)。扩展服6叠以实现客户端的无缝漫游,重叠区域保持在一五%~20%以上为佳。同一个ESS图2-3拓展服务集拓扑结构2.2Wi-Fi的基本服务在IEEE802.11b一系列在MACSTASSSTA服务主要包含加密(Privacy)、媒介访问控制单元交付(MSDUdelivery),认证(Authentieation)、解除认证(Deauthentieation);DS服务包含分离(Disassoeiation)、分发(Distribution)、联合(Integration)、关联(Assoeiation)和重新关联(Reassociation)[5]。有线等效加密协议(WEP),对数据帧进行加密;媒介访问控制单元交付服务负责把数据正确传输到正确的位置。该服务给出了一种收发数据的方法。但是IEEE802.11提供检错和纠错服务;认证服务是IEEE802.11提供的一种网络访问控制方式,身份;解除认证服务用于断开当前连接的验证关系。解除认证不需要发送请求,7只需发送解除的通知。收到解除认证后工作站会立即断开连接。系。如工作站在一个扩展服务集(ESSBSS会根据距离自动选择接入点。重新关联服务也可以用来改变已有关联的属性。2.3Wi-Fi安全技术的发展WLANMAC地址过滤和SSID访问的MAC列表,禁止表外的MAC访问。服务区标识符匹配则通过设置密码(SSID),只有工作站输入的SSID与之匹配才可以访问。虽然这种机制较为简WEP)。WEP采用了RC4堆成加密算法,主要在数据链路层起作用。WEP使用多种格式的密钥,40位、64位、128位都有所采用。WPA2是WPA的第二代标准,在原有的基础上又有了更多的提升。WPA2与IEEE802.11i很相似,在安全验证上他们都选择了预验证。在连接开始前的很短8VPN来进行无线网络连接也是一种行之有效的安全策略。VPN采用DES和3DES等技术来保障数据传输的安全。VPN的典型代表有IPSecVPN和SSLVPNIPSec证机制与预定义的安全关系极大地保护了客户通信的安全性。SSLVPN则需要提前安装到浏览器中。因为其无客户机的特性,可以极大地节约运行开支。若用户对无线网络安全性要求较高可以选择将VPN于其他无线网络安全策略结合,以获取最大程度的无线互联网通信安全[6]。2.4本章小结本章首先研究了Wi-Fi网络的基本拓扑结构,介绍了两种基本服务集(BSS)的结构以及多个基本服务集组成扩展服务集(ESS)的方法。其次介绍了Wi-Fi网络的两类基本服务STA服务和DS服务。最后介绍了Wi-Fi网络的安全问题,详细说明了Wi-Fi安全策略的发展过程以及一种无线局域网的安全解决方案。93远程多点温度采集系统总体设计3.1系统功能需求该系统最终的目的是实现用手机在微信客户端远程监控多个采集点的当前温度SAMD21单片机,LCD液晶显示屏,ESP8266芯片,LM35模拟温度传感器,云服务器,Socket网络编程,微信公众平台的开下:(1)系统的无线网络信号由一个接入互联网的接入点(AP)发起,各测量点的单片机分别作为独立的站点(STA)接入AP,实现了Wi-Fi的多对一连接模式以及TCP连接的多对一连接模式。(2)为了保证系统的安全性,对Wi-Fi接入点进行了加密处理,对Wi-Fi模块配置时输入接入点的SSID和密码,从而保证了系统数据的安全可靠。(3)微信公众平台同一时间只接收一个客户端的数据,从而避免了数据信息的紊乱,接收数据完成后公众平台自动断开TCP连接。(4)单片机通过Wi-Fi模块不断向云服务器发送数据信息,服务器转发并每隔理范围。10(5)系统的信息交互建立在互联网连接上,微信平台的连入云服务器,单片机AP通过登录云服务器完成数据的发送。(6)微信公众平台可以通过菜单、文字、语音的方式获取采集到的温度信息,体信息交互具有稳定可靠性。3.2系统架构分析完成的功能是采集当前多个采集点环境温度的信号,在A/DSAMD21单片机驱动Wi-Fi在服务器端建立TCPTCP连接客户端接入服务器,服务器保持Socket软件监听,负责将收到的信息转发。最终在微信公众号平台将采集到的温度数据显示出来。图3-1系统总体框图从SAMD21单片机硬件平台、单片机001A/D转换云服务器、微信公众号平台三部分组成,各的具体功能如下:(平台D21单片机、ESP8266Wi-Fi芯片、温度传感器以

单片机001A/D转换及LCD液晶显示屏。SAMD21度采集并进行A/DUART口收发串口数据。Wi-Fi模块按照Wi-Fi协议单片机xxxA/D转换Wi-Fi模块收将为Wi-Fi信号或将Wi-FiWi-Fi模块分11别作为站点STA接入无线网络接入点AP。当SAMD21单片机LCD液晶显示屏上显示的温度数据与AP接收到的温度数据一致时则说明单片机Wi-Fi通信准确无误。(2)云服务器:因两台PC之间不能直接建立TCP连接,需通过多级路由转接。PC都可以直接与其建立TCPTCPTCP信公众号作为TCP的数据转发至公众号,而将公众号发来的数据转发至单片机。(3按键等方式向单片机发送取数据的指令并正确获取温度数据。3.3硬件模块选型AtmelSAMD21是基于32位ARMCortex-M0+32~64个引脚且其FLASH多达256KB、SRAM提升到了32KB。SAMD21最大工作频率高达48MHz并且达到2.46Coremark/MHz。AtmelSAMD21具有以下关键特性:(1)低功耗。采用了Atmel独特的省电技术与事件系统,各外设之间可以直接通信而无需CPU才唤醒CPU,平时CPU保持睡眠状态。(2SAMD21使用了串行通信模块SERCOM。每一个串行通信模块都可以在软件中进行配置,可以分别处理I2C、UART/USART和SPI的通信需求。SAMD21还有12着工作频率高达3.4MHz的I2C。(3DMASAMD21配有12通道直接存储器控制器。支持存储器和外设数据传输。(4USB。SAMD21USB有两种工作模式,可以作USB嵌入式主机,也可以作USB设备模式。(5AtmelQTouch式和自电容式触摸。(68KB到256KB14管脚到64管脚可供选择,用户可以选择最符合要求的设备。图3-2SAMD21系统框图Flash可以通过SWD接口进行在线编程。SWD接口在可以不下载程序的芯片上调用程序。AtmelSAMD21AtmelStdio包含数百个实验历程,可以大大缩短用户的开发时间。Wi-FiRS232/RS485Wi-Fi信Wi-Fi32位MCUWi-Fi驱动和协议,包含TCP/IP协议栈,无线网络IEEE802.11b.g.n协议栈。其接口一般为单片机接口,如UART口等。根据系统的要求,有以下三个较为符合的Wi-Fi模块可用:WF-U-09T、13USR-WiFi232-B和ESP8266WF-U-09T可靠传输距离为50m70℃,3.3V工作电压,250mA~300mAUSR-WiFi232-B可靠传输距离在300m~400m,工作温度-20℃~80℃,3.3V工作电压,170mA~300mA功耗电流;ESP8266可靠传输距离为300m,3.3V80mA功ESP8266ESP8266价格更为低廉,所以是本课题最佳选择的嵌入式Wi-Fi模块。表3-1三款Wi-Fi性能对比表技术特性WF-U-09TUSR-WiFi232-BESP8266无线标准IEEE802.11b/gIEEE802.11bnIEEE802.11bn功耗电流250mA~300mA170mA~300mA80mA工作电压3.3V3.3V3.3V接收灵敏度-68dBm-89dBm~-71dBm-91dBm~-72dBm发射功率12dBm一五dBm~20dBm14dBm~20dBm工作温度-10℃~70℃-20℃~80℃-40℃~125℃传输距离50m300m~400m300mESP8266是一块非常实用的Wi-Fi模块。既可以加载在其他主机或者单片机上运14ESP8266FlashESP8266作为其他计算机或单片机的Wi-Fi模块时,可以通过计SERCOM接口使用AT指令对其进行初始化和配置即可[8]。ESP8266芯片有着较大的存储空间和快速的计算能力。可以根据需要配合其他传感器使用,只需将其他传感器搭载在空置的GPIO口上,无需其他MCU控制器。这种设计方法最大程度的节省了开发所占的系统资源。ESP8266芯片集成度极高,内部包含很多部分。包括无线开关、电源管理转换部件。其外部电路很少,在实际开发中占用的空间也相对较少。图3-3ESP8266结构图其中数字、模拟温度传感器应用较为广泛。度转化为数字量供计算机处理,无需A/D加简便,便于设计开发。常用的数字温度传感器有DS一八B20,DHT11等。是价格低廉、温差小、占用空间小、功率损耗少等。15LM35量温度可以低至0℃。所以,LM35是本课题的理想温度传感器。3.4Wi-Fi模块的串口工作模式Wi-Fi模块的通信包含两部分。一部分是Wi-Fi模块和SAMD21单片机通过UART串口进行通信。另一部分是Wi-Fi模块通过无线网络和无线网接入点进行通信。UART是单片机的串口,又称通用异步收发传输器(UniversalAsynchronousReceiver/TransmitterUART)[10]率为1一五200,不使用校验位,8位数据位,1位停止位。AT就是Attention。AT指令集是AT指令的集合。通常是由终端设备发出,由终端适配器接收的指令集合。ESP8266通过AT指令对其配置。常用的AT指令有以下几条:表3-2常见AT指令AT测试AT启动AT+RST重启模块AT+GMR查看版本信息AT+UART设置串口配置AT+RESTORE恢复出厂设置16AT+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正常供电之后,由SAMD21单片机UART发送AT指令对Wi-Fi模块进行配置。通过AT指令使Wi-Fi模块作为站点加入已开启的无线网络接入点,组成17一个无线网络。先发送ATOK后发送AT+UART对串口进行配置、发送AT+CWMODE=3选择STA和AP共存的方式;同样,待返回OK后发送AT+CWJAP=“SSID”,“PASSWORD”连入已开启的无线路由器。具体流程图如下:图3-4AT指令配置流程图3.5本章小结定了硬件各部分的选型,详细分析了单片机,Wi-Fi模块,温度传感器选型的合理性。介绍了SAMD21单片机、ESP8266芯片和LM35的基本情况和特性。了解了硬件模块的优点与不足。184基于SAMD21的Wi-Fi控制程序开发4.1MCU与Wi-Fi通信接口选择本课题使用的SAMD21单片机有多达6个SERCOMSPI接口、I2C接口、全双工或单线半双工USART或LIN从机。SPI(SerialPeripheralInterface)串行外设接口。SPI总线具体包含三条信号SPI设备可以通过SPI总线相互连接。在这种连接中,由SPI主机提供SPI时钟信号。其他设备成为从设备或者SPI在用通用输入输出口模拟SPI入口。I2C(SCLSDA)multi-masterI2C还有总线仲裁机制,常用于各设备之间高频率、短距离的信息交互。根据I2C的通用输入输出口模拟I2C总线进行双向传输时。需要一个输入输出口和一个输出口。UART总线使用的是异步串口通信协议,其结构较前两种串口的接口要庞杂很多。其基本组成结构有UART接收器、UART发送器、波特率产生器。波特率产生器产生波特率约等于数据波特率的16TX用于发送数19据,接收线RX用于接收数据。同样,如果用通用输入输出接口模拟UART总线。需要一个输入接口和一个输出接口。4.2Wi-Fi模块通信接口协议UART使用的是异步,串行通信。应用环境。同一个字符中不同位之间的时间间隔是一定的。信进程的波特率为200字符/10的波特率就是2000波特。具体的通信格式如下图所示,一个数据帧中包含7个有效数据位,1个起始位,1个校验位,1个停止位。图4-1UART数据传输格式其中各位的意义如下:起始位:即逻辑值“0”,代表着一个数据帧的起始。数据位:可以是5~8位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。以小字节序传输。校验位:数据位加上一位校验位可以通过验证“1”的位数是偶数位还是奇数位20停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:即逻辑值“1”,表示当前没有数据传输。4.3Wi-Fi模块控制程序设计Atmel单片机的开发用到的是Atmel官方IDE——AtmelStdio。它是对Atmel单片机进行开发最快捷的IDE,包括编译、运行、调试的所有过程。该软件可以通过在线编程的方式将代码存储到单片机的内存中,开发过程快速高效。AtmelStdio可以用于Atmel绝大多数单片机的软件开发。因其内核基于VisualStdio,开发过程也与VS十分相似。此外还有特殊的软件设计框架(AtmelSoftwareFramework,AFS),包含着丰富的开发历程。这大大缩短了用户的开发时间。Wi-FiUART串口信号转换为Wi-Fi信号。二是作为站点与无线网络接入点通讯,将Wi-Fi信号发送到接入点。同样,在接收信号时也起到两个作用,一是从无线网Wi-Fi信号转换为串口信号发送回单片机MCU。其控制程序流程图如下:图4-2控制程序流程图21本课题中的SAMD21单片机使用AtmelStdioWi-Fi模块的配置也在AS中进行。具体是先对单片机的UART口进行初始化,再通过UART口收发数据对Wi-Fi具体配置过程如下:SAMD21使用的串行通讯模块完全可以在AtmelStdio软件中进行配置。从而满足I2C、SPI和USART/UART通信需求。通过多个串行通讯模块的组合,可以在器件上个性化地定制外部设备的组合。所以先要将单片机的一个SERCOM配置为UART接口,再使用AtmelStdio中的库函数configure_usart()对其单片机UART口进行初始化。部分过程如下:structusart_configconfig_usart;//单片机UART口初始化usart_get_config_defaults(&config_usart);config_=1一五200;config__setting=EXT2_UART_SERCOM_MUX_SETTING;config__pad0=EXT2_UART_SERCOM_PINMUX_PAD0;……while(usart_init(&usart_instance,EXT2_UART_MODULE,&config_usart)!=STATUS_OK){}UART1一五200,EXT2扩展口的SERCOM配置为UART口。并在UART口初始化成功返回STATUS_OK以后SAMD21上的EXT2扩展口就被配置为UART22对其进行读写。通过对UART接口分步写入AT指令以对于UART接口相连的Wi-Fi芯片进行配置。先对Wi-Fi模块的工作模式、波特率等进行设置,再控制其加入已存在的Wi-FiTCP服务器,最后再定义发送数据的格式并且按顺序发送温度数据。部分过程如下:uint8_tstring0[]="AT+CWMODE=3\r\n";uint8_tstring1[]="AT+CWJAP=\"SSID\",\"PASSWORD\"\r\n";uint8_tstring3[]="AT+CIPSTART=\"TCP\",\"\",5800\r\n";uint8_tstring4[]="AT+CIPSEND=8\r\n";uint8_tstring5[]="0000-xxx\r\n";//将AT指令存入数组……usart_write_buffer_wait(&usart_instance,string0,sizeof(string0));delay_ms(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);……23usart_write_buffer_wait(&usart_instance,string4,sizeof(string4));delay_ms(100);usart_write_buffer_wait(&usart_instance,string5,sizeof(string5));delay_ms(100);首先将AT指令写在8位的int数组中,再用库函数usart_write_buffer_waitAT指令通过UART接口写入Wi-Fi芯片以实现对其的配置。配置中多次用到delay_ms()函数是因为Wi-Fi模块对AT指令的配置有一段时间的响应期,期间再写入其他AT指令可能造成Wi-Fi模块的崩溃。加入延时函数能够有效地保证Wi-Fi模块的稳定运行。单片机采集环境温度数据,并进行A/D转换。之后通过UART接口进行发送,先从FIFO读取数据。再执行并—串转换。输出的数据帧格式为起始位在前,后面为数据位、奇偶校验位和停止位。在谈到波特率之前,先要提到波特率除数(baud-ratedivisor)。它是一个22位数,其中含有16位整数和6位小数。根据这两个数我们可以确定位周期。若中使用的波特率是1一五200。接收:在UART硬件的所有操作都是由一个运行速率在数据速率数倍的时钟信号245至8UART将设置一个标志指接收的数据。UART通信通常没有共同的计时系统。通常情况下,UART在每一个数据脉冲变化能够可靠地接收信号。简化的UART并不这样做,而是重新同步的起始点的下降地采样,这种方法就是可行的。这是UART在接收下一个字符时存储当前字符的典型特点。这个“双缓冲”给出了接收计算机的一个字符传输时间来获取一个接收到的字符。UART在主机系统接口和接收移位寄存器之间有FIFO缓冲内存。这给了主机处理器更多的时间来处理UART中断,并降低接收数据的丢失率[11]。UART产生一个符的传输时间相对于CPU的运行时间仍十分长,所以UART会显示一个繁忙的数“转备好发送下一个字符也可以被看做一个中断信号。因为全双工操作需要在同一时间发送和接收字符,UART使用了两个不同的移位寄存器分别用来发送和接收数据。4.4Wi-Fi网络的多连接与历史数据的存储25在本课题中已经建立好了Wi-Fi的无线网接入点(AP点(STA)接入。接入点已经接入互联网,故站点也可通过接入点访问互联网,访问云服务器。具体组网过程如下:(1)首先使用PC、手机或无线路由器建立无线网络,例如本课题中使用TP-LINK无线路由器建立了无线网络。图4-3建立Wi-Fi网络(2AT指令配置ESP8266Wi-Fi模块,使其连入已经创建好的Wi-Fi网络。对应的ATAT+CWJAP="SSID","PASSWORD"SSID是Wi-Fi网络名称,PASSWORD是其对应的密码。图4-4多个客户端连入同一WLAN由上图可以看出,当有多个单片机与同一AP建立无线网连接时,分配的都是无限局域网内的IP(0x),每一个设备分配一个IP地址。(3AT指令配置Wi-Fi模块,使其与云服务器建立TCP连接,作为TCP客户端。对应的ATAT+CIPSTART="TCP","",58000。该指令的作用是选择TCP协议,作为TCP客户端与目标IP为,目标端口为58000的TCP服务器建立连接。图4-5TCP服务器由上图可以看出,当多个无限局域网内的设备与该局域网外的终端通信时使用的都是该网段的公网IP,只不过各设备对应的端口号不同。26对此我们将在云服务器上的TCP时按一定的时间间隔各个单片机的温度数据分别记录。具体过程如下:对应的采集时间。structrtemp//定义的结构体用于存储各个位置的{//温度数据和对应的时间charpos1[2];charpos2[2];intmonth;intday;inthour;intminute;intsecond;};在SOCKET网络通信中将微信公众号定义为标识01识0和标识1相互通信,服务器仅负责转发。if(askernum==0){27Ret=recv(ClientSocket,RecvBuffer1,1024,0);//微信客户端发送给单片机}else{Ret=recv(ClientSocket,RecvBuffer,1024,0);//单片机发送给微信客户端}if(Ret==0||Ret==SOCKET_ERROR)//客户端断开连接{cout<<"客户端退出!"<<endl;numClient--;return0;}temp1temp2……文件里的温度数据读取出并发送给微信。具体过程如下:if((fp=fopen("","rt"))==NULL)//打开预先存储的文件{exit(1);}b=record;28while((m=fgetc(fp))!=EOF){*b++=m;};//将整个文件里的数据读出fclose(fp);*b='\0';send(ClientSocket,record,BufferLen,0);//发送给微信公众号每个单片机采集的温度数据被分别存储在独立的txt文件里,具体格式如下:图4-6存在文件里的温度数据图中的数据分别是温度采集的时间,1号位置的温度和2号位置的温度,时间记录精度到秒,温度记录精度到1摄氏度。4.5本章小结本章主要论述了Wi-Fi通信的协议以及Wi-Fi分析了单片机与Wi-Fi模块通信接口的选择,详细介绍了I2C,SPI和UART的异同。然后介绍了UART通信协议,对其通信的时序进行了分析。最后介绍了控制ATAT指令对Wi-Fi及将历史温度数据保存至文件的具体实现步骤。295系统测试5.1Wi-Fi网络连接测试统前一段时间采集的历史温度数据。实现Wi-Fi网络连接有Wi-Fi模块配置、Wi-Fi网络搜索、Wi-Fi热点的验证与接入。首先实物实测过程如下:(1)无线路由器开启Wi-Fi网络(2)将多个单片机所连的Wi-Fi模块进行配置,分别进行初始化并选择已知路由器输入用户名、密码连入。Wi-Fi模块都可以正常连接至Wi-Fi时进行有效通信。图5-1实物测试5.2微信终端获取数据测试示的温度数据与服务器端接收的温度数据同时与硬件采集平台显示的温度数据一致时则说明系统Wi-Fi确连接的情况下使用微信进行测试。实测过程如下:图5-2微信公众号界面306总结与展望6.1总结为课题中使用的通信方式。Wi-Fi虽然安全性较差,但以其较远的传成度日益提高,电子器件功耗不断降低。该系统的目的是把低成本、要完成了以下几个任务:(1MCUWi

温馨提示

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

评论

0/150

提交评论