Ошибка при отправке данных в базу данных Firebase c esp32 c SIM800 через GPRS
Пишу код для отправки данных с esp32 c SIM800 (TTGO) в базу данных на Firebase. Имеется следующий код в arduino ide:
const char apn[] = "internet.beeline.kz"; // APN (example: internet.vodafone.pt) use https://wiki.apnchanger.org
const char gprsUser[] = ""; // GPRS User
const char gprsPass[] = ""; // GPRS Password
#define MODEM_RST 5
#define MODEM_PWKEY 4
#define MODEM_POWER_ON 23
#define MODEM_TX 27
#define MODEM_RX 26
#define SerialMon Serial
#define SerialAT Serial1
#define TINY_GSM_MODEM_SIM800 // Modem is SIM800
#define TINY_GSM_RX_BUFFER 1024 // Set RX buffer to 1Kb
#include <TinyGsmClient.h>
#include <IOXhop_FirebaseESP32.h>
#define FIREBASE_HOST "https://esp32smartdetector.firebaseio.com/"
#define FIREBASE_AUTH "ZNlbxTgXjDaa4VbuiEaz1IAU1JE7U2GqJ5iGsfn8"
int sensor_pin = 35;
#ifdef DUMP_AT_COMMANDS
#include <StreamDebugger.h>
StreamDebugger debugger(SerialAT, SerialMon);
TinyGsm modem(debugger);
#else
TinyGsm modem(SerialAT);
#endif
TinyGsmClient client(modem);
void setup() {
SerialMon.begin(115200);
pinMode(MODEM_PWKEY, OUTPUT);
pinMode(MODEM_RST, OUTPUT);
pinMode(MODEM_POWER_ON, OUTPUT);
digitalWrite(MODEM_PWKEY, LOW);
digitalWrite(MODEM_RST, HIGH);
digitalWrite(MODEM_POWER_ON, HIGH);
SerialAT.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
delay(30000);
SerialMon.println("Initializing modem...");
modem.restart();
delay(3000);
SerialMon.print("Connecting to APN: ");
SerialMon.print(apn);
if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
SerialMon.println(" fail");
}
else {
SerialMon.println(" OK");
delay(30000);
SerialMon.print("Connecting to ");
SerialMon.print(FIREBASE_HOST);
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Serial.println("ok");
delay(30000);
}
}
void loop() {
delay(30000);
Firebase.setFloat("number", 42.0);
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return;
}
delay(1000);
}
При использовании wifi никаких проблем нет. При использовании gprs после подключения к серверу Firebase при отправке данных в базу данных c esp32 в мониторе порта выдает следующее:
Initializing modem...
Connecting to APN: internet.beeline.kz OK
Connecting to https://esp32smartdetector.firebaseio.com/ok
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/queue.c:1442 (xQueueGenericReceive)- assert failed!
abort() was called at PC 0x400880c1 on core 1
Backtrace: 0x4008bbf0:0x3ffb1900 0x4008be21:0x3ffb1920 0x400880c1:0x3ffb1940 0x4011be4e:0x3ffb1980 0x4011c04e:0x3ffb19a0 0x4010db90:0x3ffb19c0 0x4010dbf9:0x3ffb19e0 0x4010ad96:0x3ffb1a00 0x40109c20:0x3ffb1a20 0x4010d414:0x3ffb1a60 0x400d5988:0x3ffb1a80 0x400d5706:0x3ffb1cf0 0x400d5801:0x3ffb1d20 0x4011fe25:0x3ffb1d40 0x400d5071:0x3ffb1d60 0x400d5101:0x3ffb1d90 0x400d51d9:0x3ffb1dd0 0x400d3416:0x3ffb1df0 0x400d3591:0x3ffb1ed0 0x400d362d:0x3ffb1f40 0x400d1e43:0x3ffb1f80 0x400d7291:0x3ffb1fb0 0x400883d5:0x3ffb1fd0
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
Прошу помочь наладить передачу данных с помощью GPRS. Спасибо!