IRremoteESP8266 (управление бытовой техникой по ИК, через Web интерфейс)
- Войдите на сайт для отправки комментариев
Всем привет. Нужна помощь. Сам в программировании не очень силен. Проблема такая! Есть ESP8266, которая считывает ик сигнал пульта и отсылает его на сервер (как это все хранится на сервере не важно).... Суть в том,что отсылаются туда данные в RAW виде. Соответственно в RAW виде они должны приходить обратно на ESP. Но дело в том, что управление происходит посредством GET запроса, то есть например выглядит примерно так - http://192.168.1.50/ir=4000,550,300,1000... ESP получает эти данные и записывает в переменную STRING. Естественно irsend.sendRaw не работает....Вообщем нужно STRING как-то разобрать....Это код из примера:
#include <IRremoteESP8266.h>
IRsend irsend(0);
void setup()
{
}
void loop() {
int khz = 38; // 38kHz carrier frequency for the NEC protocol
unsigned int irSignal[] = {9000, 4500, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 1690, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 39416, 9000, 2210, 560}; //AnalysIR Batch Export (IRremote) - RAW
irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); //Note the approach used to automatically calculate the size of the array.
delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.
}
А нужно что-то типо такого (но чтобы работало :-) ):
#include <IRremoteESP8266.h>
IRsend irsend(0);
String a = "4000,5000,6000,7000";
irSignal = здесь те денные, которые лежат в STRINGe;
void setup()
{
}
void loop() {
int khz = 38; // 38kHz carrier frequency for the NEC protocol
irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); //Note the approach used to automatically calculate the size of the array.
delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.
}
То есть то что пришло в виде STRING передать в sendRaw.....
Надеюсь нормально объяснил. Заранее благодарен всем....