我使用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⸮>⸮
答案 0 :(得分:1)
Serial.print(x)
用于人类可读。要通过串行端口以十六进制发送字符串,请使用:
char data[] = "hello";
int i;
for (i=0; i < sizeof(data); i++) {
Serial.print(data[i], HEX);
}