Nodemcu v3 ile ilgili sorun yaşıyorum

cello

Üye
Katılım
26 Eki 2018
Mesajlar
77
Tepkime puanı
8
Puanları
8
Konum
Artvin
Merhaba arkadaşlar Nodemcu v3 ile firebase üzerinden mit app uygulaması ile 8ch relay modül'ün rölelerini kontrol edebiliyorum. Ancak nodemcu belli bir süre sonra nedenini bilmediğim bir durumdan dolayı kilitleniyor bağlantıyı (ping testi ile ağda olduğunu anlıyorum) problem ne olabilir ? çalışma mantığı nodemcu firebase db ye 0 ve 1 olarak 8 adet değişkeni gönderiyor. buraya kadar herşey normal uygulamada aynı şekilde değişkenleri gönderiyor ondada sıkıntı yok nodemcu ve mit app uygulaması firebase db de buluşarak işlerini yapıyor. İde ile serial print ekranında sürekli bu hatayı alıyorum nodemcu resete basınca toparlıyor belli bir süre sonra tekrar ediyor besleme pc den usb ile denendi harici 12v 3.3v dönüştürücü ile denendi röleler harici 12v ile beslenerek denendi kod yapısında mı bir sıkıntı var acaba?

Kod:
Hata ; "Trying to reconnect"
hata ; "setting number failed:"

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "iotcloud-******.firebaseio.com"
#define FIREBASE_AUTH "*******JedVqgCURdgCgLD9jNamut*******"
#define WIFI_SSID "192.168.1.1"
#define WIFI_PASSWORD "*****************"

//ilk 4 röle
#define Relay1 5 //D1
#define Relay2 4 //D2
#define Relay3 0 //D3
#define Relay4 2 //D4
#define Relay5 14 //D5
#define Relay6 12 //D6
#define Relay7 13 //D7
#define Relay8 15 //D8

int rel1,rel2,rel3,rel4,rel5,rel6,rel7,rel8;

void setup()
{
Serial.begin(115200);
pinMode(Relay1,OUTPUT); //pin tanimlamasi pinler cikis pini
pinMode(Relay2,OUTPUT);
pinMode(Relay3,OUTPUT);
pinMode(Relay4,OUTPUT);
pinMode(Relay5,OUTPUT);
pinMode(Relay6,OUTPUT);
pinMode(Relay7,OUTPUT);
pinMode(Relay8,OUTPUT);
digitalWrite(Relay1,HIGH); //pin tanimlamasi pinler digital high +5v
digitalWrite(Relay2,HIGH);
digitalWrite(Relay3,HIGH);
digitalWrite(Relay4,HIGH);
digitalWrite(Relay5,HIGH);
digitalWrite(Relay6,HIGH);
digitalWrite(Relay7,HIGH);
digitalWrite(Relay8,HIGH);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected:");
Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.setInt("role1",0); // Degisken ataması "firebase" ve "uygulama butonları"
Firebase.setInt("role2",0);
Firebase.setInt("role3",0);
Firebase.setInt("role4",0);
Firebase.setInt("role5",0);
Firebase.setInt("role6",0);
Firebase.setInt("role7",0);
Firebase.setInt("role8",0);
}

void firebasereconnect()
{
Serial.println("Trying to reconnect");
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop()
{
if (Firebase.failed())
{
Serial.print("setting number failed:");
Serial.println(Firebase.error());
firebasereconnect();
return;
}

rel1=Firebase.getString("role1").toInt(); // Degiskenlik durumunun degerini okuma
rel2=Firebase.getString("role2").toInt();
rel3=Firebase.getString("role3").toInt();
rel4=Firebase.getString("role4").toInt();
rel5=Firebase.getString("role5").toInt();
rel6=Firebase.getString("role6").toInt();
rel7=Firebase.getString("role7").toInt();
rel8=Firebase.getString("role8").toInt();


if(rel1==1) // Durum 1 ise "role1"'i ac
{
digitalWrite(Relay1,LOW);
//Serial.println("Relay 1 ON");
}
if(rel1==0) // Durum 0 ise "role1"'i kapat
{
digitalWrite(Relay1,HIGH);
//Serial.println("Relay 1 OFF");
}
if(rel2==1)
{
digitalWrite(Relay2,LOW);
//Serial.println("Relay 2 ON");
}
if(rel2==0)
{
digitalWrite(Relay2,HIGH);
//Serial.println("Relay 2 OFF");
}
if(rel3==1)
{
digitalWrite(Relay3,LOW);
//Serial.println("Relay 3 ON");
}
if(rel3==0)
{
digitalWrite(Relay3,HIGH);
//Serial.println("Relay 3 OFF");
}
if(rel4==1)
{
digitalWrite(Relay4,LOW);
//Serial.println("Relay 4 ON");
}
if(rel4==0)
{
digitalWrite(Relay4,HIGH);
//Serial.println("Relay 4 OFF");
}
if(rel5==1)
{
digitalWrite(Relay5,LOW);
//Serial.println("Relay 5 ON");
}
if(rel5==0)
{
digitalWrite(Relay5,HIGH);
//Serial.println("Relay 5 OFF");
}

if(rel6==1)
{
digitalWrite(Relay6,LOW);
//Serial.println("Relay 6 ON");
}
if(rel6==0)
{
digitalWrite(Relay6,HIGH);
//Serial.println("Relay 6 OFF");
}

if(rel7==1)
{
digitalWrite(Relay7,LOW);
//Serial.println("Relay 7 ON");
}
if(rel7==0)
{
digitalWrite(Relay7,HIGH);
//Serial.println("Relay 7 OFF");
}

if(rel8==1)
{
digitalWrite(Relay8,LOW);
//Serial.println("Relay 8 ON");
}
if(rel8==0)
{
digitalWrite(Relay8,HIGH);
//Serial.println("Relay 8 OFF");
}
}
 

creepylord

Üye
Katılım
26 Eki 2018
Mesajlar
92
Tepkime puanı
4
Puanları
8
Konum
Balıkesir
Bende mit app ve firebase ile databaseden data okuyorum,nudemcu ile denemedim ama bence belirli aralıklarla Arduino /nudemcuya reset atacak kod eklemeyi denediniz mi?
 

cello

Üye
Katılım
26 Eki 2018
Mesajlar
77
Tepkime puanı
8
Puanları
8
Konum
Artvin
Bende mit app ve firebase ile databaseden data okuyorum,nudemcu ile denemedim ama bence belirli aralıklarla Arduino /nudemcuya reset atacak kod eklemeyi denediniz mi?
nodemcu yu reset yapınca röleler çekip bırakıyor röleler mevcut konumunda kalabilse sıkıntı olmazdı. kodda bir problem yok mu? aslında nodemcu ya fazla bir yükde düşmüyor sadece sürekli ağ ile haberleşme yapıyor taki uygulamadan + firebase den veri gelene kadar.
 

butti

Üye
Katılım
26 Eki 2018
Mesajlar
55
Tepkime puanı
0
Puanları
6
Konum
Antalya
Bu loop ta delay hiç yok. Kristal hızında devamlı firebase e sorgu gönderiyorsunuz. Bir limiti varsa ondan block yiyor olabilir.
 

cello

Üye
Katılım
26 Eki 2018
Mesajlar
77
Tepkime puanı
8
Puanları
8
Konum
Artvin
Bu loop ta delay hiç yok. Kristal hızında devamlı firebase e sorgu gönderiyorsunuz. Bir limiti varsa ondan block yiyor olabilir.
2. sn delay koyarak denedim ancak yine aynı oldu şimdi for döngüsü ile kaç dk sonra duruyor onu izlemeye çalışacağım.
 

By_tozi

Üye
Katılım
2 Kas 2018
Mesajlar
65
Tepkime puanı
5
Puanları
8
Konum
Giresun
Sürekli çalışan sistemde esp ve nodemcu kitlenme sorunu bende yaşadım 1 gün yada 3 gün sonra olabiliyor çözümü tüm sistemin beslemesini zaman saati ile resetliyorum
 
Üst