需要将加密数据转换为HEX以发送到SIGFOX“AT $ SF”

时间:2018-03-10 00:38:39

标签: arduino

我使用AESLib库来加密温度,但是当我尝试发送到sigfox时遇到一些问题,因为它使用“AT $ SF”,这意味着仅在HEX中发送。所以有任何解决方案转换此输出发送到sigfox ??

这是我的简单代码:

void aes128_enc_single(const uint8_t* key, void* data1);
void aes128_dec_single(const uint8_t* key, void* data1);

void setup() {

Serial.begin(9600);
uint8_t key[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
char data[] = "hello";
aes128_enc_single(key, data);
Serial.print("encrypted:");
Serial.print(data);

}

这是输出:

encrypted:⸮pᬊw⸮⸮>O⸮b⸮>⸮

1 个答案:

答案 0 :(得分:1)

Serial.print(x)用于人类可读。要通过串行端口以十六进制发送字符串,请使用:

char data[] = "hello";
int i;
for (i=0; i < sizeof(data); i++) {
    Serial.print(data[i], HEX);
}