Какие компоненты мне необходимо приобрести для проекта?
Суть вопроса, есть три ящерки (эублефар, бананоед и бородатая агама), для всей этой братии строится большой стеллаж с тремя террариумами, для каждой ящерки необходимы определенные условия комфорта, но так как мы люди упоротые, решил занять себя автоматизацией поддержания этих самых условий.
Ну и на случай отъезда, чтобы питомцы не откинули лапки.
Как я это вижу:
- Есть настройки под каждый из террариумов (свет (дневной\ночной) и его интенсивность, УФ, подогрев и увлажнение)
- Есть датчики пока влажности и температуры (с них снимаем показания и если что-то вне нормы подкручиваем до необходимого)
- Датчики на отказ, если что-то сгорит и сломается
- Сервер на нем храним изменяемые настройки системы, получаем алерты в случае отказа какого-нибудь блока и на него же принимаем в БД статистику с датчиков, чтобы потом упаковать в веб-интерфейс\апишку
- Планшет с браузером\приложением для вывода необходимой инфы по каждому террариуму непосредственно на стеллаже, шоб красивенько было.
По температуре: в идеале несколько датчиков чтобы снимать градиент температур т.к. в террариуме есть теплая и холодная зона.
По влажности: датчика два во влажной камере и общий на террариум.
Ну и на фоне всего этого созрел вопрос, сколько и чего закупать (хотя бы приблизительно), по одной ардуино на террариум или со всех на одну плату, или вообще по несколько плат. Ну и по расходникам датчики, переходники и ethernet выходы.
Потому что если собрать программную часть не проблема, то вот с железками я не работал и могут быть затыки, чтобы никого потом не убило из-за моих ручонок.
Заранее благодарю за ответы!
UPD дополню инфой, чтобы более конструктивно было. Из того что нагуглил (в расчете на 1 террариум, ориентировочно):
1. Сама плашка ардуино
2. 3 водонепроницаемых датчика температуры (теплая\холодная зона, общий)
3. 2 датчика влажности, (общий и во влажную камеру)
4. Модуль ethernet чтобы сливать инфу
5. Релешки времени на свет и подогрев
6. Кулер для принудительной вентиляции
7. Насос стеклоомывателя + трубки и сопло для распыления воды.
8. Макетная плата
Из общего:
1. хаб
2. общий бак для воды + датчик уровня
3. бокс какой-нибудь куда это все запихнуть
4. решить вопрос с питанием всего этого
5. бесперебойник
По распылению воды думаю так на пару циклов (условно несколько раз пшикнуть водой :D ):
- Включаемся по таймеру
- Включаемся если влажность упала ниже нижнего порога
А вот как отследить что перегорела лампочка или сгорел коврик подогрева, пока не понял (ну по подогреву впринципе можно по циклу через датчики отслеживать изменение температуры, если не повышается\падает алярм, хотя поидее можно же по другому как-то отследить).
Сам занимаюсь автоматизацией своего аквариумного хозяйства. В данный момент есть достаточно надежное решение которое работает уже несколько лет. В вашем случае я бы вам посоветовал начинать с простого, это как минимум система таймеров и нагрузок + простейшие датчики влажности и температуры. А уже потом рисовать, хабы, сервера, и проверку на сгоревшую лампочку и прочий не важный функционал. Если говорить за "железную" часть проекта, то 80% проекта это сделать корпус куда можно будет запихнуть плату с вашей схемотехникой. Потому как макетки и временные решения, это просто полумеры которые в конечном итоге приведут к потере живности или другим неприятностям. Если говорить за весь проект вообще, то 80% это как-раз таки "программная часть" которую собрать ой как не просто. В 99% случаев это будет штучная разработка которая будет разрабатываться именно под вас. А по сему написать код, который будет работать без ошибок, отладить его, это просто уйма времени. Так как писать будете сами, тестировать сами, на железе в штучном варианте, с кучей багов, которые будут вылазить не один месяц... Зачастую такие проекты глохнут на стадии написания прошивок, потому как разработчики переоценивают свои силы и необходимое время.
Поэтому ищите готовые опенсорсные проекты, которые имеют хоть какое-то сообщество, и отталкивайтесь уже от готовых решений... Например: https://www.aquaforum.ua/showthread.php?t=232233
DrJarold, Благодарю очень полезно буду читать) стоит только уточнить, что я не тупой, работы со всем этим будут вестись далеко не в ущерб ящеркам, игры играми, а они ни в чем не виноваты, просто как хобби, что-то попаять, что-то покодить, может как разберусь с ардуино, закажу платы в китае и буду кодить уже на C++
Дело не в тупости, а в том что бы вы осознали, что все что вы написали выше это месяцы и месяцы работы, в одно лицо. При этом вам придется изучить схемотехнику, электротехнику, низкоуровневое программирование, кучу даташитов, такую же кучу все возможных программ по прототипированию и проектированию схем, созданию печатных плат, несколько языков программирования, причем на достаточно хорошем уровне. И нет никакой гарантии что все что вы "наваяете" будет работать так как вы задумали. Поэтому и советую взять что-то готовое и отимизировать это под свои нужды. В примере выше что я скинул, все это уже реализовано. И печатные платы, и прошивки, и удаленное управление и даже клиент под Андроид. Все с исходниками. Ваяйте. Успехов Вам!
DrJarold, Большое спасибо) кусок с программированием можно закрыть, т.к. это моя специализация) по остальному да согласен, но это как минимум полезно и интересно, лучше чем в ТВ залипать) да и давно руки чешутся)
Даже если "взбунтуется" какой нибудь самопальный "умный дом" его более умный владелец теоретически должен успеть добежать до рубильника. У вас речь идет о безопасности бессловесных живых тварей.
В вашем вопросе я, как дипломированный инженер конструктор, вижу много часов проектирования, различных расчетов в т.ч. и отказоустойчивости системы. Потом полевые испытания, наработка на отказ, тесты отказа различных датчиков. В общем набежит год-полтора работы и то это не даст 100% гарантии сохранности ваших зверушек. Короче, только один проект это вопрос на не одну тысячу долларов, я погуглил, ваши звери столько не стоят, это скорее тема небольшого стартапа. В вашем случае попросите соседскую бабу Машу приглядеть за живностью и вся автоматика.
ЗЫ
8. Макетная плата
Откровенно улыбнуло. Хотя в прочем, весь ваш список указывает на ваши живодерские наклонности
никуда от вас стартаперов не деться)
проект в качестве хобби, на жизнь ящеров влиять негативно не будет, я же не настолько тупой) просто вечерами посидеть попаять, покодить в удовольствие) под проектированием согласен, но в этом и интерес, может потом закажу платы, и посижу покожу на С++) не марки ж собирать в конце концов)
goodlike_by, Марки тоже занятие интересное.
Про хобби вы ничего не писали. А я вам написал что система "умный террариум" по определению должна быть более надежна чем "умный дом". Для "поиграться" ваш список вполне подходит. В процессе вы сами поймете где ошиблись и кто знает может через 3-4 года в инете появятся в продаже "умные террариумы". В общем идея полезная и интересная в реализации.
Лично я бы Сделал примерно так:
Всю логику работы сбор информации реализовал на UNO. В принципе на шину I2C можно нацепить кучу датчиков. Еще один UNO отвечает за контроль параметров (второй комплект датчиков критических параметров) и передачу данных. Связать оба UNO можно по SPI. В случае критических сбоев, второй UNO тупо вырубает питание всех исполнительных механизмов. Передавать данные можно как по Ethernet так и по WiFi. Так же не помешает система SMS уведомлений о наиболее важных событиях. Не забудьте о часах реального времени.
Работоспособность нагревательных приборов контролируется простым датчиком тока, можно такой, но лучше такой
evgeniy_lm, я еще думаю может логику "принятия решений" оставить на сервер?
По типу: 1 ардуина снимает данные, 2 вторая доп.контроль, данные на сервере обрабатываются и если надо отправляют назад задачу из разряда "Включить свет", "Выключить обогрев", если внештатная ситуация отключаем и отправляем смску. И только в случае если сервер не отвечает, "принимать решения" самостоятельно допустим в течении 3 часов и пулять смс в случае если этот срок вышел (например средняя по отключению света в городе). или фигня?
evgeniy_lm, логика из разряда т.к. сервер по сути промышленный продукт, то шансов что он откинется меньше, чем у самопального аппарата, плюс программирование и сервера моя специальность, там бы я мог развернутся условно говоря
goodlike_by, Логика неверная. 1. Канал связи самое ненадежное место. Например, паяный экскаваторщик не в том месте начал копать и зацепил оптоволоконный кабель. Это условный пример причины могут быть любые другие, даже которые вообразить сложно. Т.е. сервер можно использовать только как систему сбора данных и статистической обработки 2. Зачем усложнять задачу если обычный UNO с ней справится куда лучше (быстрее и проще) любого сервера, он для этого и конструировался. В таком деле существует правило "все что может сделать МК пусть делает МК" 3. По большому счету здесь даже сервер ненужен. Второй UNO сам может быть сервером если сильно надо. 4. Специальность специальностью, а хобби это хобби, если интересно возиться с МК пытайтесь из них выдавить максимум возможностей
С одной стороны одной Ардуины мега должно хватить за глаза (посмотрите её характеристики: лет пятнадцать назад у телефонов не было такой производительности), с другой же подключать десяток датчиков на одну ардуину -- занятие не слишком благодарное. Но синхронить общение с кучей независимых устройств, как по мне, ещё геморойней. Так что тут смотрите: хотите поковыряться в железках -- берите одну ардуину, а если хотите хардкорно попрогать -- берите несколько.
Подключить несколько контроллеров к одному эзернету наверняка возможно, но лично я бы не взялся, делать же несколько эзернетов на один контроллер явно бессмысленно, так что по поводу числа эзернетов мой совет -- ровно столько, сколько ардуин. Только надо держать в голове, что все эти эзернеты должны куда-то идти, и если запланированный вами "сервер" на самом деле какой-нибудь старенький ноут, то, в случае, если ардуин будет много, надо озаботится покупкой хаба.
По поводу датчиков вы сами всё чётко расписали, отмечу разве что, что ваша радение за отказоустойчивость хоть и делает вам честь, но скорее всего несколько избыточна: поломка датчика это всё-таки нонсенс, и вряд ли вам это действительно необходимо. Но тут на самом деле На ваше усмотрение.
По поводу расходников отмечу, что мне во времена, когда я делал подобный проект, сильно не хватало разнообразия проводков (как по цвету, так и по длине), но возможно это исключительно моя проблема.
Хотя, признаться честно, при дальнейшем размышлении, мне кажется, что всё же стоит из архитектурных соображений дать по контроллеру на террариум. Это имеет множество, я надеюсь очевидных, структурных преимуществ, как например лёгкость масштабирования, а из недостатков, пожалуй, только лишь некоторое увеличение стоимости, и до определённого числа террариумов, сложности проекта.
По поводу нескольких ардуин я думал так, две на террариум:
Первая делает замеры температуры и влажности, отправляет на сервер, ну и управляет освещением и УФ по таймеру.
Вторая опрашивает переодически сервер на предмет данных по температуре, влажности и если необходимо включает подогрев\увлажнение, а так же следит за состоянием ламп и коврика с подогревом (вот именно тут меня беспокоят возможные поломки, если что-то с этого не включилось надо алярмить).
По поводу синхронизации каждый блок из плат отвечал бы за свой террариум независимо и считывал бы свою таблицу\настройки, поидее синхронность между всеми блоками мне не нужна.
Хотя сейчас расписал и вроде как на одну для террариума можно уместить.
goodlike_by, Кстати, весьма вероятно, что вам понадобится как минимум одна макетная плата (а скорее всего по одной на террариум); извиняюсь, если говорю очевидную вещь, но практика показывает, что это очевидно не всем.
Я бы на основные вещи поставил выделенные специализированные устройства, отдельные контроллеры температуры, влажности и освещения.
В крайнем случае разделить на 3 отдельных контроллера, каждый для своего террариума, чтобы избежать геноцида.
goodlike_by, в принципе очень плохо. У Arduino очень низкий порог входа, вот и юзают их все кто попало. Ко всему прочему 90% это дешевые (часто очень дешевые) китайские клоны
Но с другой стороны фирменные платы в умелых руках штука достаточно надежная
evgeniy_lm, ну по компонентам, я не планировал покупать китай) я ленивый и месяц ждать доставки слишком долго, у нас есть магазины с ардуино буду закупать все там
goodlike_by, Дык и в тех ваших магазинах 90% тоже Китай. Но Китай разный бывает. Фирменные платы (Италия, США) в 1,5-2 раза дороже качественных китайских, так что для начальных экспериментов можно взять китайские. Если все получится то рабочий прототип можно и на фирменных собрать, с другой стороны у меня есть китайцы которые работают безотказно уже по нескольку лет