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

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

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 06.06.16.

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    delay в прошивке - зло злющее, она, по сути, сейчас работает в режиме псевдомногозадачности, для этого и применена yield - внутри неё я дополнительно делаю критичные ко времени выполнения операции. Суть: если ваш код долго занят какой-то обработкой, то надо периодически дёргать yield, чтобы дать прочухаться другим модулям, например, для вычитки данных из буфера UART, чтобы он не протух.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Разумно. Впрочем, как вы понимаете - я делаю так, чтобы в прошивке можно было отключить ненужные части, так что каждый настроит, как хочет: кому на ThingSpeak через ESP, кому - не надо, я не настаиваю ;) Для меня главное - это откатать прошивку на как можно бОльшем числе пользователей - хочется сделать реально качественную прошивку, чтобы была и функциональной и, по возможности, с минимальным количеством глюков.

    Для себя уже понял, что такие вещи быстро не делаются - как бы успеть в отведённый для проекта срок уложиться :|:
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Пошёл шерстить настройки EEPROM - надо выяснить, найду я где-нибудь байт 100 свободных, или нет - уж очень хочется вынести настройки IoT в конфигуратор, чтобы можно было указывать датчики. Если найду - придётся ещё раз перепахивать код :) - сейчас там всё на директивах условной компиляции, ну да не беда - приделаем ;)
     
  4. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Жду заморозки проекта по железу, хотя-бы по пинам, заманали эти кучи проводов и с котами бороться :). Пока все лежит в коробке. Как заморозится сразу присоединюсь к тестерам
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Урря, есть место в EEPROM - настройки пока занимают 150 байт, а следующие - начинаются с 400 адреса, можно вытащить настройки ThingSpeak в EEPROM.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Ну там по железу практически всё уже - в четвёртой версии платы уже вроде всё предусмотрено - и управление питанием внешних модулей, и косячки вроде повыловлены. Но подождать чуть придётся всё равно ;)
     
  7. Вшуьщт1991
    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11

    Вшуьщт1991

    Участник

    Вшуьщт1991

    Участник

    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11
    Вдогонку вопрос. Почему READY_DIODE жестко зашит на 6 пин? Неудобно...
    И второе - иногда проскакивают значения "-128", с DS18B20 как минимум. Наверное нужно пропускать запись этого значения в thingspeak, если оно -128 (ошибка чтения с датчика). Над логикой подумать нужно еще...
     
    Последнее редактирование: 16.03.17
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

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

    По второму вопросу: -128 - это "нет данных" с датчика, в этом случае данные на IoT для такого датчика не уходят.
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Сделал поддержку настройки IoT, осталось в конфигураторе запилить вкладку, надеюсь, за сегодня/завтра чего-то будет интересного уже. Максимум 8 датчиков можно будет в IoT-хранилище отправлять, думаю, этого за глаза для большинства проектов.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Вынес в настройку, в следующем пакете обновлений будет уже удобно :)
     
  11. Вшуьщт1991
    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11

    Вшуьщт1991

    Участник

    Вшуьщт1991

    Участник

    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11
    @DIYMan,
    А зачем питание esp перетыкать. У неё же есть пин "reset", который к земле нужно подтягивать для перезагрузки. Иль он как-то неправильно работает?
     
  12. Вшуьщт1991
    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11

    Вшуьщт1991

    Участник

    Вшуьщт1991

    Участник

    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11
    @DIYMan, заметил один нюанс. После того, как зависла отправка данных на thingspeak, я подключился к меге конфигуратором и нажал кнопку "перезагрузить". Отправка данных возобновилась. Из чего я делаю вывод, что это не ESP зависла, а заглючило что-то в коде.
    Как сымитировать эти-же действия, но уже без перезагрузки всего контроллера (и закрывания окон)?
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Ну так а что это меняет, по большому-то счёту? ;) Юзайте пин reset для перезагрузки, не вопрос - функционал такой прошивка предоставляет.
     
  14. SportMaster
    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961

    SportMaster

    Живу здесь

    SportMaster

    Живу здесь

    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961
    Адрес:
    Петрозаводск
    @DIYMan, по поводу web-морды ... может имеет смысл посмотреть в сторону ОН (OpenHab).
    - увеличение стоимости проекта на ~20$
    + универсальность
    +доступ из ВНЕ через myopenhab
    +готовый клиент под android
    +достаточно легкая интеграция с ардуино и др. сервисами

    P. S.
    в свое время, в январе 2016 заказал свою первую ардуино (YUN), достаточно быстро описал логику и парсер команд (во многом благодаря @DIYMan) для своих задач.
    Но тоже встал вопрос управления через веб ... ajax, bootstrap ...
    в результате заказал Orange Pi PC Plus, на нем поднял ОН 1.8.х - 3 недели полет нормальный.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Во-первых, надо посмотреть в отладочном режиме, на каком моменте зависло - и попытаться понять, что происходило: лучше поправить в коде, мне кажется. Во-вторых, если ESP долго не будет отвечать на команду - прошивка её перезагрузит, для этого достаточно юзать пин перезагрузки в настройках модуля WI-FI.

    Смотрите отладочный режим - функционал новый, ещё сырой, ессно.

    Я погоняю подольше на локальном серваке, он отвечает 404-й ошибкой с текстом страницы, постараюсь выловить, чего там происходит.
     
    Последнее редактирование: 16.03.17
Статус темы:
Закрыта.