Noduino DHT21

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(开发环境准备)
(代码示例)
 
(未显示1个用户的2个中间版本)
第1行: 第1行:
 
== 概述 ==
 
== 概述 ==
  
性能价格很好的平衡,传感器三根线,红接3.3V,黑接地,中间数据线接开发板 D1 口
+
性能价格平衡很好的温度湿度传感器
 +
 
 +
 
 +
 
  
 
<br><br>
 
<br><br>
第18行: 第21行:
 
== 硬件准备 ==
 
== 硬件准备 ==
  
 +
传感器三根线,红接 3.3V,黑接地,中间数据线接开发板 D1 口
  
<br><br>
 
  
 +
<br><br>
  
 
== 编译烧写 ==
 
== 编译烧写 ==
第98行: 第102行:
  
 
<source lang=cpp>
 
<source lang=cpp>
 +
#include "noduino.h"
 +
#include "dht21.h"
 +
 +
DHT21 dht21(D1);
 +
 +
irom void setup()
 +
{
 +
serial_begin(115200);
 +
}
 +
 +
void loop()
 +
{
 +
    char t_buf[8];
 +
    char h_buf[8];
  
 +
if(dht21.read() == -1) {
 +
serial_printf("Read sensor error\r\n");
 +
} else {
 +
serial_printf("Temp: %sC, Humi: %s%\r\n",
 +
dtostrf(dht21.temperature(), 5, 2, t_buf),
 +
dtostrf(dht21.humidity(), 5, 2, h_buf));
 +
}
 +
delay(2000);
 +
}
 
</source>
 
</source>
  

2016年8月28日 (日) 09:31的最后版本

目录

[编辑] 1 概述

性能价格平衡很好的温度湿度传感器





[编辑] 2 开发环境准备

根据您的系统,选择如下快速指南:




[编辑] 3 硬件准备

传感器三根线,红接 3.3V,黑接地,中间数据线接开发板 D1 口




[编辑] 4 编译烧写

进入你的 dht21 目录:

$ cd /PATH/TO/noduino-sdk/examples/noduino/dht21


编译、上传一步完成:

$ make flash

不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,Linux 下 Falcon 开发板可能被识别为 /dev/ttyUSB1(dmesg 查看),则:

$ make flash ESPPORT=/dev/ttyUSB1


Windows 下 Falcon 开发板可能被识别为 COM6(控制面板 --> 设备管理器里查看),则:

$ make flash ESPPORT=COM6



[编辑] 5 查看结果

上传完之后,用串口工具,用 115200 的波特率打开串口,即可看到串口在持续输出传感器测得的值:


Windows 下可用串口调试助手这类插看


Linux 下推荐使用 picocom:

$ sudo apt-get install picocom
$ picocom -b 115200 /dev/ttyUSB1
picocom v1.7

port is        : /dev/ttyUSB2
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,

Terminal ready

......
......


Ctrl + a q 退出 picocom




[编辑] 6 代码示例

#include "noduino.h"
#include "dht21.h"

DHT21 dht21(D1);

irom void setup()
{
	serial_begin(115200);
}

void loop()
{
    char t_buf[8];
    char h_buf[8];

	if(dht21.read() == -1) {
		serial_printf("Read sensor error\r\n");
	} else {
		serial_printf("Temp: %sC, Humi: %s%\r\n",
			dtostrf(dht21.temperature(), 5, 2, t_buf),
			dtostrf(dht21.humidity(), 5, 2, h_buf));
	}
	delay(2000);
}




[编辑] 7 扩展阅读

更多问题参考:








个人工具
名字空间

变换
操作
导航
工具箱