2014-10-22 00:29:50 [显示全部楼层]
7978浏览
查看: 7978|回复: 7

使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据

[复制链接]
弄了很久都没有弄好,现在只能找大家帮忙了,折腾好几个晚上了
程序:
#include <dht11.h>
dht11 DHT;
float TEMP;
int HUMI;
int thisLength;
int time=0;
void setup()
{
  Serial.begin(115200);
  pinMode(13,OUTPUT);
}
void loop()
{
  int chk = DHT.read(4);
  TEMP = DHT.temperature;
  HUMI = DHT.humidity;
  TEMP = (int(TEMP * 100.0)) / 100.0;
  char tempStr[20];
  floatToString(TEMP,tempStr);
  String data;
  data+="";
  data+=String(tempStr);
  int t=data.length();



  time=time+1;
  if (time%2==1)
  {
    Serial.println("POST http://api.yeelink.net/v1.0/device/14899/sensor/25567/datapoints/add");
    Serial.println("Host: api.yeelink.net");
  Serial.print("Accept: *");
   Serial.print("/");
   Serial.println("*");
   Serial.print("U-ApiKey: ");
   Serial.println("9d2b482044dfaa42ad59806af17ae5c3");   // 此处用你的APIKEY替代
    Serial.print("Content-Length: ");
    int thislength=17+t;
    Serial.println(thislength);
    Serial.println("Content-Type: application/x-www-form-urlencoded");
    Serial.println("Connection: close");   
    Serial.println();
    Serial.print("params={\"value\":");
    Serial.print(TEMP);
    Serial.println("}");
    delay(1000);
      digitalWrite(13,LOW);
   delay(5000);
  }

  else if(time%2==0)
  {
    Serial.println("POST http://api.yeelink.net/v1.0/device/14899/sensor/25786/datapoints/add");
    Serial.println("Host: api.yeelink.net");
  Serial.print("Accept: *");
   Serial.print("/");
   Serial.println("*");
   Serial.print("U-ApiKey: ");
   Serial.println("9d2b482044dfaa42ad59806af17ae5c3");
    Serial.print("Content-Length: ");
    int thislength=17+getLength(HUMI);
    Serial.println(thislength);
    Serial.println("Content-Type: application/x-www-form-urlencoded");
    Serial.println("Connection: close");   
    Serial.println();
    Serial.print("params={\"value\":");
    Serial.print(HUMI);
    Serial.println("}");
     delay(1000);
   digitalWrite(13,LOW);
   delay(5000);
  }
}

int getLength(int someValue) {
  // there's at least one byte:
  int digits = 1;
  // continually divide the value by ten,
  // adding one to the digit count for each
  // time you divide, until you're at 0:
  int dividend = someValue /10;
  while (dividend > 0) {
    dividend = dividend /10;
    digits++;
  }
  // return the number of digits:
  return digits;
}
  void floatToString(float in,char* out){
    uint16_t Tc_100 = in*100;
    uint8_t whole, fract;
    whole = Tc_100/100 ; // separate off the whole and fractional portions
    fract = Tc_100 % 100;
    sprintf(out,"%d.%d",whole,fract);
    delay (10000);
  }


COM的数据
POST http://api.yeelink.net/v1.0/device/14899/sensor/25567/datapoints/add
Host: api.yeelink.net
Accept: */*
U-ApiKey: 9d2b482044dfaa42ad59806af17ae5c3
Content-Length: 21
Content-Type: application/x-www-form-urlencoded
Connection: close
params={"value":28.00}
POST http://api.yeelink.net/v1.0/device/14899/sensor/25786/datapoints/add
Host: api.yeelink.net
Accept: */*
U-ApiKey: 9d2b482044dfaa42ad59806af17ae5c3
Content-Length: 19
Content-Type: application/x-www-form-urlencoded
Connection: close
params={"value":71}
POST http://api.yeelink.net/v1.0/device/14899/sensor/25567/datapoints/add
Host: api.yeelink.net
Accept: */*
U-ApiKey: 9d2b482044dfaa42ad59806af17ae5c3
Content-Length: 21
Content-Type: application/x-www-form-urlencoded
Connection: close
params={"value":28.00}


下面是wifi sheild的设置界面的截图,连续好几天都折腾到深夜,还是无果,求大家帮忙看一下

使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图1
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图2
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图3
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图4
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图5
YEELINK界面
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图6
使用WIFI Shield V3上传温湿度到YEELINK,yeelink无数据图7

洞洞龟  见习技师

发表于 2014-10-22 14:53:44

POST 后面不用加 http://api.yeelink.net试试
回复

使用道具 举报

Youyou  初级技匠

发表于 2014-10-22 16:52:50

本帖最后由 Youyou 于 2014-10-22 16:54 编辑

试试这段代码:

  1. //没有传感器,上传一个循环的1-10的数字
  2. int i;
  3. //for yeelink api
  4. #define APIKEY     "*******" //改为自己的
  5. #define DEVICEID   ****   //改为自己的
  6. #define SENSORID   ****  //改为自己的
  7. void postData(int thisData) {
  8.     Serial.print("POST /v1.0/device/");
  9.     Serial.print(DEVICEID);
  10.     Serial.print("/sensor/");
  11.     Serial.print(SENSORID);
  12.     Serial.print("/datapoints");
  13.     Serial.println(" HTTP/1.1");
  14.     Serial.println("Host: api.yeelink.net");
  15.     Serial.print("Accept: *");
  16.     Serial.print("/");
  17.     Serial.println("*");
  18.     Serial.print("U-ApiKey: ");
  19.     Serial.println(APIKEY);
  20.     Serial.print("Content-Length: ");
  21.    
  22.     int thisLength = 10 + getLength(thisData);
  23.     Serial.print(thisLength);
  24.     Serial.println();
  25.     Serial.println("Content-Type: application/x-www-form-urlencoded");
  26.     Serial.println();
  27.     Serial.print("{"value":");
  28.     Serial.print(thisData);
  29.     Serial.println("}");
  30. }
  31. int getLength(int someValue) {
  32.   int digits = 1;
  33.   int dividend = someValue /10;
  34.   while (dividend > 0) {
  35.     dividend = dividend /10;
  36.     digits++;
  37.   }
  38.   return digits;
  39. }
  40. void setup(){
  41.   Serial.begin(115200);
  42. }
  43. void loop() {
  44.   for(i=1;i<10;i++){
  45.   postData(i);
  46.   delay(5*1000);
  47.   }
  48. }
复制代码


参考:http://blog.sina.com.cn/s/blog_5 ... .html#commonComment
回复

使用道具 举报

咆哮的过来  学徒

发表于 2014-10-23 13:23:56

我也是!数据都上传不了,好心塞
回复

使用道具 举报

咆哮的过来  学徒

发表于 2014-10-23 13:25:02

我买的是seeeduino的板和wifi shield(好像叫wifly吧),总是failed connect
回复

使用道具 举报

caihuiwei  学徒
 楼主|

发表于 2014-10-23 20:32:30

感谢楼上几位的回复,可是试了都不行啊,还是没有数据,直接放弃这块板了,买了其他的板再试,DFROBOT的客服做的太垃圾了,东西卖高价,客服对你不理不睬的
回复

使用道具 举报

咆哮的过来  学徒

发表于 2014-10-23 22:13:25

caihuiwei 发表于 2014-10-23 20:32
感谢楼上几位的回复,可是试了都不行啊,还是没有数据,直接放弃这块板了,买了其他的板再试,DFROBOT的客 ...

买了什么板呢?试了有用我也去买!seeeduino的板和wifi都太难懂了,网上的例程都找不到
回复

使用道具 举报

咆哮的过来  学徒

发表于 2014-10-23 22:13:26

caihuiwei 发表于 2014-10-23 20:32
感谢楼上几位的回复,可是试了都不行啊,还是没有数据,直接放弃这块板了,买了其他的板再试,DFROBOT的客 ...

买了什么板呢?试了有用我也去买!seeeduino的板和wifi都太难懂了,网上的例程都找不到
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail