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

Olva 发表于 2016-4-29 23:28

LinkNode R4


[*]一、介绍
LinkNode R4是一个兼容Arduino的WIFI开发板,具有4路继电器,可用于强电控制,集成WIFI芯片ESP-8266EX。LinkNode R4可以直接兼容Arduino IDE上的Generic ESP8266 Module开发板,不需要做任何修改,这使得LinkNode R4开发IoT项目更加简单。二、特点
[*](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放到附加开发板管理器网址。工具->开发板->开发板管理器搜索ESP8266并安装。安装完成后就可以到工具里面查看是否已经有Generic ESP8266 Module了。
[*]2、控制一个继电器工作
工具:LinkNode R4 x 1USB转TTL x 1直流稳压电源 x 1注意事项:电源输入电压范围:7V-28V,建议 12V/1A-15V/1A;继电器输入电压(即被控电压):小于 270VAC/10A 或者 125VAC/12A;USB转TTL与板上的RXD,TXD交叉连接,GND与GND连接,下载时用跳线帽短接Download,程序运行时短接Program。新建工程:将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 R4Device Type 02(Simple light)Group Name LinkNode R4
[*]
[*]连接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)){StringpostStr =”{“;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。
[*]
[*]配置WIFI打开手机,连接到名字为LinkNodeAP,打开浏览器登陆10.0.0.1选择Configure WiFi选择一个自己的网络输入WiFi名称和密码进行连接。打开串口波特率设置成115200,打开linksprite.com,进入我们刚创建的设备,将继电器D6接一个灯,当然我们的负载很小,只是测试。此时就可以通过linksprite.io上的Light On和Light Off控制小灯的亮灭了。

suoma 发表于 2016-4-30 08:54

这个好,我有一个linkit node蓝牙开发板,期待更多精彩
页: [1]
查看完整版本: LinkNode R4