?

Log in

No account? Create an account

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

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

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

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

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

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

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

Comments

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

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

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


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

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

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

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

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