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

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

Тема в разделе "Теплицы и парники", создана пользователем Анкор Плюс, 19.05.18.

Статус темы:
Закрыта.
  1. Сергейфывчяфй
    Регистрация:
    25.02.12
    Сообщения:
    317
    Благодарности:
    266

    Сергейфывчяфй

    Живу здесь

    Сергейфывчяфй

    Живу здесь

    Регистрация:
    25.02.12
    Сообщения:
    317
    Благодарности:
    266
    Готов поучаствовать в создании модулей по мере своих возможностей.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Спасибо. У меня пока в планах в первую голову RS-485 реализовать, надо только продумать всё для начала. nRF - скорее всего не будет в пользу LoRa. Mesh-сеть - тоже не планирую, будет по-тупому - всё, что в досягаемости связи с контроллером-диспетчером - то и работает в рамках одной системы. Wi-Fi-модули - уже на закуску будут.

    Сейчас всё обмозговываю, дабы понять слабые места. Тестировать планирую на отладочной плате: главный контроллер - Mega2560, тестовый модуль - Uno.

    Ещё раз спасибо за готовность принять участие.

    З. Ы. Вопрос к остальным читающим: а ещё желающие будут?
     
  3. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    Готов поучаствовать в качестве схемотехника. Схема+разводка+спецификация. Комплектация и сборка образцов.
     
  4. Old-Admiral
    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153

    Old-Admiral

    Живу здесь

    Old-Admiral

    Живу здесь

    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153
    Дим, я готов, но в плане программера я не того...
     
  5. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    С программированием не дружу, но схему и разводку, а так же любую тестовую плату с меня, платы ты видел;)
     
  6. id10960627
    Регистрация:
    09.05.18
    Сообщения:
    76
    Благодарности:
    8

    id10960627

    Живу здесь

    id10960627

    Живу здесь

    Регистрация:
    09.05.18
    Сообщения:
    76
    Благодарности:
    8
    Добрый день!
    что-то не пойму, то ли у меня лыжи не едут, то ли косяк в коде где-то (про контроллер теплицы). Управляю виртуальным пином командой TEPLICA/SET/PIN/100/ON и OFF соответственно. Однако состояние пина при этом у меня не меняется, а все время в выкл состоянии, при этом на MQTT такой лог:
    TEPLICA/SET/PIN/100 {"p1":"100","p2":"OFF"} /посал с телефона команду на выключение пина
    TEPLICA/REPORT/PIN {"p1":"OK","p2":"100","p3":"OFF"} / пришел привет, что он выключен
    TEPLICA/SET/PIN/100 {"p1":"100","p2":"ON"} / послал команду на вкл. пина
    TEPLICA/REPORT/PIN {"p1":"OK","p2":"100","p3":"OFF"} / пришел привет что он ВЫКЛЮЧЕН

    Это у меня где-то косяк или в коде? При этом в карте пинов пин 100 остается выключенным
     
  7. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    По случаю - рояль в кустах.

    Плата контроллера датчика ATMega328 под корпуса G203/G304.
    Вроде как подходит под озвученную концепцию.

    Подразумевает 2 типа сборки - под RS485 и под LoRa Ra-01\02 модули.

    Под RS485 - внешнее питание 24\12В, питание платы 5В, кварц 16МГц.

    LoRa - батарейное или аккумуляторное питание в зависимости от смонтированных держателей батарей:
    - 2 последовательных алкалиновых элемента 1,5В AA,
    - 1 литиевый неперезаряжаемый элемент 3,7В ER14505M (AA),
    - 1 литиевый АКБ 3,7В LIR14505 (AA),
    - 1 литиевый АКБ 3,7В LIR18650
    Также предусмотрено внешнее питание 5В для отладки.
    Напряжение питания на плате 3,3В, кварц 16МГц.

    Разъёмы позволяют подключить до 3-х датчиков: входы 1 - 1Wire, 2 - аналоговых, 3 - I2C.
    Питание датчиков и модуля LoRa отключаемое.

    2019-07-13_231057.png 2019-07-13_231322.png 2019-07-13_232559.png
    Если кто увидит ошибки схемотехнические или логические - буду признателен.
     

    Вложения:

  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Сходу не скажу. А если из монитора порта ввести вот такую последовательность команд - что будет? Дайте выхлоп вот этого, пж:
    Код:
    CTSET=PIN|100|ON
    CTGET=PIN|100
    CTSET=PIN|100|OFF
    CTGET=PIN|100
    Возможно, где-то косяк, если отпишетесь по выхлопу - буду смотреть.
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Ребята, раз пошла такая пьянка: кто владеет протеусом нормально? Не хочется первую версию на железе собирать, аж жуть :(

    Короче, задача простая: сделать под протеус проект следующего вида: три MEGA2560, соединены меж собой Serial1 (короче, вторым UART), перекрёстно (т.е. RX к TX) - в общем, эмуляция RS-485.

    К Serial (первому UART) каждой меги подключен монитор порта, чтобы смотреть, что там творится. Также монитор порта подключен к сети связи, чтобы смотреть, что творится во втором UART.

    На всех мегах есть кнопки, подтянутые к питанию, срабатывают по низкому уровню - на любой свободный пин.

    Ну и по светодиодику на каждую мегу, тоже - на любой свободный пин.

    В общем, проект простой, но я в протеусе на алё особо - вот и хочется немного помощи. А уж дальше - поспрошаю, если что: как в камни вгрузить прошивку и т. д. Надеюсь, протеус позволяет симулировать несколько камней одновременно?
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    @id10960627 - закачал прошивку в контроллер на Due, сделал в мониторе порта вот такую последовательность команд - всё работает штатно:

    Код:
    => CTGET=PIN|100
    <= OK=PIN|100|OFF
    => CTSET=PIN|100|ON
    <= OK=PIN|100|ON
    => CTGET=PIN|100
    <= OK=PIN|100|ON
    => CTSET=PIN|100|OFF
    <= OK=PIN|100|OFF
    => CTGET=PIN|100
    <= OK=PIN|100|OFF
    
    Т. е. всё меняется. Модуль MQTT при поступлении команды - просто вызывает команду модуля PinModule, т. е. по сути выполняет те же команды, и просто тупо возвращает ответ от модуля. Также можно и через Wi-Fi - через вебморду, там есть строка ввода команд: суть точно такая же - каждый модуль обрабатывает свои команды. Естественно - модуль должен быть включен в прошивке, в нашем случае - USE_PIN_MODULE.

    Как вариант - у вас в команде ON - первая буква русская, а не английская. Можно заменить OFF на 0, а ON - на 1, контроллер понимает и так. Попробуйте, плз, и отпишитесь. У себя - не нашёл проблемы, правда, MQTT сейчас не юзаю, делал непосредственным запросом к модулю.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

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

    Будем посмотреть, в общем. Думаю, не раньше чем через несколько недель этот кадавр должен заскрипеть на RS-485, ну а дальше - видно будет.
     
  13. id10960627
    Регистрация:
    09.05.18
    Сообщения:
    76
    Благодарности:
    8

    id10960627

    Живу здесь

    id10960627

    Живу здесь

    Регистрация:
    09.05.18
    Сообщения:
    76
    Благодарности:
    8
    Действительно был (и остался) косяк с моей стороны: криво был написан JSON для пина 100.

    Screenshot_2019-07-14-22-37-42-712_snr.lab.iotmqttpanel.prod.png
    Вот в таком виде в строке JSON в логах MQTT и писалась та ошибка, о которой я сообщал. JSON для сабскрайба сочинить вообще не смог, поэтому переключатель без обратной связи получился (
    Screenshot_2019-07-14-22-37-26-142_snr.lab.iotmqttpanel.prod.png
    Если JSON не использовать, то пин 100 начинает весело переключаться и в лог MQTT приходит нормальный ответ.
    Быть может подскажете убогому как должна выглядеть строка JSON?
    Если это важно, то прога IoT Controler для андроид
     
  14. evgeny1241
    Регистрация:
    07.07.16
    Сообщения:
    472
    Благодарности:
    46

    evgeny1241

    Живу здесь

    evgeny1241

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    472
    Благодарности:
    46
    З. Ы. Вопрос к остальным читающим: а ещё желающие будут?[/QUOTE]
    да
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Зависит от программы. Строго говоря, для MQTT нет понятия - JSON или не JSON, там просто содержимое топика публикуется. Как с ним (содержимым) работают MQTT-клиенты - дело сугубо клиента: кто-то хочет содержимое топика в JSON-формате, кто-то - ещё как-нибудь.

    Именно для этого я сделал возможность, чтобы контроллер мог публиковать топики с содержимым в виде JSON. Любая программа, являющаяся клиентом MQTT - обязана уметь публиковать топики MQTT, поэтому, навскидку, вижу - что вам из программы НЕ НАДО ОТПРАВЛЯТЬ топики в формате JSON, т. е. надо снять галочку "Payload is JSON data".
     
Статус темы:
Закрыта.