传感器值:
浮球温度=29.5; 浮子湿度=32.56; 浮点光级别=17365.83; 二氧化碳= 452; 噪音= 583;
String dataString = ""+String(温度)+","+String(湿度)+","+String(lightLevel)+","+String(co2)+","+String(噪音)+"" ;
字符串将如下所示:“29.50,32.56,17365.83,452,583”
十六进制字符串看起来像:“32392e35302c33322e35362c31373336352e38332c3435322c353833aa”
我使用的调制解调器仅接受 AT 命令,并且要求数据负载为“十六进制格式字符串的负载(最大长度为 242 字节)”
命令示例:AT+SEND=1:1:32392e35302c33322e35362c31373336352e38332c3435322c353833aa
我无法在 Arduino 中以编程方式创建“AT+SEND=1:1:32392e35302c33322e35362c31373336352e38332c3435322c353833aa”。
如何将 dataString 转换为 HexString ?
ChatGPT 给我以下似乎有效的信息:
String stringToHex(String input) {
String hexString = "";
char buffer[3]; // buffer to hold hex values
for (int i = 0; i < input.length(); i++) {
sprintf(buffer, "%02X", input[i]);
hexString += buffer;
}
return hexString;
}