Подключение великого множества датчиков к GPIO Rpi 3 m.B
-
- Ну прям сервер… Дорого. Взять хотя бы C.H.I.P. Вполне справится с задачей. СтОит дешевле. Я о реальной продажной цене. Например Pi zero при цене 5$ с завода, барыжат по 20$. И то нет в наличии. Почему? Видимо все умный дом лепят.
- 1Вт. Напряжение в сети 220 В. Таким образом ток, потребляемый вашим блоком питания 1/220=0,0045 А. Что-то я таких блоков питания не встречал. Если блок питания на 5В 1А, входные параметры 220 В 0,25А (55 Вт).Соответственно 5 В 2А — 220В 0,5 А (110 Вт). Ну это пиковая. Можно 20% скинуть. Но не 1 Вт!
- Модификации. Ну вот автору темы явно не хватает GPIO.
Pi действительно нужен. Помигать светодиодом, посмотреть как это работает. Понять, что карты памяти и блоки питания придется регулярно менять. И реализовать то же самое на STM.
-
griivers (2016-12-02 09:41:01):Уточняю свой вопрос: на распиновке видно, что некоторые GPIO подписаны просто номером, другие имеют в скобках серым некие значения. Например, GPIO13 просто GPIO13, а вот GPIO14 имеет серым шрифтом отметку TXD0. Что сие означает и можно ли GPIO с пометками использовать как обычные GPIO?
Все что обозначено GPIO можно настроить как угодно. Но это «как угодно» означает дискретный вход или дискретный выход.
Если нужно подключать какие либо аналоговые датчики (с точки зрения измерения аналоговых величин: температура, влажность...), то:
GPIO04 — сюда подключаются датчики 1-Wire (DS18B20, DHT22)
GPIO02 и GPIO03 — сюда подключаются датчики по протоколу I2C -
Anton7 (2016-12-05 20:29:05):1. Ну прям сервер… Дорого. Взять хотя бы C.H.I.P. Вполне справится с задачей. СтОит дешевле. Я о реальной продажной цене. Например Pi zero при цене 5$ с завода, барыжат по 20$. И то нет в наличии. Почему? Видимо все умный дом лепят.
2. 1Вт. Напряжение в сети 220 В. Таким образом ток, потребляемый вашим блоком питания 1/220=0,0045 А. Что-то я таких блоков питания не встречал. Если блок питания на 5В 1А, входные параметры 220 В 0,25А (55 Вт).Соответственно 5 В 2А — 220В 0,5 А (110 Вт). Ну это пиковая. Можно 20% скинуть. Но не 1 Вт!
3. Модификации. Ну вот автору темы явно не хватает GPIO.Pi действительно нужен. Помигать светодиодом, посмотреть как это работает. Понять, что карты памяти и блоки питания придется регулярно менять. И реализовать то же самое на STM.
- Что такое C.H.I.P.? Что такое STM? Это готовые компьютеры с операционной системой?
- Ну на счет 1 Вт, это конечно шутка. Но давайте посчитаем. Потребляемый ток у Raspberry — 1000ma. Ну пусть 2А. Умножаем 2А на 5В, получаем 10Вт. При минимальном КПД в 80% получаем 12Вт. Это по максимуму!
- А на каком аналогичном устройстве больше входов/выходов на борту без учета плат расширения? Arduino? Так это не компьютер. Какой софт для умного дома вы туда поставите? Приведите пример. Только не ссылайтесь на «открытые источники в интернете». Конкретней пожалуйста.
Я в свою очередь тоже готов привести примеры реализации системы умный дом на Raspberry.
Вот варианты: ioBroker, intraHouse, Magordomo, Openhab…
-
vam (2016-12-06 00:22:37): griivers (2016-12-02 09:41:01):Уточняю свой вопрос: на распиновке видно, что некоторые GPIO подписаны просто номером, другие имеют в скобках серым некие значения. Например, GPIO13 просто GPIO13, а вот GPIO14 имеет серым шрифтом отметку TXD0. Что сие означает и можно ли GPIO с пометками использовать как обычные GPIO?
Все что обозначено GPIO можно настроить как угодно. Но это «как угодно» означает дискретный вход или дискретный выход.
Если нужно подключать какие либо аналоговые датчики (с точки зрения измерения аналоговых величин: температура, влажность...), то:
GPIO04 — сюда подключаются датчики 1-Wire (DS18B20, DHT22)
GPIO02 и GPIO03 — сюда подключаются датчики по протоколу I2C
Спасибо вам за ответ по теме
А существуют платы расширения, увеличивающие количество допустимых 1-wire и I2C? Или, допустим, микросхемы (чипы), на базе которых это расширение можно собрать самостоятельно?Я нашел на Adafruit'е чип MCP23017, с помощью которого можно получить 16 дополнительных GPIO, но, насколько могу судить, это будут просто GPIO без поддержки I2C?
-
В англоязычных интернетах нашел инфу, что I2C и 1-wire поддерживают мультиадресацию, так как в датчики (и др устройства с поддержкой указанных протоколов) на производстве зашивается уникальное «имя», которое и использует Пай как при обращении к датчику, так и при считывания с него показаний. Насколько сказанное мной справедливо?
-
griivers, читайте.
vam, нравится вам пай — продолжайте. Про блок питания… ну 80% — это в идеальном БП. В действительности потребление выше. Суть не в этом. Я агитирую сначала понять, как это работает. Потом выбрать железо. И лишь потом реализацию. А не как у автора темы: сейчас пай куплю, софт готовый скачаю… А потом судорожно хватать куски информации, как подключить 10 датчиков. Тогда и придет осознание, что пай не очень-то нужен для умного дома. И операционная система не обязательна. И покупать высокопроизводительное устройство и использовать менее 10% его мощностей — нерационально.
-
griivers (2016-12-06 06:29:42):В англоязычных интернетах нашел инфу, что I2C и 1-wire поддерживают мультиадресацию, так как в датчики (и др устройства с поддержкой указанных протоколов) на производстве зашивается уникальное «имя», которое и использует Пай как при обращении к датчику, так и при считывания с него показаний. Насколько сказанное мной справедливо?
Да, вы правы.
К шине 1-wire можно подключить несколько датчиков.
Аналогично и i2c
Каждое устройство на шине имеет адрес.
Но уникальный адрес имеют только 1-wire датчики. Прошиваются при производстве. -
vam (2016-12-06 10:49:24): griivers (2016-12-06 06:29:42):В англоязычных интернетах нашел инфу, что I2C и 1-wire поддерживают мультиадресацию, так как в датчики (и др устройства с поддержкой указанных протоколов) на производстве зашивается уникальное «имя», которое и использует Пай как при обращении к датчику, так и при считывания с него показаний. Насколько сказанное мной справедливо?
Да, вы правы.
К шине 1-wire можно подключить несколько датчиков.
Аналогично и i2c
Каждое устройство на шине имеет адрес.
Но уникальный адрес имеют только 1-wire датчики. Прошиваются при производстве.
Отлично! Большое спасибо! Собственно, заказал MCP23017 — чтобы реле управлялись через нее, да и на реле внешнее питание заведу от греха подальше.И еще вопросец: если для устройств i2c не прошиваются уникальные имена, нужно учить Пай взаимодействовать с ними поочередно, а потом уже объединять в систему? В английской Вики в статье про i2c есть схема подключения 3-х слейвов (сенсоров и др устройств) к мастеру (контроллеру). Ощущение такое, что без предварительной подготовки Пай не сможет разобраться, к какому датчику обращаться — нужно женить.
Вообще, измерения будут производиться последовательно, а не параллельно: измерили расстояние, если увеличилось, через реле на некоторое время (это уже вопрос десятый, на какое) включается прибор, уменьшающий расстояние между датчиком и предметом измерения, вновь меряется расстояние и так по кругу, пока не будет достигнуто эталонное значение. Затем меряется температура, доводится до эталона и так далее.
griivers, читайте.
Спасибо! Эту статью изучил уже -
griivers (2016-12-06 10:56:28): vam (2016-12-06 10:49:24): griivers (2016-12-06 06:29:42):В англоязычных интернетах нашел инфу, что I2C и 1-wire поддерживают мультиадресацию, так как в датчики (и др устройства с поддержкой указанных протоколов) на производстве зашивается уникальное «имя», которое и использует Пай как при обращении к датчику, так и при считывания с него показаний. Насколько сказанное мной справедливо?
Да, вы правы.
К шине 1-wire можно подключить несколько датчиков.
Аналогично и i2c
Каждое устройство на шине имеет адрес.
Но уникальный адрес имеют только 1-wire датчики. Прошиваются при производстве.
Отлично! Большое спасибо! Собственно, заказал MCP23017 — чтобы реле управлялись через нее, да и на реле внешнее питание заведу от греха подальше.И еще вопросец: если для устройств i2c не прошиваются уникальные имена, нужно учить Пай взаимодействовать с ними поочередно, а потом уже объединять в систему? В английской Вики в статье про i2c есть схема подключения 3-х слейвов (сенсоров и др устройств) к мастеру (контроллеру). Ощущение такое, что без предварительной подготовки Пай не сможет разобраться, к какому датчику обращаться — нужно женить.
Вообще, измерения будут производиться последовательно, а не параллельно: измерили расстояние, если увеличилось, через реле на некоторое время (это уже вопрос десятый, на какое) включается прибор, уменьшающий расстояние между датчиком и предметом измерения, вновь меряется расстояние и так по кругу, пока не будет достигнуто эталонное значение. Затем меряется температура, доводится до эталона и так далее.
griivers, читайте.
Спасибо! Эту статью изучил уже
MCP23017 имеет три адресных входа A0-A2. Перемычками можно задать адрес.
Конечно «учить» Raspberry работать с i2c придется. Драйвер для i2c, скрипты для выполнения логики процесса…
К сожалению подсказать по программированию работы с i2c не могу. Пока плотно не работали. -
К сожалению подсказать по программированию работы с i2c не могу. Пока плотно не работали.Спасибо большое за информацию. По программированию — не страшно, программист есть, просто он в закупке непосредственно участвовать не может, да и с физической коммутацией устройств дела (как и я) не имел. С кодом будет попроще.