当前位置:首页 >> 信息与通信 >>

无线传感器监测数据采集实验


姓名:谭芳亮 班级:通信(1)班

学号:2013329600049

实验 1:无线传感器监测数据采集实验
【实验目标】 在无线传感器节点的单片机驱动代码的基础上, 编写传感器数据采集程序, 实现对温湿 度传感器的数据采集和计算。 【实验设备】 类别 物联网设备 【实验要求】 (1)熟悉温湿度传感器工作原理; (2) 熟悉温湿度

传感器接口协议; (3)编写温湿度传感器接口代码; (4)实现温湿度传感器的数据采集和计算,并验证采集结果的正确性。 【实验原理】 1、开发环境所需软件 JDK,Precision32IDE,MDK,J-link 驱动(见理工学校实验/tool). 图 1-1 所需要的软件 器 名称 ZIGBEE 无线空气温湿度传感 所需数量(每组) 1个

2、MDK 的安装与注册 学过 51 的同学对 MDK 都不是太陌生, sim32 也是用 MDK 编译代码。 MDK 对不同的内核有 不同的版本, 这里用的是 keil for ARM4.7 双击 MDK 进行安装, 安装过程需要填写一些信息, 这些可以随便填写,相信学过 51 单片机的同学都知道。一直点击 next 直到安装完成。 MDK 没注册代码长度有 2K 的限制,代码过大会报错,因此需要注册。右击 MDK 快捷方 式图标,点击以管理员身份运行。点击 file->license manger...,打开注册机,将 CID 复 制到注册机里,选择 ARM 版本,生成注册码,将注册面复制到 license Management 中,点 击 Add LIC 按钮,完成注册。具体过程见 DOC/MDK 的安装激活与使用。 3、将 SIM32 官方库复制到在 C 盘根目录下。(工程里的库文件用的是绝对路径)。 4、MDK 的工程管理(向工程里面添加文件) 在这里大家也许会有疑问,怎么用 MDK 建立工程,用 MDK 建立过程,设置项比较多。容 易出错,因此不建议用 MDK 建立工程,SIM 官方提供的有 Precision32 IDE 可以建立 MDK 工 程,IAR 工程,不过安装 IDE 之前需要安装 JDK,配置环境变量。IDE 安装之后,需要用邮 箱注册,过程比较繁琐,因此不建议大家使用。有兴趣的同学可以参考 DOC/IDE 的安装。我 们使用建立好的工程模版,只用在使用时向工程里面添加文件即可。添加文件有两种方法。 方法一:点击工具栏工程管理图标进入工程管理如图

图 1-2 MDK 工程管理 方法二:在 MDK 主页面左边 project 窗口工程名上右击,点击 Add Group,添加组。 在组上右击添加文件。在文件名上右击选择删除问价。 5、MDK 的工程设置

?

在工程模板基本上把工程的常用设置项已经设置好了。 在使用过程中只用改动少许设置。 Output 设置 在 Create HEX File 前面打勾(hex 文件是烧写向单片机烧写的文件)

图 1-3 output 设置

?

C/C++点击 Include Path 行尾的小按钮,点击图中的新建,点击行尾的小按钮,将新加 入工程中的文件的头文件路径包含里面。 (编译器根据这个路径找到要包含的*.h 文件 路径,不加进去,不能顺利编译,会报错)。

图 1-4 c/c++设置

Debug 设置(用 J-link 把节点和电脑相连,给节点上电)如图所示。传感器和网关全部用 的是 J-link 转 SW)
图 1-5 Debug 设置

?

Utilities 设置如图。

图 1-6Utilities 设置

6、J-link 转 SWD 的制作 图 1-7 是 J-Link 和 SWD 的示意图,用杜邦线把相应的引脚连接。

图 1-7 J-link 转 SWD

7、通用 IO 口输入输出控制 通用 IO 口实验通常是单片机的第一个实验这里简单介绍几个函数 a) 单片机 IO 设置为上拉输出函数 SI32_PBSTD_A_set_pins_push_pull_output(SI32_PBSTD_1, 0x0020) 参数解释,SI32_PBSTD_1 代表的是 P1 端口 0x0020 代表的是第 5 个引脚。0x0020 写成二进制是 0000 0000 0010 0000,第 5 位是 1, 因此表示的是第 5 个引脚。 b) 单片机 IO 输出高电平 SI32_PBSTD_A_write_pins_high(SI32_PBSTD_1, 0x0020) c) 单片机 IO 输出低电平 SI32_PBSTD_A_write_pins_low(SI32_PBSTD_1, 0x0020) d) 单片机 IO 设置为输入 SI32_PBSTD_A_set_pins_digital_input(SI32_PBSTD_1, 0x0010) e) 读取引脚电平 SI32_PBSTD_A_read_pin(SI32_PBSTD_1, 2) 参数解释 2 表示的是第二个引脚,这里的定义和上面不一样,在使用时要注意。 8 、温湿度传感器和单片机的接口 温湿度传感器和单片机采用的是类似 IIC 的串行通信,和单片机相连如图 1-8 所示
VDD 和 GND 是传感器供电引脚。 SCK 是时钟引脚,在通信这个过程中,SCK 信号都是有单片机控制的。 DATA 是数据线,和单片机 IO 口相连。用于向传感器发送指令和从单片机读走数据。数据在时钟的上 升沿生效在时钟是高电平时保持不变。在时钟是低电平时准备数据。接口如图所示。

图 1-8 温湿度接口图 1-9 开始信号 单片机先向传感器发送开始命令,然后开始通信,开始命令时序图如图所示。在 SCK 高电平时,将数 据线拉低,在下一个时钟高电平期间,将数据线拉高。开始信号发送完毕。 再开始信号后是命令信号,命令信号包含 3 位地址位(只支持 000)和 5 位命令位组成。传感器在接 收到 1byte 数据时(即第八个时钟下降沿)将数据线拉低,表示数据正确接收。在九个下降沿被释放。命 令如下表。

单片机在发送完命令信号后,等待温湿度传感器测量完成。传感器在转换完成后将数据线拉低。单片 机产生时钟信号,从温湿度传感器读数据。数据包含 2bytes 的测量结果和 1bytes 的校验。单片机在收到每 字节数据都要将数据线拉低给出应答信号。数据高位在前,低位在后。传感器在测量结束和通信完毕后自 动进入休眠。具体操作见数据手册。时序图如图 1-10 所示。

图 1-10 传感器工作时序图 8、 计算公式 温度计算公式:

湿度计算公式:

【实验步骤】 1、建立开发工程; 用 MDK 打开工程模板。 2、 把 similar_i2C.c 和 similar_i2C.h 加入到工程。 将 similar_i2c 文件夹拷贝到工程模板目录中。 添加过程见前面工程管理 在工程设置里面将头文件路径加入。 3、 调用 similar_i2C.c 中函数,编写温度采集和湿度采集代码 在工程模板根目录下建立 sht1xx_sensor,在里面新建 sht1xx.c 和 sht1xx.h 空文件, 将 c 加入到工程,将 h 文件加入到工程设置中 编写 c 文件。将 c 函数中可以被调用的函数在 h 文件中声明。 代码见例程。 数据采集流程图: 开始 开启传感器 式 写寄存器,设置精度 调用温、湿度 采集函数 重新开启传感 器 式 设置寄存器温(湿) 度测量模式 延时 式 读寄存器,并转换成对 应精度的测量值 式

循环 式

计算温度、 湿度值 式 延时 式

温度采集: float SHT15_temp_samp() { uint8_t temp_data[3]; float temp=0; simliar_i2c_transstart(); //开启传感器 similar_i2c_write_byte(0x06); //设置寄存器写模式 similar_i2c_write_byte(0x01); //写寄存器,设置精度 8bit RH / 12bit Temp simliar_i2c_transstart();//开启传感器 similar_i2c_write_byte(0x03); //设置写寄存器温度测量模式 SIMILAR_I2C_DATA_IN; delay_us(100000); //延时 SIMILAR_I2C_DATA_OUT; temp_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第一个字节(高位) temp_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第二个字节(低位) temp_data[2]=similar_i2c_read_byte(SIMILAR_I2C_NOACK); //读校验码 temp=temp_data[0]*256+temp_data[1]; //12 位温度测量值 return temp; } 湿度测量: float SHT15_rh_samp() { uint8_t RH_data[3]; floatrh=0; simliar_i2c_transstart();//开启传感器 similar_i2c_write_byte(0x06); //设置寄存器写模式 similar_i2c_write_byte(0x00); //写寄存器,设置精度 12bit RH / 14bit Temp simliar_i2c_transstart();//开启传感器 similar_i2c_write_byte(0x05); //设置写寄存器湿度测量模式 SIMILAR_I2C_DATA_IN; delay_us(100000); //延时 SIMILAR_I2C_DATA_OUT; RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第一个字节(高位) RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第二个字节(低位) RH_data[2] =similar_i2c_read_byte(SIMILAR_I2C_NOACK);//读校验码 rh=RH_data[0]*256+RH_data[1]; //12 位湿度测量值 returnrh; } 4、 编写 main()调用温度采集和湿度采集函数,并对原始数据进行处理。 temp_value=SHT15_temp_samp();//调用温度采集函数

g_temp=-39.7+0.04*temp_value;//计算温度值 rh_value=SHT15_rh_samp();//调用湿度采集函数 g_rh=-4+0.0405*rh_value+rh_value*rh_value*(-2.8)/1000000+(g_temp-25)*(0.01+ 0.00008*rh_value);//计算湿度值 5、将打开调试界面,调试程序,读取温度和湿度的数值,并用手按压传感器改变温度看温 度数值的变化。向传感器慢慢吹气,看湿度的变化。并在表格里记录。 第一次 温度原始值 计算后的温度 湿度原始值 计算后的湿度 实验心得 本次实验在无线传感器节点的单片机驱动代码的基础上, 编写传感器数据采集程序。 主 要了解和熟悉了传感器数据采集的一般流程,传感器的工作原理及接口协议。通过实验,加 强了传感器数据采集处理过程的理解。 0X05D1 19.86 0X0540 44.770206 第二次 0X0612 22.46 0X0572 46.707279 第三次 0X061F 22.98 0X072A 60.542469 第四次 0X064C 24.78 0X0758 62.208393 第五次 0X0651 24.98 0X0783 63.524021


相关文章:
无线传感器监测数据采集实验
无线传感器监测数据采集实验_信息与通信_工程科技_专业资料。无线传感器监测数据采集实验。在无线传感器节点的单片机驱动代码的基础上,编写传感器数据采集程序,实现对温...
无线传感器网络数据采集监测解决方案
无线传感器网络数据采集监测解决方案_信息与通信_工程科技_专业资料。无线传感器...比如, 英特尔研究实验室研究人员曾经将 32 个小型传感器连进互联网, 以读出缅因...
无线传感器数据通信实验报告
传感器节点上的数据采集向物联网网关的无线上传。 实验三:无线传感器设计实验 2 3 2 )通过 SPI ZIGBEE MCU .收包过程: 3 ( ( 1) 1 5 1 2 3 2 3 体...
无线数据采集模块实验报告
随着计算机、通信和网络技术的飞速发展,无线传感器网络应运而生。传感 测试技术正...典型应用包括遥控、遥感、遥测系统中的数据采集检测、报警、 过程控制等环节。...
无线传感器网络在各行业数据采集监测中的解决方案
无线传感器网络在各行业数据采集监测中的解决方案 现代生产活动中, 无线传感器网络用于生产数据采集监测变得日益重要。 在机械、 电子、 塑胶、化工等行业生产过程中,...
无线传感器 综合实验报告1
无线测试系统综合实验实验报告 学号 姓名 学院 机械工程学院 2010/10/28 一、 ...传感器模块负责监测区域内信息的采集数据转换, 在一个节点提供了可扩展不同 ...
无线传感器信号采集、数据传输监测必知的七个知识点
无线传感器信号采集数据传输监测必知的七个知识点 1、工作原理:无线传感器采集...7、应用场所:图书馆,博览馆,档案馆,楼宇,地下室,实验室,机房,粮库,酒库,化...
无线传感器网络实验平台的设计和实现
无线传感器网络是一种全新的信息获取平台, 能够实时监测采集网络分布区域内的各...基站可将从无线传感器网络取得的 数据汇集到计算机上。 2 基于 TinyOS 实验平台...
无线温度传感器及无线温度数据采集传输监测系统解决方案
3 一、定义 无线温度传感器采集监测点的温度参数,通过无线方式上传,可选电池、太阳能或外供电源 等供电方式 二、功能特点 1 通讯中断自动保存数据,通讯恢复自动补...
无线温湿度传感器及无线温湿度数据采集传输监测系统解决方案
湿度传感器; 4、温湿度传感器可配引线长达 100 米; 三、解决方案 无线温湿度数据采集传输监测系统基于无线传感器网络技术, 选用无线测控装置、 智能网关、 无线温...
更多相关标签:
无线胎压监测传感器 | 无线传感器网络实验 | 无线传感器网络实验室 | 无线传感器实验总结 | 水质监测传感器 | 传感器数据采集 | 胎压监测传感器 | 环境监测传感器 |