19049| 7
|
[进阶] wifi模块连接云端服务器的尝试(esp8266连thingSpeak) |
本帖最后由 gada888 于 2017-3-31 13:28 编辑 前几天看到一个贴子说想用无线方式浇花,本人还和人家探讨,后来一想,自己都没做过,说的不跟空话一样,于是就是试着调试了一下wifi模块连云端。 这里用的wifi模块是NodeMCU,这是一个集成esp8266wifi模块的开发板。一个土壤传感器, 云数据库选的是ThingSpeak。地址在:https://thingspeak.com/ 注册一个用户名,然后登陆 写通道名,或者叫添加接入设备 系统生成API。这个将会是写手机app的控制端要用到的类似‘’开门的钥匙‘’。 接下来是写代码。代码编译环境是Arduino ide,如何烧录代码这部分在本人另一个帖子里有介绍。 analogRead(A0)是传感接人口。 [mw_shl_code=applescript,true]#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> WiFiClient client; String thingSpeakAddress= "http://api.thingspeak.com/update?"; 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); }[/mw_shl_code] 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这样效率会高。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed