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 км от Краснодара
    Надо имена полей без скобок? Я не могу сделать имена полей без скобок - это будет невалидный JSON. Или вы про то, что надо в MQTT dash как-то выцепить имена полей? Я посмотрю, почитаю доку к этой проге, и отпишусь.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил я конфигуратор мал-мала - пытаюсь сделать так, чтобы работал с разными камнями (Due и Mega), плюс чтоб ему было пофигу - это плата Arduino или распаянный чип. В процессе работы с платой на Due выяснилось, что при открытии порта не идёт пересброса МК, а он мне нужен в конфигураторе. Откопал настройку SerialPort. DtrEnable, включил - Due стала пересбрасываться, как положено.

    Потом поймал фишку рассинхронизации запроса и ответа - Due больно шустрая, быстро показала мне, кто в доме баран: нашёл таки проблему, которая до поры до времени не давала о себе знать, в первом приближении решил - теперь при коннекте к контроллеру, пока не придёт строка READY - ни одна команда к нему не отсылается (что, собственно, давно пора было сделать - но не выплывала проблема, вот я и не замечал).

    Ещё одна фишка интересная: если вытыкать плату с Due физически из USB - конфигуратор думал, что порт таки активен ещё (это уже не я - это такая вот особенность виртуальных портов иногда, судя по обсуждениям в сети). В первом приближении и это полечил - добавил ещё один флаг, что если в порт запись не прошла - всё, считаем, что связь разорвана, нефик.

    Короче - поправлено, допилено, буду наблюдать в процессе, что к чему. И эта движуха, казалось бы, на ровном месте - из-за того, что две разные железки с разным к ним подходом. Такие карнавалы в нашей деревне - пол-пятого утра, а я ещё ни в одном глазу :(
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Shelllonn, судя по всему, в клиенте юзается JsonPath: https://github.com/json-path/JsonPath, https://github.com/s3u/JSONPath

    Там говорится, что корневой элемент - это $, дальше всё интересней. Как я понял, в стандартном JsonPath нет возможности получить имена полей (хотя могу ошибаться, бегло прочитал), но есть расширения, в которых можно, например вот тут https://stackoverflow.com/questions/33933205/find-a-json-property-name-that-starts-with-something-using-json-path - показано, как получить все имена полей, начинающиеся на "x-"

    Код:
    $..[?(@path.includes("[\'x-"))]
    
    Какой JsonPath юзается в клиенте - я хз, если честно. Пробую здесь: http://www.jsonquerytool.com/, входящая строка "{"p1":"MODE","p2":"MANUAL"}", запрос

    Код:
    $..*
    
    возвращает
    Код:
    [
        "MODE",
        "MANUAL"
    ]
    
    Это надо? Или я чего недопонял? Скобки квадратные лишние? Так это массив JS. Щас буду дальше рыть.

    З. Ы. Можно и формат объекта переделать, если ничего не получится ;)
     
    Последнее редактирование: 17.12.17
  4. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    не нужно
    $.p1 возвращает MODE, $.p2 MANUAL
    $.* возвращает ["MODE"] ["MANUAL"]
     
  5. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Т. е. всё норм, разобрались?
     
  7. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Нет :)
    $.* возвращает ["MODE"] ["MANUAL"]
    а хотелось MODE MANUAL
    т е без ["
    А может пусть так и остается, в глаза бросается сразу
    ЗЫ
    назовём фичей :)
     
    Последнее редактирование: 17.12.17
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не, надо разбираться, оставить так всегда успеем :)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе - добавил экран настроек для TFT. В первом приближении работа с TFT сделана, можно начинать тестировать другие модули. Этим и займусь потихоньку.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Поскольку у Due и Меги разное кол-во оперативы и EEPROM - соответственно, для Due можно существенно расширить кол-во правил. Поэтому подправил конфигурацию для Due, и дописал в прошивке команду выдачи лимитов: CTGET=0|LIMITS, возвращает максимальное кол-во правил и дельт. В конфигураторе и вебморде, вместо жёстко прописанных лимитов - теперь фигурируют лимиты, полученные из контроллера. Конфигуратор протестил, всё норм, вебморду пока не тестил, но там изменений мизер, не должен был ошибиться.

    На гитхабе обновил ;)
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Короче, надо рыть.
     
  12. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    Здравствуйте, товарищи.
    Делаю Arduino совместимый контроллер на ATMega2560 под корпус 115x90x40мм https://ru.aliexpress.com/item/1-piece-free-shipping-Industrial-control-enclosure-with-terminal-block-115-90-115mm/597363560.html?
    Одна из предполагаемых задач - управление теплицей, в том числе с использованием ПО из данной темы.
    2 платы: основная (может быть использована отдельно) и дополнительная с SIM800C модулем.
    Основная плата разведена.
    Проблема: так как нет в наличии платы Arduino mega, не проверить, корректно ли распределены пины по входам и выходам.
    Вопрос: есть ли способ проверки корректности распределения входов-выходов для ПО теплицы данной ветки без привлечения работающей платы Arduino mega?
     

    Вложения:

    • 2017-12-17_163717.png
    • IMG_9569.JPG
  13. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    ЗАО Промтранс:), коммерческое что ль?
     
  14. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Лицензия
    Проект свободен для некоммерческого использования и исключительно в личных целях. Любое другое использование, например, встраивание любой части кода в коммерческий продукт, распространение любой части исходных кодов на сторонних ресурсах без разрешения автора проекта - не допускается. Все права интеллектуальной собственности на любую программную часть продукта принадлежат их авторам, использование программного кода в сторонних проектах без согласия авторов и упоминания об исходном авторстве - не допускается.
    Автор проекта оставляет за собой право в любой момент пересмотреть лицензию распространения продукта.
     
  15. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Shelllonn У меня скайп обновился и что то я тебя в контактах не вижу:), звякни. А походу 1543 похоже на коммерческий.
     
Статус темы:
Закрыта.