查看: 2827|回复: 1

LinkNode R4(转)

[复制链接]

该用户从未签到

发表于 2016-5-6 14:38:11 | 显示全部楼层 |阅读模式
分享到:
  • 一、介绍
LinkNode R4是一个兼容Arduino的WIFI开发板,具有4路继电器,可用于强电控制,集成WIFI芯片ESP-8266EX。LinkNode R4可以直接兼容Arduino IDE上的Generic ESP8266 Module开发板,不需要做任何修改,这使得LinkNode R4开发IoT项目更加简单。

1-2341

1-2341

二、特点
  • (1)ESP-8266EX主控单元
  • (2)CPU主频达到80MHz
  • (3)Flash为2MB
  • (4)4路继电器模块
  • (5)板载电源芯片,支持12-15V电压输入
  • (6)跳线选择下载与运行模式
  • (7)4个LED继电器控制指示灯
  • 三、继电器接口定义
    WIFI接口接口状态继电器状态
    GPIO120S3 断开,D6 灭
    GPIO121S3 闭合,D6 亮
    GPIO130S4 断开,D7 灭
    GPIO131S4 闭合,D7 亮
    GPIO140S2 断开,D8 灭
    GPIO141S2 闭合,D8 亮
    GPIO160S1 断开,D9 灭
    GPIO161S1 闭合,D9 亮
    • 四、教程
    • 1、开发环境的搭建
    如果你没有Arduino IDE则需要去Arduino官网下载,我所用的是Arduino1.6.8,其它版本操作大同小异。
    打开Arduino IDE->文件->首选项
    http://arduino.esp8266.com/stable/package_esp8266com_index.json放到附加开发板管理器网址。

    1-235

    1-235
    工具->开发板->开发板管理器
    搜索ESP8266并安装。

    1-236

    1-236
    安装完成后就可以到工具里面查看是否已经有Generic ESP8266 Module了。
    • 2、控制一个继电器工作
    工具:
    LinkNode R4 x 1
    USB转TTL x 1
    直流稳压电源 x 1
    注意事项:
    电源输入电压范围:7V-28V,建议 12V/1A-15V/1A;
    继电器输入电压(即被控电压):小于 270VAC/10A 或者 125VAC/12A;
    USB转TTL与板上的RXD,TXD交叉连接,GND与GND连接,下载时用跳线帽短接Download,程序运行时短接Program。

    1-238

    1-238
    新建工程:
    将LinkNode R4通过串口与PC连接
    PC端选择相应的串口并配置好参数,参数配置如下图:

将下面的程序写进新的工程,编译通过并上传。
void setup()
{
pinMode(12,OUTPUT);
Serial.begin(9600);
}

void loop()
{
digitalWrite(12,HIGH);
Serial.println(“Relay ON\n”);
delay(1000);
digitalWrite(12,LOW);
Serial.println(“Relay OFF\n”);
delay(1000);
}上传完成,此时将跳线接到Program处,并打开串口,此时可以听到继电器咔哒咔哒的声音,同时串口打印Relay On,RelayOFF。
3、 通过IO远程控制LED的闪烁
  • 进入www.linksprite.io注册一个账号点击选择Create DIY DeviceDevice Name LinkNode R4
    Device Type 02(Simple light)
    Group Name LinkNode R4
  • 1-240

    1-240

    1-241

    1-241
  • 连接LinkNode R4,创建一个新的工程并将下面的代码上传。#include <ESP8266WiFi.h>#include <WString.h>
    #include <DNSServer.h>
    #include <ESP8266WebServer.h>
    #include <WiFiManager.h>
    // replace with your own API key and device ID,
    String apikey = “xxxxxxxxxxxxxxxxxxxxxxxxxxxx”;
    const char* deviceID=”xxxxxxxxxx”;
    const char* server = “www.linksprite.io”;
    WiFiClient client;
    void setup() {
    Serial.begin(115200);
    pinMode(12, 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(“POST /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(12, HIGH);
    Serial.println(“OFF”);
    } else if(param.indexOf(“on”)>0)
    {
    digitalWrite(12, LOW);
    Serial.println(“ON”);
    }
    client.stop();
    Serial.println(“Waiting…”);
    delay(2000);
    }
    }
    程序中的apikey和deviceID是在www.linksprite.io中获得的。自己根据自己的apikey和deviceID修改。修改完将程序上传到LinkNode R4中,并将跳线接到Program。
  • 1-242

    1-242

    1-243

    1-243
  • 配置WIFI
    打开手机,连接到名字为LinkNodeAP,打开浏览器登陆10.0.0.1
    选择Configure WiFi
    选择一个自己的网络输入WiFi名称和密码进行连接。
  • 1-244

    1-244
  • 打开串口波特率设置成115200,打开linksprite.com,进入我们刚创建的设备,将继电器D6接一个灯,当然我们的负载很小,只是测试。此时就可以通过linksprite.io上的Light On和Light Off控制小灯的亮灭了。
  • 1-245.png



1-239

1-239
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-11-7 21:52
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-11-7 21:54:00 | 显示全部楼层
    不错的代码,值得一看。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-12-12 10:41 , Processed in 0.122336 second(s), 18 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.