查看: 3795|回复: 11
打印 上一主题 下一主题

blinker物联网教程——7、室内温湿度计

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2021-3-9 09:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 海神 于 2021-6-7 11:03 编辑

简介:
本实验是实现实时的可远程监测环境温湿度的案例项目。通过使用wifiduino在室内搭建温湿度检测,可将检测到的温湿度数据实时反馈到手机的blinker软件中,以实现对室内环境温湿度的实时检测。

硬件:

wifiduino主控板*1
microUSB线*1
DHT11模块*1
公对母杜邦线*3

软件:

blinker APP

操作步骤

一、blinker软件中添加设备
1.确保开发板连接的网络能连接外网
2.blinker中,点击右上角的“+”进入添加设备页面
3.点击 选择”——“Arduino”——“wifi接入”——“阿里云
4.获取SecretKey, 记住这串数字,并将其填入到程序中

二、wifiduino上传程序
1、安装库文件
本程序使用到DHT11温湿度传感器,在IDE中没有该传感器的库文件,所以首先下载库文件DHT-sensor-library.zip将其解压后放在arduino软件安装目录下的libraries里,如图:
2.修改程序并上传
打开例程environment.ino修改程序中的auth[]值(步骤一中获取的SecretKey)和要连接的wifissid及密码
  1. char auth[] = "d8bdba0f8xxx";
  2. char ssid[] = "moxxun";
  3. char pswd[] = "1803808xxxx";
复制代码
注意程序中的传感器连接的引脚为D8
  1. #define DHTPIN D8
复制代码
程序中设定湿度的键名为humi,温度的键名为temp(这将与blinker中对应的键名匹配)
  1. BlinkerNumber HUMI(“humi”);
  2. BlinkerNumber TEMP(“temp”);
复制代码
完整代码:
  1. #define BLINKER_WIFI

  2. #include <Blinker.h>
  3. #include <DHT.h>

  4. char auth[] = "d8bdbaxxxx";
  5. char ssid[] = "mosxxun";
  6. char pswd[] = "1803808xxxx";

  7. BlinkerNumber HUMI("humi");
  8. BlinkerNumber TEMP("temp");

  9. #define DHTPIN D8

  10. #define DHTTYPE DHT11   // DHT 11
  11. //#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
  12. //#define DHTTYPE DHT21   // DHT 21 (AM2301)

  13. DHT dht(DHTPIN, DHTTYPE);

  14. float humi_read = 0, temp_read = 0;

  15. void heartbeat()
  16. {
  17.     HUMI.print(humi_read);
  18.     TEMP.print(temp_read);
  19. }

  20. void setup()
  21. {
  22.     Serial.begin(115200);
  23.     BLINKER_DEBUG.stream(Serial);
  24.     BLINKER_DEBUG.debugAll();
  25.     pinMode(LED_BUILTIN, OUTPUT);
  26.     digitalWrite(LED_BUILTIN, LOW);

  27.     Blinker.begin(auth, ssid, pswd);
  28.     Blinker.attachHeartbeat(heartbeat);
  29.     dht.begin();
  30. }

  31. void loop()
  32. {
  33.     Blinker.run();

  34.     float h = dht.readHumidity();
  35.     float t = dht.readTemperature();

  36.     if (isnan(h) || isnan(t))
  37.     {
  38.         BLINKER_LOG("Failed to read from DHT sensor!");
  39.     }
  40.     else
  41.     {
  42.         BLINKER_LOG("Humidity: ", h, " %");
  43.         BLINKER_LOG("Temperature: ", t, " *C");
  44.         humi_read = h;
  45.         temp_read = t;
  46.     }

  47.     Blinker.delay(2000);
  48. }
复制代码

程序上传wifiduino板中。下载结束后,IDE提示栏中显示上传成功

三、blinker定制界面

点击右上方解锁按键,进入编辑模式
添加一个为数据组件,将其作为温度数据显示接口点击该数据组件,编辑数据的信息
将键名修改为程序里定义的“temp”(这里的temp和程序中的名称相对应),文本显示“温度”,数据单位为“℃”,最大值“100”

点击下“修改图标”,将图标修改为自己喜欢的图标。完成编辑,点击右上角的勾号。

再添加一个为数据组件,将其作为湿度数据显示接口,点击该数据组件,编辑数据的信息。将键名修改为程序里定义的“humi”(这里的humi和程序中的名称相对应),文本显示“湿度”,数据单位为“%”,最大值“100”
点击下修改图标,将图标修改为自己喜欢的图标完成编辑,点击右上角的勾号。

四、硬件连接

DHT11温湿度传感器通过杜邦线连接在wifiduino,分别对应是S对应D8+对应5V-对应GND
连接完成后,插上microusb数据线,将主板供电,wifiduino上电后会连接程序里设定的网络,连接成功后,打开手机app,可以看到设备已经显示“在线”
手机app观察传感器实时检测到的温度和湿度数据




blinker物联网教程目录

该用户从未签到

沙发
发表于 2021-3-9 17:23 | 只看该作者
点个赞,太牛了

该用户从未签到

板凳
发表于 2021-3-23 15:21 | 只看该作者
大佬 库文件压缩包不能下载了

点评

已经更新了,再试下  详情 回复 发表于 2021-3-24 11:26

该用户从未签到

地板
 楼主| 发表于 2021-3-24 11:26 | 只看该作者
liuzhe666 发表于 2021-3-23 15:21
大佬 库文件压缩包不能下载了

已经更新了,再试下

该用户从未签到

5#
发表于 2021-4-2 19:44 | 只看该作者
您好,显示‘D8’ was not declared in this scope。是怎么回事

点评

主板使用wifiduino,正常安装驱动和库文件后,选择对应板卡编译就是对的  详情 回复 发表于 2021-4-7 22:11

该用户从未签到

6#
 楼主| 发表于 2021-4-7 22:11 | 只看该作者
jcdzhc 发表于 2021-4-2 19:44
您好,显示‘D8’ was not declared in this scope。是怎么回事

主板使用wifiduino,正常安装驱动和库文件后,选择对应板卡编译就是对的

该用户从未签到

7#
发表于 2021-4-9 00:12 | 只看该作者
楼主问个简单问题,为什么把库文件解压后放到了Libraries下,然后#include<DHT.h>,一直显示:DHT.h:No such file or directory

该用户从未签到

8#
发表于 2021-4-12 14:22 | 只看该作者
LeBryan0 发表于 2021-4-9 00:12
楼主问个简单问题,为什么把库文件解压后放到了Libraries下,然后#include,一直显示:DHT.h:No such file  ...

我也是这个问题,同问。

该用户从未签到

9#
发表于 2021-6-27 10:06 | 只看该作者
请问只用esp8266 01s可做吗

该用户从未签到

10#
发表于 2021-7-2 16:31 | 只看该作者
不用wifi,用nano+gprs模块可以吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

一款可以无线程序下载的arduino开发板
一款可以无线程序下载的ar
WoNiu(蜗牛)蓝牙开发板是一款兼容Arduino UNO的开发板。相比于市面上现有的Arduino
【限时免费领】1000 块 Wi-Fi+BLE MCU 开发板
【限时免费领】1000 块 Wi
有! >>涂鸦智能 Wi-Fi+BLE MCU 开发板
arduino pid麦克纳姆轮小车程序详解
arduino pid麦克纳姆轮小
之前发过几个帖子,大家可以参考,但经过多次尝试,整套系统升级了,优化了很多地方目录:
自制麦轮小车robomasterV4详细教程
自制麦轮小车robomasterV4
一 介绍 这个帖子中,我将介绍用arduino制作一台PID调制的麦轮小车底盘部分的方法 资
esp32cam官方例程无法运行
esp32cam官方例程无法运行
如图所示,程序上传后显示 [E][camera.c:1113] camera_probe(): Detected camera not
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表