Невозможно отправить переменные данные на 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\"");

Я могу отобразить значение переменной на последовательном мониторе.

В чем может быть проблема и что можно сделать для ее решения?


person Shreevatsa Acharya    schedule 14.07.2017    source источник


Ответы (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);

Это сделает то, что вам нужно. Удачи.

person Mathews Sunny    schedule 18.07.2017