Вопросы по подключению нескольких ардуино

SiZE
Offline
Зарегистрирован: 26.11.2014

Добрый день. Я новичок в работе с ардуино и у меня есть несколько вопросов по их объединению.

У меня есть дом в 2 этажа, который я собираюсь автоматизировать. На каждом этаже под потолком болтается роутер, роутеры между собой объеденены. Из того, что я вычитал одним из самых популярных видом объединения по типу master -> slave является интверейс I2C. Возможно ли объединение ардуино между собой по такой схеме?

Radjah
Offline
Зарегистрирован: 06.08.2014

Почитай про nRF24. Это радио-передатчик такой. Работает частоте 2,4МГц. i2c обычно на больших русстояниях не используют.

Araris
Offline
Зарегистрирован: 09.11.2012

А еще хорошая тема - ESP8266. Тоже радио-передатчик такой. Перспективная тема, я бы сказал.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

А я бы начал от архитектуры плясать.

Зачем вам объединять ардуины в сеть? Одна "главная" ардуино и несколько дотчиков, которые обслуживаются "второстепенными" ардуинами?

SiZE
Offline
Зарегистрирован: 26.11.2014

Gippopotam пишет:
А я бы начал от архитектуры плясать. Зачем вам объединять ардуины в сеть? Одна "главная" ардуино и несколько дотчиков, которые обслуживаются "второстепенными" ардуинами?

Да, это я попытался отобразить на картинке. Я хочу минимизировать длину кабелей до датчиков. В основном это вкл/выкл освещения и розеток.

Т.к. уже есть два роутера соединенных витой парой, на 1 и 2 этажах, подумал, что неплохо было бы задействовать их. C RF как-то побаиваюсь связываться, т.к. сам я далеко не электрик и приходится сейчас очень много читать, чтобы хоть что-то понять.

axill
Offline
Зарегистрирован: 05.09.2011

насчет проводов вы правы, провода всегда лучше, но если вы готовы эти провода протягивать везде где требуется

радио хуже проводов с точки зрения надежности, но дает почти бесграничную гибкость по месту установке устройств и по количеству устройств

в качестве радио вам уже порекомендовали два неплохих решения. NRF24 модуль дающий полную автономию в общении между устройствами, общение в обе стороны. Не стоит бояться их использовать, на примерах в специальной библиотеке RF24 все довольно легко понять. ESP8266 - новая фишка, работает через традиционный WIFI. по цене и размерам сопоставима с NRF24. Более того имеет встроенный мощный процессор и например розетку можно сделать даже без ардуины, почитайте http://arduino.ru/forum/apparatnye-voprosy/polzuet-li-kto-wifi-moduli-es...

I2C это протокол для соединения между отдельными компонентами и платами в рамках одного устройства (одной коробки). Его нельзя применять для хоть сколько нибудь длинного соединения. Для вашего случая я рекомендую RS485

SiZE
Offline
Зарегистрирован: 26.11.2014

axill пишет:
Для вашего случая я рекомендую RS485

Т.е. роутеры задействовать получиться только если все ардуинки подключить в локалку? Мне просто это видится более простым решением, я не правильно думаю?
Или сделать два отдельных сервера с Ethernet shield и от них по RS485 уже подключать остальные арудинки?

Я почему про роутеры всё спрашиваю, мне не хочется дырявить межэтажное перекрытие, там есть свои нюансы. Подскажите как оптимальней будет?

Radjah
Offline
Зарегистрирован: 06.08.2014

nRF24 может одновременно обслуживать до 6 пайпов на приём и 1 на передачу. Вопрос только в проницаемости среды и помехах. А соединение между этажами можно замутить и через WiFi. Или замутить WDS.

SiZE
Offline
Зарегистрирован: 26.11.2014

А есть туториал или либа по объединению ардуин через ESP8266 ? Я так понимаю, там еще надо ограничение обойти в 5 соединений, какое-то дерево строить маршрутизации.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

SiZE пишет:

А есть туториал или либа по объединению ардуин через ESP8266 ? Я так понимаю, там еще надо ограничение обойти в 5 соединений, какое-то дерево строить маршрутизации.

А почему не использовать сервер? Зачем вам жесткая связь Ардуино-Ардуино?

SiZE
Offline
Зарегистрирован: 26.11.2014

Gippopotam пишет:
не использовать сервер? Зачем вам жесткая связь Ардуино-Ардуино?

Поставить отдельно стоящий компьютер, а каждую ардуино сделать независимой?

axill
Offline
Зарегистрирован: 05.09.2011

SiZE пишет:

axill пишет:
Для вашего случая я рекомендую RS485

Т.е. роутеры задействовать получиться только если все ардуинки подключить в локалку? Мне просто это видится более простым решением, я не правильно думаю?
Или сделать два отдельных сервера с Ethernet shield и от них по RS485 уже подключать остальные арудинки?

Я почему про роутеры всё спрашиваю, мне не хочется дырявить межэтажное перекрытие, там есть свои нюансы. Подскажите как оптимальней будет?

Ну почему же, вы можете топологию связей построить на комбинации витой пары, wifi, nrf24, rs485

Нужен компромис между сложностью и решаемыми задачами

вполне можно иметь ардуину-роутер на каждом этаже. Их с одной стороне подключить к витой паре, а с другой работать по nrf24 и rs485

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

SiZE пишет:

Gippopotam пишет:
не использовать сервер? Зачем вам жесткая связь Ардуино-Ардуино?

Поставить отдельно стоящий компьютер, а каждую ардуино сделать независимой?

Зачем так радикально?

Перепрошитый под OpenWrt роутер - великолепно спраляется.

Можно под сервер Мегу задействовать или Малину, на крайний случай...

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Я в подобном проекте выдал каждой ардуине по ENC28J60 или ESP8266, теперь они у меня сами ходят на сервер отчитаться о работе и получить инструкции дальнейших действий. :) 

Radjah
Offline
Зарегистрирован: 06.08.2014

ИМХО дороговато получится.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Radjah пишет:

ИМХО дороговато получится.

аруинка+nrf24 дешевле некуда. Подойдет, судя по заданию вполне.

Можно и ESP8266 использовать без Ардуино, залив соотсвествующую прошивку - прошивку можно написать самому или нарыть в интернете.. Основная цена беспроводного модуля будет 3.5$. + цена датчиков, реле и прочего.. 

Radjah
Offline
Зарегистрирован: 06.08.2014

Я про пост №13

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Radjah пишет:

ИМХО дороговато получится.

Ethernet или WiFi как альтернатива RS485 гораздо дешевле :), а i2c использовать для связи более чем на несколько метров не очень хорошо.

Кроме того, включение каждого контроллера в IP сеть позволило убрать "мастера", что упростило проект даже по железу больше чем удорожило добавление каджому контроллеру свой Eternet/WiFi (по 3-4 USD на нос), я уже про программную часть не говорю.

Использование же WiFi ещё экономит на прокладке кабеля, что гораздо больше стоимости ESP8266

Как-то так :)

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

KVadik пишет:

Radjah пишет:

ИМХО дороговато получится.

Ethernet или WiFi как альтернатива RS485 гораздо дешевле :), а i2c использовать для связи более чем на несколько метров не очень хорошо.

Кроме того, включение каждого контроллера в IP сеть позволило убрать "мастера", что упростило проект даже по железу больше чем удорожило добавление каджому контроллеру свой Eternet/WiFi (по 3-4 USD на нос), я уже про программную часть не говорю.

Использование же WiFi ещё экономит на прокладке кабеля, что гораздо больше стоимости ESP8266

Как-то так :)

Давно вы свой проект закончили?

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Gippopotam пишет:

Давно вы свой проект закончили?

Нет. Ещё процессе. С Ethernet контроллеры стоят и работают на объекте (где-то месяца 4), с WiFi пока только в офисе. А что?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

KVadik пишет:

Gippopotam пишет:

Давно вы свой проект закончили?

Нет. Ещё процессе. С Ethernet контроллеры стоят и работают на объекте (где-то месяца 4), с WiFi пока только в офисе. А что?

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