Невозможно отправить переменные данные на php-сервер с помощью AT-команд на модуле SIM900 RS232
Я использую SIMCOM SIM900 и модуль Arduino uno. Я могу отправить статические данные на сервер с помощью команды AT+PARA, но не могу сделать это при отправке только переменных данных. Переменная постоянно хранит данные, полученные от датчика. Это потому, что переменная имеет постоянное изменение значения?
Статический формат:
mySerial.println("AT+HTTPPARA=\"URL\",\"http://www.website.com/test.php?vehicleNo=7575\"");
с переменной:
vehicleNo=function();
mySerial.println("AT+HTTPPARA=\"URL\",\"http://www.website.com/test.php?vehicleNo\"");
Я могу отобразить значение переменной на последовательном мониторе.
В чем может быть проблема и что можно сделать, чтобы ее решить?
1 ответ
Это не правильный способ отправки значений переменных в базу данных.
mySerial.println("AT+HTTPPARA=\"URL\",\"http://www.website.com/test.php?vehicleNo\"");
вы ожидаете, что vehicleNo
в приведенном выше блоке кода будет заменено его значение, когда ссылка выполняется Arduino, но это не будет. Если вы хотите выполнить то, что ожидали, это будет сложнее, чем вы.
сначала определите два массива типа char, скажем, 'url' и 'val' следующим образом:
char url[160];
char val[10];
тогда это требует некоторого редактирования в части запроса как:
dtostrf( vehicleNo,7, 2, val);
sprintf(url, "AT+HTTPPARA=\"URL\",\"http://www.3dedn.com/test.php?vehicleNo=%s\"",val );
Теперь ваша ссылка находится в массиве 'url',
mySerial.println(url);
Это будет делать то, что вам нужно. Удачи.