?

Log in

No account? Create an account

November 2018

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
Powered by LiveJournal.com

Зачем использовать мое решение, а не Arduino?

Допустим, Вы создаете стойку с гидропоникой да не простую, с кучей вентилей, датчиков, насосов и т.д. И конечно всем этим нужно управлять.

Конечно изучаем рынок, и вполне вероятно что-то находим, что недорого выполняет все наши пожелания. Но конкретно здесь рассматривается конкретный пример между Arduino и моим проектом.

Итак, на одной стороне весов готовые конечные устройства и вся остальная обвязка в виде контроллера, сервера и различных клиентов. Здесь вроде-бы все понятно, есть универсальное решение - настраивай под свой лад и используй(при этом не нужен ни схемотехник, ни программист).

С другой стороны набор устройств Arduino, для которых можно написать простейший код. Ничего ведь сложного управлять вентилем или снимать показания температуры с DS18B20 - с этим даже ребенок справится. Все элементарно просто!
Я даже скажу больше, какую-то часть автоматизации вообще можно было бы сделать без логики или с минимальной логикой(без микроконтроллера).

Однако, здесь есть ряд проблем, которые на первых шагах не заметны:
1) Нам нужно найти решение, которое будет хранить нашу статистику и позволять как-то с ней работать, а если захочется реализовать удаленный доступ к управлению?
2) Если Ардуин несколько, как они будут взаимодействовать? Особенно на расстояниях в несколько метров. Используем дополнительные платы расширения а с ними что, разрабатываем протокол? Все еще простая задача? Не забываем, что нужно учесть кучу проблем взаимодействия, что если данные не дошли к примеру?
3) А если все на одной Ардуино? Хорошо, а у вас получится обвязать несколько портов управления с одновременным опросом датчиков и других элементов системы? А организовать интерфейс во внешний мир и корректную выгрузку данных скажем в БД и тому подобное? Кстати этот-же вопрос актуален и для первого пункта.
Вот тут уже большие сомнения в простоте решения таких задач.
4) Ну хорошо, возьмем миникомпьютер, что-то типа RaspberryPi. Дружим его с Ардуино и все замечательно, решаем кучу проблем, пишем на чем угодно, пусть даже на Go или PHP, или вообще BASH скрипты используем. Достаточно простая задача для программиста. Стоп, нам нужны программисты... причем постоянно, в каждом изменении решения нам нужен будет программист, ну и схемотехник вероятно. В общем берем двоих в штат....

Разрешите откланяться...

Comments

1. Существуют софтовые контроллеры автоматизации, в том числе с удаленным и даже мобильным управлением.
2. RS485 и поверх Modbus, Modbus через uart без всяких плат расширения для небольших расстояний, MySensors
3. см. п.№1
4. В контроллерах автоматизации иногда применяются весьма простые визуальные редакторы скриптов, уровня обычного юзера. Если нужно что-то более сложное или специфичное, то да, приходиться кодить руками.
1) "Конечно изучаем рынок, и вполне вероятно что-то находим, что недорого выполняет все наши пожелания. Но конкретно здесь рассматривается конкретный пример между Arduino и моим проектом."

2) Насколько мне известно, на Ардуино нет встроенного RS485 драйвера, следовательно нужна плата расширения. Вопрос взаимодействия остается не раскрытым.

3)См. пункт 1.

Мне просто лень раскрывать в этой теме еще и кучу минусов других готовых решений.

Хорошо, соглашусь, что в п.1 по поводу ПО для хранения и удаленного доступа Вы правы, но это никак не решает все остальные вопросы при этом от стороннего производителя Вы уже зависите.

Edited at 2018-11-30 03:27 am (UTC)
Глянул бегло на MySensors, Вы серьезно не видиете разницы между тем что там и что у меня?
Я конечно понимаю, что мой проект описан плохо, но думал все же не на столько.
Не сравнивал подробно ваше решение с другими, просто хочу сказать что протоколы для автоматизации существуют и в настоящее время активно развиваются сообществом энтузиастов.
Ну конечно, протоколов море, развитие идет.

Можно я сделаю небольшой опус?
Лично мое мнение, в современном мире многие процессы якобы развития являются процессами деградации. Тот-же интернет, ранее им могли пользоваться немногие, которым для этого необходимо было иметь серьезные знания. Вот в то время он был наполнен в основном надежной, качественной информацией. А в наши дни найти качественную информацию стало практически невозможным, наравне как найти иголку в стоге сена.

Я понимаю желание многих окунуться в мир прораммирвоания. Но я Вас уверяю, там не так радужно как выглядит все это дело в современных популязированных источниках типа хабрабр или сайт ардуино.
Многие проблемы там попросту не видны, в итоге мы получаем на выходе ненадежный софт с большим набором элементарных ошибок. Это нормально для любителей, но не для сферы автоматизации с реальными потребителями.
Я уже привожид пример как в ДВФУ в центре проектной деятельности был запуск самодельных ракет с ардуино? Ни одна не выполнила свою задачу.

Хотя, сейчас такое время что народ хавает все что угодно, ДНС сеть тому хороший пример.

А еще, давайте оценим что мы можем найти на просторах интернета для решения первого пункта?

Найдете ли Вы решение которое будет иметь следующий функционал(будет решать задачи)
1) Многопользовательский доступ с ограничениями прав как к объектам так и к устройствам управления
2) Решение проблем конфликтов управления, а также сбоев работы сети
3) Интеграцию с сервисами типа почты, Алисы, Телеграма, СМС
4) Конечно же вопросы информирования, подключенных клиентов, плюс та-же почта, СМС, Телеграм и т.п.
5) Непосредственную выгрузку данных в рамках API
6) Проброс различных заявок, типа внеочередного опроса устройств, чтение и запись новой конфигурации устройств
7)Реализация моста, это когда Вы подключаетесь например телнетом к клиенту а попадаете на RS232 порт конечного устройства. Fulduplex, и тому подобное. Уверены, что Вы сможете сделать подобное сторонним сервисом?
8) Механизм обновления данных клиента налету, таких как единицы измерения, типы показаний и многое другое, то что обычно зашито намертво в клиенты. Словари аналогично. Хотите другой язык интерфейса? Не вопрос, задача в процессе реализации.

Блин, я реально устал вспоминать что там еще у меня, хватит и этого.
Учитывайте, что все эти опции влияют друг на друга, например вопросы доступов влияют и на информирование и на отправку заявок и т.п.

Сервер, которому Вы предлагаете найти замену в интернете настолько богат функционалом, что я вообще не боюсь, что кто-то вытянет сурс контроллера или клиента. Он попросту не сможет использовать этот код без моего сервера.

И да, все эти фичи сервера требуют больших трудозатрат для реализации как на стороне контроллера так и на стороне клиента.
Напомню, у меня универсальное решение и оно требует поддержки широкого функционала.
Кое что из перечисленного найти можно, но специально не занимался таким исследованием ввиду ненадобности. В принципе, при желании оно все делается руками, допиливается, но блин... на это нужно много свободного времени. Лучше найти/подождать что нить готового :)
Вот опять.

Наверное дело в изначальных целях.
Видимо у Вас основная цель - что-то спрограммировать.
Я же создаю продукт, где основная цель заинтересованных - автоматизировать, у них нет цели изучить протокол или набор сторонних продуктов и потом их допиливать. При этом очень многое зависит от базовой логики того, что Вы собираетесь допиливать. При серьезных задачах у многих профессиональных программистов появляется сильное желание все написатьт с нуля. Иногда это действительно оправдано.

Похоже я сам хожу вокруг да около одного вывода - ну не станет любитель использующий ардуино достойным специалистом в области программирования, автоматизации или схемотехнике по ряду причин. И никогда его труд не будет применен как качественное и надежное решение. Уж простите, никого не хочу обидеть, прост оесли король голый, то он голый.


Edited at 2018-11-30 12:24 pm (UTC)
А Вы вообще представлете объем работ того что я описал?

Сервер - 20 тысяч строк личного Java кода, в основном функционального характера, и это без подсчета кода в библиотеках. Сколко тысяч строк кода Вы готовы дописать?
И еще, найти и подождать.

Работая разработчиком зачастую сталкиваешся с задачами решения которых попросту нет в интернете, было бы странно по другому.
Зачем же тогда нужны разработчики если все есть в интернете?

И вот представьте, Вы находите серьезную библиотеку с большим функционалом, используете ее в своем проекте долгое время и вдруг натыкаетесь на серьезную проблему, что дальше? Вы пишете разработчику библиотеки с просьбой решить проблему? И сколько времени пройдет пока он ее решит? А станет ли он ее вообще решать?

Я Вас уверяю - это далеко не редкое явление, в итоге самый простой выход из ситуации - дописать или решить проблему самому, но для этого нужно глубоко изучить код автора - а это не простая задача даже для профессионалов.
Хм, как то не очень корректно выглядит заголовок.... :)

Ардуино вообще-то и предназначен для тех кому не нравится (или религия не позволяет :) ) использовать "Ваше решение" или чьё-то еще, а чешутся ручонки что-то сваять самому...
кому надо просто заплатить денег и получить результат - тот возмет Ваше или иное готовое решение...

нужен будет программист, ну и схемотехник вероятно. В общем берем двоих в штат....

Никого не берем... :)
Потому как такие "самодельщики" сами себе и программисты и схемотехники, а потом и монтажники и юзеры и сервисная служба. :)

Не стану защищать свое мнение как истину в последней инстанции - просто с себя срисовал... :)
Верно. Но в моем понимании ардуинщик никак не равно интегратор грубо говоря.

Тем не менне есть интеграторы которые смотрят в сторону ардуино.
Их задача автоматизировать процесс используя доступные готовые решения, я и предлагаю такой конструктор.
Однако постоянно сталкиваюсь с мнением, особенно у студентов, что это никому не нужно и мы вот сечайс все на коленке с ардуиной сделаем.


Что какаемо просто любителей - я знаю много людей которые сильны в электронике но не хотят заниматься программированием или просто хотят использовать готовые китайские железки.
Здесь есть возможность подключать свои железки не забивая голову проблемами ПО.


А да, очень важный момент. Любой ардуинщик априори уже использует чужое решение, как миниум бренд Ардуино.
Т.е. он уже зависим, что самое плохое - он зависим от большого количества производителей того или иного решения, при это в воснвоном эти решения не надежы.

Реализовать адекватную систему для автоматизации - колосальный труд, я на свой проект потратил годы. Способен ли на это ардуинщик не имея специального образования и большого опыта?
Самоделием можно заниматься и без необходимости разбираться в сяких си и си плюс плюс.

Edited at 2018-11-30 05:46 am (UTC)
Но в моем понимании ардуинщик никак не равно интегратор грубо говоря.

Ни в коем случае! конечно....Для себя, на свой страх и риск - это 99,99% "ардуинщиков"..

Тем не менне есть интеграторы которые смотрят в сторону ардуино.
Их задача автоматизировать процесс используя доступные готовые решения, я и предлагаю такой конструктор.


.. и "респект вам и уважуха" за вашу работу !! :)

Любой ардуинщик априори уже использует чужое решение, как миниум бренд Ардуино.

Ой, да что вы !!! Бренд - фигня ! А среда программирования , а библиотеки, а чужие поделки с гит-хаба !!
Про помощь сообщества - я уж и не говорю - постоянно же пользуюсь чужим опытом и делюсь своим.

Самоделием можно заниматься и без необходимости разбираться в сяких си и си плюс плюс.

Ну... Наверное.. только в случае тупого повторения чужих разработок...
И читая форум ардуино - таких встречаешь в общем то... Но и не так чтоб много...

Edited at 2018-11-30 08:47 am (UTC)
"Ой, да что вы !!! Бренд - фигня ! А среда программирования , а библиотеки, а чужие поделки с гит-хаба !!
Про помощь сообщества - я уж и не говорю - постоянно же пользуюсь чужим опытом и делюсь своим."

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

"Ну... Наверное.. только в случае тупого повторения чужих разработок...
И читая форум ардуино - таких встречаешь в общем то... Но и не так чтоб много..."
Речь о схемотехниках, поверьте их сфера деятельности ничем не легче программирования.

Edited at 2018-11-30 12:01 pm (UTC)
Что какаемо просто любителей - я знаю много людей которые сильны в электронике но не хотят заниматься программированием или просто хотят использовать готовые китайские железки.

ну по всякому... я например покупаю модули на Али - просто паять самому - и долго выходит, да и порой - дороже.
Печатку травить на кухне - это как то не комильфо, а на кусочках макеток паять - колхоз... :(
И понятно что программирование в этом случае - это уже сам-сам-сам...