查看: 825|回复: 0

LinkNode R4使用指南(2)

[复制链接]

该用户从未签到

发表于 2017-1-9 09:03:08 | 显示全部楼层 |阅读模式
分享到:
上一节已经讲到上传代码,听到继电器响声了,现在我们讨论一下如何远程操作,即用电脑控制继电器。由于这是申请的板子,我用手机控制的时候,显示此设备已经被注册过了,所以手机控制就不说了。但是还是需要下载手机APP,这个在官网上有的。
    我们先回顾一下LN R4的功能和介绍。LinkNode R4是WiFi中继控制器,它由ESP-12f ESP8266 WiFi模块供电,该模块可与Arduino编程配合使用。 有4个中继通道,每个通道允许您通过板载继电器控制大功率设备(高达10 A)。 LinkNode R4可用于远程打开/关闭灯,风扇和其他设备。 WiFi接口将允许您将电路板与现有的WiFi网络相关联,并通过网络发送命令。
     1.步骤1,先去官网下载手机APP,就是这个文件夹LinkNodeR4-app-master 。里面有3个APP,应该是那一个都可以使用,楼主用的是第一个,亲测可用,IOS版本官网也有提供,大家可以试一下。

  2.步骤2:去这个网站注册LinkSpriteIO - Open Source IoT Platform  https://www.linksprite.io/login
 然后登陆。
创建完成后你就拥有一个API Key,知道了API key你就可以修改上面的源代码中的API KEY这项。
点击My Device,创建一个新设备。
创建完成可以在我的设备下看到名为eeboard的Light项目,点击图标进入。
进入后你可以看到一个设备ID号,知道了这个设备ID你就可以修改上面相应的源代码中的device ID项。
此时,API KEY以及Device ID都修改完成后就可以保存项目,编译、下载你的源代码、程序。

具体操作你也可以参照这个网址:https://www.eeboard.com/evaluation/linknode-r4/5/
上面已经写得很好了,我就不啰嗦了。
3.步骤3:和第一篇文章一样上传你的代码,下面是我的代码,不过有两个地方需要修改,改成你自己的API KEY以及Device ID。
下面是代码:
#include <esp8266wifi.h>   #include <wstring.h>   //the library are needed for autoconfig WiFi   #include <dnsserver.h>   #include <esp8266webserver.h>   #include <wifimanager.h>          // replace with your own API key and device ID,   String apikey = "7650cba5-8b27-4f6e-8600-142f419aa3ae";   const char* deviceID="0200000121";  const char* server = "<a href="https://www.linksprite.io" ;"="">www.linksprite.io";</a>  WiFiClient client; void setup() {                   Serial.begin(115200);   pinMode(13, OUTPUT);   WiFiManager wifiManager;   wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0));   wifiManager.autoConnect("LinkNodeAP");   Serial.print("WiFi Connected ...\n");   Serial.println("WiFi connected"); } void loop() {   if (client.connect(server,80)) {     String  postStr ="{";           postStr +="\"action\":\"query\",";           postStr +="\"apikey\":\"";           postStr += apikey;           postStr +="\",";           postStr +="\"deviceid\":\"";           postStr += deviceID;           postStr +="\",";           postStr += "\"params\":";           postStr += "[";           postStr += "\"light\"";           postStr +="]";           postStr +="}";      client.print(&quotOST /api/http HTTP/1.1\n");      client.print("Host: ");      client.print(server);      client.print("\nContent-Type: application/json\n");      client.print("Content-Length: ");      client.print(postStr.length());      client.print("\n\n");      client.print(postStr);        }   delay(1000);   Serial.println("Store response...");   String request = "";   while (client.available()) {     char c = client.read();     request +=c;   } if (request!= NULL) {   int index1 = request.indexOf(":{");   int index2 = request.indexOf("},");   String param = request.substring(index1, index2 + 1);   Serial.print("The param is ");   Serial.println(param);   if(param.indexOf("off")>0){       digitalWrite(13, LOW);           Serial.println("OFF");   } else if(param.indexOf("on")>0){       digitalWrite(13, HIGH);           Serial.println("ON");   } client.stop(); Serial.println("Waiting...");     delay(2000);   } }</wifimanager.h></esp8266webserver.h></dnsserver.h></wstring.h></esp8266wifi.h>4.步骤4:上传完成之后,用你的手机连接LinkNodeAP,不需要密码。
连接后点击configue wifi ,连接到你的家庭WIFI(就是和你电脑相同的WiFi),这样LinkNode R4 也连接到这个WiFi了。
5.第五步:用电脑打开你的设备,就可以控制继电器开关了。

点击light ON就会看到灯灭,点击Light OFF就会看到灯熄灭,具体哪个灯就看程序里是这么写的了,也可以同时亮,同时灭。尽情玩吧。
最后:当点击Light NO或或许Lignt OFF 的时候,会有一定的延时,长达3秒钟,这是谁都受不了的。要想得到更好的控制和操作还需要有更好的支持。当然硬件上经常复位的问题,也是一个BUG,目前还没有找到原因。就是这样了,希望下一个试用者能帮忙看一下。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-19 12:43 , Processed in 0.112336 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.