红外线传输是最古老的传输,在没有wifi和蓝牙的时代,红外线传输就已经诞生了。主要是通过一收一发进行数据的传输。经历这么多年,红外线也发展出不同的协议。例如:NEC(最常见,如大多数电视遥控器)、RC5(如飞利浦遥控器)、Sony(如索尼电视遥控器)、Panasonic、JVC、Samsung 等。
刚好最近在做一个简单的物联网红外测试,就是将红外固化在程序中然后调用。思路:首先要对红外线发端进行捕获,这个就简单,只需要做一个模拟接收端,将数据捕获就可以。以下就是部分代码:
Serial.println();
String ProntoHEX = F("接收内容: ");
if (int size = IrReceiver.compensateAndStorePronto(&ProntoHEX)) {
ProntoHEX += F("\r\n收到数据长度 ");
ProntoHEX += size;
ProntoHEX += F(" 收到数据量 ");
ProntoHEX += size / 5;
ProntoHEX += F(" ");
Serial.println(ProntoHEX.c_str());
Serial.println();
}这样就成功捕获到发送的数据,下面就是解决发送了,将捕获通过再通过发射发送,以下就是部分发送代码。
IrSender.sendPronto(F("捕获的数据"), 0); 这样就可以,当然刚才也提到协议有很多,只能逐个尝试。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。