无线传感器网络课程设计.docx

上传人:b****5 文档编号:12711246 上传时间:2023-04-21 格式:DOCX 页数:28 大小:506.88KB
下载 相关 举报
无线传感器网络课程设计.docx_第1页
第1页 / 共28页
无线传感器网络课程设计.docx_第2页
第2页 / 共28页
无线传感器网络课程设计.docx_第3页
第3页 / 共28页
无线传感器网络课程设计.docx_第4页
第4页 / 共28页
无线传感器网络课程设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

无线传感器网络课程设计.docx

《无线传感器网络课程设计.docx》由会员分享,可在线阅读,更多相关《无线传感器网络课程设计.docx(28页珍藏版)》请在冰豆网上搜索。

无线传感器网络课程设计.docx

无线传感器网络课程设计

目录

第1章实习目的与要求1

1.1GPRS远程监测终端系统项目1

1.2GPIO口1

1.4嵌入式STM32LCD屏模块1

1.5嵌入式STM32GSM、温湿度实训阶段1

课堂要求:

2

第2章设计背景3

2.1  课题研究的背景3

2.2  国内外stm32控制以太网技术发展现状及趋势4

第3章5

3.1GPRS的远程终端监控系统5

3.2GPIO口功能描述7

3.3STM32串口13

3.4嵌入式STM32LCD屏模块15

3.5嵌入式STM32GSM、温湿度实训阶段16

第4章调制和测试18

4.1LED点亮实验:

18

4.2流水灯实验一:

18

4.3按键控制LED实验:

18

4.4流水灯实验二18

4.5温湿度实验调制与结果18

4.6实验结果18

第5章实习心得20

参考文献21

第1章实习目的与要求

通过实习提高自己的对社会的认知能力,同时理论联系实际,让自己迅速适应社会,跟上新兴产业前进的快速步伐。

通过理论与实际的结合、学校与社会的沟通,进一步提高学生的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。

     

1.1GPRS远程监测终端系统项目

主要工作:

基于GPRS远程监测终端系统项目流程、项目分析

目的:

了解整体项目流程过程,及对嵌入式行业整体认识

1.2GPIO口

主要工作:

嵌入式概述、ARM体系架构、ARM开发平台、STM32库函数讲解、GPIO实验

运用GPIO口寄存器对流水灯和呼吸灯程序实验

目的:

学生掌握嵌入式中STM32的寄存器开发过程

1.3嵌入式STM32串口实训阶段

主要工作:

通信的划分、常用串行通信协议。

通信接口电平的讲解

STM32串口控制器的工作原理

目的:

学生掌握嵌入式STM32中串口通信以及上位机操作,方便后续项目的使用

1.4嵌入式STM32LCD屏模块

主要工作:

项目中常用显示器件的介绍和产品案例。

像素点、像素和分辨率概念的讲解。

TFTLCD屏显示原理、8080接口信号时序图分析。

取字模软件的使用和汉字显示程序分析。

图片取模软件的使用和图片显示程序分析。

目的:

学生掌握嵌入式中常用显示设备的原理和实现LCD屏界面设计与开发

1.5嵌入式STM32GSM、温湿度实训阶段

主要工作:

GSM无线模块组成框架及使用方法

温湿度模块组成框架及使用方法

温湿度传感器采集当前环境的温湿度

目的:

学生掌握嵌入式STM32中GSM、温湿度等项目的开发

课堂要求:

认真听讲、记笔记。

不许睡觉,吃零食,喝水或者玩手机。

仪表整洁。

第2章设计背景

2.1  课题研究的背景 

近几年来,随着科学技术日新月异的发展,计算机科技的快速发展,特别是互联网的快速普及,互联网在人类活动中也越来越紧密联系,尤其是对于工业控制和信息电器领域中同样有着越来越重要的应用。

同时计算机,通讯,消费电子三合一的快速发展,数字化时代已经到来。

而嵌入式接入设备是数字化时代的一大主流标志,形态各异的计算机,通讯,消费电子三合一产品也将是网络接入设备的一大主流。

因为PC机以及现有的Internet技术可以实现对非网络设备进行远程控制的部分的要求,而且成本费用较高,可靠性和期望值也有一定的距离,所以这种方案并没有被广泛的接受和使用。

由于嵌入式设备具有低成本高性能的特点,而现今对嵌入式系统的开发研究和嵌入式技术也都进入到了一个成熟的阶段,将嵌入式系统和网络相结合来实现非网络系统的网络控制,那么世界可能就是另一番景象。

 

 因特网技术的成熟,使得网上提供的信息更加丰富,应用项目也更加多样,人们对网络的需求也越来越广泛,利用PC机上网来查阅和发布各类信息等对于网络的日常应用已经不能满足人们的需求。

像传统的电器,电冰箱,微波炉,电视,空调等,这类电子设备的功能也不在单一,电器结构也更为复杂,也逐步开始应用嵌入式网络接入,使用户可以通过网络就能实现远程控制,信息通讯。

同样,互联网在全球范围内的连通性,那些能够连接因特网的设备也成为人们选择产品中考虑的一大问题,通过Internet对家用电器等非网络设备进行远程控制已经成为现今主流。

而一些小型轻便的设备,比如一些医学仪器上的身体上使用的传感器,体积小而且便宜,内存小,运算能力有限,因此必须在资源受限的情况下实现TCP/IP协议甚至处理接受到的信息。

 TCP/IP协议可以分为四个层次,从底层到最高层分别是物理层和数据链路层,网络层,传输层,和最高层的应用层。

物理层和数据链路层是TCP/IP协议的最低层,要求提供给上层一个访问接口,以便传递IP分组信息。

网络层是第二层,也是整个TCP/IP协议栈的核心,其功能是把分组发往目标网络或主机,源主机与目的主机可以在同一个网上,也可以在不同的网上。

其中定义了分组格式和协议,即IP协议,来对分组进行排序。

IP协议是一种不可靠、无连接的数据报发传送服务的协议,提供的只是一种尽力而为的服务。

传输层是第三层,负责在应用进程中的端到端之间的通信。

传输层定义了两种服务质量不同的协议,TCP和UDP。

TCP是一种可靠的面向连接的协议,允许将源主机的字节数据流无差别的传送到目的主机。

同时能够完成流量的控制功能,协调收发主机之间的发送和接受速度,从而控制正确的传输。

应用层是最高层,其中也包括了很多协议:

文件传送协议,简单邮件传送协议,简单网络管理协议,超文本传送协议等。

 

LwIP是瑞士计算机科学院一个开源的TCP/IP协议栈实现。

LwIP是Light Weight IP协议,有无操作系统都可以运行,其实现的重点是在保持TCP/IP协议的主要功能的基础上减少对内存的占用,一般只需要几百字节的RAM和40K左右的ROM就可以运行,这使得LwIP成为在资源受限的情况下实现及处理TCP/IP协议的解决方法。

LwIP可以支持多网络接口下的IP转发,提供专门的内部回调接口Raw API,这样可以提高应用程序性能。

 

像LwIP的目标系统是最小限度系统,所使用的操作系统通常不能在内核与应用层进程之间维持一个严格的保护屏障。

这里允许使用一种比较宽松的通许机制,通过共享内存的方式实现应用层与底层协议族之间的通讯。

应用层可以知道底层协议使用的缓冲处理机制,这使得应用层可以有效的重复使用缓冲区。

同样,应用层与网络代码使用的是相同的内存区,那么应用层就可以直接读写内部缓冲区。

 

 2.2  国内外stm32控制以太网技术发展现状及趋势 

中国的嵌入式系统开发走过了二十多年的历程,有超过数十万名从事开发应用的工程师,但大多数以上是几个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。

今天面对的是嵌入式系统工业化的潮流,如果不能认识到嵌入式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人/年”的嵌入式产品,那么将失去更多的上游产品的市场机遇。

 嵌入式软件方面逐渐形成了系统软件、应用软件的架构。

国际上用于信息电器的嵌入式操作系统有40种左右。

其中,国外涌现了一些著名的嵌入式操作系统,如:

Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。

其中Vx/Orks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统:

WinCE是一种32位的多任务操作系统,可以移植,能够开发多种企业和客户类设备,是微软公司的“维纳斯计划”的核心:

3COM公司的Palm0S在PDA市场上占有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。

 

国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中。

大有国内紧跟国外趋势的形势。

但是对于嵌入式Web服务器方面的研究国内现状不容乐观,目前国外的相关研究相对多些。

如林C/IP研究项目,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:

又如CMX公司的MieroNetTCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拨号连接和直接连接方式。

而国内也相应提出了Webito协议标准,但是相对滞后,缺少具体的工程实现方面的研究和具体产品的开发。

 

美国DEC公司开发的VMSeluster系统开发最早,技术也较成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和AIPha系列服务器上运行,VMScluster的应用受到很大限制。

 Platform公司开发的高可用性集群系统LSF提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。

 

国内也有不少公司进行了集群系统的研究和开发工作。

 

联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务,该系统是一个四节点的系统,主要基于联想万全45008服务器,以总体成本相对较低的设备组合,足以替代传统班SC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2--1/40。

 朗讯公司也推出了类似于Urboduster的高可用性集群系统LongshineClusterServer。

 从国内外的研究现状看,目前集群系统的应用大都致力于高可用性问题的解决,真正基于负载均衡的集群系统还比较少,而且在大部分负载均衡集群中采用的都是轮转调度、加权轮转调度等静态调度算法。

第3章

3.1GPRS的远程终端监控系统

基于GPRS的远程终端监控系统的框架图

DHT11温湿度传感器,采集当前环境的温度和湿度值,精度规格

相关使用参数

DHT11的相关参数

通过单总线与STM32处理芯片进行数据传输。

2.TFTLCD屏:

16位RGBTFT彩色LCD屏,经过8080接口与STM32进行数据传输。

3.GSM/GPRS:

移动2代通信/2.5代通信,经过串口与STM32进行数据传输,经过GPRS无线通信和TCP/IP通信协议与服务器进行数据交换。

4.信盈达服务器:

通过TCP/IP接收#+设备号+温度值+湿度值协议的数据,并保存到后台数据库。

5.APP:

手机运用TCP/IP从服务器上获取想要知道的设备的温湿度值,实现远程监控。

GPRS的TCP/IP协议以及相关指令

通过电脑与服务器进行测试(前提电脑要连上以太网):

pingIP地址

例如:

我运用电脑pingXX的公共IP地址。

通过GPRS访问服务器:

AT+CGCLASS=”B”

AT+CGDCONT=1,”IP”,”CMNET”

AT+CGATT=1

AT+CIPCSGP=1,”CMNET”

之后,发送:

AT+CLPORT=”TCP”,”2000”,设置本地TCP连接端口为2000,

然后,发送:

AT+CIPSTART=”TCP”,”103.44.145.243”,”16919”,建立TCP连接,

连接到IP:

103.44.145.243,连接端口为:

16919。

这里是对于没有公网IP的用户是通过发送给花生壳域名转发的,如果是有公网的用户,这里把IP直接替换为自己的公网IP,端口写8086即可。

等待TCP连接成功建立,模块返回:

CONNECTOK。

此时,SIM800模块和电脑已经建立了一个TCP连接,可以相互发送数据了。

通过串口调试助手发送:

AT+CIPSEND,接着模块返回:

>,然后我们发送字符串(不用发送新行):

“SIM800发送给电脑的数据”,最后发送十六进制的:

1A,启动数据发送。

然后模块返回:

SENDOK,说明发送成功,如下图:

注意:

TCP连接需要心跳维持,如果长时间没有数据的收发,那么TCP连接很可能会被断开,下次数

据通信,又得重新连接,所以实际应用的时候,都需要添加心跳,来维持当前TCP的连接。

最后,我们要关闭TCP连接,发送:

AT+CIPCLOSE=1,关闭当前TCP连接,再发送:

AT+CIPSHUT,关闭场景,如下图:

GPRS的相关指令

3.1.1AT+CGCLASS:

用于设置移动台类别。

发送:

AT+CGCLASS=”B”,设置移动台类别为B。

即,模块支持包交换和电路交换模式,但不能同时支持。

3.1.2AT+CGDCONT:

用于设置PDP上下文。

发送:

AT+CGDCONT=1,”IP”,”CMNET”,设置PDP上下文标标志为1,采用互联网协议(IP),接入点为”CMNET”。

3.1.3AT+CGATT,用于设置附着和分离GPRS业务。

发送:

AT+CGATT=1,附着GPRS业务。

3.1.4AT+CIPCSGP:

用于设置CSD或GPRS链接模式。

发送:

AT+CIPCSGP=1,”CMNET”,设置为GPRS连接,接入点为”CMNET”。

3.1.5AT+CLPORT,用于设置本地端口号。

发送:

AT+CLPORT=”TCP”,”8086”,即设置TCP连接本地端口号为8086。

3.1.6AT+CIPSTART:

用于建立TCP连接或注册UDP端口号。

发送:

AT+CIPSTART=”TCP”,”116.1.20.54”,”8086”,模块将建立一个TCP连接,连接目标地址为:

116.1.20.54,连接端口号为8086,连接成功会返回:

CONNECTOK。

3.1.7AT+CIPSEND:

用于发送数据。

在连接成功后发送:

AT+CIPSEND,模块返回:

>,此时可以输入要发送的数据,最大可以一次发送1352字节,数据输入完后,同发短信一样,输入十六进制的:

1A(0X1A),启动发送数据。

在数据发送完成后,模块返回:

SENDOK,表示发送成功。

3.1.8AT+CIPSTATUS:

用于查询当前连接状态。

发送:

AT+CIPSTATUS,模块即返回当前连接状态。

AT+CIPCLOSE:

用于关闭TCP/UDP连接。

发送:

AT+CIPCLOSE=1,即可快速关闭当前TCP/UDP连接。

3.1.9AT+CIPSHUT:

用于关闭移动场景。

发送:

AT+CIPSHUT,则可以关闭移动场景,关闭场景后连接状态为:

IPINITIAL,可以通过发送:

AT+CIPSTATUS,查询。

另外,在连接建立后,如果收到:

+PDP:

DEACT,则必须发送:

AT+CIPSHUT,关闭场景后,才能实现重连。

3.2GPIO口功能描述

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。

根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。

─输入浮空

─输入上拉

─输入下拉

─模拟输入

─开漏输出

─推挽式输出

─推挽式复用功能

─开漏复用功能

每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。

GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

下图给出了一个I/O端口位的基本结构。

I/O端口位的基本结构

5伏兼容I/O端口位的基本结构

(1)VDD_FT对5伏容忍I/O脚是特殊的,它与VDD不同

端口位配置表

输出模式位

3.2.1通用I/O(GPIO)

复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式(CNFx[1:

0]=01b,MODEx[1:

0]=00b)。

复位后,JTAG引脚被置于输入上拉或下拉模式:

─PA15:

JTDI置于上拉模式

─PA14:

JTCK置于下拉模式

─PA13:

JTMS置于上拉模式

─PB4:

JNTRST置于上拉模式

STM32F10xxx参考手册当作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。

可以以推挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。

输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。

所有GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开

3.2.2单独的位设置或位清除

当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:

在单次APB2写操作里,可以只更改一个或多个位。

这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是GPIOx_BRR)中想要更改的位写’1’来实现的。

没被选择的位将不被更改。

3.2.3外部中断/唤醒线

所有端口都有外部中断能力。

为了使用外部中断线,端口必须配置成输入模式。

3.2.4复用功能(AF)

使用默认复用功能前必须对端口位配置寄存器编程。

●对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部驱动

注意:

也可以通过软件来模拟复用功能输入引脚,这种模拟可以通过对GPIO控制器编程来实现。

此时,端口应当被设置为复用功能输出模式。

显然,这时相应的引脚不再由外部驱动,而是通过GPIO控制器由软件来驱动。

●对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。

●对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。

这时,输入驱动器被配置成浮空输入模式。

如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。

如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。

3.2.5GPIO锁定机制

锁定机制允许冻结IO配置。

当在一个端口位上执行了锁定(LOCK)程序,在下一次复位之前,将不能再更改端口位的配置。

3.2.6输入配置

当I/O端口配置为输入时:

●输出缓冲器被禁止

●施密特触发输入被激活

●根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接

●出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器

●对输入数据寄存器的读访问可得到I/O状态

下图给出了I/O端口位的输入配置

输入浮空/上拉/下拉配置

(1)VDD_FT对5伏容忍I/O脚是特殊的,它与VDD不同

3.2.7输出配置

当I/O端口被配置为输出时:

●输出缓冲器被激活

─开漏模式:

输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(PMOS从不被激活)。

─推挽模式:

输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。

●施密特触发输入被激活

●弱上拉和下拉电阻被禁止

●出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器

●在开漏模式时,对输入数据寄存器的读访问可得到I/O状态

●在推挽式模式时,对输出数据寄存器的读访问得到后一次写的值。

下图给出了I/O端口位的输出配置

输出配置

(1)VDD_FT对5伏兼容I/O脚是特殊的,它与VDD不同

3.1.8复用功能配置

当I/O端口被配置为复用功能时:

●在开漏或推挽式配置中,输出缓冲器被打开

●内置外设的信号驱动输出缓冲器(复用功能输出)

●施密特触发输入被激活

●弱上拉和下拉电阻被禁止

●在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器

●开漏模式时,读输入数据寄存器时可得到I/O口状态

●在推挽模式时,读输出数据寄存器时可得到后一次写的值8.4节-AFIO寄存器描述。

下图示出了I/O端口位的复用功能配置。

详见一组复用功能I/O寄存器允许用户把一些复用功能重新映象到不同的引脚。

复用功能配置

(1)VDD_FT对5伏兼容I/O脚是特殊的,它与VDD不同

3.2.9模拟输入配置

当I/O端口被配置为模拟输入配置时:

●输出缓冲器被禁止;

●禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。

施密特触发输出值被强置为’0’;

●弱上拉和下拉电阻被禁止;

●读取输入数据寄存器时数值为’0’。

下图示出了I/O端口位的高阻抗模拟输入配置

高阻抗的模拟输入配置

(1)VDD_FT对5伏兼容I/O脚是特殊的,它与VDD不同

3.2.10外设的GPIO配置

下列表格列出了各个外设的引脚配置

高级定时器TIM1/TIM8

通用定时器TIM2/3/4/5

3.3STM32串口

SPI简介

在大容量产品和互联型产品上,SPI接口可以配置为支持SPI协议或者支持I2S音频协议。

SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。

在小容量和中容量产品上,不支持I2S音频协议。

串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。

此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。

接口还能以多主配置方式工作。

它可用于多种用途,包括使用一条双向数据线的双线单工同步传输,还可使用CRC校验的可靠通信。

I2S也是一种3引脚的同步串行接口通讯协议。

它支持四种音频标准,包括飞利浦I2S标准,MSB和LSB对齐标准,以及PCM标准。

它在半双工通讯中,可以工作在主和从2种模式下。

当它作为主设备时,通过接口向外部的从设备提供时钟信号

3.3.1SPI特征

●3线全双工同步传输

●带或不带第三根双向数据线的双线单工同步传输

●8或16位传输帧格式选择

●主或从操作

●支持多主模式

●8个主模式波特率预分频系数(大为fPCLK/2)

●从模式频率(大为fPCLK/2)

●主模式和从模式的快速通信

●主模式和从模式下均可以由软件或硬件进行NSS管理:

主/从操作模式的动态改变

●可编程的时钟极性和相位

●可编程的数据顺序,MSB在前或LSB在前

●可触发中断的专用发送和接收标志

●SPI总线忙状态标志

●支持可靠通信的硬件CRC

─在发送模式下,CRC值可以被作为后一个字节发送

─在全双工模式中对接收到的后一个字节自动进行CRC校验

●可触发中断的主模式故障、过载以及CRC错误标志

●支持DMA功能的1字节发送和接收缓冲器:

产生发送和接受请求

3.3.2I2S功能

●单工通信(仅发送或接收)

●主或者从操作

●8位线性可编程预分频器,获得精确的音频采样频率(8KHz到96kHz)

●数据格式可以是16位,24位或者32位

●音频信道固定数据包帧为16位(16位数据帧)或32位(16、24或32位数据帧)

●可编程的时钟极性(稳定态)

●从发送模式下的下溢标志位和主/从接收模式下的溢出标志位

●16位数据寄存器用来发送和接收,在通道两端各有一个寄存器

●支持的I2S协议:

─I2S飞利浦标准─MSB对齐标准(左对齐)─LSB对齐标准(右对齐)─PCM标准(16位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1