1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 9

Arduino Mega. Контроллер теплицы. Хроники - 3.0

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @olegmak3, короче, это надо ловить, я сходу не скажу, почему так. Лог-файл бы из монитора порта за длительное время - было бы чудесно.

    Дело может быть не в SIM800, а в логике: где-то при каких-то условиях не отпускается или неправильно обрабатывается статус при работе с HTTP через SIM800. Возможно, я неправильно какую-то команду анализирую, возможно - связь у вас по GPRS плохая и где-то вываливается по таймауту, а я это не учёл - короче, причин может быть много.

    Под SIM800 я тестировал не сказать чтобы поверхностно, но и не утверждаю, что при любых условиях. Тестирование было довольно плотное, но это не значит, что все нюансы были исключены, т. к. тестировал, по факту, в рафинированных условиях.
     
    Последнее редактирование: 17.04.18
  2. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Попробую.
    Что раскомментировать в прошивке?
     
  3. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    @DIYMan Дмитрий, подскажите можно ли как то в прошивке настроить что бы после ручного изменения параметра по mqtt ответом приходил не только топик-ответ но и тот измененный параметр вне очереди?
    К примеру отправляю команду выключить полив на первом канале, и в ответ тут же что б прихтодило
    TEPLICA/REPORT/WATER OK|OFF|0
    и
    TEPLICA/WATER1CH 0|OFF

     
    Последнее редактирование: 17.04.18
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    GSM_DEBUG_MODE
    HTTP_DEBUG
    в Configuration_DEBUG.h
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Для вкл/выкл канала полива и так возвращается этот канал в ответе, емнип:

    Код:
    PublishSingleton.Flags.Status = true;
              PublishSingleton = STATE_OFF;
              if(argsCount > 1)
              {
                PublishSingleton << PARAM_DELIMITER;
                PublishSingleton << command.GetArg(1);
              }         
    Этот код вернёт в поток OK=WATER|OFF|Тут_номер_канала, если запросили CTSET=WATER|OFF|Тут_номер_канала. В топике REPORT будет и номер канала.
     
  6. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Я имел ввиду немного другое. Что бы пользовательский топик связанный с изменяемым параметром (если таковой настроен) приходил вне очереди.
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @olegmak3, есть мысль, что может падать GPRS-соединение, у мну этот нюанс пока никак не обыгрывается. Очень поможет лог-файл, просто очень. Можно сделать так: прицепить контроллер по USB к компу, на компе запустить Terminal, и там назначить вывод сразу в файл - пущай в файл на диске пишет, до победного. А я бы проанализировал и хотя бы примерно понял, в чём дело ;)
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Топик REPORT и так обрабатывается вперёд топиков для публикации: как только вы отослали команду, сразу следом по факту обработки команды придёт топик REPORT. Или я чего не понял опять?
     
  9. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    REPORT Да. Сразу. Но вот еще бы следом что б шел пользовательский.
    Нужно для интеграции с умным домом) Я думал что там всего парой строк кода можно обойтись, но видимо все не так просто)
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Какой такой пользовательский? Как вы себе это представляете? Теоретически можно подумать, но для начала надо понять, что именно надо.
     
  11. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Один из этих: 2018-04-17_23-29-43.png
    Т. е. если прилетел топик управления, проверяем связан ли он с одним из этих топиков, если связан, отправляем в ответ после REPORT этот топик вне очереди). Как то так.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Проблем-с. И что-то мне подсказывает, что вы хотите ненужную семантику. Зачем вам этот топик вне очереди?
     
  13. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Нужно для мгновенного получения актуального статуса. Что бы не отслеживать оба топика (REPORT и мой) т. к. репорт приходит только при ручном изменении параметров, а если параметр изменен автоматическим режимом работы контроллера, статус приходит только в пользовательском топике
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Дело в том, что топики хранятся в файлах на SD, и, не читая топик, нельзя сделать вывод, о чём он. Поэтому топики отсылаются последовательно, от файла к файлу. Что там будет изменено и каким способом - автоматическим ли режимом или ручным - сие неведомо и неформализуемо в принципе, навесить на это какую-то дополнительную логику - я не могу.
     
  15. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Жаль! Буду мудрить на стороне сервера УД. Спасибо Дмитрий! :hello:
     
Статус темы:
Закрыта.