LinkNode R4-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3868|回复: 1

LinkNode R4

[复制链接]
发表于 2016-4-29 23:28 | 显示全部楼层 |阅读模式
  • 一、介绍
LinkNode R4是一个兼容Arduino的WIFI开发板,具有4路继电器,可用于强电控制,集成WIFI芯片ESP-8266EX。LinkNode R4可以直接兼容Arduino IDE上的Generic ESP8266 Module开发板,不需要做任何修改,这使得LinkNode R4开发IoT项目更加简单。
1-2341.png
二、特点
  • (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.png
工具->开发板->开发板管理器
搜索ESP8266并安装。
1-236.png
安装完成后就可以到工具里面查看是否已经有Generic ESP8266 Module了。
1-237.png
  • 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.png
新建工程:
将LinkNode R4通过串口与PC连接
PC端选择相应的串口并配置好参数,参数配置如下图:
1-239.png
将下面的程序写进新的工程,编译通过并上传。

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.png
  • 1-241.png
  • 连接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.png
  • 1-243.png
  • 配置WIFI
    打开手机,连接到名字为LinkNodeAP,打开浏览器登陆10.0.0.1
    选择Configure WiFi
    选择一个自己的网络输入WiFi名称和密码进行连接。
    1-244.png
    打开串口波特率设置成115200,打开linksprite.com,进入我们刚创建的设备,将继电器D6接一个灯,当然我们的负载很小,只是测试。此时就可以通过linksprite.io上的Light On和Light Off控制小灯的亮灭了。
    1-245.png


1-238.png
1-239.png
发表于 2016-4-30 08:54 | 显示全部楼层
这个好,我有一个linkit node蓝牙开发板,期待更多精彩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:44 , Processed in 0.088919 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表