получил проект с использованием ESP32 с модулем SIM7600E 4G LTE, и я пытаюсь заставить его отправить данные в базу данных Firebase Realtime. Я могу получить его успешно инициализировать и подключиться к сотовой сети. Я проверил его, отправляя смс и приколом других серверов. Всякий раз, когда я пытаюсь выложить что -то в базу данных, я получаю что -то вроде +http_peer_closed. Я думал, что это было потому, что Firebase отвергала HTTP -запросы, поэтому я попытался отправить его в качестве запроса HTTPS, и потерпел неудачу в этом. Честно говоря, застрял на это в течение недели и мог бы использовать некоторую помощь действительно плохо < /p>
#include
#include
const long Baudrate = 115200;
const char RX_Pin = 16;
const char TX_Pin = 17;
HardwareSerial sim(1);
void command(String command, unsigned long timeout = 1000) {
sim.println(command);
unsigned long startTime = millis();
while (millis() - startTime < timeout) {
if (sim.available()) {
String response = sim.readString();
Serial.println(response);
break;
}
}
}
void SetHTTPS() {
command("");
}
void upload() {
command("AT+CSSLCFG=\"sslversion\",0,3");
command("AT+CSSLCFG=\"ignorelocaltime\",0,1");
command("AT+CSSLCFG=\"seclevel\",0,0");
command("AT+HTTPINIT", 5000);
command("AT+HTTPPARA=\"URL\",\"https://DB-URL-STUFF.firebasedatabase.a ... h=AUTH-KEY\"");
command("AT+HTTPPARA=\"CONTENT\",\"application/json\"");
sim.println("AT+HTTPDATA=35,10000");
delay(3000);
if (sim.available()) {
String response = sim.readString();
if (response.indexOf("DOWNLOAD") != -1) {
Serial.println("Sending JSON...");
sim.println("{\"message\":\"test from SIM7600\"}");
delay(1000);
sim.write(26);
delay(2000);
}
}
command("AT+HTTPACTION?");
command("AT+HTTPACTION=1", 5000);
command("AT+HTTPREAD");
command("AT+HTTPTERM");
}
void setup() {
Serial.begin(115200);
sim.begin(Baudrate, SERIAL_8N1, RX_Pin, TX_Pin);
command("AT"); // test stuff
command("ATI"); // module status stuff
command("AT+CSQ"); // signal
command("AT+CGDCONT=1,\"IP\",\"everywhere\"");
command("AT+CGATT=1");
command("AT+CGACT=1,1");
command("AT+NETOPEN");
delay(100);
upload();
}
void loop() {
while (sim.available()) {
Serial.write(sim.read());
}
}
< /code>
output < /p>
AT
OK
ATI
Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM7600E-L1C
Revision: SIM7600M11_A_V2.0.1
IMEI: 862499070415105
+GCAP: +CGSM
OK
AT+CSQ
+CSQ: 15,99
OK
AT+CGDCONT=1,"IP","everywhere"
OK
AT+CGATT=1
OK
AT+CGACT=1,1
OK
AT+NETOPEN
+IP ERROR: Network is already opened
ERROR
AT+CSSLCFG="sslversion",0,3
OK
AT+CSSLCFG="ignorelocaltime",0,1
OK
AT+CSSLCFG="seclevel",0,2
ERROR
AT+HTTPINIT
OK
AT+HTTPPARA="URL","https://DB-URL-STUFF.firebasedatabase.a ... h=AUTH-KEY"
OK
AT+HTTPPARA="CONTENT","application/json"
OK
Sending JSON...
{"message":"test from SIM7600"}
A
OK
AT+HTTPACTION=1
OK
+HTTPACTION: 1,400,77
AT+HTTPREAD
ERROR
AT+HTTPTERM
OK
Подробнее здесь: https://stackoverflow.com/questions/797 ... eer-closed