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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Кстати сказать: если вам нужно каким-то образом периодически вне очереди получать состояние того же канала полива, то контроллер по MQTT понимает и топики GET, например, если опубликовать c_name/GET/WATER/1, где c_name - имя контроллера, то в топике REPORT вернётся статус второго канала полива, навскидку он будет таким: REPORT/WATER/1/[ON|OFF], последний параметр - статус, либо ON, если канал вкл, либо OFF, если канал выкл.

    Т. е. настроили откуда угодно периодическую публикацию такого топика - и всегда вне очереди получаете состояние нужного канала полива.
     
  2. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Опять же в REPORT. В него и так приходит при изменении состояния вручную;)
     
  3. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    В 7-ке терминала вроде нет.
    Есть на компе PuTTY 0.66-RU-16,но с ней не работал.
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Программа Terminal: https://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom - там есть кнопка Start Log, жмакаешь её, выбираешь папку, пишешь имя файла, далее весь вывод будет идти ещё и в файл. По остальному там понятно, кмк: кнопка "Connect", переключатели выбора скорости и т. п.
     
  5. tchernyavsky
    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160

    tchernyavsky

    Живу здесь

    tchernyavsky

    Живу здесь

    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160
    @DIYMan, При расскоментированом дебаг- режиме NRF возникает ошибка: fdevopen(&serial_putc, 0);
    в файле UniversalSensors. cpp Что я делаю не так?

    Arduino: 1.8.5 (Windows 7), Плата:"Arduino Due (Programming Port)"

    UniversalSensors. cpp: 2540: error: 'fdevopen' was not declared in this scope

    fdevopen(&serial_putc, 0);
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Я ещё не проверял дебаг-режим nRF под Due, пока не юзайте его просто. Как вы понимаете - под Mega и под Due разный инструментарий для компиляции, всё сразу проверить невозможно. Ещё раз повторюсь: пока пробуйте на Mega, т. к. Due - сейчас только в процессе разработки, её поддержка не полностью ещё отточена.
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    @tchernyavsky, обновил на гитхабе, можете перекачать прошивку - теперь компилируется при NRF_DEBUG под Due. Но ещё раз обращаю внимание, что nRF под Due я не проверял, будет ли оно работать там - хз, пока в ближайших планах такой проверки нет, т. к. для меня nRF не очень актуально, да и намучился я уже с ним порядком, если честно.
     
    Последнее редактирование: 18.04.18
  8. tchernyavsky
    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160

    tchernyavsky

    Живу здесь

    tchernyavsky

    Живу здесь

    Регистрация:
    27.03.16
    Сообщения:
    473
    Благодарности:
    160
    Раньше я писал, что из моей Меги воскурился дымок, и перепрошить её теперь можно только через программатор, и то с танцами... Поэтому, пока Китайцы пришлют другую, я извращаюсь с ДУЕ. Конечно, возникает много "косяков", некоторые вообще необъяснимы: нормальная загрузка - в 30% случаев, RS485 работать не хочет, поиск универсального модуля - успешно только 1 раз за целый день экспериментов...
    Зато жене очень понравился 7" дисплей, и мне было сказано, чтоб "всякие мелкие экранчики" я ни в коем случае не использовал, потому, что ей "не видно, что там пишут"!
    С прошивкой под Мегу 7" не катит, хотя? Ну, будет он обновляться с тормозами! Да и переходник от Меги к нему наверняка понадобится, Короче - со всех сторон облом! :close::flag:
     
    Последнее редактирование: 18.04.18
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Не, не катит, от слова "совсем" - она просто не справится с таким экраном.
    Завтра с Сергеем @HANTER333 запланировали проверку его платы под Due - как раз будем смотреть, как там с RS-485 и прочим.
     
  10. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    @DIYMan,
    Также при помощи топиков CLIENT_NAME/SET/... можно устанавливать любые настройки любого модуля прошивки. Дмитрий можете опубликовать эти самые топики? В частности интересует установка температуры открытия и закрытия окон.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Для температур открытия/закрытия: ClientName/SET/STATE/T_SETT/tOpen/tClose, где ClientName - имя MQTT-клиента контроллера, tOpen - температура открытия (целое число в диапазоне 0-255), tClose - температура закрытия (целое число в диапазоне 0-255).

    Пример:

    TEPLICA/SET/STATE/T_SETT/25/20

    Можно устанавливать по отдельности:

    TEPLICA/SET/STATE/TOPEN/25
    TEPLICA/SET/STATE/TCLOSE/20

    Первый пример - установить температуру открытия в 25, второй - температуру закрытия в 20. TEPLICA - имя MQTT-клиента контроллера.

    По остальным командам - лучше спрашивайте, их реально тонна, мне проще посмотреть в исходниках, чем сейчас писать огромадный документ :)

    З. Ы. С вас фото/видеоотчёт - чего там у вас получится намудрить ;) Очень интересно.
     
  12. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    @DIYMan, Спасибо большое за команды. Особо хвастаться нечем. Хочу все основные настройки перенести в Умный дом и управлять теплицей по MQTT т. к. айпишник на мобильном интернете (теплицы) серый и веб интерфейс не поможет в этом случае. А доехать и настроить пару параметров не всегда есть возможность)
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Не скромничайте ;) Как будет что показать - показывайте, думаю, будет многим интересно ;)
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Наконец-то добрался до LoRa: достал две китайские Due (поскольку у модуля LoRa питание на 3.3В, чтобы не корячиться для теста с конвертером уровней), распаял ножки на два китайских модуля LoRa, подцепил их к SPI. Настроил на 433 МГц, всё работает, пакеты один отсылает, другой - принимает, всё хорошо.

    Теперь можно потихоньку думать о внедрении поддержки LoRa в прошивку. Думаю сделать пока эту опцию с пометкой "Экспериментальная", т. к. код-то я напишу, а вот тестировать - хорошо бы на конкретном железе, всё это требует времени. Посему: если кому интересно внедрение LoRa в проект - готовимся выступать в роли тестеров ;) Ну и отписаться, чтобы я понял, что это дело нужно внедрить.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    В общем, обновил на гитхабе все прошивки - добавил поддержку LoRa, см. USE_LORA_GATE в конфигурации контроллера, и USE_LORA в прошивках исполнительного и модуля с датчиками.

    В принципе, там всё очень сходно с nRF, так что работать просто обязано. Единственный нюанс, который пока никак не учтён - это тот факт, что у LoRa нет контроля передачи пакета, соответственно, могут быть коллизии при отсыле данных с модулей с датчиками. Эту вещь буду допиливать после того, как доползу до собственно тестирования LoRa в рамках проекта. Для исполнительного модуля не страшно - он просто слушает эфир, и всё. А вот с модулями с датчиками - надо будет тестировать на нескольких модулях и смотреть, как оно там поживает. Пока сделал тупо - просто рандомную задержку до 50 миллисекунд после отсыла пакета, всё - это позволит в какой-то мере разнести отсыл пакетов разными модулями, ну а дальше - будем посмотреть, что называется.

    Поддерживаемые чипы LoRa: SX1276/77/78/79, если что. Логика у LoRa 3.3В, конвертер уровней (в случае использования в связке с 5В Atmega328 на 16 МГц) нужен быстрый, как минимум на 8МГц, т. к. LoRa работает через SPI.

    Короче, можно тестировать, есть отладочные режимы (LORA_DEBUG). За подробностями по подсоединению - сюда: https://github.com/sandeepmistry/arduino-LoRa, номера пинов NSS и NRESET для LoRa в прошивке настраиваются, пин DIO0 - не используется, проверка на приход пакета происходит периодически.

    Вроде ничего не забыл. Всякие note описаны по указанной ссылке, например:

    Если есть вопросы - задавайте.
     
Статус темы:
Закрыта.