По поводу архитектуры домашней системы и роли в ней компьютера:
Насколько я себе представляю, система должна состоять из нужного количества исполнительных устройств, каждое из которых реализует некоторую простую логику по управлению домом, и может работать в нескольких режимах. Также я представляю, что есть управляющее устройство, которое на основе информации от домашних устройств и из внешних сервисов, управляет режимами работы исполнительных устройств + получает с них информацию и предоставляет UI для нее.
Например, в доме может быть видеонаблюдение (это — «исполнительное устройство», на самом деле, может состоять из нескольких физических устройств). В пассивном режиме просто ведется лог, а в режиме отсутствия хозяев при обнаружении движения дополнительно отправляет оповещения. Соответственно, управляющее устройство может, на основе информации с датчиков движения, автоматически переключить систему видеонаблюдения в нужный режим + оно может предоставить пользовательский интерфейс для просмотра текущего изображения с камер.
Я встречал много вариантов реализации управляющих устройств, от устройств на основе ардуино/raspbery pi и различных роутеров с linux до облачных платформ типа Ninja Blocks. На мой взгляд, компьютер (неттоп) — оптимальный вариант. Он находится в вашей локальной сети (в отличие от облачных платформ, у вас не исчезнет возможность включения света, если пропадет интернет). При этом у него больше ресурсов, чем у arduino/raspbery pi/роутеров. Туда можно поставить дополнительное ПО, нужное для системы (например, сервер видеонаблюдения) или организовать на жестком диске медиа-архив. По стоимости — можно купить хороший неттоп в пределах 10 тыс.р. — если человек потратил 15-20 тыс.р. на управляемые выключатели и датчики, то, думаю, он вполне может позволиоть купить себе неттоп для управляющего устройства. Это на несколько тыс.р. дороже аналогов, но сильно экономит время и нервы.
Работа с железом может происходить любыми способами, доступными для компьютера (USB, Ethernet, COM-порт....) Весь функционал системы находится в плагинах. Для добавления нового железа нужно подключить плагин, который реализует взаимодействие с ним. Сейчас есть плагин для управления светом через USB-адаптер nooLite + в ближайших планах есть написание плагина для общения по протоколу MQTT.
Про железо сюда не писал, т.к. хотел рассказать именно про пользовательский интерфейс.
У меня в туалете датчик движения — обычный, за 300 р, с проводами (дочка не достает до выключателя) — тоже иногда выключается, когда кто-то есть внутри. Особых неудобств это не доставляет, но периодически кто-то из гостей сообщает мне об этом. Я обычно в таких случаях шучу, что датчику кажется, что человек заснул и он выключает свет, чтобы спать было комфортнее :)
На счет внутренностей — уточню в ближайшее время и напишу сюда.
На счет стоимости:
По опыту разработки ПО, основной функционал пишется за 20% времени (и, соответственно, денег) и еще 80% уходит на допиливание мелких особенностей, отладку и тестирование. Почти уверен, что при разработке и производстве железа — такая же ситуация и сравнение стоимости серийного устройства со стоимостью основных компонентов не совсем корректно. Это все равно, что сравнивать стоимость автомобиля со стоимостью двигателя и кузова.
Если честно, я тоже не готов купить датчик температуры без возможности обработки информации с него на компьютере за 1400 р. Но я не думаю, что стоимость датчика необоснованно завышена.
Да, на мой взгляд, это перебор. Насколько я знаю, это связано с особенностями производства.
Кстати, обещали еще через неделю датчик температуры (без влажности) за 750 р.
Да, это клевый комикс :) Но, мне кажется, Вы преувеличиваете (в плане количества стандартов и в плане большой потребности в одном универсальном стандарте).
Вы правы на счет того, что маленьким компаниям в этой области выжить очень трудно. Кроме Ноотехники не знаю компаний, которые бы производили подобную продукцию и при этом оставались на плаву (Ноотехника работает уже больше 15 лет, с 97 года).
На счет стандартов MS и Google — пока не думаю, что они распространены и не видел в продаже оборудования, работающего по этим стандартам. Мне кажется, как раз для выживания компании эти стандарты не очень полезны.
Насколько я понял, предполагается полная занятость участников мероприятия в течение 2 месяцев. Интересно, как организаторы представляют участие людей, у которых есть работа и необходимость в постоянном доходе? Или это мероприятие ориентировано на неработающих студентов (что-то типа летней практики)?
Я знаком с несколькими десятками хороших программистов. Таким образом, у меня соотношение составляет 1/<несколько десятков>.
Вы написали «я знакома еще с двумя прекрасными девушками программистами». Я подумал, что общее количество знакомых программистов у Вас тоже большое и соотношение: 2/<большое количество>.
Прошу меня извинить, я был неправ (т.к. нельзя делать такие выводы, не зная общего количества Ваших знакомых-программистов). Пожалйуста, напишите, какое у Вас соотношение женского пола к мужскому среди знакомых программистов и как Вы определили это значение.
Насколько я себе представляю, система должна состоять из нужного количества исполнительных устройств, каждое из которых реализует некоторую простую логику по управлению домом, и может работать в нескольких режимах. Также я представляю, что есть управляющее устройство, которое на основе информации от домашних устройств и из внешних сервисов, управляет режимами работы исполнительных устройств + получает с них информацию и предоставляет UI для нее.
Например, в доме может быть видеонаблюдение (это — «исполнительное устройство», на самом деле, может состоять из нескольких физических устройств). В пассивном режиме просто ведется лог, а в режиме отсутствия хозяев при обнаружении движения дополнительно отправляет оповещения. Соответственно, управляющее устройство может, на основе информации с датчиков движения, автоматически переключить систему видеонаблюдения в нужный режим + оно может предоставить пользовательский интерфейс для просмотра текущего изображения с камер.
Я встречал много вариантов реализации управляющих устройств, от устройств на основе ардуино/raspbery pi и различных роутеров с linux до облачных платформ типа Ninja Blocks. На мой взгляд, компьютер (неттоп) — оптимальный вариант. Он находится в вашей локальной сети (в отличие от облачных платформ, у вас не исчезнет возможность включения света, если пропадет интернет). При этом у него больше ресурсов, чем у arduino/raspbery pi/роутеров. Туда можно поставить дополнительное ПО, нужное для системы (например, сервер видеонаблюдения) или организовать на жестком диске медиа-архив. По стоимости — можно купить хороший неттоп в пределах 10 тыс.р. — если человек потратил 15-20 тыс.р. на управляемые выключатели и датчики, то, думаю, он вполне может позволиоть купить себе неттоп для управляющего устройства. Это на несколько тыс.р. дороже аналогов, но сильно экономит время и нервы.
Про железо сюда не писал, т.к. хотел рассказать именно про пользовательский интерфейс.
Еще ваирант (и продолжение).
На счет стоимости:
По опыту разработки ПО, основной функционал пишется за 20% времени (и, соответственно, денег) и еще 80% уходит на допиливание мелких особенностей, отладку и тестирование. Почти уверен, что при разработке и производстве железа — такая же ситуация и сравнение стоимости серийного устройства со стоимостью основных компонентов не совсем корректно. Это все равно, что сравнивать стоимость автомобиля со стоимостью двигателя и кузова.
Если честно, я тоже не готов купить датчик температуры без возможности обработки информации с него на компьютере за 1400 р. Но я не думаю, что стоимость датчика необоснованно завышена.
Кстати, обещали еще через неделю датчик температуры (без влажности) за 750 р.
Даже без общенго стандарта, было бы офигенно, если бы эти вещи имели хоть какой-то API.
На счет стандартов MS и Google — пока не думаю, что они распространены и не видел в продаже оборудования, работающего по этим стандартам. Мне кажется, как раз для выживания компании эти стандарты не очень полезны.
Например, github.com/theironcook/Backbone.ModelBinder и rivetsjs.com.
UPD. Я всегда буду обновлять страницу преед отправкой комментария.
unicode-table.com/ru
Удобная навигация, есть описания. М.б. кому-нибудь пригодится.
Возможно, такая разница обусловлена спецификой Вашей или моей компании. Интересно было бы собрать такую статистику.
Вы написали «я знакома еще с двумя прекрасными девушками программистами». Я подумал, что общее количество знакомых программистов у Вас тоже большое и соотношение: 2/<большое количество>.
Прошу меня извинить, я был неправ (т.к. нельзя делать такие выводы, не зная общего количества Ваших знакомых-программистов). Пожалйуста, напишите, какое у Вас соотношение женского пола к мужскому среди знакомых программистов и как Вы определили это значение.