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