Sim900 AT + HTTPPARA отсутствует символ

Я делаю проект, где я отправляю две переменные на мой сайт, где мой сайт будет получать и отображать его.

Информация о проекте: Arduino + SIM900 + PHP (отправка данных на сайт)

У меня есть код, который отправляет AT-команды на мой SIM900 и отображает его ответ.

Моя проблема в том, что когда я запускаю свой код в Serial Monitor, кажется, что последняя цитата в URL не отправляется / печатается на мою SIM900.

Вот мой код:

#include <SoftwareSerial.h>
SoftwareSerial GPRS(5, 6);
long duration;
int distance;
const int trigPin = 10;
const int echoPin = 11;

void setup() {
powerUp();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
GPRS.begin(19200);
Serial.begin(19200);

Serial.println("Con");
delay(2000);
Serial.println("Done!...");
GPRS.flush();
Serial.flush();

// See if the SIM900 is ready
GPRS.println("AT");
delay(1000);
toSerial();
GPRS.print("at+cmee=2\r");
toSerial();
// SIM card inserted and unlocked?
GPRS.println("AT+CPIN?");
delay(1000);
toSerial();

// Is the SIM card registered?
GPRS.println("AT+CREG?");
delay(1000);
toSerial();

// Is GPRS attached?
GPRS.println("AT+CGATT?");
delay(1000);
toSerial();

// Check signal strength
GPRS.println("AT+CSQ ");
delay(1000);
toSerial();

// Set connection type to GPRS
GPRS.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
delay(2000);
toSerial();

// Set the APN
GPRS.println("AT+SAPBR=3,1,\"APN\",\"internet\"");
delay(2000);
toSerial();

// Enable GPRS
GPRS.println("AT+SAPBR=1,1");
delay(10000);
toSerial();

// Check to see if connection is correct and get your IP address
GPRS.println("AT+SAPBR=2,1");
delay(2000);
toSerial();
}

void loop() {
delay(10000);
sensor();
GPRS.println("AT+HTTPINIT\r");
delay(1000);
toSerial();
GPRS.println("AT+HTTPPARA=\"CID\",1\r");
delay(1000);
toSerial();
GPRS.println("AT+HTTPPARA=\"URL\",\"aclc-onlineparkingtracker.000webhostapp.com/?id=1&sts=0\r"); <--- HERE
delay(10000);
toSerial();
GPRS.println("AT+HTTPACTION=0\r");
delay(7000);
toSerial();
GPRS.println("AT+HTTPTERM\r");
toSerial();
}

void toSerial() {
while(GPRS.available()!=0) {
Serial.write(GPRS.read());
}
}

void powerUp() {
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}

И вот вывод в моем последовательном мониторе:

Con
Done!...
AT

OK
at+cmee=2
AT+CPIN?

OK
AT+CREG?

+CREG: 0,1

OK
AT+CGATT?

+CGATT: 0

OK
AT+CSQ

+CSQ: 10,0

OK
AT+SAPBR=3,1,"Contype","GPRS"
OK
AT+SAPBR=3,1,"APN","internet"
OK
AT+SAPBR=1,1

OK
AT+SAPBR=2,1

+SAPBR: 1,1,"10.32.133.18"
OK
AT+HTTPINITOK
AT+HTTPPARA="CID",1OK
AT+HTTPPARA="URL","aclc-onlineparkingtracker.000webhostapp.com/?id=1&st=1 <--HERE+CME ERROR: operation not allowed

Что я пробовал:

  • Изменить размер буфера для передачи & RX до 256 (оба SoftwareSerial.h а также HardwareSerial.h). Не сработало

  • Добавлены задержки. Не сработало

0

Решение

ОБНОВИТЬ:

Я изменил эту строку:

GPRS.println("AT+HTTPPARA=\"URL\",\"aclc-onlineparkingtracker.000webhostapp.com/?id=1&sts=0\r");

в

GPRS.println("AT+HTTPPARA=\"URL\",\"aclc-onlineparkingtracker.000webhostapp.com/?id=1&st=1\"");

Я удалил \r и я добавил \" в конце моего URL.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]