Вам необходимо зафиксировать возвращаемое значение 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).