Комментарии 35
Мне кажется, что для конструктивного обсуждения лучше всего пользоваться email рассылкой — инструмент отработан, и количество комментариев на хабре не растет в геометрической прогрессии.
Относительно связки чайника и приложения считаю, что лучше передавать настройку сети светом. Ибо городить точку доступа в чайнике — это пока перебор (несмотря на то, что сам чайник в wi-fi клиент). Без приложения этот чайник ничем от обычных отличаться по функционалу не будет, а передачу светом можно сделать в приложении, тем самым избавив разработчкиков от реализации схемы «создать точку, поднять dhcp (урезаный вариант, но протокол должен быть реализован), переключиться в режим клиента». Можно реализовать кнопочку, по нажатию которой включается приемник сигнала и пытается получить настройки wi-fi. Хотя могу ошибаться, в силу неосведомленности в области протоколов передачи информации светом.
Не думаю что это сильно ресурсо-затратно, вон SD карты точку доступа создают и ничего
Да, мне тоже больше всего нравится идея с светом. Вариант с WiFi не слишком сложный в разработке, но мне не нравится, что пользователями придется делать слишком много лишних действий:
1)Зайти в настройки WiFi, подключиться к сети чайника
2)Вернуться в приложение, ввести имя и пароль своей сети
3)Опять зайти в настройки, подключиться к своей сети.
Вместо:
1)Ввести имя и пароль, поднести телефон к чайнику.
Но в голосовании лидирует вариант с WiFi-точкой доступа.
1)Зайти в настройки WiFi, подключиться к сети чайника
2)Вернуться в приложение, ввести имя и пароль своей сети
3)Опять зайти в настройки, подключиться к своей сети.
Вместо:
1)Ввести имя и пароль, поднести телефон к чайнику.
Но в голосовании лидирует вариант с WiFi-точкой доступа.
А если у пользователя НЕ БУДЕТ телефона? только стационарный и все. Или чайник будет управляться исключительно с телефона? это бред…
тогда ему придется звонить на чайник через VoIP-гейт :)
Стационарный в смысле WiFi-устройство, клиент. А телефон — нокия 3110…
А если авторизоваться по принципу «домофона»?
В смысле, чтобы чайник знал всех своих пользователей. Понятно, что неограниченное количество новых пользователей так не добавить (а это нужно?). Зато можно удалять существующих «поштучно», а не «сбрасывая» всю сеть.
Для начальной авторизации (первое включение) можно аналог WPS с заранее заданным ключом (уникальным для каждого чайника и напечатанным в инструкции, а также где-нибудь в укромном месте под крышкой на винтах на самом чайнике — на случай, если инструкция безвозвратно «уйдёт»). А для связи — своя ТД.
А после первоначальной авторизации (когда чайник начинает «знать» по крайней мере одно приложение как «своё»), уже с этого приложения можно как добавлять новых пользователей, так и настроить чайник (если нужно) с вещания собственной ТД на использование существующей сети.
(в голове почему-то вертится Z-Wave — в смысле то, как у них организована начальная настройка/спаривание/ассоциации — с использованием единственной кнопки на самом ведомом устройстве)
В смысле, чтобы чайник знал всех своих пользователей. Понятно, что неограниченное количество новых пользователей так не добавить (а это нужно?). Зато можно удалять существующих «поштучно», а не «сбрасывая» всю сеть.
Для начальной авторизации (первое включение) можно аналог WPS с заранее заданным ключом (уникальным для каждого чайника и напечатанным в инструкции, а также где-нибудь в укромном месте под крышкой на винтах на самом чайнике — на случай, если инструкция безвозвратно «уйдёт»). А для связи — своя ТД.
А после первоначальной авторизации (когда чайник начинает «знать» по крайней мере одно приложение как «своё»), уже с этого приложения можно как добавлять новых пользователей, так и настроить чайник (если нужно) с вещания собственной ТД на использование существующей сети.
(в голове почему-то вертится Z-Wave — в смысле то, как у них организована начальная настройка/спаривание/ассоциации — с использованием единственной кнопки на самом ведомом устройстве)
Есть предложение по авторизации в сети.
На чайнике сделать выбор режима авторизации в сети: либо создать свою сеть(для тех у кого нет Wi-Fi роутера), либо подключиться к существующей(для тех у кого есть домашний Wi-Fi роутер). Во-втором случае, авторизоваться можно и по WPS. Хоть буквально на днях WPS на хабре и разнесли в щепки reaver'ом, но все-таки удобнее ввести только цифры, чем «длинносложныйпароль».
Еще можно рассмотреть вариант первоначальной настройки через телефон. Например, подключает телефон к чайнику шнурком USB, запускаем приложение на телефоне, передаем данные домашней Wi-Fi сети.
На чайнике сделать выбор режима авторизации в сети: либо создать свою сеть(для тех у кого нет Wi-Fi роутера), либо подключиться к существующей(для тех у кого есть домашний Wi-Fi роутер). Во-втором случае, авторизоваться можно и по WPS. Хоть буквально на днях WPS на хабре и разнесли в щепки reaver'ом, но все-таки удобнее ввести только цифры, чем «длинносложныйпароль».
Еще можно рассмотреть вариант первоначальной настройки через телефон. Например, подключает телефон к чайнику шнурком USB, запускаем приложение на телефоне, передаем данные домашней Wi-Fi сети.
Поддерживаю варианты, добавлю свой. Маловероятно, что у человека не окажется ни одного компьютера в пределах доступности. А поэтому — пускай на чайнике будет обычный USB-slave, к которому можно подключиться с компьютера и настроить параметры, да хоть из терминала. Дело в том, что в мире полно телефонов, которые не умеют ни host, ни OTG, как быть таким людям?
В общем, нужно не забывать об Оккаме и не плодить сущности. Наиболее простое решение — и есть лучшее.
В общем, нужно не забывать об Оккаме и не плодить сущности. Наиболее простое решение — и есть лучшее.
Мне не нравится вариант с USB:
1)Нужно добавлять дополнительный разьем, без которого можно обойтись. Прошивку можно вполне обновлять через WiFi прямо с сервера.
2)В схему настройки добавляется еще один элемент — компьютер. Вместо «достал чайник, поставил программу на телефон, настроил, начал пользоваться» у нас получается «достал чайник, поставил программу на компьютер, настроил, поставил программму на телефон, начал пользоваться». Хочется сделать наиболее просто.
1)Нужно добавлять дополнительный разьем, без которого можно обойтись. Прошивку можно вполне обновлять через WiFi прямо с сервера.
2)В схему настройки добавляется еще один элемент — компьютер. Вместо «достал чайник, поставил программу на телефон, настроил, начал пользоваться» у нас получается «достал чайник, поставил программу на компьютер, настроил, поставил программму на телефон, начал пользоваться». Хочется сделать наиболее просто.
Начало похоже с карьера в обрыв. Проектирование началось сразу с авторизации пользователя при этом предварительно ничего не заметил о каком-либо подобии ТЗ или отсылки на него.
А что ТЗ? В нем нет ничего о механизме настройки, потому что мы все еще не решили, каким он будет. Да и не связаны мы ТЗ, это и плюс тоже — можно изменять функционал во время разработки.
Котенок = Девушка — это читерство!
Не надо так.
Не надо так.
К вариантам «передать светом» и «передать звуком» осталось добавить «принимать через Bluetooth» и «принимать голосовые команды»
BT — отдельный контроллер, будет дороже. А для распознания голоса нужен или доступ в интернет, или мощный процессор — тоже будет дорого.
Чтобы осознать бредовость ситуации, нужно довести ее до абсурда :)
Варианты с встраиванием железа, которое требуется исключительно для стартовых настроек, и которое в идеальном случае не потребуется никогда — неоптимальны. Скорее всего, у чайника будет USB-разьем для апдейта софта. Его же и нужно использовать для начальной коммуникации — просто и понятно. В конце концов — это тот самый резервный канал, по которому можно настройки сбросить к дефолту, «если что».
Варианты с встраиванием железа, которое требуется исключительно для стартовых настроек, и которое в идеальном случае не потребуется никогда — неоптимальны. Скорее всего, у чайника будет USB-разьем для апдейта софта. Его же и нужно использовать для начальной коммуникации — просто и понятно. В конце концов — это тот самый резервный канал, по которому можно настройки сбросить к дефолту, «если что».
Голосовые команды.
> Рассмотреть картинку в фуллсайзе можно тут.
Ожидал увидеть тут картинку девушки.
Ожидал увидеть тут картинку девушки.
Авторизация на чайнике по логину-паролю. Зачем? Это людям нужны пары логин-пароль, для чайника достаточно только одной записи — пароль, причем такой который пользователю знать без надобности — технический. Возможно даже пароль по умолчанию должен быть серийным номером чайника. Несколько чайников на одну сеть? да ради бога… чему это будет мешать? У них будут разные адреса, пароли будут отличаться — чем это плохо? Широковещательным запросом залогинились на всех чайниках в сети — те к которым пароль подошел — откликнулись, не подошел — откликнулись но сказали «кто такой?» никаких конфликтов, клиент всегда может знать какие чайники существуют вокруг и к каким имеет доступ. Может даже дать возможность управлять несколькими чайниками, к которым имеешь доступ, если он будет способен выдать температуру и уровень жидкости — можно прогнозировать на основании «запросов на воду» от пользователей к какому чайнику и когда подходить(да, уже не домашний получается чайник а офисный).
Вот в чем смысл пар логин-пароль когда их можно генерировать автоматически, без участия пользователя? На чайнике только сделать кнопку или функцию регистрации нового пользователя. Нажимаешь на чайнике — на клиенте к которому его надо прописать вводишь пин-код(рандомный — у чайника ведь есть индикатор на 4 цифры?) и готово — чайник передает свой пароль клиенту. А пароль этот сгенерирован на основе серийного номера(в голом чайнике) и/или пользовательского запроса — случайным образом при вызове функции из меню(можно даже использовать статистику по длительности нажатия на кнопки для формирования случайного числа).
Вот в чем смысл пар логин-пароль когда их можно генерировать автоматически, без участия пользователя? На чайнике только сделать кнопку или функцию регистрации нового пользователя. Нажимаешь на чайнике — на клиенте к которому его надо прописать вводишь пин-код(рандомный — у чайника ведь есть индикатор на 4 цифры?) и готово — чайник передает свой пароль клиенту. А пароль этот сгенерирован на основе серийного номера(в голом чайнике) и/или пользовательского запроса — случайным образом при вызове функции из меню(можно даже использовать статистику по длительности нажатия на кнопки для формирования случайного числа).
Смысл в том, что «логин» ака идентификатор это открытая информация, которую можно перехватить. Он передается в открытом виде, что бы чайник знал, что обращаются именно к нему. И наоборот, для аутентификации чайника на на телефоне/сервере.
Пароль — это закрытая информация, он передается только один раз, при начальной установке. Дальше только challange-response.
Пароль — это закрытая информация, он передается только один раз, при начальной установке. Дальше только challange-response.
Чайник в своей сети будет иметь только один адрес. Другой чайник будет иметь другую сеть/другой адрес… зачем еще один идентификатор? На крайний случай, есть еще и MAC-адреса, как минимум они ими будут отличаться.
И если уж на то пошло, то передача пароля по открытому каналу точно так же небезопасна как и логина. И то и другое можно в принципе перехватить, если не предпринимать дополнительных мер.
И если уж на то пошло, то передача пароля по открытому каналу точно так же небезопасна как и логина. И то и другое можно в принципе перехватить, если не предпринимать дополнительных мер.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
О протоколах замолвите слово… Или давайте разрабатывать чайник вместе!