设为首页收藏本站

咖啡集成CAFFZ - 智能开发者社区

 找回密码
 立即注册
搜索
查看: 27|回复: 1

智慧农场采集器 商业1版 代码

[复制链接]

1113

经验值

161

帖子

2481

金币

积分
1116
发表于 2019-5-22 14:55:17 | 显示全部楼层 |阅读模式
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

#include <dht11.h>                                               //引用dht11库文件,使得下面可以调用相关参数
#define DHT11PIN D3                                             //定义温湿度针脚号为D3号引脚
dht11 DHT11;                                                       //实例化一个对象

#define UKey "" // Yeelink提供的U-ApiKey
String ssid = "CAFFZ_SmartFarm1"; // 需要连接的wifi热点名称
String password = "db6fbbb2"; // 需要连接的wifi热点密码
String payloadIP="";

float tem=0;
float hum=0;

int count=0;
/* 上传数据到服务器。
*/
void uploadYeelinkData() {
  if(tem==0 && hum==0)
  {
    return;
    }
    if(count>0)
    {
      return;
      }
  HTTPClient http;
  const String apiAddress = "/smart_farm/index.php?c=collector&a=insertTH";
  http.begin(payloadIP, 20000, apiAddress);
  //http.addHeader("U-ApiKey",UKey, true);
  http.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  int httpCode =  http.POST("temperature="+String(tem)+"&humidity="+String(hum)+"&sensor_num=S7&client_num=1");
  //int httpCode =  http.POST("temperature="+String(tem)+"&humidity="+String(hum)+"&sensor_num=3&client_num=1");
  //int httpCode =  http.POST("{\"value\":" + data + "}");
  Serial.print("code:");
  Serial.println(httpCode);
  if(httpCode == 200) { // 访问成功,取得返回参数
      String payload = http.getString();
      Serial.println(payload);
      count++;
  } else { // 访问不成功,打印原因
     String payload = http.getString();
     Serial.print("context:");
     Serial.println(payload);
  }
}

/* 从服务器取得IP
*/
void readYeelinkData() {
  HTTPClient http;
  //String apiAddress = "/smart_farm/index.php?c=sim800C&a=showInfoNormal&uid=1";
  //http.begin("cloud.caffz.com", 20000, apiAddress);
  String apiAddress = "/czip/ip2.php";
  http.begin("www.caffz.com", 80, apiAddress);
  int httpCode =  http.GET(); // 使用GET形式来取得数据
  Serial.print("code:");
  Serial.println(httpCode);
  if(httpCode == 200) { // 访问成功,取得返回参数
      payloadIP = (http.getString());
      Serial.println(payloadIP);
      Serial.println(payloadIP.length());
      delay(1000);
      getTemperatureHumidity();//获取传感器数据
      delay(1000);
      uploadYeelinkData(); // 插入数据
  } else { // 访问不成功,打印原因
     String payload = http.getString();
     Serial.print("context:");
     Serial.println(payload);
  }
}
void setup() {
  Serial.begin ( 115200 );
  pinMode(DHT11PIN,OUTPUT);                       //定义输出口
  int connectCount = 0;
  WiFi.begin ( ssid.c_str(), password.c_str() );
  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 1000 );
    Serial.print ( "." );
    //if(connectCount > 30) {
      Serial.println( "Connect fail!" );
      //break;
    //}
    connectCount += 1;
  }
  if(WiFi.status() == WL_CONNECTED) {
    Serial.println ( "" );
    Serial.print ( "Connected to " );
    Serial.println ( ssid );
    Serial.print ( "IP address: " );
    Serial.println ( WiFi.localIP() );
    connectCount = 0;
  }

  //readYeelinkData();

}

int flag=0;

void loop() {
   delay ( 2000 );
   //Serial.println(payloadIP);
   //readYeelinkData(); // 读取IP地址
    flag++;
    readYeelinkData();

    if(flag>2)
    {
      ESP.deepSleep(3600e6);
      //flag=0;
    }
}
void getTemperatureHumidity()
{
  int chk = DHT11.read(DHT11PIN);                 //将读取到的值赋给chk

  tem=(float)DHT11.temperature;               //将温度值赋值给tem
  hum=(float)DHT11.humidity;                   //将湿度值赋给hum

  Serial.print(tem);
   Serial.print(hum);
}




1113

经验值

161

帖子

2481

金币

积分
1116
 楼主| 发表于 2019-5-22 14:55:17 | 显示全部楼层 |阅读模式
智慧农场采集器 商业1版 代码
高级模式
B Color Image Link Quote Code Smilies @朋友

本版积分规则

QQ|站点统计|Archiver|手机版|小黑屋|CAFFZ社区 - 每一天我们都有新的知识产生 ( 粤ICP备18101488号  

GMT+8, 2019-9-17 12:41 , Processed in 1.341602 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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