Discuz! Board

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 265|ตอบกลับ: 0

NET PIE

[คัดลอกลิงก์]

11

กระทู้

11

โพสต์

69

เครดิต

Member

Rank: 2

เครดิต
69
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <MicroGear.h>
const char* ssid     = "IoT99";
const char* password = "iot0837286389";

#define APPID   "wissanukorn99"
#define KEY     "dWqtOmkdZtyCGCH"
#define SECRET  "77Xsf7l2thoCS4UxhsVZpK5je"
#define ALIAS   "led"

long timesenddata = 0;
#define LDR A0
#define LED D6
#define FEEDID "fatefeed"
#define MAX_TEMP 100
#define MAX_HUMID 100
#define MAX_TEMP 100
#define MAX_LDR 1030

WiFiClient client;

#define DHTTYPE DHT22        //Define sensor type
#define DHTPIN D5              // Define sensor pin
DHT dht(DHTPIN, DHTTYPE);   //Initialize DHT sensor

MicroGear microgear(client);

void onMsghandler(char *topic, uint8_t* msg, unsigned int msglen) {
     String m = "";
    for (int i=0;i<msglen;i++) m += (char)msg[i];

    Serial.println(topic);
    Serial.println(m);

    if(m == "A"){
        digitalWrite(LED, HIGH);
         Serial.println("ON");
    }else if(m == "a" ){
        digitalWrite(LED, LOW);
         Serial.println("OFF");
    }
  readpin();
}

void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) {
    Serial.println("Connected to NETPIE...");
    microgear.setAlias(ALIAS);
}

void setup(){
    dht.begin();

    pinMode(LED, OUTPUT);
    Serial.begin(115200);
    Serial.println("Starting...");

    if (WiFi.begin(ssid, password)) {
     while (WiFi.status() != WL_CONNECTED) {
              delay(500);
              Serial.print(".");
          }
      }

    Serial.println("WiFi connected");  
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());

    microgear.on(MESSAGE,onMsghandler);
    microgear.on(CONNECTED,onConnected);
    microgear.init(KEY,SECRET,ALIAS);
    microgear.connect(APPID);
}

void loop(){
    if (microgear.connected()) {
        microgear.loop();
        if ( millis() - timesenddata > 2500) {
        timesenddata = millis();
            float humid = dht.readHumidity();
            float temp = dht.readTemperature();
            int valLDR = analogRead(LDR);
            String datastring1 = (String)temp;
            String datastring2 = (String)humid;
            String datastring3 = (String)valLDR;
            microgear.publish("/status","พร้อมใช้งาน");
            delay(250);
            microgear.publish("/temp",datastring1);
            microgear.publish("/humid",datastring2);
            delay(250);
            microgear.publish("/LDR",datastring3);
            Serial.println("send");
            Serial.print(datastring1+" "+datastring2+" "+datastring3+"\n");
            delay(15000);
            String data = "{\"humid\":";
                   data += humid ;
                   data += ", \"temp\":";
                   data += temp ;
                   data += ", \"LDR\":";
                   data += valLDR;
                   data += "}";
            if (isnan(humid) || isnan(temp) || humid >= MAX_HUMID || temp>= MAX_TEMP ||  valLDR >= MAX_LDR) {
              Serial.println("Failed to read from DHT sensor!");
            }else{
              Serial.print("Sending -->");  
              Serial.println(data);
              microgear.writeFeed(FEEDID,data); //YOUR  FEED ID, API KEY
            }
            Serial.println();   
        }        
    }else {
        Serial.println("connection lost, reconnect...");
        delay(250);
        microgear.connect(APPID);  
}
}

void readpin() {
  if(digitalRead(LED) == HIGH){
    microgear.publish("/led","ON");
  }else if (digitalRead(LED) == LOW){
    microgear.publish("/led","OFF");
  }
}

ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|IoT Inc.

GMT+7, 2020-10-28 23:46 , Processed in 0.092703 second(s), 18 queries .

Powered by Discuz! X3.4, Rev.60

© 2001-2019 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้