第五部分 外设篇 - 协议栈实验 第2章 CC2530温湿度传感器DHT11

1实验目的

1) 掌握 ZStack 的工作原理;
2) 知道如何添加 DHT11 驱动到协议栈上;
3) 知道如何在协议栈上读取、发送、接收温湿度。

2实验设备

硬件:PC 机一台;ZB2530(底板、核心板、仿真器、USB 线)两套;DHT11 一个
软件:win7 系统,IAR 8.20 集成开发环境、串口助手

3实验相关电路图

这里写图片描述

图1

4实验分析

由于此实验和 DS18B20 共用一个 IO 口,所以移植起来更加容易。 DHT11 带温度、湿度检测,而 DS18B20 则只带温度检测,不过精度相对要高点,一般应用只会选其中一种而已。
 温湿度读取
(1) 步骤一:将 DHT11.c 和 DHT11.h 添加到如图所示的文件夹下;

这里写图片描述

图 2 驱动移植到 ZStack 的路径

(2) 步骤二:在 workspace 里添加 DHT11.c 到 App 文件夹下,然后,在 SampleApp.c 里将 DHT11.h 包括进去,如图所示;
这里写图片描述

图 3在工程里添加 DHT11.c 和 DHT11.h

(3) 步骤三:初始化IO。
这里写图片描述

图4初始化IO口

(4) 步骤时:对 DHT11.c 进行修改:要将 DHT11.c 里的延时函数修改,使之与协议栈时序相同,还有,记要将”OnBoard.h”包括进去,见图。
这里写图片描述

图5

 发送温湿度信息
调用周期性点播函数将温湿度信息发送给其它 Zigbee 节点,具体带代码如下:
这里写图片描述
这里写图片描述
 接收温湿度信息
调用接收函数,接收温湿度信息,具体代码如下
这里写图片描述

5实验现象

1)选择 CoodinatorEB-Pro, 下载到开发板 A;作为协调器,通过 USB 线跟电脑连接.
2)选择 EndDeviceEB-Pro, 下载到开发板 B;作为终端设备无线发送数据给协调器,也通过 USB线跟电脑连接.
3)给两块开发板上电,打开串口调试助手,设为:115200 8N1 并打开串口,串口请选择自己的端口号。终端连网成功后会向协调器发数据。
笔者自带了OLED插上带你就能看到温度湿度变化了。

本章参考代码

点击进入

猜你喜欢

转载自blog.csdn.net/u013162035/article/details/81025396