Скрыть объявление
Управляйте вашими ESP8266 и другими устройствами прямо с телефона из любой точки мира, где есть интернет!
Подробности и обсуждение IoT Manager в этой теме. Официальный сайт приложения и документация IoTmanager.ru
Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

esp-01 relay (включение реле)

Тема в разделе "ESP8266 Arduino IDE", создана пользователем abonec, 10 авг 2017.

  1. abonec

    abonec Новичок

    Сообщения:
    7
    Симпатии:
    0
    Добрый день. Пишу телеграм бота для включения сервера. Для этого использовал raspberry, но данное решение очень громоздкое и некрасивое.

    Подумал, что можно тоже самое реализовать на esp8266. Для этого преобрел с релюхой вот тут:
    ESP8266 сети WI FI реле Модуль Интернет вещей (IOT) Приложение контроллер реле 5 В 10A 7 30 В DC/250 В AC для домашней автоматизации купить на AliExpress

    Прошил в него через platform.io ардуиноподобный скетч и запустил в нем телеграм бота из примеров.
    Последнее и самое важное - включение реле. Никак не понимаю, как это сделать. Перепробовал все пины, но включается только led на модуле. Как мне найти нужный пин для включения реле?
    esp8266_telegram.cpp · GitHub

    Бот выходит в сеть, отзывается на команды, но не включает реле никаким образом.

    Опыта у меня совершенно нет, возможно я делаю что-то совершенно неверно.
     

    Вложения:

    • esp8266.png
      esp8266.png
      Размер файла:
      711,5 КБ
      Просмотров:
      12
  2. abonec

    abonec Новичок

    Сообщения:
    7
    Симпатии:
    0
    Как я понимаю это esp-01 и у него всего четыре пина, для теста которых я написал команды. Но ни один из них не отзывается.
     
  3. kalobyte

    kalobyte Новичок

    Сообщения:
    33
    Симпатии:
    0
    посмотреть по плате
    обычно у того модуля в твоей плате только 2 контакта доступны 0 и 2
     
  4. abonec

    abonec Новичок

    Сообщения:
    7
    Симпатии:
    0
    Как я понимаю, 0 и 2 пины с обратной стороны это два центральных пина справа (если смотреть на аттачмент), находящихся ближе к рамке с логотипом производителя. По нему непонятно куда они ведут.

    К тому же я пробовал передвать в digitalWrite все числа от 0 до 4. Результата никакого. Возможно нумерация неверная. Так как в arduino фреймворке для esp8266 digitalwrite(pin, HIGH) выключает пин, а low - включает. Возможно есть еще какие-то несостыковки.
     

    Вложения:

  5. kalobyte

    kalobyte Новичок

    Сообщения:
    33
    Симпатии:
    0
    а так и должно быть, там гпио0 должен быть поднят к питания при старте, а то запустится встроенный загрузчик
    отсюда выходит, что реле всегда включено по умолчанию, если там не установлено 2 транзистора

    ты подай команду для 0 вывода и посмотри напряжение на самом модуле
    или для теста загрузи готовую прошивку WiFi-IoT Firmware Builder :: GPIO

    может быть там реле дохло, транзистор, непроай где-то или еще что
     
  6. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    787
    Симпатии:
    114
    UART на скорости 9600

    Код (Text):
    1. // -------------- Для управления реле по UART
    2. // https://www.banggood.com/ru/ESP8266-5V-WiFi-Relay-Module-Internet-Of-Things-Smart-Home-Phone-APP-Remote-Control-Switch-p-1126605.html?rmmds=category
    3.  
    4. void toggleRelay(bool relayState) {
    5.   if (relayState) {
    6.     const byte miBufferON[] = {0xA0, 0x01, 0x01, 0xA2};
    7.     Serial.write(miBufferON, sizeof(miBufferON));
    8.   }
    9.   else {
    10.     //To disable the Relay send it by serial port:
    11.     const byte miBufferOFF[] = {0xA0, 0x01, 0x00, 0xA1};
    12.     Serial.write(miBufferOFF, sizeof(miBufferOFF));
    13.   }
    14. }
     
  7. abonec

    abonec Новичок

    Сообщения:
    7
    Симпатии:
    0
    Благодарю. Это сработало. Вот рабочий пример.
    Код (C):
    1. #include <Arduino.h>
    2. void setup()
    3. {
    4.     Serial.begin(9600);
    5.     pinMode(2, OUTPUT);
    6.     digitalWrite(2, 0);
    7. }
    8. void toggleRelay(bool relayState)
    9. {
    10.     if (relayState)
    11.     {
    12.         const byte miBufferON[] = {0xA0, 0x01, 0x01, 0xA2};
    13.         Serial.write(miBufferON, sizeof(miBufferON));
    14.         // val = 1;
    15.     }
    16.     else
    17.     {
    18.         //To disable the Relay send it by serial port:
    19.         const byte miBufferOFF[] = {0xA0, 0x01, 0x00, 0xA1};
    20.         Serial.write(miBufferOFF, sizeof(miBufferOFF));
    21.         // val = 0;
    22.     }
    23. }
    24. void loop()
    25. {
    26.     toggleRelay(true);
    27.     delay(500);
    28.     toggleRelay(false);
    29.     delay(500);
    30. }
    Правда я не понимаю, как реле может работать по серийному порту. Поидее, для этого же нужна отдельная микросхема? Может ею быть stc15f104w? Не очень понимаю, зачем она нужна, больше на плате с реле ничего нет.
     
  8. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    787
    Симпатии:
    114
    Там на плате и стоит отдельная микросхема. К ней подключено реле и esp8266 по uart. Какие то причины побудили автора так сделать.
    Мало того в этих платах установлена ESP-01 с 512кб памяти, если заменить на плату с 1мБ, то можно прошить нашей прошивкой.
    Если телеграмм бот может отправлять данные на MQTT, то вполне можно управлять этой релюхой в ваших целях.
     
  9. abonec

    abonec Новичок

    Сообщения:
    7
    Симпатии:
    0
    Этим должен заниматься stc15f104w, больше некому.
    Не очень понимаю, зачем мне в данном случае mqtt. Я просто включаю реле по команде с бота. Вот что у меня, в итоге, получилось:
    GitHub - abonec/telegram_relay_esp8266
     
  10. maxbol376

    maxbol376 Новичок

    Сообщения:
    1
    Симпатии:
    0
  11. dens96

    dens96 Новичок

    Сообщения:
    3
    Симпатии:
    1
    Есть альтернативный вариант использования этого девайса с выпаиванием 15f104w. Технология описана здесь. Я переделал все свои девайсы, залил прошивку nodemcu - все отлично работает. Колхоз, конечно, но не выкидывать же устройство :).
     

Поделиться этой страницей