maxz.php 0 July 12, 2020 Posted July 12, 2020 (edited) · Report post 54 минуты назад, haker_fox сказал: Насколько я помню вы пришли за советом. Вот вам их и дают. Делать будете, конечно, как вам по душе) Разумеется за советом. Если Вам комфортнее, скажу так: Если второе - то можно ли с тем же успехом воткнуть по диммеру Z-Wave на каждую лампочку и переконфигурировать группы хоть в зависимости от времени суток / сцены? Edited July 12, 2020 by maxz.php Quote Share this post Link to post Share on other sites More sharing options...
syoma 1 July 12, 2020 Posted July 12, 2020 · Report post 3 hours ago, maxz.php said: Разумеется за советом. Если Вам комфортнее, скажу так: Если второе - то можно ли с тем же успехом воткнуть по диммеру Z-Wave на каждую лампочку и переконфигурировать группы хоть в зависимости от времени суток / сцены? Конечно можно. 4 hours ago, maxz.php said: А как у Вас выглядит переконфирурирование в группы? Залез в щиток и перебрал проводку на нужные каналы управления PLC? Или у вас каждая лампочка на своём канале?. Каждая лампочка на своем канале? Нет, не думаю - для PLC это излишество, так как каждый канал стоит денег и места. Поэтому они будут приходить в шкаф и подключаться к одному каналу. А когда придет время поуправлять ими отдельно, то придется выключить электричество во всем доме, втыкнуть новый модуль, расключить кабеля и запрограммировать. Quote Share this post Link to post Share on other sites More sharing options...
AlexandrY 3 July 13, 2020 Posted July 13, 2020 · Report post On 7/12/2020 at 9:53 AM, syoma said: Было бы интересно посмотреть на реальный алгоритм управления температуры FuzzyLogic, сделанный в Matlabe. Раз это так элементарно, не поделитесь? Глядишь, я себе такой поставлю, а то у меня тоже примитивная релейщина сейчас стоит. FuzzyLogic достойно отдельной темы, здесь не вижу смысла обсуждать. А тут просто покажу нарезку иерархии при разработке алгоритма управления лампочкой с одной нефиксируемой кнопки для PLC и с учетом безконфликтного управления с HMI: Здесь на верхнем уровне структура для тестирования. Я просто представляю во что выльется похожая технология при использовании птичьего языка сценариев и как придется бегать чтобы просто этот сценарий отладить. Ну да, можно вместо копеечной нефиксируеморй кнопки поставить недешевый такой модуль Z-wave и получить не то что хотел, а то что навязали разработчики модуля. Потом еще не забывать там следить за аккумуляторами, и менять эти модули когда в них по разу в год будут залипать или обгорать реле. Но я не спорю что это тоже может доставлять удовольствие. А мне доставляет удовольствие делать безупречно надежную систему. Quote Share this post Link to post Share on other sites More sharing options...
haker_fox 61 July 13, 2020 Posted July 13, 2020 · Report post 13 hours ago, syoma said: Нет, не думаю - для PLC это излишество Поскольку "умный дом", это штука индивидуальное, то PLC могли достаться и на халяву) А для себя любимого лишних каналов не жаль) Но это уже дело каждого) 10 minutes ago, AlexandrY said: А мне доставляет удовольствие делать безупречно надежную систему. @AlexandrY, не могу понять, а как это залить в ПЛК? А... матлаб умеет это конвертировать не только в Си/Си++, но и в другие языки вроде бы. Quote Share this post Link to post Share on other sites More sharing options...
AlexandrY 3 July 13, 2020 Posted July 13, 2020 · Report post 11 minutes ago, haker_fox said: , не могу понять, а как это залить в ПЛК? А... матлаб умеет это конвертировать не только в Си/Си++, но и в другие языки вроде бы. В разных IDE PLC по разному, но в e!COCKPIT от Wago делается одной кнопкой - export. Экспортируется вот такой файл Spoiler <?xml version="1.0" encoding="ISO-8859-1"?> <project><!--(* * * File: Light_control.xml * * IEC 61131-3 Structured Text (ST) code generated for subsystem "Light_control/Light_control" * * Model name : Light_control * Model version : 1.104 * Model creator : Developer * Model last modified by : Developer * Model last modified on : Mon Jun 15 10:52:22 2020 * Model sample time : 0.01s * Subsystem name : Light_control/Light_control * Subsystem sample time : 0.01s * Simulink PLC Coder version : 3.2 (R2020a) 18-Nov-2019 * ST code generated on : Mon Jun 15 10:53:06 2020 * * Target IDE selection : 3S CoDeSys 3.5 * Test Bench included : No * *) --> <fileHeader companyName="The Mathworks, Inc." companyURL="www.mathworks.com" contentDescription="" creationDateTime="2020-06-15T10:53:06" productName="Simulink PLC Coder" productRelease="(R2020a)" productVersion="3.2"/> <contentHeader name="Light_control"> <coordinateInfo> <fbd> <scaling x="0" y="0"/> </fbd> <ld> <scaling x="0" y="0"/> </ld> <sfc> <scaling x="0" y="0"/> </sfc> </coordinateInfo> </contentHeader> <types> <dataTypes/> <pous> <pou name="Light_control0" pouType="functionBlock"> <interface> <inputVars> <variable name="ssMethodType"> <type> <SINT/> </type> </variable> <variable name="Btn_1"> <type> <BOOL/> </type> </variable> <variable name="Btn_2"> <type> <BOOL/> </type> </variable> <variable name="Btn_mode"> <type> <DINT/> </type> </variable> <variable name="HMI_Btn_On"> <type> <BOOL/> </type> </variable> <variable name="HMI_Btn_Off"> <type> <BOOL/> </type> </variable> </inputVars> <outputVars> <variable name="PWR"> <type> <BOOL/> </type> </variable> </outputVars> <localVars> <variable name="DelayInput1_DSTATE"> <type> <BOOL/> </type> </variable> <variable name="DelayInput1_DSTATE_p"> <type> <BOOL/> </type> </variable> <variable name="DelayInput1_DSTATE_c"> <type> <BOOL/> </type> </variable> <variable name="DelayInput1_DSTATE_pq"> <type> <BOOL/> </type> </variable> <variable name="is_active_c3_Light_control0"> <type> <USINT/> </type> </variable> <variable name="is_Button"> <type> <USINT/> </type> </variable> <variable name="was_Button"> <type> <USINT/> </type> </variable> <variable name="is_Mode01"> <type> <USINT/> </type> </variable> <variable name="is_Remote"> <type> <USINT/> </type> </variable> <variable name="is_Local"> <type> <USINT/> </type> </variable> <variable name="rtb_FixPtRelationalOperator"> <type> <BOOL/> </type> </variable> <variable name="b_rtb_FixPtRelationalOperat"> <type> <BOOL/> </type> </variable> <variable name="c_rtb_FixPtRelationalOperat"> <type> <BOOL/> </type> </variable> <variable name="d_rtb_FixPtRelationalOperat"> <type> <BOOL/> </type> </variable> <variable name="temp1"> <type> <BOOL/> </type> </variable> <variable name="temp2"> <type> <BOOL/> </type> </variable> </localVars> </interface> <body> <ST> <xhtml xmlns="http://www.w3.org/1999/xhtml"> <![CDATA[ CASE ssMethodType OF SS_INITIALIZE: DelayInput1_DSTATE := FALSE; DelayInput1_DSTATE_p := FALSE; DelayInput1_DSTATE_c := FALSE; DelayInput1_DSTATE_pq := FALSE; is_Button := c_Light_contro_IN_NO_ACTIVE; was_Button := c_Light_contro_IN_NO_ACTIVE; is_Mode01 := c_Light_contro_IN_NO_ACTIVE; is_Local := c_Light_contro_IN_NO_ACTIVE; is_Remote := c_Light_contro_IN_NO_ACTIVE; is_active_c3_Light_control0 := 0; SS_STEP: rtb_FixPtRelationalOperator := BOOL_TO_DINT(HMI_Btn_Off) > BOOL_TO_DINT(DelayInput1_DSTATE); b_rtb_FixPtRelationalOperat := BOOL_TO_DINT(HMI_Btn_On) > BOOL_TO_DINT(DelayInput1_DSTATE_p); c_rtb_FixPtRelationalOperat := BOOL_TO_DINT(Btn_1) > BOOL_TO_DINT(DelayInput1_DSTATE_c); d_rtb_FixPtRelationalOperat := BOOL_TO_DINT(Btn_2) > BOOL_TO_DINT(DelayInput1_DSTATE_pq); IF is_active_c3_Light_control0 = 0 THEN is_active_c3_Light_control0 := 1; CASE was_Button OF Light_control0_IN_Begin: is_Button := Light_control0_IN_Begin; was_Button := Light_control0_IN_Begin; PWR := FALSE; Light_control0_IN_Mode01: is_Button := Light_control0_IN_Mode01; was_Button := Light_control0_IN_Mode01; is_Mode01 := Light_control0_IN_Begin; Light_control0_IN_Mode1: is_Button := Light_control0_IN_Mode1; was_Button := Light_control0_IN_Mode1; is_Remote := Light_control0_IN_OFF; PWR := FALSE; is_Local := Light_control0_IN_Start; ELSE is_Button := Light_control0_IN_Begin; was_Button := Light_control0_IN_Begin; PWR := FALSE; END_CASE; ELSE temp1 := FALSE; temp2 := FALSE; CASE is_Button OF Light_control0_IN_Begin: CASE Btn_mode OF 1: is_Button := Light_control0_IN_Mode1; was_Button := Light_control0_IN_Mode1; is_Remote := Light_control0_IN_OFF; PWR := FALSE; is_Local := Light_control0_IN_Start; 0: is_Button := Light_control0_IN_Mode01; was_Button := Light_control0_IN_Mode01; is_Mode01 := Light_control0_IN_Begin; END_CASE; Light_control0_IN_Mode01: IF Btn_mode <> 0 THEN is_Mode01 := c_Light_contro_IN_NO_ACTIVE; is_Button := Light_control0_IN_Begin; was_Button := Light_control0_IN_Begin; PWR := FALSE; ELSE CASE is_Mode01 OF Light_control0_IN_Begin: IF c_rtb_FixPtRelationalOperat THEN temp1 := TRUE; ELSIF d_rtb_FixPtRelationalOperat THEN temp2 := TRUE; ELSIF b_rtb_FixPtRelationalOperat THEN temp1 := TRUE; ELSIF rtb_FixPtRelationalOperator THEN temp2 := TRUE; END_IF; c_Light_control0_IN_Pressed: IF ( NOT c_rtb_FixPtRelationalOperat) OR ( NOT b_rtb_FixPtRelationalOperat) THEN is_Mode01 := Light_control0_IN_Begin; END_IF; ELSE (* case IN_Pressed_Btn2: *) IF ( NOT d_rtb_FixPtRelationalOperat) OR ( NOT rtb_FixPtRelationalOperator) THEN is_Mode01 := Light_control0_IN_Begin; END_IF; END_CASE; END_IF; ELSE (* case IN_Mode1: *) IF Btn_mode <> 1 THEN is_Local := c_Light_contro_IN_NO_ACTIVE; is_Remote := c_Light_contro_IN_NO_ACTIVE; is_Button := Light_control0_IN_Begin; was_Button := Light_control0_IN_Begin; PWR := FALSE; ELSE CASE is_Remote OF Light_control0_IN_OFF: IF b_rtb_FixPtRelationalOperat THEN is_Remote := Light_control0_IN_ON; PWR := TRUE; END_IF; ELSE (* case IN_ON: *) IF rtb_FixPtRelationalOperator THEN is_Remote := Light_control0_IN_OFF; PWR := FALSE; END_IF; END_CASE; CASE is_Local OF Light_control0_IN_Start: IF c_rtb_FixPtRelationalOperat THEN IF NOT PWR THEN is_Local := Light_control0_IN_Sw_ON; PWR := TRUE; ELSE is_Local := Light_control0_IN_Sw_OFF; PWR := FALSE; END_IF; END_IF; Light_control0_IN_Sw_OFF: IF NOT c_rtb_FixPtRelationalOperat THEN is_Local := Light_control0_IN_Start; END_IF; ELSE (* case IN_Sw_ON: *) IF NOT c_rtb_FixPtRelationalOperat THEN is_Local := Light_control0_IN_Start; END_IF; END_CASE; END_IF; END_CASE; IF temp2 THEN is_Mode01 := d_Light_control0_IN_Pressed; PWR := FALSE; END_IF; IF temp1 THEN is_Mode01 := c_Light_control0_IN_Pressed; PWR := TRUE; END_IF; END_IF; DelayInput1_DSTATE := HMI_Btn_Off; DelayInput1_DSTATE_p := HMI_Btn_On; DelayInput1_DSTATE_c := Btn_1; DelayInput1_DSTATE_pq := Btn_2; END_CASE; ]]> </xhtml> </ST> </body> </pou> </pous> </types> <instances> <configurations/> </instances> <addData> <data handleUnknown="implementation" name="http://www.3s-software.com/plcopenxml/globalvars"> <globalVars constant="true" name="GVL_CONSTS"> <variable name="c_Light_contro_IN_NO_ACTIVE"> <type> <USINT/> </type> <initialValue> <simpleValue value="0"/> </initialValue> </variable> <variable name="Light_control0_IN_Begin"> <type> <USINT/> </type> <initialValue> <simpleValue value="1"/> </initialValue> </variable> <variable name="Light_control0_IN_Mode01"> <type> <USINT/> </type> <initialValue> <simpleValue value="2"/> </initialValue> </variable> <variable name="Light_control0_IN_Mode1"> <type> <USINT/> </type> <initialValue> <simpleValue value="3"/> </initialValue> </variable> <variable name="c_Light_control0_IN_Pressed"> <type> <USINT/> </type> <initialValue> <simpleValue value="2"/> </initialValue> </variable> <variable name="d_Light_control0_IN_Pressed"> <type> <USINT/> </type> <initialValue> <simpleValue value="3"/> </initialValue> </variable> <variable name="Light_control0_IN_Start"> <type> <USINT/> </type> <initialValue> <simpleValue value="1"/> </initialValue> </variable> <variable name="Light_control0_IN_Sw_OFF"> <type> <USINT/> </type> <initialValue> <simpleValue value="2"/> </initialValue> </variable> <variable name="Light_control0_IN_Sw_ON"> <type> <USINT/> </type> <initialValue> <simpleValue value="3"/> </initialValue> </variable> <variable name="Light_control0_IN_OFF"> <type> <USINT/> </type> <initialValue> <simpleValue value="1"/> </initialValue> </variable> <variable name="Light_control0_IN_ON"> <type> <USINT/> </type> <initialValue> <simpleValue value="2"/> </initialValue> </variable> <variable name="SS_INITIALIZE"> <type> <SINT/> </type> <initialValue> <simpleValue value="0"/> </initialValue> </variable> <variable name="SS_STEP"> <type> <SINT/> </type> <initialValue> <simpleValue value="1"/> </initialValue> </variable> </globalVars> </data> <data handleUnknown="implementation" name="http://www.3s-software.com/plcopenxml/globalvars"> <globalVars name="GVL_VARS"/> </data> </addData> <addData> <data handleUnknown="discard" name="http://www.3s-software.com/plcopenxml/projectstructure"> <ProjectStructure> <Object Name="GVL_CONSTS"/> <Object Name="GVL_VARS"/> <Object Name="Light_control0"/> </ProjectStructure> </data> </addData> </project> Он генерится из MATLAB тоже нажатием одной кнопки. Quote Share this post Link to post Share on other sites More sharing options...
syoma 1 July 13, 2020 Posted July 13, 2020 · Report post 1 hour ago, AlexandrY said: А тут просто покажу нарезку иерархии при разработке алгоритма управления лампочкой с одной нефиксируемой кнопки для PLC и с учетом безконфликтного управления с HMI: Я просто представляю во что выльется похожая технология при использовании птичьего языка сценариев и как придется бегать чтобы просто этот сценарий отладить. Извините, но чего-то я не пойму смысл данной логики. У меня за все время работы с моим УД никогда не возникало таких проблем, чтобы их вот таким образом решать, хотя у меня одной и той же лампочкой можно управлять и с локального планшета и с удаленного, и с телефона, и с Google Home, и с календаря по расписанию. И никаких конфликтов - то есть с "птичьими" языками она выливается в... ноль. Очень похоже на костыли, которые вы сами своим ПЛК себе и создали. Объясните, плиз. 1 hour ago, AlexandrY said: и менять эти модули когда в них по разу в год будут залипать или обгорать реле. Опять вы без причин упрекаете в надежности то, что никогда не использовали. Зачем? Эти модули CE сертифицированы, стоят в своих подрозетниках, греются, запитанные от сети и ничего им не делается. Я из своих 30 штук пока еще ни один не менял за 5 лет, а у меня тоже LED и прочая не очень хорошая нагрузка. Причем пара из них у меня стоит на улице и явно работает не в диапазоне своих рабочих температур - ничего, тоже пока живые. А в ПЛКшных I/O модулях стоят те же самые реле, которые точно также от плохой нагрузки будут залипать и обгорать и которые тоже придется менять по раз в год. Так что маш на маш. Quote Share this post Link to post Share on other sites More sharing options...
AlexandrY 3 July 13, 2020 Posted July 13, 2020 · Report post 36 minutes ago, syoma said: И никаких конфликтов - то есть с "птичьими" языками она выливается в... ноль. Очень похоже на костыли, которые вы сами своим ПЛК себе и создали. Объясните, плиз. Ну так покажите все скрипты, конфиги, файлы, которые вам пришлось править и создавать, а также тесты. И даже после этого я не стал бы утверждать что ваши кнопки работают так как надо. Вы просто не докажете! А моя модель самодоказывающаяся, кроме нее ничего знать не надо. Реле не в PLC, а в ящике стоят отдельно на почетном месте. Сбой какого либо мгновенно идентифицируется и реле мгновенно заменяется. Естественно реле сбоят любые и где угодно. Разница лишь в том как легче с этим справляться. Скажем повторно включив реле на короткозамнуту нагрузку или конденсатор (о котором не знаете) сразу получаете залипание, и это обычная ситуация. Quote Share this post Link to post Share on other sites More sharing options...
syoma 1 July 13, 2020 Posted July 13, 2020 · Report post 28 minutes ago, AlexandrY said: Ну так покажите все скрипты, конфиги, файлы, которые вам пришлось править и создавать, а также тесты. И даже после этого я не стал бы утверждать что ваши кнопки работают так как надо. Вы просто не докажете! А моя модель самодоказывающаяся, кроме нее ничего знать не надо. Подождите. Вы для начала озвучьте проблему, которую вы хотите решить. А то я даже не знаю, какую часть конфигурации вам показывать. Когда кнопки должны работать "как надо", а когда это считается дефектом? Так сказать требования верхнего уровня. Ваша тестовая модель их не раскрывает. 28 minutes ago, AlexandrY said: Сбой какого либо мгновенно идентифицируется и реле мгновенно заменяется. Как идентифицируется? Кто заменяет реле? Quote Share this post Link to post Share on other sites More sharing options...
AlexandrY 3 July 13, 2020 Posted July 13, 2020 · Report post 2 hours ago, syoma said: Подождите. Вы для начала озвучьте проблему, которую вы хотите решить. А то я даже не знаю, какую часть конфигурации вам показывать. Когда кнопки должны работать "как надо", а когда это считается дефектом? Так сказать требования верхнего уровня. Ваша тестовая модель их не раскрывает. Как идентифицируется? Кто заменяет реле? Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса. Мои кнопки все равно TC-у не подойдут, и вообще мы же делаем сенсорный дисплей в подразетник в соседней теме. А моя просьба скорее риторическая, я же видел как это делается в https://www.openhab.org/ и в той же zipato. Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System) Quote Share this post Link to post Share on other sites More sharing options...
syoma 1 July 13, 2020 Posted July 13, 2020 · Report post 8 minutes ago, AlexandrY said: Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System) Сложно сформулированный вывод с ярко выраженной профессиональной деформацией :-) Как тот, кто использовал оба подхода в разработке систем для домашней автоматизации, не могу согласиться. Quote Share this post Link to post Share on other sites More sharing options...
a123-flex 0 July 13, 2020 Posted July 13, 2020 · Report post )))) 4 часа назад, AlexandrY сказал: Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса. Это верно, лучше не ударяться от греха в детали лишний раз)) Quote Share this post Link to post Share on other sites More sharing options...
maxz.php 0 July 13, 2020 Posted July 13, 2020 · Report post 4 часа назад, AlexandrY сказал: Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System) На правах новичка-дилетанта всё-таки уточню: Центральный ваш тулс в какой части? Датчики у нас, надеюсь, не в щитке? В чём целесообразность иметь реле в одном щитке не на производстве (где грязь, влажность, высокие температуры и большие расстояния), а в условиях квартиры/дома? Quote Share this post Link to post Share on other sites More sharing options...
mantech 49 July 15, 2020 Posted July 15, 2020 (edited) · Report post 13.07.2020 в 14:42, AlexandrY сказал: Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса. Мои кнопки все равно TC-у не подойдут, и вообще мы же делаем сенсорный дисплей в подразетник в соседней теме. А моя просьба скорее риторическая, я же видел как это делается в https://www.openhab.org/ и в той же zipato. Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System) Удивительно, как люди могут усложнить себе жизнь на относительно несложной задаче. Сначала по каким-то никому не известным причинам заменить простейший RS485 на радио, причем в полностью стационарном исполнении, оправдываясь тем, что раскладывая кучу проводов от нагрузок к щитку им сложно протащить одну витую пару, затем установив какие-то контроллеры с софтом, о котором скорее всего что-то где-то слышали, без ТЗ, с хотелками "маркетолога" - "хочу, чтобы все было управляемым...", только вопрос - зачем? И да, резервное управление всем "умным" хозяйством с помощью обычного "механического" выключателя должно быть обязательно, особенно если используется всякое опенсорсное оборудование и облачные навороты. Начинать героически преодолевать эти трудности без какого-либо плана, постановки задачи и алгоритма решения. Удачи! Без всего вышеперечисленного дров столько наломаете, что лесопилка позавидует. Что тут еще можно сказать Edited July 15, 2020 by mantech Quote Share this post Link to post Share on other sites More sharing options...
syoma 1 July 16, 2020 Posted July 16, 2020 · Report post 9 hours ago, mantech said: Удивительно, как люди могут усложнить себе жизнь на относительно несложной задаче. Сначала по каким-то никому не известным причинам заменить простейший RS485 на радио, причем в полностью стационарном исполнении, оправдываясь тем, что раскладывая кучу проводов от нагрузок к щитку им сложно протащить одну витую пару, затем установив какие-то контроллеры с софтом, о котором скорее всего что-то где-то слышали, без ТЗ, с хотелками "маркетолога" - "хочу, чтобы все было управляемым...", только вопрос - зачем? Удивительно, как некоторые люди на электрониксе легко выбрирают технические решения, даже не разобравшись до конца с условиями задачи, неправильно оценив ее сложность, и даже не зная ответа на вопрос "зачем" - то есть не имея ни малейшего понятия о выдвигаемых требованиях к системе. Что тут сказать? Тут уж действительно дрова ломаются сразу и без лишних разговоров. Но это уже не удивительно. Quote Share this post Link to post Share on other sites More sharing options...
mantech 49 July 16, 2020 Posted July 16, 2020 (edited) · Report post 1 час назад, syoma сказал: даже не разобравшись до конца с условиями задачи, неправильно оценив ее сложность, Разбирался и оценивал, причем неоднократно, и сказать могу точно, что большинство, кто приходит и говорит "хочу то, хочу это" с умным видом, а при детальном обсуждении выяснялось, что большинство этих хотелок просто взято из статеек инета, типа "круто-же"... По факту оказывалось нафиг не нужно (например всякие вычурные управления жалюзи и пр...) Так же моментально отсевались всякие навороченные контроллеры бытовой техники или сама техника с наворотами управления, все делалось через простейшие ИК трансмиттеры, как правило, оказывалось что нафиг не нужно радиоуправление и умные лампочки - все прекрасно делалось диммерами на RS-485, причем этот интерфейс и был основным в системе, еще надо продолжать? Edited July 16, 2020 by mantech Quote Share this post Link to post Share on other sites More sharing options...