极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11382|回复: 4

求助:Arduino+w5100+yeelink多数据无法上传的问题

[复制链接]
发表于 2015-6-26 12:37:23 | 显示全部楼层 |阅读模式
本人2013年开始玩yeelink,那个时候上传数据很简单,只要把按照官网上的lm35的代码修改一下就可以了,之后一两年没有碰yeelink了,现在项目需要,重新搞起,我加了GY2P1010烟雾传感器、DHT11温湿度、MQ-2和MQ-135可燃气体传感器,代码调试没有任何问题,也可以串口显示数据,但就是上传不了。代码如下:
#include <dht.h>
#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>


yl_device ardu(68115);  //此处替换为你的设备编号
yl_sensor therm_1(85670, &ardu);//此处替换为你的传感器编号-湿度传感器DHT11
yl_sensor therm_2(88737, &ardu);//此处替换为你的传感器编号-温度传感器DHT11
yl_sensor therm_3(88886, &ardu);//此处替换为你的传感器编号-粉尘烟雾传感器GP2Y1010
yl_sensor therm_4(88889, &ardu);//此处替换为你的传感器编号-可燃性气体传感器MQ-2
yl_sensor therm_5(88890, &ardu);//此处替换为你的传感器编号-特殊气体传感器MQ-135
//replace first param value with ur u-apikey
yl_w5100_client client;
yl_messenger messenger(&client, "5d24faf1294fd321a9acbf999155cba6", "api.yeelink.net");   //此处替换为你自己的API KEY

dht DHT;
#define DHT11_PIN 7
int dustPin=0;
float dustVal=0;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;
int gas1_din=4;
int gas1_ain=A1;
int ad1_value;
int gas2_din=5;
int gas2_ain=A2;
int ad2_value;

void setup()
{
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
  pinMode(dustPin, INPUT);
  pinMode(gas1_din,INPUT);
  pinMode(gas1_ain,INPUT);
   pinMode(gas2_din,INPUT);
  pinMode(gas2_ain,INPUT);
  //Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
byte mac[] = {0x00, 0x1D, 0x72, 0x82, 0x35, 0x9D};
Ethernet.begin(mac);
}

void loop()
{
//Serial.print("DHT11, \t");
  int chk = DHT.read11(DHT11_PIN);  //读取数据
  switch (chk)
  {
    case DHTLIB_OK:  
               // Serial.print("OK,\t");
                break;
    case DHTLIB_ERROR_CHECKSUM:
                //Serial.print("Checksum error,\t");
                break;
    case DHTLIB_ERROR_TIMEOUT:
               // Serial.print("Time out error,\t");
                break;
    default:
               // Serial.print("Unknown error,\t");
                break;
  }
  // 显示数据
  Serial.print("Humidity(%):");
  Serial.println(DHT.humidity, 1);
   yl_value_data_point dp1(DHT.humidity);
                therm_1.single_post(messenger, dp1);
  Serial.print("Temperature(C):");
  Serial.println(DHT.temperature, 1);
  yl_value_data_point dp2(DHT.temperature);
                therm_2.single_post(messenger, dp2);





  //ledPower is any digital pin on the arduino connected to Pin 3 on the sensor
digitalWrite(ledPower,LOW);//  power on the LED
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin); // read the dust value via pin 5 on the sensor
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH);  //turn the LED off
delayMicroseconds(offTime);
Serial.print("dust(mg/m3):");
Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
yl_value_data_point dp3((float(dustVal/1024)-0.0356)*120000*0.035);
                therm_3.single_post(messenger, dp3);




  ad1_value=analogRead(gas1_ain);

  Serial.print("Gas1(mg/l):");
    Serial.println(ad1_value);
     yl_value_data_point dp4(ad1_value);
  therm_4.single_post(messenger, dp4);

      ad2_value=analogRead(gas2_ain);

  Serial.print("Gas2(mg/l):");
    Serial.println(ad2_value);
     yl_value_data_point dp5(ad2_value);
  therm_5.single_post(messenger, dp5);





  delay(1000);
}






yl_value_data_point dp5(ad2_value);
  therm_5.single_post(messenger, dp5);

上传数据的应该是这两行代码,只要把数值放到dp5里就好了,但不知道为什么,网上说API改了,但我看了官网新版本的API,现在yeelink没有再给出最新的例程,本人水平实在有限,头都大了,希望大家能帮忙看下,或者给我一下新版的代码参考一下,指点我一下吧感激不尽



串口显示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-6-26 21:19:34 | 显示全部楼层
              yeelink最近频出问题,我也两个月没用了
回复 支持 反对

使用道具 举报

发表于 2015-6-26 21:20:17 | 显示全部楼层
用的uno还是?可否将相关库分享一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-5 16:24:08 | 显示全部楼层
suoma 发表于 2015-6-26 21:20
用的uno还是?可否将相关库分享一下

我改用乐联了,也是一个物联网开源平台,这个很好用
回复 支持 反对

使用道具 举报

发表于 2015-7-10 14:14:37 | 显示全部楼层
孙坚12 发表于 2015-7-5 16:24
我改用乐联了,也是一个物联网开源平台,这个很好用

               我听说过
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 17:17 , Processed in 0.036892 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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