Официальный сайт компании Arduino по адресу arduino.cc
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.....
Надеюсь нормально объяснил. Заранее благодарен всем....