Esp8266 виснет с Blynk. Эсперимент из брошюры IOT

Тема в разделе "ESP8266, ESP32", создана пользователем Peter _1, 13 май 2019.

  1. Peter _1

    Peter _1 Нуб

    Добрый день!
    Подскажите, пожалуйста, куда копать?
    Собрал последний эксперимент из брошюры "интернет вещей". Все сделал как описано. Все работает, но сервис через некоторе время перестает работать, светодиод не меняет цвет и яркость, пока не перезагрузишь Esp8266 кнопкой reset. После перезагрузки работает некоторое время (несколько часов) и опять перестает работать

    Скетч из брошюры для платы ардуино:
    Код (C++):
     int ledR = 3;
    int ledG = 5;
    int ledB = 6;

    void setup() {
        Serial.begin(115200);
    }

    void loop() {

       String command = Serial.readStringUntil('\n');

         if (command.length() > 0) {
              int led;

        if (command[0] == 'r') {
            led = ledR;
        }
        if (command[0] == 'g') {
            led = ledG;
        }
        if (command[0] == 'b') {
            led = ledB;
        }

        String brightness = command.substring(1);
    analogWrite(led,  brightness.toInt());
         }
    }


    Скетч для esp8266

    Код (C++):
    #include <ESP8266WiFi.h>

    #include <BlynkSimpleEsp8266.h>


    char auth[] = "токен_blynk";

    char ssid[] = "имя_твоего wi-fi";

    char pass[] = "пароль_wi-fi";


    void setup() {

    Serial.begin(115200);

    Blynk.begin(auth, ssid, pass);

    }


    void loop() {

    Blynk.run();

    }


    BLYNK_WRITE(V1) {

    int redValue = param[0].asInt();

    int greenValue = param[1].asInt();

    int blueValue = param[2].asInt();


    Serial.print("r");

    Serial.println(redValue);

    Serial.print("g");

    Serial.println(greenValue);

    Serial.print("b");

    Serial.println(blueValue);

    }

     

    Пробовал менять скорость на 9600. То же самое
     
    Последнее редактирование: 13 май 2019
  2. parovoZZ

    parovoZZ Гуру

    В строчке №125 ошибка.
     
  3. Peter _1

    Peter _1 Нуб

    И какая?
     
  4. NikitOS

    NikitOS Король шутов Администратор

    Ее нет :D
     
  5. Peter _1

    Peter _1 Нуб

    Ога. Точно нет. А в чем проблема тогда?
     
  6. parovoZZ

    parovoZZ Гуру

    так в этом и проблема.
     
  7. Peter _1

    Peter _1 Нуб

    Мож по делу кто что скажет?
     
  8. ИгорьК

    ИгорьК Гуру

    Попробую.
    1. Вряд ли (огромная доля вероятности!) здесь есть люди, которые повторяли этот "эксперимент".

    2. Программирование микроконтроллеров не есть повторение "экспериментов" - это детская забава. Из завсегдатаев форума этим никто не занимается. Этот набор с его брошюрой, скорее всего, вообще никто в глаза не видел.

    3. Если вы занялись МК - вместо "повторения" изучайте (а) язык С/С++ и (б) техническую документацию на тот модуль с которым вы работаете.

    4. В документации указано как работать с модулем, следовательно, вы ОБЯЗАНЫ (в конце концов) понять как работает соответствующая библиотека и нет ли в ней (да, да!) - косяков.

    5. Вы, также, должны правильно и качественно сделать все соединения, часто и в этом бывает проблема.

    Как вывод - спасение утопающих, дело рук самих утопающих. Проверять за вас библиотеки, которыми вы пользуетесь (особенно BlynkSimpleEsp8266.h) - вряд ли кто будет.
    Потому что вы в настоящий момент играетесь, а не занимаетесь программированием МК. Возможно эта игра кому-то и будет интересной, но шанс мал.

    Все ИМХО.
     
    Daniil и parovoZZ нравится это.
  9. Airbus

    Airbus Радиохулиган Модератор

    Чота не понял что первый скетч делает.На втором ведь Blynk?Установите приложение на смартфон и будет Вам Щастье!С него можно RGB светодиодами управлять.Там даже инструмент есть ZERGBA назывпется.
     
  10. Peter _1

    Peter _1 Нуб

    Конечно все со смартфона управляется и все работает со смартфона. Но стабильной работы хватает на день. Потом перестает работать, до резета на модуле
     
  11. Peter _1

    Peter _1 Нуб

    Спасибо большое за дельный ответ.
    Но, навряд ли я разберусь есть ли косяки в библиотеке? Это пока для меня сложно.
    Хорошо, начнем с начала.
    1. В скетчах на Ваш взгляд все правильно, нет там какой-нибудь критической ошибки?
    2. Соединения, конечно, могут сбоить, так как все на макетке собрано и перемычками из набора. Могу и пропаять все.
    3. Хочется понять, что все-таки происходит с самим esp8266? Что именно и на каком этапе перестает работать? Почему после резета все работает в течении суток и опять затыкается.
    4. Подскажите, пожалуйста, как можно мониторить работу модуля и определить на каком этапе и где он затыкается? И как определить что проблема в библиотеке или где-нибудь еще?
     
  12. ИгорьК

    ИгорьК Гуру

    Нет ошибок, оно не заработало бы или быстро вылетало.

    А оно вам надо? Если реально надо - надо паять.

    Поскольку скетчи простейшие - или контакты, или броски питания, или библиотека.

    Экспериментально для проводов и питания - запустите какой-нибудь другой скетч но на этом же железе и пусть молотит. Посмотрите что будет через сутки. Выводите в порт что-нибудь, чтобы было видно что прошел рестарт.
     
  13. Peter _1

    Peter _1 Нуб

    Понял, спасибо. Попробую от внешнего БП запитать. Сейчас запитан от порта USB компа, который в спящем режиме. Возможно, что ток ограничен в спящем режиме . Попробую еще другой скетч залить.

    Еще хотел уточнить, если можно. Имеет значение, чем работать с esp8266? В моем случае это ардуиновская платформа. Читал, что Вы рекомендуете lua. Это принципиально?
     
  14. parovoZZ

    parovoZZ Гуру

    Да. Если работать c SDK, то туда можно залить приличного слона. Если работать с интерпретатором кода, то поместится только хвост. Ну, уши ещё.
    Если хочется хорошего быстродействия, то это только SDK. В абдурине скорость загрузки сайта падает в 10(!) раз. Можно ли на LUA сверстать сайт - не знаю. Для ногодрыгалки ESP8266 слишком избыточна.
     
  15. Airbus

    Airbus Радиохулиган Модератор

    Когда у меня началось такое-очередной (третий!) роутер полетел в помойку.После этого стало работать как надо.Как показывает практика (и не только моя)многое зависит от интернет соединения.Стоит ему прерваться даже кратковременно устройства заточеные под него зависают и помогает только передёргивание питания.Ну и да конечно хорошая пайка-залог успеха.
     
  16. ИгорьК

    ИгорьК Гуру

    И, главное, ответьте себе на вопрос - зачем вы этим занимаетесь?
    Зависит от того, для чего вам это надо.

    Если вы собираетесь быть крутым программистом (это не @parovoZZ - он на абдурино учился и никак ее не забудет), то вам надо изучать Си/Си++, начиная с ардуиновской платформы и углубляя знания до SDK, который тоже на Си, но там все гораздо глубже.

    Что такое Си? Вот смотрите - проект товарища @parovoZZ : http://forum.amperka.ru/threads/Суперэкономичный-беспроводной-монитор-Т-и-rh.17221/

    Посмотрите внимательно на количество кода и всего вокруг него. Все что делает это устройство - передает показания пары датчиков.

    Если это вам нравится - вперед.

    Если ваша задача заключается в изготовлении устройств для дома, а не постижении глубин Си - пробуйте Lua.
    Смотрите сюда. Там я накидал (очень вежливо, а то народ обижается, если чуть веселее) отличия.

    Но! Lua - это ESP-8266 и потенциально Espruino - Iskra JS. Лично мне этого хватает за глаза.
     
  17. ИгорьК

    ИгорьК Гуру

    Можно. Зачем?
     
  18. ИгорьК

    ИгорьК Гуру

    Мои последние не всегда.
     
  19. Airbus

    Airbus Радиохулиган Модератор

    Так это же здорово!
     
  20. ИгорьК

    ИгорьК Гуру

    И, самое главное, они не виснут, а перегружаются и работают дальше, если уж совсем плохо.