Grey 发表于 2015-3-5 19:41:59

DFRobot W5500 以太网接口主控板 Yeelink 数据上传教程

本帖最后由 Grey 于 2015-3-5 21:21 编辑


很开心这次能够的首先拿到了这款DFRobot W5500以太网接口主控板。虽然只是测试版,但基本上已经具备了完整的功能清单。而且请注意Title,这货不是扩展板,这是主控板!!!一块集合了以太网接口,但却只有普通Uno大小的主控板!(颤抖吧!凡人们!)
上次WIFI数据上传的教程,一直苦于没有时间,没有把Yeelink的教程给发出来,感觉很愧对大家的热爱,这回就补个W5500 Yeelink的教程分享给大家,经供参考。(我就是懒得写,你咬我啊~)


STEP 1 准备材料 1 DFRobot W5500 Ethernet Microcontroller    x12 SHT1x 温湿度传感器                        x13 IO传感器扩展板 V7.1                      x14 RJ45 网线                                 x15 MicroUSB线                              x1

STEP 2 硬件测试此处请参考W5500和SHT10温湿度传感器的产品维库:DFRobot W5500 Microcontroller wikiSHT10 Temperature&Humidity sensor wiki

STEP 3 Yeelink 网络设置登陆Yeelink账号,至用户中心添加新设备,填入基本信息

点击设备管理,添加传感器,选择数据类型,填入相关参数

考虑到我需要添加温度与湿度两个传感器数据,所以这边我添加了两个传感器SHT10温度和SHT10湿度
请注意上面的两组ID: 设备ID和传感器ID
再次回到用户中心,查看你的API Key
这三组ID编号是你区别于其他设备的关键所在,都是独一无二的。至此,所有的信息已经全部收集到手。


STEP 4 Arduino 代码首先先要下载相关的Arduino library1 W5500 Ethernet Library (亲测,不兼容W5100的library,使用W5100时需注意)2 SHT10 T&H library3 Yeelink Ethernet Library
上传代码至你的W5500主控板(由于第二步的硬件测试已省略)上传过程请参考产品维库Board:Leonardo<font size="3">#include <Ethernet.h>
#include <WiFi.h>
#include <SPI.h>
#include <yl_data_point.h>
#include <yl_device.h>
#include <yl_w5100_client.h>
#include <yl_wifi_client.h>
#include <yl_messenger.h>
#include <yl_sensor.h>
#include <yl_value_data_point.h>
#include <yl_sensor.h>
#include <SHT1x.h>


#define SS   10    //D10用于W5500的片选
#define RST    11    //D11用于W5500的复位
#define dataPin4
#define clockPin 5

float temp_c;
float humidity;
int time=0;

SHT1x sht1x(dataPin, clockPin);


IPAddress ip(192,168,1,213);   // SET your static IP address

yl_device ardu(18338);//此处替换为你的设备编号
yl_sensor therm(31826, &ardu);//此处替换为你的传感器编号
yl_sensor therm1(31908, &ardu);//此处替换为你的传感器编号

yl_w5100_client client;
yl_messenger messenger(&client, "2400000000000000000000000", "api.yeelink.net");   //此处替换为你自己的API KEY


void setup()
{
Serial.begin(9600);      //for output information

pinMode(SS, OUTPUT);
pinMode(RST, OUTPUT);
digitalWrite(SS, LOW);

digitalWrite(RST,HIGH);//复位模块
delay(200);
digitalWrite(RST,LOW);
delay(200);
digitalWrite(RST,HIGH);
delay(200);            //等待W5500芯片工作

byte mac[] = {
    0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xAA   };
Ethernet.begin(mac);
}

void loop()
{
temp_c = sht1x.readTemperatureC();
humidity = sht1x.readHumidity();

time=time+1;
if (time%2==1)
{
    yl_value_data_point dp(temp_c);
    therm.single_post(messenger, dp);
    Serial.print(temp_c,2);
    Serial.println("C");
}


else if(time%2==0)
{
    yl_value_data_point dp(humidity);
    therm1.single_post(messenger, dp);
    Serial.print(humidity);
    Serial.println("%");
}
}</font>

注意事项:由于W5500的驱动管脚与官方的W5100不一样,必须在代码中重新定义一遍芯片的片选和复位管脚,在上述代码中为这一段#define SS   10    //D10用于W5500的片选
#define RST    11    //D11用于W5500的复位初始化中的片选和复位过程
pinMode(SS, OUTPUT);
pinMode(RST, OUTPUT);
digitalWrite(SS, LOW);

digitalWrite(RST,HIGH);//复位模块
delay(200);
digitalWrite(RST,LOW);
delay(200);
digitalWrite(RST,HIGH);
delay(200);            //等待W5500芯片工作因为想要在同一个设备中添加两个传感器,所以加了一个time变量,来同时执行两个传感器的数据上传time=time+1;
if (time%2==1)
{
    yl_value_data_point dp(temp_c);
    therm.single_post(messenger, dp);
    Serial.print(temp_c,2);
    Serial.println("C");
}

else if(time%2==0)
{
    yl_value_data_point dp(humidity);
    therm1.single_post(messenger, dp);
    Serial.print(humidity);
    Serial.println("%");
}请注意我定义的两个不同的传感器名字,加个“1”就好,名字无所谓的啦~yl_sensor therm(31826, &ardu);//此处替换为你的传感器编号
yl_sensor therm1(31908, &ardu);//此处替换为你的传感器编号基本一些需要注意的都有了,你还在烦恼什么!!!


STEP 5 查看已上传的数据

Done!







hnyzcj 发表于 2015-3-5 20:39:02

哈哈,YEELINKE 好久没有玩了。

hnyzcj 发表于 2015-3-5 20:40:56

我用的是W5100是拓展板,有了W5500现在更强大了

Grey 发表于 2015-3-5 21:20:34

hnyzcj 发表于 2015-3-5 20:39
哈哈,YEELINKE 好久没有玩了。

只是举个简单的例子而已,用个W5500追赶一下潮流

hnyzcj 发表于 2015-3-5 21:35:27

Grey 发表于 2015-3-5 21:20
只是举个简单的例子而已,用个W5500追赶一下潮流

W5500除了是主控外,与5100还有啥区别

gckulo 发表于 2015-3-6 16:48:26

赞 先收藏了

mickey 发表于 2015-3-9 14:49:19

hnyzcj 发表于 2015-3-5 21:35
W5500除了是主控外,与5100还有啥区别

除了以上区别外,W5500主板是一个带POE功能的主板,支持标准的POE供电设备。

Ricky 发表于 2015-6-15 10:43:11

话说,5500和5100的主要区别在哪里?

Grey 发表于 2015-7-10 12:25:14

W5500的速度更快,发热量低,而且POE供电在很多地方比外接电源方便
页: [1]
查看完整版本: DFRobot W5500 以太网接口主控板 Yeelink 数据上传教程