Ошибка 1,603,0 при запросе http post с использованием arduino и sim900a в формате Json
Я хочу отправлять HTTP post-запросы на сервер в формате JSON с помощью модуля SIM900. Но код не публикует данные и имеет ошибку.Может ли кто-нибудь помочь мне решить ошибку 1,603,0 , так как я не могу решить, я уже пытаюсь использовать http вместо https, потому что я читаю из другого канала QnA, что AT+HTTPPARA="URL может быть прочитан только в http .. Но ничего не случилось ошибка все-таки есть. Я знаю, что ошибка связана с DNS, но я не знаю, как ее решить.. Извините, что это был мой первый раз, когда я использовал sim900a
Вот мой код:
#include <SoftwareSerial.h>
#include <ArduinoJson.h>
SoftwareSerial SIM900(10, 11);
StaticJsonBuffer<200> jsonBuffer;
char t[32];
char deviceID[12] = "TESTING";
char Name[12] = "Irsyad";
char Place[12] = "JB";
void setup()
{
SIM900.begin(9600); // скорость передачи данных GPRS в бодах
Serial.begin(9600);
Serial.println("Initializing..");
DynamicJsonBuffer jsonBuffer;
}
void loop()
{
Serial.println("");
Serial.println("START");
Serial.print("Device ID: ");
Serial.println(deviceID);
delay(1000);
if (SIM900.available())
Serial.write(SIM900.read());
SIM900.println("AT");
delay(3000);
SIM900.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\""); // untuk cek GPRS
delay(6000);
ShowSerialData();
SIM900.println("AT+SAPBR=3,1,\"APN\",\"\"");//Мобильный телефон APN (cek dekat phone)
delay(6000);
ShowSerialData();
SIM900.println("AT+SAPBR=1,1");
delay(6000);
ShowSerialData();
SIM900.println("AT+SAPBR=2,1");
delay(6000);
ShowSerialData();
SIM900.println("AT+HTTPINIT"); // параметры HTTP-сессии untuk
delay(6000);
ShowSerialData();
SIM900.println("AT+HTTPPARA=\"CID\",1"); //parameters untuk HTTP session
delay(6000);
ShowSerialData();
StaticJsonBuffer<200> jsonBuffer;
JsonObject& object = jsonBuffer.createObject();
object.set("deviceID",deviceID);
object.set("Name",Name);
object.set("Place",Place);
object.printTo(Serial);
Serial.println(" ");
String sendtoserver;
object.prettyPrintTo(sendtoserver);
delay(4000);
SIM900.println("AT+HTTPPARA=\"URL\",\"http://gas-api.smartcp.app/api/ttn/uplink\""); //Server address // tukar pakai lain https://
delay(4000);
ShowSerialData();
SIM900.println("AT+HTTPPARA=\"CONTENT\",\"application/json\""); //json format
delay(4000);
ShowSerialData();
SIM900.println("AT+HTTPDATA=" + String(sendtoserver.length()) + ",100000"); // size bytes untuk hantar data dalam masa 10 seconds
Serial.println(sendtoserver);
delay(6000);
ShowSerialData();
SIM900.println(sendtoserver);
delay(6000);
ShowSerialData;
SIM900.println("AT+HTTPACTION=1"); // Post the data (1 means post)
delay(6000);
ShowSerialData();
SIM900.println("AT+HTTPREAD");
delay(6000);
ShowSerialData();
SIM900.println("AT+HTTPTERM");
delay(10000);
ShowSerialData;
}
void ShowSerialData()
{
while (SIM900.available() != 0)
Serial.write(SIM900.read());
delay(1000);
}
0
Смотрите также:
- Как публиковать запросы HTTP POST на моем веб-сайте?
- Почтовый запрос HTTP в формате JSON с использованием модуля SIM900
- HTTP GET запрос с использованием Arduino Uno и ESP8266
- GSM-модуль Sim800l не может подключить данные gprs
- Отправить HTTP get запрос от GSM SIM800c и Arduino
- Как отправить HTTP-post данные в Node Express API с Arduino esp822 6?
- Запрос POST (HTTPClient) с ESP8266, не работающим на локальном хосте (код http = -1)
- ESP8266 HTTPS post запрос тела сообщения с WifiClientSecure
пожалуйста, не размещайте изображение текста ... удалите картинку и добавьте фактический текст, @jsotola
Просто глядя на код, я предполагаю, что все эти 6-секундные задержки вызывают где-то ошибку тайм-аута. PS
+SAPBR: 1,1,"10.143.42.168"
Я не знаком с AT-кодами, но "10.143.42.168" выглядит как IP-адрес, и этот IP-адрес находится в частном диапазоне. Может быть, это просто NAT операторского класса и не связано с вашей проблемой., @GerbenЯ надеюсь, что вы нашли решение, в противном случае я попробовал это с SIM800l, и оно работает нормально. Может быть, вы могли бы попробовать этот модуль. Я воспользовался помощью вашего кода в устранении синтаксической ошибки в моем коде, так что спасибо вам за это., @Noor
это не работает для меня. Получение той же ошибки., @b.john