управление кондиционером с помочью esp 01 отправка по ик сигналу

fanat.arduino
Offline
Зарегистрирован: 10.11.2019

Здравствуйте форумчане, давно меня не было, забросил ардуинко на время. Но опять понадобилась. Захотел управлять кондиционером с помочью esp. Несколько дней мучаюсь, подскажите, пожалуйста, заранее спасибо.

#include <IRremoteESP8266.h>
#include <IRsend.h>
#define kIrLed 4
IRsend irsend(kIrLed);
uint16_t rawData_Off[211] = {8928, 4558,  492, 1732,  492, 1758,  466, 606,  492, 610,  490, 606,  492, 606,  492, 1734,  492, 1732,  492, 1732,  494, 1758,  466, 1734,  492, 1734,  492, 606,  492, 606,  494, 606,  492, 1734,  494, 606,  492, 632,  468, 632,  466, 608,  492, 606,  494, 606,  492, 606,  494, 606,  494, 606,  492, 606,  494, 608,  492, 604,  494, 632,  466, 632,  468, 606,  492, 608,  492, 606,  492, 632,  466, 632,  466, 608,  492, 606,  494, 1760,  466, 608,  490, 608,  492, 608,  492, 608,  492, 606,  492, 606,  492, 606,  492, 632,  468, 1732,  492, 632,  468, 606,  492, 634,  466, 608,  492, 606,  492, 606,  494, 1734,  490, 606,  492, 606,  494, 608,  492, 632,  466, 632,  466, 608,  492, 606,  494, 606,  494, 606,  492, 632,  466, 610,  490, 608,  492, 608,  492, 606,  492, 632,  466, 606,  492, 632,  466, 634,  466, 608,  490, 632,  468, 606,  492, 608,  492, 606,  494, 606,  492, 632,  468, 632,  466, 610,  490, 608,  492, 606,  492, 632,  468, 608,  490, 608,  492, 608,  490, 608,  490, 1760,  466, 608,  492, 1732,  492, 608,  492, 632,  466, 632,  466, 606,  492, 608,  492, 1732,  492, 1732,  494, 1732,  516, 608,  490, 1708,  492, 608,  492, 1734,  492, 1732,  518};  // UNKNOWN 207ECAA8
uint16_t rawData_ON[211] = {8930, 4556,  492, 1732,  494, 1732,  494, 604,  494, 606,  492, 606,  494, 606,  494, 1732,  494, 1732,  494, 1732,  494, 1732,  492, 1732,  494, 1730,  494, 604,  494, 604,  496, 604,  494, 1730,  496, 604,  494, 604,  494, 606,  492, 606,  494, 606,  494, 604,  494, 606,  492, 606,  492, 606,  492, 606,  492, 606,  494, 604,  494, 608,  492, 606,  492, 606,  494, 580,  520, 606,  492, 606,  494, 606,  494, 604,  494, 608,  492, 1732,  492, 606,  494, 606,  494, 606,  492, 608,  492, 606,  494, 606,  494, 606,  494, 606,  492, 1732,  494, 606,  494, 604,  494, 606,  494, 580,  520, 604,  494, 606,  494, 1730,  494, 606,  494, 606,  494, 580,  520, 606,  494, 606,  494, 606,  494, 606,  492, 606,  494, 606,  492, 606,  494, 606,  494, 606,  494, 606,  492, 604,  494, 606,  494, 606,  494, 606,  492, 608,  492, 606,  494, 604,  494, 580,  518, 606,  492, 606,  494, 1732,  492, 606,  494, 606,  494, 606,  518, 582,  492, 580,  520, 606,  492, 606,  494, 606,  494, 606,  492, 606,  492, 1732,  492, 610,  514, 1708,  492, 606,  494, 606,  516, 582,  518, 580,  518, 580,  518, 1706,  494, 1732,  494, 1732,  518, 582,  494, 1730,  494, 1730,  520, 1680,  544, 1706,  544};  // ELECTRA_AC

void setup()
{
  irsend.begin();
}

void loop() {
  irsend.sendRaw(rawData_Off, 211,  38); //Выключаю
  delay(1000);
  irsend.sendRaw(rawData_ON, 211,  38); //Выключаю
}

 

fanat.arduino
Offline
Зарегистрирован: 10.11.2019

Скетч для получение ir сигрла

#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRac.h>
#include <IRutils.h>

const uint16_t kRecvPin = 4; // D4, ПИН подсоединения ИК приемника
const uint32_t kBaudRate = 115200; // Скорость соединения с последовательным портом
const uint16_t kCaptureBufferSize = 1024; //  Размер буфера

// kTimeout - задержка в милисекундах для в получении нескольких пакетов сообщений
// ИК протоколы кондиционеров часто используют значение 20-40 мс

#if DECODE_AC
const uint8_t kTimeout = 50; // Задержка в милисекундах для получения нескольких пакетов сообщений
#else
const uint8_t kTimeout = 15;
#endif

const uint16_t kMinUnknownSize = 12; // Минимальный размер неизвестных случайных данных, позволяет снизить инфракрасный шум

IRrecv irrecv(kRecvPin, kCaptureBufferSize, kTimeout, true);
decode_results results;

void setup() {
#if defined(ESP8266)
  Serial.begin(kBaudRate, SERIAL_8N1, SERIAL_TX_ONLY);
#else
  Serial.begin(kBaudRate, SERIAL_8N1);
#endif
  while (!Serial)  // Ожидание установления соединения с последовательным портом
    delay(50);
  Serial.printf("\nОжидаем ИК сигнал для его считывания, ПИН: "
                "%d\n", kRecvPin);
#if DECODE_HASH
  irrecv.setUnknownThreshold(kMinUnknownSize);
#endif
  irrecv.enableIRIn();
}

void loop() {
  // Проверяем, есть ли ИК код
  if (irrecv.decode(&results)) {
    // Display a crude timestamp.
    uint32_t now = millis();
    Serial.printf("Timestamp : %06u.%03u\n", now / 1000, now % 1000);
    if (results.overflow)
      Serial.printf(
        "Предупреждение: ИК код превышает буфер (>= %d). "
        "Полученные значения неверные, увеличьте буфер kCaptureBufferSize.\n",
        kCaptureBufferSize);
    Serial.println("Library : v" _IRREMOTEESP8266_VERSION_ "\n");
    Serial.print(resultToHumanReadableBasic(&results));

    String description = IRAcUtils::resultAcToString(&results);
    if (description.length()) Serial.println("Description: " + description);
    yield();

    Serial.println(resultToTimingInfo(&results));
    yield();

    Serial.println(resultToSourceCode(&results));
    Serial.println();
    yield();
  }
}
 
20:33:49.304 -> Timestamp : 000006.934
20:33:49.304 -> Library : v2.7.18
20:33:49.304 -> 
20:33:49.304 -> Protocol  : UNKNOWN
20:33:49.304 -> Code      : 0x207ECAA8 (106 Bits)
20:33:49.337 -> Raw Timing[211]:
20:33:49.337 ->    +  8930, -  4556,    +   496, -  1730,    +   494, -  1732,    +   494, -   606, 
20:33:49.337 ->    +   492, -   606,    +   492, -   606,    +   494, -   604,    +   494, -  1730, 
20:33:49.337 ->    +   494, -  1732,    +   492, -  1732,    +   492, -  1732,    +   494, -  1732, 
20:33:49.372 ->    +   492, -  1734,    +   492, -   606,    +   492, -   582,    +   518, -   606, 
20:33:49.372 ->    +   494, -  1732,    +   494, -   604,    +   492, -   606,    +   494, -   606, 
20:33:49.372 ->    +   494, -   606,    +   494, -   604,    +   494, -   606,    +   492, -   606, 
20:33:49.372 ->    +   492, -   604,    +   494, -   606,    +   494, -   608,    +   490, -   604, 
20:33:49.372 ->    +   494, -   606,    +   494, -   606,    +   492, -   606,    +   494, -   606, 
20:33:49.405 ->    +   492, -   606,    +   494, -   608,    +   490, -   608,    +   492, -   606, 
20:33:49.405 ->    +   494, -   610,    +   490, -   606,    +   492, -  1732,    +   494, -   604, 
20:33:49.405 ->    +   494, -   606,    +   494, -   608,    +   492, -   578,    +   520, -   606, 
20:33:49.405 ->    +   494, -   606,    +   494, -   606,    +   492, -   606,    +   494, -  1732, 
20:33:49.440 ->    +   494, -   606,    +   494, -   606,    +   492, -   606,    +   494, -   608, 
20:33:49.440 ->    +   490, -   606,    +   492, -   608,    +   492, -  1736,    +   490, -   606, 
20:33:49.440 ->    +   492, -   606,    +   494, -   606,    +   492, -   632,    +   466, -   606, 
20:33:49.440 ->    +   492, -   580,    +   520, -   604,    +   494, -   606,    +   494, -   606, 
20:33:49.440 ->    +   492, -   606,    +   492, -   608,    +   490, -   606,    +   492, -   608, 
20:33:49.474 ->    +   492, -   606,    +   492, -   608,    +   492, -   606,    +   492, -   606, 
20:33:49.474 ->    +   492, -   606,    +   494, -   606,    +   492, -   606,    +   494, -   606, 
20:33:49.474 ->    +   492, -   608,    +   492, -   606,    +   494, -   606,    +   492, -   608, 
20:33:49.474 ->    +   492, -   606,    +   492, -   608,    +   492, -   606,    +   492, -   606, 
20:33:49.507 ->    +   494, -   606,    +   494, -   604,    +   494, -   606,    +   494, -   606, 
20:33:49.507 ->    +   494, -   606,    +   494, -  1730,    +   494, -   608,    +   490, -  1734, 
20:33:49.507 ->    +   492, -   606,    +   494, -   606,    +   494, -   606,    +   494, -   578, 
20:33:49.507 ->    +   520, -   606,    +   492, -  1730,    +   494, -  1732,    +   494, -  1732, 
20:33:49.507 ->    +   520, -   580,    +   494, -  1732,    +   492, -   604,    +   496, -  1732, 
20:33:49.541 ->    +   492, -  1732,    +   520
20:33:49.541 -> 
20:33:49.541 -> uint16_t rawData[211] = {8930, 4556,  496, 1730,  494, 1732,  494, 606,  492, 606,  492, 606,  494, 604,  494, 1730,  494, 1732,  492, 1732,  492, 1732,  494, 1732,  492, 1734,  492, 606,  492, 582,  518, 606,  494, 1732,  494, 604,  492, 606,  494, 606,  494, 606,  494, 604,  494, 606,  492, 606,  492, 604,  494, 606,  494, 608,  490, 604,  494, 606,  494, 606,  492, 606,  494, 606,  492, 606,  494, 608,  490, 608,  492, 606,  494, 610,  490, 606,  492, 1732,  494, 604,  494, 606,  494, 608,  492, 578,  520, 606,  494, 606,  494, 606,  492, 606,  494, 1732,  494, 606,  494, 606,  492, 606,  494, 608,  490, 606,  492, 608,  492, 1736,  490, 606,  492, 606,  494, 606,  492, 632,  466, 606,  492, 580,  520, 604,  494, 606,  494, 606,  492, 606,  492, 608,  490, 606,  492, 608,  492, 606,  492, 608,  492, 606,  492, 606,  492, 606,  494, 606,  492, 606,  494, 606,  492, 608,  492, 606,  494, 606,  492, 608,  492, 606,  492, 608,  492, 606,  492, 606,  494, 606,  494, 604,  494, 606,  494, 606,  494, 606,  494, 1730,  494, 608,  490, 1734,  492, 606,  494, 606,  494, 606,  494, 578,  520, 606,  492, 1730,  494, 1732,  494, 1732,  520, 580,  494, 1732,  492, 604,  496, 1732,  492, 1732,  520};  // UNKNOWN 207ECAA8

Так выдало, при получение команды