wifi模块连接云端服务器的尝试(esp8266连thingSpeak)
前几天看到一个贴子说想用无线方式浇花,本人还和人家探讨,后来一想,自己都没做过,说的不跟空话一样,于是就是试着调试了一下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 tsfield 1 Name; 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" ; tsfield 1 Name = "&field1=10" ; request_string = thingSpeakAddress; request_string + = "key=" ; request_string + = "APBY8GAHZJ5SWCNA" ; request_string + = "&" ; request_string + = "field1" ; request_string + = "=" ; request_string + = analogRead ( A 0 ) ; 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页会看到如下图表。表示数据传输成功。
你也可以调用matlab插件看图表。
手机端安装了个安卓thingView app
填入你的API之后就可以看到数据了。但是不能实现浇水的动能。
如想实现的话,要自己写app,建议用app inventor这样效率会高。