基于WIFI模块的无线数据传输.docx_第1页
基于WIFI模块的无线数据传输.docx_第2页
基于WIFI模块的无线数据传输.docx_第3页
基于WIFI模块的无线数据传输.docx_第4页
基于WIFI模块的无线数据传输.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学与技术学院 课程设计报告( 2013 2014 学年 第 一 学期) 课程名称: 基于WIFI模块的无线数据传输 班 级: 学 号: 姓 名: 指导教师:2015 年 7 月课设要求:课题:基于WIFI 模块的无线数据传输课题内容: 随着科技进步,很多嵌入式设备使用以太网接口实现数据传输,有线方式需布线、使用点不灵活等问题,采用WIFI模块实现无线通信,方便、灵活成为很多嵌入式设备完成数据传输的首选。课题关键是采用WIFI模块实现数据的无线传输,有多种传输方式、应用场合。每组根据兴趣,结合某一背景,提出较有新意的题目。写出项目规划书,实现目标等,并进行答辩,指导教师批准后实施。硬件设备:提供:1个WIFI模块,自制:1个嵌入式采集与控制模块WIFI模块由实验室提供,基础的嵌入式数据采集模块、与WIFI模块通信的接口模块等由学生自行开发,亦可使用单片机课程设计时所用实验板一、设计方向及初步设计流程:用WIFI传输实时温度数据,从温度传感器(用户设备)单片机wifi模块手机显示,即:用户设备是一温度采集器,由单片机完成温度的采集和WIFI模块的控制。手机需要温度数据时,则发送“1”(填写在如图1 发送文本框中,点击发送),单片机接收到“1”命令时候则需要将温度数据返回。反之,单片机发送数据手机亦然。图1二、具体方案:元器件:ds18b20、单片机最小系统、wifi模块232-x、max232、RS232、FT232、5v变压器、安卓手机1、传感器的选择:1、1首先我们要确定传感器,这里我们选择了数字式温度传感器DS18B20 原因:DS18B20 新型单总线数字式温度传感器,集温度测量和A/D转换于一体直接输出数字量,接口几乎不需要外围元件,硬件电路结构简单,传输距离远可以很方便的实现多点测量;与单片机接口几乎不需要外围元件。 特点:DS18B20具有以下主要特性(1)单总线接口方式:与微处理器连接时仅需要一条信号线即可实现双向通讯;(2)使用中无需外部器件,可以利用数据线或外部电源提供电能,供电电压范围3.3-5.5V;(3)直接读出数字量,工作可靠,精度高,且通过编程可实现912位分辨率读出温度数据,转换12的温度数据最大仅需要750ms;(4)温度测量范围-55+125,-10+85之间测量精度可达0.5;(5)可设定非易失的报警上下限值,一旦测量温度超过此设定值,即可给出报警标志,通过软件写入用户报警上下限值1、2 DS18b20的管脚图、电路连接方式及电源供电选择:图2(a)外部电源供电(注意:在外部供电的方式下,DS18B20的GND引脚不能悬空 ,否则不能转换温度,读取的温度总是85。)1、3 ds18b20工作原理1、3、1 ds18b20温度存储形式DS18B20的温度数据用高低两个字节的补码来表示,如图2所示,S=1时表示温度为负,S=0时表示温度为正图3在ds18b20的寄存器中,以补码的形式进行存储温度,如图3,一共2个字节,LSB是低字节,MSB是高字节,寄存器中每个数字如同卡尺的刻度一样分布,图3可以看出,二进制的最低位(2-4)变化1,代表温度变化0.6251、3、2 ds18b20时序ds18b20的硬件简单,这就增强了程序方面的要求,所以对ds18b20的时序的掌握很重要由于DS18B20采用的是1-W ire总线协议方式,即用一根数据线实现数据的双向传输, 单线通信功能是分时完成的, 有严格的时序概念, 因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为: 初始化DS18B20(发复位脉冲)-发ROM 操作命令-发存储器操作命令-处理数据。 工作时序为:a. 初始化时序第一步:拉低DS18B20这个引脚,持续500us;第二步:延时60us;第三步:读取存在脉冲,并且等待存在脉冲结束(ds18b20在第二步之后会自动拉低电平60240us)b.写时序c.读时序1、3、3 RAM存储器操作指令:(1)Read Scratchpad读暂存寄存器:0xBE(2)Convert Temperature启动温度转换:0x44,当发送一个启动温度转换的指令后,DS18b20开始进行转换注意:若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复、跳过ROM指令、执行读RAM的存储器操作指令、读数据2、程序2、1 主程序流程串口初始化读温度(一直循环)串口检测到“1”发送当前温度值显示函数串口中断,发送数据2、2子程序及函数(1)ds18b20初始化(2)ds18b20读一个字节(3)ds18b20写一个字节(4)读温度(温度转换)(5)串口初始化3、单片机:(1)烧写程序软件:,硬件:FT232(需要下载驱动),STC89C52单片机,单片机最小系统,这一步要注意的点是端口号、芯片类型、单片机冷启动(2)串口通信:单片机与串口的连接是RXD-TXD,TXD-RXD,程序中写串口初始化、中断程序(3)最小系统管脚图:(4)程序:#include#define uchar unsigned char#define uint unsigned intsbit DQ=P20;unsigned int temp,temp1,temp2,temper,xs,flag,a,s,cc;uchar code number=0123456789; /显示字符void delay1(unsigned int m)unsigned int i,j;for(i=m;i0;i-)for(j=110;j0;j-);void delay(unsigned int m)while(m-);void Init_DS18B20() /ds18b20复位,检测存在脉冲的信号unsigned char x=0;DQ=1; /单片机给高电平delay(8);DQ=0;/单片机给低电平delay(80);DQ=1;/ds18b20自动低电平,表示ds18b20存在delay(4);x=DQ;delay(20);uchar ReadOneChar() /读8位ds18b20,dat为要读的数据unsigned char i=0;unsigned char dat=0;for(i=8;i0;i-)DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;delay(4);return(dat);void WriteOneChar(unsigned char dat) /写8位ds18b20,dat为要写的数据unsigned char i=0;for(i=8;i0;i-)DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat=1;void duwendu()unsigned char a=0;unsigned char b=0;Init_DS18B20();WriteOneChar(0xcc);/skip rWriteOneChar(0x44); /温度转换delay(5);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe); /从RAM中读数据delay(5);a=ReadOneChar(); /低8位b=ReadOneChar(); /高8位temp1=(b4; /个位temp2=a&0x0f; /小数temp=(b*256+a)4); /整数xs=temp2*0.0625*10; temper=temp+xs;oid ckinit() /串口初始化TMOD=0x20;/设置定时器1为工作方式2TH1=0xfa;TL1=0xfa;TR1=1;SCON=0x50;PCON=0x80; /波特率加倍EA=1;ES=1;void fas(unsigned char dat) /发送数据 ES=0;/串口中断允许位SBUF=dat;while(!TI);TI=0;ES=1;void main()ckinit(); /串口初始化while(1)duwendu();if(flag=1)if(a=1)fas(numbertemp/10);/十位fas(numbertemp%10);/个位fas(.); /小数点fas(numberxs%10);/小数fas( );fas(C);flag=0; void ser() interrupt 4RI=0; /接收标志位a=SBUF; /接收的数据flag=1;4、max232:用于ttl-uart电平转换,此次课设单片机与wifi模块电平不同连接方式:txd、rxd与单片机串口连接,9孔与wifi模块连接5、wifi(1)工作模式:透明传输模式,原因:选择透明传输模式,比较简单,不用知道传输的内容是什么,接收到什么传输什么(2)Wifi模块课设有两种,一种wifi232-x(有底板),另一种是wifi232-t(集成的小芯片),wifi232-x相对于集成芯片稳定许多,因为wifi232-t会时常出现搜索不到信号的情况,在调试过程中构成了困难,wifi232-x模块的使用:电源为5v,连接电源后,注意观察板子上的亮灯情况reload,ready,link,电源接通,reload即亮起,等待ready指示灯亮后,表示系统已启动完成,即可在pc机上无线网络搜索该wifi(初始ssid为HF-ALLx-AP),进入网址10.10.100.254,默认用户名和密码均为 admin。进入页面可修改wifi模块的参数,比如ssid(同时使用同一种模块的比较多,建议换个专属的名称,也为了避免别人不知道的情况下改了参数,可选择加密具体做法如下),在这个界面还可以修改所需的波特率,最后点击保存,重启wifi模块,之后根据新的ssid重新连接到wifiWifi模块设置图:(3)模块恢复出厂设置如果设置错误,导致模块不能正常工作,可恢复出厂设置。、在模块工作状态下(Ready 灯亮),将模块的Reload 引脚拉低一秒(短接到GND 或者按Reload 按钮),再放开悬空,等待模块重启,即恢复到默认设置。、登录网页,在模块管理子页面内,有恢复出厂配置按钮。6、串口调试助手这是一个可用来调试单片机和wifi的软件,1、串口调试:首先我们要设置好usb接到PC机上对应的串口的端口,(可通过设备管理器中的端口号查询com)接着设置与串口设备相同的波特率,其他不更改,点击“打开”(可事先在单片机芯片上写好程序,进行通信调试 如果能正常显示就表示调试成功,且芯片及程序有用2、网络接收端,设置协议类型为:client,服务器地址wifi模块ip地址:10.10.100.254,服务器端口号:8899,设置完成后,点击连接。在1的基础上不加单片机,而是用rs232将wifi串口连接在pc机上,此时就可以在串口和网络之间进行数据数据收发测试了,串口到网络的数据流向是:计算机串口-模块串口-模块WIFI-计算机网络,网络到串口的数据流向是:计算机网络-模块WIFI-模块串口-计算机串口。如果可以使用,即wifi模块正常7、手机APP调试助手除了计算机上用的串口转网络测试工具外,还有安卓(android)系统下的TCPIP 调试助手通过扫描下面的二维码下载到手机安装。保持前面计算机上的测试软件开启状态,链接也依然开启。手机开启WIFI 功能,找到并加入HF-A11X 的WIFI 网络,如上右图在手机上启动有人网络助手软件,切换到TCP Client 界面,点击增加,创建10.10.100.254的8899 端口的TCP 连接,创建成功后,会建立和WIFI 模块的TCP 连接。如图所示建立连接成功后,手机发送数据,计算机上的串口会收到信息,计算机的串口发送信息,计算机上测试软件的网络部分会收到信息,同时手机上的网络助手也会收到信息。三、ds18b20仿真:首先用lcd仿真看程序是不是能够正常运行显示温度四、心得:问题:乱码1、程序写的不对2、出现乱码的原因有多种可能,1、在串口调试的时候,出现乱码。查找原因才知道是两端电平类型不一样,一个是ttl电平还有一个是单片机输出的uart电平,因此就要进行转换,而max232就是这样的芯片。3、波特率不同,两端必须要保持相同的波特率,才能正常传输。调试步骤:这次的课程设计比较以往的多了硬件的动手能力,让我知道不仅仅在电脑上仿真出来就可以,仿真的器件是理想的,而实际的硬件上时需要不断的调试的,如果没有得到预想的结果,我们就需要一个部分一个部分的去排查去找原因,这次的wifi模块就是这样,我本来认为电路连接对了,程序对了,wifi模块有了,调试助手也有,那肯定很容易就做出来了,直到真正上手去做才知道,每个部分都可能出现问题,每个模块之间的连接也是这样,因此才需要调试,调试主要包括wifi模块的调试:1、wifi模块拿到之后,通过已有的串口调试助手,看是不是可以进行无线数据的传输,具体方法是将wifi模块一边通过rs232连在电脑上进行通过串口传输数据,检测网络数据接收端是不是可以接收,若可以,则wifi模块可用;2、单片机与电脑的串口传输,将单片机最小系统通过

温馨提示

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

评论

0/150

提交评论