物联网 实验3:基于协议栈的传感器应用1

1 实验目的

(1)熟悉DHT11传感器;
(2)掌握在协议栈中添加传感器,并按照协议规则实现数据传输;

2 实验环境

(1)硬件:CC2530节点板2块,CC2530仿真器,PC 机;
(2)软件:Windows 7/Windows XP,IAR集成开发环境。

3 实验内容

(1)验证DHT11底层驱动程序;
(2)在SampleApp工程中添加DHT11驱动程序,实现温度湿度数据按协议格式无线传输。

4 实验预习要求

仔细阅读第4篇CC2530应用的PPT内容,理解终端节点到协调器的数据传送方式和协议规则,熟悉协调器到网关的协议规则,运用SampleApp工程中的数据发送和接收函数,使用串口显示数据。

5 实验步骤

为了避免实验环境下多个实验平台之间网络互相串扰,每个实验平台需要修改PAD ID,修改工程内文件:Tools -> f8wConfig.cfg,将PAN ID修改为以个人学号后四位为基准的数值,如学号是1032,请修改为:0x1332。务必修改!!

A

、(1)验证DHT11底层驱动程序:
(1)解压DHT11.rar压缩包,里面包含DHT11工程的裸机程序及数据手册。
(2)打开裸机工程代码,注意软件版本使用IAR8.20
(3)分析程序,熟悉DHT11数据的读取过程,修改程序,程序上电初始时需要在串口调试助手(波特率19200)中输出自己的姓名学号。
(4)编译下载程序,注意下载到第5个模块。打开串口调试助手,设置波特率为19200,正常现象为:上电时会输出自己的姓名学号,然后间断输出温湿度数据。
(5)把上面的串口调试助手输出的正确信息截图保存,后面一并打包上传到服务器。

B

、在SampleApp工程中添加DHT11驱动程序,实现温度湿度数据按协议格式无线传输:
(1)从服务器下载或者自己保存的上一次实验2完成的SampleApp工程代码,在此工程基础上添加DHT11驱动程序。(务必完成上一次实验,否则无法进行)
(2)从裸机工程代码中找到并复制HumiTempDHT11.c和HumiTempDHT11.h文件至SampleApp工程目录下的Source文件夹下。在这里插入图片描述
(3)在SampleApp工程中添加HumiTempDHT11.c 文件。工程—>APP右键在这里插入图片描述
找到工程源代码HumiTempDHT11.c存放的路径。
(4)在SampleApp_Init()函数中添加DHT传感器初始化代码在这里插入图片描述
(5)把读取到的传感器数据按协议格式点播发送。在这里插入图片描述
(6)在点播发送函数中添加程序,把注释掉的代码和说明也添加上去,并结合上面的协议规则,理解程序代码。在这里插入图片描述
在这里插入图片描述
(7)把接收到的无线数据进行打包处理,需要判断是哪个节点发来的数据,并保存到相应的位置。数据格式如下,依次为第1、2、3节点数据。在这里插入图片描述
接收处理程序如下,把注释掉的代码和说明也添加上去,在这里插入图片描述
这里使用了datatouart[TOUARTLENGTH]这个数据,需要在SampleApp.c文件的头部声明。在这里插入图片描述
(8)在MT_UartInit()中修改波特率为9600在这里插入图片描述
在SampleApp.c文件中需要把DHT11的头文件include进来 在这里插入图片描述
9)分别编译下载程序,注意节点必须下载到第5个模块。在这里插入图片描述
在这里插入图片描述

注意:如果不能下载,尝试按下下载器中的复位键。

(10)观察现象。
正常现象:两个模块上电时会输出自己的姓名首字母和学号后4位(如果不能输出,可能程序错误或者串口连接线有问题,检查硬件连接),终端节点会定时点播按规则的数据到协调器,所以协调器的串口会间隔输出
[#xx,xx,33,44,1,111,22,33,44,1,111,22,33,44,1,1#0]的字符。
截图,最后打包一起上传到服务器。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值