Skip to content
This repository was archived by the owner on Mar 17, 2025. It is now read-only.
This repository was archived by the owner on Mar 17, 2025. It is now read-only.

Firebase stream and firebase setString causing crash! #266

Closed
@BahmanK

Description

@BahmanK

Hi folks,

On LinkNode R8 (relay board equipped with ESP 8266), I am writing an application that I need to run "setString" while firebase streaming. However, as soon as I run "setString" after firebase stream begin function, the board crashes (error shown below). The interesting part is that, sometimes it sets the values in database and it crashes afterwards and sometimes it doesn't even set the value.

I tried many different solutions offered on other relevant issues with no luck. Below is the error code, my code and settings. Any help appreciated.

Error:
Exception (28):
epc1=0x40207f26 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3fff1070 end: 3fff14b0 offset: 01a0

stack>>>
3fff1210: 402012ee 000003e8 3fff03cc 40207f26
3fff1220: 3fff0208 00000000 3fff03cc 40202355

Code:

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

// Set these to run example.
#define FIREBASE_HOST "xxx"
#define FIREBASE_AUTH "xxx"
#define WIFI_SSID "xxx"
#define WIFI_PASSWORD "xxx"

String eventType, eventPath, eventData;
FirebaseArduino FirebaseStream, FirebaseShaboo;

// Setup-----------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9800);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);

byte mac[6];
WiFi.macAddress(mac);

// connect to wifi.
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());

FirebaseShaboo.begin(FIREBASE_HOST, FIREBASE_AUTH);
delay(1000);
FirebaseShaboo.setString("message", "Bahoo");
delay(1000);

//Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
FirebaseStream.begin(FIREBASE_HOST, FIREBASE_AUTH);
FirebaseStream.stream("/test");

}

int n = 0;
bool set_en = 0;
void loop() {

if (FirebaseStream.available()) {
FirebaseObject event = FirebaseStream.readEvent();

Serial.print("event: ");
eventType = event.getString("type");
Serial.println(eventType);  
eventPath = event.getString("path");
Serial.print("path: ");
Serial.println(eventPath);
eventData = event.getString("data");
Serial.print("data: ");
Serial.println(eventData);

if (eventType.indexOf("patch")>=0){
  Serial.print("patch received: ");
}

if(eventData.indexOf("off")>=0){
   digitalWrite(13, LOW);
   digitalWrite(14, LOW);   
   Serial.println("OFF,OFF");

} else if(eventData.indexOf("on")>=0){
digitalWrite(13, HIGH);
digitalWrite(14, HIGH);
Serial.println("ON,ON");
} else if(eventData.indexOf("send")>=0){
set_en = 1;
}
}
Serial.println(ESP.getFreeHeap());
delay(1000);
if (set_en == 1){
set_en = 0;
FirebaseShaboo.setString("message", "Nikki");
delay(1000);
}
Serial.println("Loop");
}

Settings:
image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions