Как передать «значение функции» в API-адресе thingSpeak .. Я использую Arduino и SIM900 GSM - PullRequest
0 голосов
/ 24 мая 2019

Я хочу выгрузить данные датчика дождя в вещей, используя метод HTTP POST, но при использовании «Api key = данные для отправки ..» Данные датчика не загружаются на сервер .. а также в кавычках, так чтоэто не как функция может быть .... Как решить эту проблему ??

Serial.print("api_key=QI8G7PVTC2BVIREC&field1=TellWater()\\r\\n"); 

1 Ответ

0 голосов
/ 28 мая 2019

Вам необходимо зафиксировать возвращаемое значение TellWater() в переменной.

Здесь я предполагаю TellWater() return float.Вам необходимо преобразовать его в строку.

float water_value = TellWater();
String water_value_str;
water_value_str = String(f);

После преобразования данных датчика в строку необходимо выполнить конкатенацию строк для подготовки окончательной выходной строки.

String output_string = "api_key=QI8G7PVTC2BVIREC&field1=" + water_value_str + "\r\n";
Serial.print(output_string);

Не следуетубежать обратно косая черта \ в \\r\\n.Это заставит компилятор интерпретировать оператор как символ \ (0x5c) и символ r (0x72) вместо \r (0x0D) (возврат каретки).Аналогичным образом \\n будет интерпретироваться как символ \ (0x5c) и символ n (0x6e) вместо \n (0x0A) (перевод строки), в результате чего модуль GSM будет ожидать данные, поскольку он не получил линиюКонечные символы (\ r \ n).

...