0%

NodeMCU太阳能气象站

github:https://github.com/maplesugarr/nodemcu-weather-station

使用DHT11和光敏电阻做的太阳能气象站。

DHT11获取温度湿度

文档有很详细的说明,在github仓库中也有文档和代码。

光敏电阻测量光强

ADC:支持对 NodeMCU 开发板的 A0 引脚上的模拟输入(电压电平)进行测量。

1
2
3
--把亮度分为11级。级数越高越亮
--Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
luminance = adc.read(0)*10/1023

NodeMCU深度睡眠

使用DEEP SLEEP必须将 GPIO16(D0)与芯片 RST 管脚连接。

1
2
3
4
5
function goToSleep()
--DEEP SLEEP模式下,只有 RTC 模块仍然工作,负责芯片的定时唤醒。这是最高效的节省能量的模式。
--使用 DEEP SLEEP 必须将 GPIO16(D0)与芯片 RST 管脚连接。
node.dsleep(300000000)--这里是microseconds,微秒,一百万分之一秒。这是五分钟
end

太阳能和电池

太阳能板是5v/2.5w的,电池是2600mah,3.7v的18650。在理想情况下,太阳能板满功率,2.5/3.7=0.67a=670ma,2600/670=3.88小时。太阳能板可以在3.88小时充满电池。加上NodeMCU深度睡眠功能,不会存在断电情况。

上传的数据示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
+---------------------+-------------+----------+-----------+
| weathertime | temperature | humidity | luminance |
+---------------------+-------------+----------+-----------+
| 2019-04-17 05:59:26 | 17.2 | 84.0 | 0 |
| 2019-04-17 06:04:18 | 17.2 | 84.0 | 0 |
| 2019-04-17 06:09:11 | 17.3 | 85.0 | 0 |
| 2019-04-17 06:14:12 | 17.3 | 85.0 | 0 |
| 2019-04-17 06:19:08 | 17.4 | 84.0 | 0 |
| 2019-04-17 06:24:01 | 17.4 | 84.0 | 1 |
| 2019-04-17 06:29:02 | 17.5 | 85.0 | 1 |
| 2019-04-17 06:33:59 | 17.6 | 84.0 | 1 |
| 2019-04-17 06:39:00 | 17.7 | 84.0 | 1 |
| 2019-04-17 06:43:54 | 17.7 | 83.0 | 1 |
| 2019-04-17 06:48:46 | 17.8 | 83.0 | 1 |
| 2019-04-17 06:53:39 | 18.0 | 83.0 | 1 |
| 2019-04-17 06:58:31 | 18.0 | 82.0 | 2 |
| 2019-04-17 07:03:33 | 18.2 | 82.0 | 2 |
| 2019-04-17 07:08:30 | 18.3 | 81.0 | 2 |
| 2019-04-17 07:13:22 | 18.4 | 81.0 | 2 |
| 2019-04-17 07:18:32 | 18.5 | 80.0 | 2 |
| 2019-04-17 07:23:29 | 18.6 | 79.0 | 2 |
| 2019-04-17 07:28:22 | 18.7 | 78.0 | 2 |
| 2019-04-17 07:33:32 | 18.9 | 77.0 | 3 |
| 2019-04-17 07:38:37 | 19.0 | 77.0 | 3 |
| 2019-04-17 07:43:43 | 19.2 | 75.0 | 3 |
| 2019-04-17 07:48:36 | 19.4 | 74.0 | 3 |
| 2019-04-17 07:53:45 | 19.6 | 73.0 | 3 |
| 2019-04-17 07:58:43 | 19.7 | 72.0 | 4 |
| 2019-04-17 08:03:36 | 19.9 | 70.0 | 4 |
| 2019-04-17 08:08:37 | 20.1 | 69.0 | 4 |
| 2019-04-17 08:13:34 | 20.4 | 68.0 | 4 |
| 2019-04-17 08:18:35 | 20.8 | 67.0 | 4 |
| 2019-04-17 08:28:55 | 21.7 | 64.0 | 6 |
| 2019-04-17 08:33:48 | 23.3 | 59.0 | 6 |
| 2019-04-17 08:38:41 | 25.2 | 51.0 | 7 |
| 2019-04-17 08:43:50 | 28.2 | 40.0 | 7 |
| 2019-04-17 08:48:43 | 28.2 | 37.0 | 7 |
| 2019-04-17 08:53:37 | 29.7 | 36.0 | 7 |
| 2019-04-17 08:58:30 | 30.9 | 32.0 | 7 |
+---------------------+-------------+----------+-----------+

参考资料

http://d1.amobbs.com/bbs_upload782111/files_46/ourdev_683249AKFTJF.pdf

https://roboindia.com/tutorials/DHT11-esp8266-lua

https://www.childs.be/blog/post/how-to-connect-a-photoresistor-or-light-dependant-resistor-to-an-esp8266-12e

https://www.losant.com/blog/making-the-esp8266-low-powered-with-deep-sleep

https://randomnerdtutorials.com/esp8266-deep-sleep-with-arduino-ide/

https://www.espressif.com/sites/default/files/documentation/9b-esp8266-low_power_solutions_cn.pdf