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

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

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

Статус темы:
Закрыта.
  1. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Тогда будет куча проводов, это не есть хорошо. :)
     
  2. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    вот поэтому и жду беспрОвод... :son:
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Если что - идентификатор непонятной посылки:
    MS05490651XSG
    Я такого точно не заказывал - облазил все свои заказы, нигде нет такого трекинга. Чего делать?
     
  4. MicluchoMaclay
    Регистрация:
    02.08.13
    Сообщения:
    453
    Благодарности:
    171

    MicluchoMaclay

    Живу здесь

    MicluchoMaclay

    Живу здесь

    Регистрация:
    02.08.13
    Сообщения:
    453
    Благодарности:
    171
    Адрес:
    Казань
    Извиняюсь за оффтоп, но мне как-то с ебея вместо деревянной ложки (заказанной супругой) пришла автомагнитола, во как... Так что я Вас поздравляю.
     
  5. MicluchoMaclay
    Регистрация:
    02.08.13
    Сообщения:
    453
    Благодарности:
    171

    MicluchoMaclay

    Живу здесь

    MicluchoMaclay

    Живу здесь

    Регистрация:
    02.08.13
    Сообщения:
    453
    Благодарности:
    171
    Адрес:
    Казань
    Отдайте посылку в местный радиокружок, если совесть мучает...
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Был бы тут радиокружок ещё :)
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Дабы закончить с обсуждением принятой идеологии работы с 1-Wire: вот сколько модулей для небольшой теплицы захочется вынести по 1-Wire? 1,5,10,100? Думаю, что в общем случае средняя цифра будет порядка десяти модулей. Это всего навсего парочку витых пар.

    Хотя, конечно, никто не мешает дописать выборку адресов, и тупо перебирать адреса в цикле. Оставим это на потом, что называется ;)
     
  9. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Вообще то система должна работать, а не заниматься заменой модулей. А как же тогда будут идентифицироваться радиомодули? Эфир то один. Или на каждый модуль своя пара RX/TX
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Радиомодули, как и проводные, идентифицируются по ID контроллера, к которому они привязаны при регистрации.

    По поводу "Вообще то система должна работать, а не заниматься заменой модулей" - если у вас модуль полетел, что вы будете делать? Перезакачивать прошивку, указывая новый внутренний адрес модуля или просто - замените модуль, просто зарегистрировав новый в системе?

    Вы в курсе ситуации с DS18B20, надеюсь? У каждого датчика есть свой уникальный адрес. И чтобы обратиться к нему по шине - надо этот адрес знать. Т. е. этот адрес должен быть указан в прошивке, что сводит на нет все удобства с заменой вышедшего из строя датчика. Именно поэтому и было принято решение - отказаться от адресации на шине 1-Wire, следовательно, на шине в один момент может висеть один универсальный модуль. Чем такое решение не нравится - не пойму: оно обеспечивает какое угодно миксование модулей на линиях, без геморроя с адресами и прочим: зарегистрировали модуль однократно в системе, и повесили его куда хочешь, на любую из линий 1-Wire.

    Повторюсь: адресацию можно ввести, но смысла большого в ней я не вижу, т. к. в своё время много думал об этом и пришёл к выводу, что ситуация с адресами, на примере DS18B20 - это сомнительное удобство, которое в случае выхода датчика из строя обеспечивает головняк по полной.
     
  11. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    В примерах работы с DS18B20 ардуины есть файлик Multiple. Так вот там этот адрес знать не обязательно.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @HANTER333, продолжим: теоретически, у нас есть уникальный RF_ID каждого универсального модуля, этот ID занимает один байт, т. е. на шину можно повесить до 255 модулей. Но - тут, опять же, возникает вопрос понимания того, висит ли кто на шине или нет, вот смотрите, как сделано сейчас:

    1. Мега отправляет сигнал RESET в линию;
    2. Если кто-то ответил импульсом PRESENCE - значит, кто-то есть на линии;
    3. Мега выдаёт команду "Пофиг на адрес", потом команду "Дай скратчпад", потом - читает скратчпад;
    4. Мега далее работает со скратчпадом в зависимости от типа модуля: Nextion - это одна логика работы, модули с датчиками - другая, исполнительные - третья.

    Теперь представим, что мы ввели адресацию. И меге каждый раз, для каждой линии надо будет 255 раз посылать команду "Выбор адреса" с нужным адресом и ждать, откликнется ли кто на этот адрес. Потому как мега нигде не хранит RF_ID модулей, да даже если бы и хранила - линий 1-Wire у нас может быть много, и для каждой всё равно придётся перебирать все известные адреса. Налицо - тормоза при работе.

    Вот донесите до меня, плз, сермяжную правду жёсткой необходимости введения адресации на шине 1-Wire? Учитывая то, что мы протокол и так уже натянули - у нас скратчпад в 30 байт, а не в 9.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Примеры, конечно, хорошо, но надо понимать, что у примеров есть ограниченная применимость. Что вы сможете узнать из приведённого вами примера? Что на линии есть N датчиков температуры, и вот вам их показания. У нас, если помните, зависимости гораздо шире - это, во-первых, привязка датчика к модулю и к индексу в этом модуле. Во-вторых - прозрачная замена датчиков. Всё это приведённый пример никак не решает, ибо рано или поздно вы уткнётесь в то, что адреса надо где-то хранить, чтобы понять, у кого какой индекс в системе, кто вышел из строя и т. п.

    Давайте не будем спорить про выбранную парадигму, ок? Я считаю, что заморочка с адресами на линии 1-Wire - пока не нужна. Будет ли в дальнейшем - посмотрим. Давайте идти последовательно, потихоньку расширяя функционал ;)
     
  14. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Согласен.
     
  15. sailorsamoor
    Регистрация:
    29.06.16
    Сообщения:
    33
    Благодарности:
    11

    sailorsamoor

    Участник

    sailorsamoor

    Участник

    Регистрация:
    29.06.16
    Сообщения:
    33
    Благодарности:
    11
    Можно вопрос, без относительно критики парадигмы или спора - я быстро читал и мог не уследить: из-за чего такая парадигма - какой ресурс экономим?
     
Статус темы:
Закрыта.