查看: 2809|回复: 7

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里,如图:
wsd01.png
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”
wsd2.png

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

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

四、硬件连接

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

wsd5.png



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
大佬 库文件压缩包不能下载了

已经更新了,再试下

该用户从未签到

发表于 2021-4-2 19:44 | 显示全部楼层
您好,显示‘D8’ was not declared in this scope。是怎么回事

点评

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

该用户从未签到

 楼主| 发表于 2021-4-7 22:11 | 显示全部楼层
jcdzhc 发表于 2021-4-2 19:44
您好,显示‘D8’ was not declared in this scope。是怎么回事

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

该用户从未签到

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

该用户从未签到

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

我也是这个问题,同问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

esp32s2 在Arduino IDE调试USB CDC
esp32s2 在Arduino IDE调
各位大佬好,最近尝试弄清如何使用esp32s2的usb功能。然后在Github上找的代码,放到自
一直想做个飞行器,但是出了电小问题
一直想做个飞行器,但是出
这是主函数的源码 extern uint8_t PWM_PIN[8]; void initOutput();//初始化函数 void
Arduino mega2560 usb串口01被modbus master库占用,无法下载程序
Arduino mega2560 usb串口
Arduino mega2560 用来测试modbus master通信,因未发现串口可选择,直接下载了串口(
DIY炫彩灯带,竟如此简单,更有硬件开发工具免费领!
DIY炫彩灯带,竟如此简单
什么是涂鸦Arduino SDK? Arduino 是全球最流行的开源硬件平台,涂鸦官方推出的 Ardui
.h .cpp源代码转.ino草图
.h .cpp源代码转.ino草图
在Github上下载了源码,是.h 和.cpp文件,请问一下,如何才可以转成可以在arduinoIDE
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表