Translate

IOT Project Nodemcu ESP8266 Monitor Suhu / Temperature Sensor LM35 Server THINGSPEAK

IOT Project Nodemcu ESP8266 Monitor Suhu / Temperature Sensor LM35 Server THINGSPEAK


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor suhu dengan jarak jauh karena menggunakan internet untuk transfer datanya. alat ini menggunakan Nodemcu esp8266 dan sensor suhu LM35. untuk server menggunakan THINGSPEAK. untuk lebih jelasnya berikut adalah daftar komponen dan programnya.



a. Nodemcu ESP8266




b. Sensor Suhu LM35




c. Gambar Hasilnya






d. Program Arduino IDE

#include <ESP8266WiFi.h>

String apiKey = "TTPXYPWJTOC07JYW";     //  Enter your Write API key from ThingSpeak
const char* resource = "/update?api_key=";

const char *ssid =  "Hotspot Wifiku";     // replace with your wifi ssid and wpa2 key
const char *pass =  "123456789";
const char* server = "api.thingspeak.com";

const int AnalogIn  = A0;
float suhu;
int dataadc;

WiFiClient client;

void setup() 
{
       Serial.begin(115200);
       delay(10);

       Serial.println("Connecting to ");
       Serial.println(ssid);

// Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, pass);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");


      while (WiFi.status() != WL_CONNECTED) 
     {
            delay(500);
            Serial.print(".");
     }
      Serial.println("");
      Serial.println("WiFi connected");
      
}



void loop() 
{
  
dataadc = analogRead(AnalogIn);
suhu = dataadc * (3.2/1023.0) * 100.0;


                         if (client.connect(server,80))   //   "184.106.153.149" or api.thingspeak.com
                      {  
                            
                             String postStr = apiKey;
                             postStr +="&field1=";
                             postStr += String(suhu);
                             postStr += "\r\n\r\n";

                             //client.print(String("GET ") + resource + apiKey + "&field1=" + temperatureTemp + "&field2=" + humidityTemp + " HTTP/1.1\r\n" + "Host: " + server + "\r\n" + "Connection: close\r\n\r\n");
                             client.print(String("GET ") + resource + apiKey + "&field1=" + suhu + " HTTP/1.1\r\n" + "Host: " + server + "\r\n" + "Connection: close\r\n\r\n");                             
                                        
                             client.print("Host: api.thingspeak.com\n");
                             client.print("Connection: close\n");
                             client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
                             client.print("Content-Type: application/x-www-form-urlencoded\n");
                             client.print("Content-Length: ");
                             client.print(postStr.length());
                             client.print("\n\n");
                             client.print(postStr);
                             
                             Serial.print("Temperature: ");
                             Serial.print(suhu);
                             Serial.println("C. Send to Thingspeak.");
                        }
                        
          client.stop();

          Serial.println("Waiting...");
  
  // thingspeak needs minimum 15 sec delay between updates, i've set it to 30 seconds
  delay(10000);
}





e. VIDEO HASILNYA









No comments:

Post a Comment