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.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Да это понятно, что можно попробовать. Но уже терзают смутные сомнения - а надо ли? Потому что ситуация с дедлоком - это, как бы сказать, тоже архитектурный косяк: не должно в нормальной системе происходить такого, когда при запрошенном коннекте в один слот туда же приходит другой коннект из внешнего мира.

    Я пока попробую своими кривыми ручками реализовать часть команд, которые используются в прошивке, а если не получится - что ж, будем надеяться на китайцев.
     
  2. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Добрый день!
    Подскажите, есть ли возможность по MQTT получать данные с датчиков расхода воды?
     
  3. tchernyavsky
    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160

    tchernyavsky

    Живу здесь

    tchernyavsky

    Живу здесь

    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160
    Обнаружилась проблема: При передёргивании питания DUЕ зависает! То-есть, если выключить и потом включить питание - зависает, пока не нажмёшь на кнопку Rеset? Если питание не трогать, то всё норм! Сначала думал, что проблема как у Сергея (7" TFT дисплей был подключен на прямую), но сегодня получил шилд- переходник СТЕ 1,04, подключил дисплей через него, но прблема осталась! На Меге такой проблемы не было правда и экранчик там был LCD 128х64 ...:|: Так-что шилд, и не нужен (ИМХО лишняя деталь! Но нужно ещё испытать SD карту на нём! Может заработает?):(, Подскажите: куда копать? :faq:
    Может и сам разберусь. Просто сейчас подключены только часы, остальные железки - нет (нужно внимательно всё подключать, ведь на DUE 3.3 вольтовая логика), может в этом затык? Но кмк - не должно зависать! :|:
     
    Последнее редактирование: 02.03.18
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Зависание DUE известная проблема. Есть четыре точки, вызывающее зависание и даже стирание прошивки.
    1) Цепь сброс контроллера - резистор 100 ком и конденсатор 10n. Иногда уровень на входе сброса зависает в пределах 1,5 вольта (смотрел осциллографом) и контроллер переводится в неопределенное состояние.
    Я уменьшал резистор до 10 ком. На некоторых платах оставлял 100 ком. - работает. Неопределенность - не хорошо! Буду копать, как говорит, вернее пишет Дмитрий.
    2) Следующая цепь - стирание памяти перед прошивкой. Транзистор FDN340 (параллельно кнопке).
    Достаточно помехи, особенно при передергивании питания, и прошивка может слететь.
    Так же может не прошиваться пока вручную (кнопкой) не стереть память. Это обязательная процедура при загрузке программы. Эти занимается Atmega 6U2 (порт Prog) или снижение скорости порта до 1200 (порт Native). Таким образом микроконтроллер "понимает", что загружают прошивку и самостоятельно стирает память. Иногда не понимает, в этом случае стирают кнопкой.
    Иногда нужна "карусель" между USB портами что бы прошить контроллер. При отладке устройства временно удаляю транзистор. При постоянной работе он не нужен, только при загрузке программы.
    3) Достаточно на вход RX (SAM3X8E) подать низкий уровень при включении (от Atmega 6U2) и контроллер по порту Native не будет определятся на ПК (неизвестное устройство). Решения проблемы пока нет, передергиваем питание для перезапуска Atmega 6U2 (он управляет сигналом RX). Мысли есть как решить, но пока не проверил.
    4) Буквально сегодня определил. Дисплей TFT (2.0 дюйма, подключен по стандарту) в одном из проектов периодически, веренее часто блокировал работу микроконтроллера при включении питания.
    При включении в setup команды принудительного reset дисплея устранила проблему.
    Как зависание дисплея блокировало работу микроконтроллера не выяснял, исчезла ошибка - ну и хорошо.
     
    Последнее редактирование: 02.03.18
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Не помню, но вроде пока нет.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Первые новости по своей "AT-прошивке": вроде предварительно заработало, но - тоже не без нюансов: копаться в SDK большого желания нет, а библиотека ESP8266WiFi - не безгрешная, тоже постоянно в разработке. Как пример - иногда у меня очень долго идёт коннект к сети. Но на основные команды уже реагирует, видно, что работают и внешние запросы, и внутренние.

    Поддержку для Arduino IDE устанавливал отсюда: https://arduino.esp8266.com/stable/package_esp8266com_index.json

    Надо пойти в "Настройки", и прописать эту ссылку в поле "Дополнительные ссылки для менеджера плат". Потом пойти в "Инструменты->Плата->Менеджер плат", дождаться, пока всё прогрузится, ввести в поле поиска ESP, и там будет "esp8266 by ESP8266 Community" - вот последнюю версию 2.4.0 и устанавливал.

    Так что кому интересно - пока можете настроить Arduino IDE, а я ещё побалуюсь чуть, проверю, как работает прошивка, и выложу, когда всё будет ОК.

    Кому не терпится - приложил тестовую версию прошивки, проверял на NodeMCU v. 1.0 c ESP-12E на борту. Сделал разделение просто: если извне приходит запрос (например, из вебморды) - то смотрится, есть ли хотя бы один свободный слот исходящих клиентов. Если есть - тады ок, входящий клиент принимается. Если нет - входящий клиент рубится наглухо.

    В папке DOCS приложенного архива есть файлик с последовательностью команд - там, правда, данные моего роутера, ну да поменяете, не беда ;) Протестировать ручками из монитора порта можно именно на данной последовательности команд - и пингуется, и к гуглю запрос делал, и он мне возвращал HTML - короче, вроде пашет, ттт.

    Буду очень признателен, если про протестирует работу контроллера с этой прошивкой, не всё же мне одному :|:

    З. Ы. Ясное дело, что там ещё ошибки есть, но всё же - уже есть, от чего отталкиваться...
     

    Вложения:

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Вот примерный диалог с новой прошивкой:
    Прошу заметить, что в отличие от китайской прошивки событие "0,CONNECT" приходит ПОСЛЕ OK, а не вклинивается по центру. У китайцев работает так:

    Что совершенно не логично - мы ещё не завершили команду, а уже ВНЕЗАПНО клиент подконнектился.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Ахах, подключил свою ESP-07, что на отладочной плате, через USB-TTL-конвертер, открыл терминалку, а там:
    Плыли мы плыли, плыли мы плыли, вот на берегу только - оказалось, что древнючая AT-прошивка :)]:aga:

    Сегодня буду пробовать залить самопальную ;)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    ESP успешно прошилось самописной прошивкой, сегодня предстоит долгое тестирование. Скрестим пальчики на удачу ;)
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Прошивку допилил, сейчас тестируется в дебаг-режиме. Если за часок ничего не вылетит - переведу в нормальный режим, протестирую, как с конфигуратором, и если всё норм - то выложу обновы.

    Удалю совместимость со штатными AT-прошивками, учтите. В настройках будет сказано, что да как - прошить ESP своей прошивкой несложно, будет приложен файл README в папке с прошивкой ;)

    Заодно посмотрю, если получится - то в конфигуратор добавлю отсыл топика с расходом воды.

    И да - формат отсылаемых топиков изменился чуть - теперь перед именем топика всегда добавляется ID клиента: т. е. если у вас клиент MQTT носит имя TEPLICA, вы добавили топик temperature, то в брокере появится TEPLICA/temperature - стало намного логичней, кмк.

    Короче, тестирую, выводы делать пока рано ;)
     
  11. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    @DIYMan, тогда бы не помешало добавить расходометр и в универсальный, для полноты
     
  12. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Дмитрий спасибо вам огромное!
    Завтра постараюсь прошить если выложите прошивку. Подскажите как теперь будет происходить управление по mqtt. Я так понимаю если мне, нужно включить пин10 -
    топик: TEPLICA/PIN10
    Сообщение: ON ?
     
  13. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    A статус она будет выдавать в таком же топике? Мне кажется это более универсально чем было.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Не, пока без этого ;)
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Нет. Топик TEPLICA/SET/PIN/10, сообщение ON. Можно просто топик TEPLICA/SET/PIN/10/ON

    В конфигураторе, строго говоря, есть мал-мала помощь по топикам, которые понимает контроллер. Видов топика два: SET и GET, перед ними - имя клиента, на примере клиента TEPLICA - это топики TEPLICA/SET/... и TEPLICA/GET/...
     
Статус темы:
Закрыта.