Ошибка при отправке данных в базу данных 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. Спасибо!


Ответы (0 шт):