Burakco
Üye
- Katılım
- 3 Eki 2024
- Mesajlar
- 8
- Puanları
- 1
- Yaş
- 39
Merhaba;
Nodemcu güncellemelerimi usb üstünden yaparsam hiç sorun yaşamıyorum. ama ota ile update yaptığımda programda Uploading..... şeklinde yazıyor. baya bir nokta nokta devam ediyor. Sonra upload işlemi bitmiş gibi öylece bekliyor. Cihaz ise açılmıyor mavi led sürekli yanık olarak kalıyor. Usb üzerinden tekrar yüklemek zorunda kalıyorum.
kodumun için de delay() vardı tamamını kaldırdım. onun yerine blynk.timer() kullandım.
sorun nerede olabilir?
Nodemcu güncellemelerimi usb üstünden yaparsam hiç sorun yaşamıyorum. ama ota ile update yaptığımda programda Uploading..... şeklinde yazıyor. baya bir nokta nokta devam ediyor. Sonra upload işlemi bitmiş gibi öylece bekliyor. Cihaz ise açılmıyor mavi led sürekli yanık olarak kalıyor. Usb üzerinden tekrar yüklemek zorunda kalıyorum.
kodumun için de delay() vardı tamamını kaldırdım. onun yerine blynk.timer() kullandım.
sorun nerede olabilir?
Kod:
#define BLYNK_TEMPLATE_ID "XXX"
#define BLYNK_TEMPLATE_NAME "XXXXXXXXXXXXXXXXXXXXXXXX"
#define BLYNK_FIRMWARE_VERSION "3.0"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#include <WiFiManager.h>
#include <ArduinoOTA.h>
WidgetTerminal terminal(V7);
bool baglan; //wifimanager oto bağlantı durumu takibi için
char blynk_token[] = "XXXXXXXXXXXXXXXXXXXXXX";
int pin1 = 5; // V1 LED
int pin2 = 4; // V2 FAN
// V3 ISI ÖLÇER
int pin4 = 14; // V4 POMPA
float sicaklik = 25; // V5 default fan çalışma sıcaklığı
int pin5 = 13; // Yedek V6 - D7-13 pin -Relay 4
// V7 TERMİNAL
#define DS18B20 12 // V3 ISI
OneWire ourWire(DS18B20);
DallasTemperature sensor(&ourWire);
BlynkTimer timer;
WiFiManager wm;
BLYNK_WRITE(V1)
{
int value = param.asInt();
if(value == 1)
digitalWrite(pin1, HIGH);
else
digitalWrite(pin1, LOW);
}
BLYNK_WRITE(V2)
{
int value = param.asInt();
if(value == 1)
digitalWrite(pin2, HIGH);
else
digitalWrite(pin2, LOW);
}
BLYNK_WRITE(V4)
{
int value = param.asInt();
if(value == 1)
digitalWrite(pin4, HIGH);
else
digitalWrite(pin4, LOW);
}
BLYNK_WRITE(V5)
{
sicaklik = param.asInt();
Blynk.virtualWrite(V5, sicaklik);
}
BLYNK_WRITE(V7)
{
if (String("wifireset") == param.asStr()) {
terminal.clear();
terminal.println("Komut: 'wifireset' Kayıtlı wifi bilgisi silindi.");
terminal.println("IP: 192.168.4.1");
terminal.println("AquaControlV2");
terminal.println("12345678");
wm.resetSettings();
ESP.restart();
}
else if (String("espreset") == param.asStr()) {
terminal.clear();
terminal.println("Komut: 'espreset' Nodemcu yeniden başlayacak.") ;
ESP.restart();
} else {
terminal.clear();
terminal.print("Komut: ");
terminal.write(param.getBuffer(), param.getLength());
terminal.println(" - Geçersiz komut girdiniz.");
terminal.println(F("wifireset - Wifi ağ bilgilerini siler."));
terminal.println(F("espreset - cihazı baştan başlatır."));
}
terminal.flush();
}
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V1);
Blynk.syncVirtual(V2);
Blynk.syncVirtual(V4);
Blynk.syncVirtual(V5);
}
void sendSensor()
{
sensor.requestTemperatures();
float tempC=sensor.getTempCByIndex(0);
Blynk.virtualWrite(V3, tempC);
if (tempC>=sicaklik){
digitalWrite(pin2, LOW);
Blynk.virtualWrite(V2, LOW);}
else { digitalWrite(pin2, HIGH);
Blynk.virtualWrite(V2, HIGH);}
digitalWrite(BUILTIN_LED, LOW);
timer.setTimeout(1000L , []()
{
digitalWrite(BUILTIN_LED, HIGH);
});
Serial.print("Sıcaklık : "); Serial.println(tempC);
}
void setup() {
Serial.begin(115200);
pinMode(BUILTIN_LED, OUTPUT);
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin4, OUTPUT);
WiFi.mode(WIFI_STA); // Özellikle modu station'a ayarlıyoruz.
baglan = wm.autoConnect("AquaControlV2", "12345678"); // Wifimanager bağlanma satırı. Ağ adı olarak görünmesini istediğimiz
if (!baglan) {
Serial.println("Bağlantı Sağlanamadı");
timer.setTimeout(60000L , []()
{
ESP.restart();
});
}
else {
Serial.println("Ağ Bağlantısı Kuruldu");
Blynk.config(blynk_token);
bool result = Blynk.connect();
if (result != true)
{
Serial.println("BLYNK'e bağlanamadı");
digitalWrite(BUILTIN_LED, LOW);
timer.setTimeout(60000L , []()
{
ESP.restart();
});
}
else
{
Serial.println("BLYNK'e bağlandı");
}
}
terminal.clear();
terminal.print(WiFi.localIP());
terminal.println(F(" - Sistem Aktif"));
terminal.println(F("-------------"));
terminal.println(F("wifireset - Wifi ağ bilgilerini siler."));
terminal.println(F("espreset - cihazı baştan başlatır."));
terminal.flush();
ArduinoOTA.setPassword("12345678");
ArduinoOTA.onStart([]() {
String type;
if (ArduinoOTA.getCommand() == U_FLASH) {
type = "sketch";
} else { // U_FS
type = "filesystem";
}
Serial.println("Start updating " + type);
});
ArduinoOTA.onEnd([]() {
Serial.println("\nEnd");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
});
ArduinoOTA.onError([](ota_error_t error) {
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) {
Serial.println("Auth Failed");
} else if (error == OTA_BEGIN_ERROR) {
Serial.println("Begin Failed");
} else if (error == OTA_CONNECT_ERROR) {
Serial.println("Connect Failed");
} else if (error == OTA_RECEIVE_ERROR) {
Serial.println("Receive Failed");
} else if (error == OTA_END_ERROR) {
Serial.println("End Failed");
}
});
ArduinoOTA.begin();
sensor.begin();
timer.setInterval(5000L, sendSensor);
}
void loop() {
Blynk.run();
timer.run();
ArduinoOTA.handle();
}