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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.