查看: 3022|回复: 0

OpenJumper智能家居之室内环境监测

[复制链接]

该用户从未签到

发表于 2020-6-28 16:06 | 显示全部楼层 |阅读模式
本帖最后由 OpenJumper 于 2020-6-28 16:26 编辑

大家有没有遇到这种情况?晚上睡觉有点热 ,准备打开空调睡觉,在开空调之前打开手机天气软件看了看温度才25度,而这个温度理论上是不需要开空调的。是什么原因呢?
  这是因为我们手机的软件检测的是室外的宽范围的一个温度情况,不能反映出当下局部小范围内的温度情况。
  所以本节我们制作室内环境监测仪,通过案例安装测试,我们可以远程监测室内的实际温湿度情况,这样就可以做到事时的监控室内的温湿度,同时还可以远程监控查看室内的温湿度情况。

材料准备:
wifiduino主板*1
wifiduino拓展板*1
LM35温湿度传感器*1
M3*8mm螺丝*8
M3螺母*8  
外壳木板*1

一、首先我们取出环境监测项目的木板B w1.png
二、将各组件从木板B上全部取下来
w2.png
三、将wifiduino与DHT11温湿度传感器分别安装到带有安装孔的木板的两侧 扩展板堆叠在wifiduino主板之上,DHT11传感器通过3P数据线连接在D7接口(此接口可根据程序设定)中
w3.png w42.png
四、接着将屋顶与两侧进行连接固定,如下图所示
w52.png w62.png
五、接着用如图的方法,将wifiduino与DHT11进行安装与固定
w72.png w82.png
六、最后将底板进行安装固定,我们这次的组装就完成了
w92.png

示例程序:
本程序使用到DHT11库文件,首先下载库文件DHT-sensor-library.zip   将其解压后放在arduino的程序安装目录下的libraries里,如图 w10dht11lib.png
打开例程 environment.ino  修改程序中的 auth[]值和要连接的wifi的ssid及密码
w11wifissid.png
注意:
1、程序中的传感器连接的引脚为D7
2、程序中设定湿度的键名为humi ,温度的键名为temp,这与手机端的blinker添加的设备名称一一对应。

完整程序:
#define BLINKER_WIFI#include <Blinker.h>#include <DHT.h>char auth[] = "d8bdba0f8f8d";  //设备keychar ssid[] = "mostfun";      //连接路由器ssidchar pswd[] = "18038083899";  //wifi 密码BlinkerNumber HUMI("humi");BlinkerNumber TEMP("temp");#define DHTPIN D7    //连接DHT11传感器的引脚#define DHTTYPE DHT11   // DHT 11//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321//#define DHTTYPE DHT21   // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);float humi_read = 0, temp_read = 0;void heartbeat(){    HUMI.print(humi_read);    TEMP.print(temp_read);}void setup(){    Serial.begin(115200);    BLINKER_DEBUG.stream(Serial);    BLINKER_DEBUG.debugAll();    pinMode(LED_BUILTIN, OUTPUT);    digitalWrite(LED_BUILTIN, LOW);    Blinker.begin(auth, ssid, pswd);    Blinker.attachHeartbeat(heartbeat);    dht.begin();}void loop(){    Blinker.run();    float h = dht.readHumidity();    float t = dht.readTemperature();    if (isnan(h) || isnan(t))    {        BLINKER_LOG("Failed to read from DHT sensor!");    }    else    {        BLINKER_LOG("Humidity: ", h, " %");        BLINKER_LOG("Temperature: ", t, " *C");        humi_read = h;        temp_read = t;    }    Blinker.delay(2000);}
下载程序到wifiduino板中。下载结束后,IDE提示栏中显示“上传成功”
w12uploadok.png
通电:

将充电电池插入扩展板上的电池接口,打开电源开关,wifiduino在经过几分钟时间,会自动连接在程序里设定的wifi账号中,并通过此wifi进行联网。

blinker手机App中添加数据组件
点击右上方解锁按键,进入编辑模式,添加一个为数据组件,将其作为温度数据显示接口,点击该数据组件,编辑数据的信息
w14apptemp4.jpg apptemp1.png
将键名修改为程序设定的“temp”,文本显示“温度”,数据单位为“℃”,最大值为100。
点击下“修改图标”,将图标修改为形状为温度计的图标,然后将图标颜色修改为红色。完成编辑,点击右上角的勾号。
apptemp3.png w13apptemp4.jpg
将键名修改为程序里定义的“humi”,文本显示“湿度”,数据单位为“%”,最大值“100” 点击下“修改图标”,将图标修改为形状为水滴的图标,然后将图标颜色修改为绿色。完成编辑,点击右上角的勾号 。

观察结果
手机app观察传感器实时检测到的温度和湿度数据。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

求助,ESP01S怎么使用
求助,ESP01S怎么使用
用 Arduino IDE 给 ESP-01S继电器 上传了一段程序 上传的成功后 ESP-01S 亮了一盏
智能“百味”勺子开发实战营,为你的生活添滋味!
智能“百味”勺子开发实战
想不想拥有一把神奇的“百味”勺子,把索然无味的食物变出酸甜苦辣咸的丰富滋味
20sffactory 三自由度3D打印机械手臂 - 高速移动
20sffactory 三自由度3D打
这款机械臂作者没有给他起名字,用作者的名字来命名. 目前为止,生态最好,做的最完
多位数码管显示项目——以TM1650为例
多位数码管显示项目——以
以下是用搭载TM1650的4位数码管,显示电位器所代表0到1023的模拟信号数值 示意图:
新手小白付费拜师求教:TM1650四位时钟数码管的具体用法
新手小白付费拜师求教:TM
从淘宝购买的TM16504位数码管的时钟模块,卖家给了程序,但是完全不会用。求一位老师
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表