前几天看到一个贴子说想用无线方式浇花,本人还和人家探讨,后来一想,自己都没做过,说的不跟空话一样,于是就是试着调试了一下wifi模块连云端。
这里用的wifi模块是NodeMCU,这是一个集成esp8266wifi模块的开发板。一个土壤传感器,
云数据库选的是ThingSpeak。地址在:https://thingspeak.com/
注册一个用户名,然后登陆
写通道名,或者叫添加接入设备
系统生成API。这个将会是写手机app的控制端要用到的类似‘’开门的钥匙‘’。
接下来是写代码。代码编译环境是Arduino ide,如何烧录代码这部分在本人另一个帖子里有介绍。
analogRead(A0)是传感接人口。
[AppleScript] 纯文本查看 复制代码
|
01
02
03
04
05
06
07
08
09
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
41
42
43
44
45
46
47
|
#include <ESP8266WiFi.h>#include <ESP8266HTTPClient.h>WiFiClient client;String writeAPIKey;String tsfield1Name;
String request_string;HTTPClient http;void setup()
{ WiFi.disconnect();
delay(1000);
WiFi.begin("your wifi device name","your login code");
while ((!(WiFi.status() == WL_CONNECTED))){
delay(300);
}
}void loop()
{ if (client.connect("api.thingspeak.com",80)) {
writeAPIKey = "key=JYLKR4WVJ5NPEPOC";
tsfield1Name = "&field1=10";
request_string = thingSpeakAddress;
request_string += "key=";
request_string += "APBY8GAHZJ5SWCNA";
request_string += "&";
request_string += "field1";
request_string += "=";
request_string += analogRead(A0);
http.begin(request_string);
http.GET();
http.end();
}
delay(3000);
} |
WiFi.begin("your wifi device name","your login code");
上面这句你要改的,‘’your wifi device name‘’你的wifi设备名称,your login code你的wifi登陆密码
在arduino 上代码烧录OK后,在thingspeak网站你的ID页会看到如下图表。表示数据传输成功。
填入你的API之后就可以看到数据了。但是不能实现浇水的动能。
如想实现的话,要自己写app,建议用app inventor这样效率会高。