Float und String kombinieren für HAL_UART_Transmit + GSM Modul

OP #7164033
Lesenswert?

Hallo,

ich arbeite gerade an einem Studienprojekt, beidem ein GSM-Modul 
(https://www.mikroe.com/lte-cat1-eu-click-for-europe) über einen 
MicroController (NUCLEO STM32L476RG) mit AT Kommandos und 
HAL_UART_Transmit Sensordaten an die Seite Thingspeak senden soll. Für 
die Programmierung nutze ich STM32CubeIDE.

Die AT Kommandos habe ich erstmal über PuTTY (COM Konsole) manuell 
eingegeben und über HTTP POST Kommandos kann ich Daten in einem Chart 
visualisieren (siehe Anhang). Die manuelle Vorgehensweise funktioniert 
soweit.

Nun möchte ich die AT Kommandos in die HAL_UART_Transmit Befehle mit den 
Sensorwerten einfügen jedoch hab ich folgendes Problem:

Die gesendete URL muss mit einem float value ergänzt werden um das 
Diagramm zu aktualisieren. Bsp: String neu = URL + Sensorvalue

Den Thingspeak Channel kann ich mit der API über die URL so ansteuern:

"https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1=";

Sobald ein Wert am Ende der URL Adresse mitgegeben wird, aktualisiert 
sich das Diagramm mit dem Wert "130":
"https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1=130";

Für die Kommunikation mit dem GSM Modul muss das entsprechende AT 
Kommando zusätzlich hinzugefügt werden:
AT^SISS=0,"address","https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1=130";


Über HAL_UART_Transmit möchte ich nun den Befehl:
AT^SISS=0,"address","https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1="; 
und zusätzlich ein float (Beispiel 130) senden:
1
HAL_UART_Transmit("AT^SISS=0,\"address\",\"https://api.thingspeak.com/update?api_key=XWK28RQHCBLD3LWY&field1=130\"\r\n");

Jedoch ist der Wert 130 statisch und soll nun mit einem float 
(Sensorwert) ersetzt werden. Daraus wollte ich einen neuen String 
erstellen und diesen mit HAL_UART_Transmit senden. Nun wollte ich 
fragen, wie ein char mit einem float wert ergänzt werden kann bzw. wie 
man beides kombiniert über HAL_UART_Transmit senden kann?

Zum Beispiel
1
char URL = "AT^SISS=0,\"address\",\"https://api.thingspeak.com/update?api_key=XWK28RQHCBLD3LWY&field1="
2

3
float Sensorval = 130.0
4

5
String Neu = URL + Sensorval
6

7
Sollte ergeben: "AT^SISS=0,\"address\",\"https://api.thingspeak.com/update?api_key=XWK28RQHCBLD3LWY&field1=130"
8

9
Dann:
10
HAL_UART_Transmit(String NEU)

Wie könnte ich das so umsetzten?

Vielen Dank im Voraus!
Grüße Sam_oe1
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren