Monitoring Temperature Penetas Telur dengan Sistem Wireless Sensor Network Berbasis Node MCU ESP 8266
Monitoring Temperature Penetas Telur dengan Sistem Wireless Sensor Network Berbasis Node MCU ESP 8266
Link PPT :
Power Point
Lampiran Program :
#include <ESP8266WiFi.h> //Library ESP8266
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h> //Library Telegram Bot
#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Library DHT11
#define DHTPIN 14
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// Initialize Wifi connection to the router
char ssid[] = "Koen"; // diisi nama wifi
char password[] = "12341234"; // diisi password wifi
// Initialize Telegram BOT
#define BOTtoken "5812788910:AAHeOFYmed_DzvmFQBKuNTE1sG95jSnv6So"
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int lampu = 13;
int kipas = 12;
int botRequestDelay = 100;
unsigned long lastTimeBotRan;
void handleNewMessages(int numNewMessages) {
Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;
if (from_name =="") from_name ="Guest";
//Cek Command untuk setiap aksi
if (text =="/start") {
String welcome ="Gimana Bang"+ from_name +"?\n";
welcome +="Coba deh comment dibawah\n";
welcome +="/cek : cek suhu, kelembapan, status relay\n";
welcome +="/on : menyalakan alat";
welcome +="/off : mematikan alat";
bot.sendMessage(chat_id, welcome,"Markdown");
}
if (text =="/off"){
int t = 0;
int h = 0;
digitalWrite(lampu, LOW);
digitalWrite(kipas, LOW);
String n ="Mematikan sistem";
bot.sendMessage(chat_id, n);
}
//Cek Pembacaan Sensor DHT11
if (text =="/cek") {
int t = dht.readTemperature()-2;
int h = dht.readHumidity();
String temp ="Suhu saat ini :";
temp += t;
temp +=" °C";
temp +="\nKelembaban:";
temp += h;
temp +=" %";
temp += "\nKondisi Lampu :";
boolean a=digitalRead(lampu);
if(a)temp +="menyala.";
else temp +="mati.";
temp +="\nKondisi Kipas :";
boolean b=digitalRead(kipas);
if(b)temp +=" menyala";
else temp +=" mati";
bot.sendMessage(chat_id,temp);
}
}
}
void setup() {
lcd.backlight();
lcd.begin();
Serial.begin(9600);
dht.begin();
client.setInsecure();
// Set WiFi to station mode and disconnect from an AP if it was Previously
// connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
pinMode(lampu, OUTPUT);
pinMode(kipas, OUTPUT);
// attempt to connect to Wifi network:
Serial.print("Connecting Wifi:");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status()!= WL_CONNECTED) {
Serial.print(".");
delay(500);
digitalWrite(lampu,LOW);
digitalWrite(kipas,LOW);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address:");
Serial.println(WiFi.localIP());
lcd.setCursor(0,0);
lcd.print("Kelompok 9");
lcd.setCursor(3,1);
lcd.print("INKUBATOR");
delay(1000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Di Buat Oleh");
lcd.setCursor(2,1);
lcd.print("Kun Ulul");
delay(1000);
lcd.clear();
}
void loop() {
float t = dht.readTemperature()-2;
float h = dht.readHumidity();
//Kondisi relay aktif
if(t<32){
digitalWrite(lampu,HIGH);
delay(50);
digitalWrite(kipas,LOW);
}
else if(t>=32){
digitalWrite(lampu,LOW);
delay(50);
digitalWrite(kipas,HIGH);
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
lcd.setCursor(0,0);
lcd.print("Humi: ");
lcd.print(h);
lcd.print(" % ");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C ");
if(millis() > lastTimeBotRan + botRequestDelay){
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages){
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
lastTimeBotRan = millis();
}
}



















Komentar
Posting Komentar