极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3614|回复: 2

arduino+enc82j60+yeelink

[复制链接]
发表于 2014-3-9 09:48:29 | 显示全部楼层 |阅读模式
小弟刚学arduino没有多久,所以不对的地方,希望各位大神能够多多的指点,事情是这样子的,最近需要做一个远程监控温度的系统,可能大家已经做的都烂了,我选择的是yeelink(主要是因为有苹果端),查看上面的例子,一看基本上都是W5100的例子,可是手头只有82J60的,所以自己根据各位大神的贴子,改成了82J60的代码,分享给大家,代码后面我会备注出来的,有不对的地方,希望大家多多指点!
#include <EtherCard.h>//引用28J60的库
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };//MAC地址
static byte ip[]={192,168,18,10};//分配的IP地址
static byte gateway[]={192,168,18,1};//网关地址
static byte dns[]={202,96,64,68};//DNS
char website[] PROGMEM = "api.yeelink.net";//服务器的地址
char urlBuf[] PROGMEM = "/v1.0/device/xxx1/sensor/xxx2/datapoints";//Yeelink的传感器的地址,XXX1为设备的ID,XXX2为传感器的ID,
int pin=5;
byte Ethernet::buffer[700];
static uint32_t timer;
static void my_callback (byte status, word off, word len) {//服务器返回来的数据进行处理
String s=(const char*) Ethernet::buffer + off+311;//311这个数是自己测试得来的,把前311个字符全都屏蔽掉
  if (s.length() !=0)
  {
    if (s.charAt(s.length() - 2) == '1') {//如果服务器传回来的状态是1,则端口5电平为HIGH
      Serial.println("turn on the LED");
      digitalWrite(pin, HIGH);
    }
      else if(s.charAt(s.length() - 2) == '0') {//如果服务器传回来的状态是0,则端口5电平为LOW
      Serial.println("turn off the LED");
      digitalWrite(pin, LOW);
    }
     
  }
void setup () {
  Serial.begin(9600);
  if (!ether.begin(sizeof Ethernet::buffer, mymac,10))
    Serial.println( "Failed to access Ethernet controller");
    else
    Serial.println("Ethernet controller done");
  ether.staticSetup(ip,gateway,dns);//分配静态IP地址
  if (!ether.dnsLookup(website))
    Serial.println("DNS failed");  
  pinMode(13,OUTPUT);
}
void loop () {
  ether.packetLoop(ether.packetReceive());
  if (millis() > timer) {
    timer = millis() + 5000;
    ether.browseUrl(urlBuf, "", website, my_callback);
  }
}
回复

使用道具 举报

发表于 2014-3-10 13:29:45 | 显示全部楼层
支持分享~

接线图最好也说下
回复 支持 反对

使用道具 举报

发表于 2014-4-7 23:46:41 来自手机 | 显示全部楼层
本人小白,能不能多路开关+多路路模拟一起用啊
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-12-11 10:33 , Processed in 0.045953 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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