Как я могу легко настроить Wi-Fi на интеллектуальном устройстве без экрана?

14

Я создаю IoT-устройство, которое будет обслуживать веб-приложение через WiFi, к которому можно получить доступ для управления им.

Я хотел бы сделать это легко настроить. Например, самый простой способ, который я могу себе представить, заключается в следующем; все, что ему нужно, это телефон или аналог с возможностями NFC. (Только гипотетически, потому что это предполагает, что NFC и т. Д. Могут это сделать!)

  1. Пользователь включает устройство IoT
  2. Пользователь держит телефон против NFC-планшета IoT-устройства
  3. Устройство IoT запрашивает у телефона учетные данные WiFi
  4. Устройство IoT использует учетные данные для подключения к WiFi
  5. Устройство IoT направляет браузер телефона на его URL

Но сразу я вижу возможные недостатки:

  • Телефон вряд ли захочет выдать учетные данные; риск безопасности.
  • Телефон вряд ли захочет перейти по указанному URL; риск безопасности.
  • NFC, вероятно, не имеет определенных стандартов для таких операций; даже если проблемы безопасности будут смягчены (например, путем запроса разрешения пользователя), я не могу поверить, что мне посчастливится реализовать это. Таким образом, приложение должно быть загружено для телефона, чтобы сделать все это. Это означает, что приложение должно быть написано для Apple, другое для Android и т. Д., Плюс в случае Apple оно должно быть одобрено, и в любом случае пользователь должен будет найти его, установить и узнать, как его использовать. - все побеждают цель иметь веб-интерфейс.

Очевидно, что у некоторых пользователей не будет NFC-совместимых телефонов, поэтому также должен быть вторичный метод.

Единственное, что я знаю о решении, это то, как работает моя Wi-Fi IP-камера безопасности. Для этого требуется сначала подключить его через кабель Ethernet к маршрутизатору с подсетью 192.168.1.X с заданным IP-адресом (например, моей камере требуется 192.168.1.100, чтобы быть зарезервированной или свободной). Затем пользователь переходит по адресу http://192.168.1.100/ , входит в систему с использованием имени пользователя и пароля, предоставленного камерой, а затем оттуда настраивает камеру с использованием имени и пароля точки доступа WiFi.

Но у этого метода был один серьезный недостаток: он требовал, чтобы маршрутизатор работал в подсети 192.168.1.X. Шахта эксплуатировалась 192.168.0.X. К счастью, я смог перенастроить его. Но мой новый маршрутизатор не имеет такой возможности! Я бы застрял. Кроме того, вышеописанный метод является довольно болезненным; довольно много шагов.

Какие другие решения были реализованы для решения проблемы настройки WiFi-подключения устройства IoT, а затем информирования пользователя о его IP-адресе, чтобы он / она мог получить доступ к своему веб-интерфейсу?

CL22
источник
2
Добро пожаловать в IoT Stack Exchange. Есть ли у вас ограничения на то, какие модули вы включаете в свое устройство IoT, кроме Wi-Fi?
Хельмар
1
Не имеет значения, в какой подсети работает маршрутизатор. Вы все еще можете настроить устройство (телефон, ноутбук и т. Д.) С IP-адресом 192.168.1.200 и перейти к 192.168.1.100, и оно будет работать.
Дэвид Шварц
1
Неполная идея: для вывода используйте движок TTS (преобразование текста в речь), например espeak (linux)
CL22

Ответы:

8

Некоторые устройства поддерживают подключение к маршрутизатору через Wi-Fi Protected Setup (WPS) , что является функцией большинства современных маршрутизаторов, позволяющей любому устройству подключаться к вашей сети (с ограниченным периодом времени для установления соединения) после того, как вы нажал кнопку WPS на роутере.

Кнопка имеет тенденцию выглядеть так:

Кнопка WPS

( ArnoldReinhold , кнопка WPS маршрутизатора Cisco , CC BY-SA 3.0 )

Таким образом, вам не нужно вводить данные в ваше устройство IoT - просто нажмите кнопку для подключения к вашей сети и вуаля !

Эта проблема также рассматривается в разделе «Подключение устройств к Интернету вещей с помощью Wi-Fi» . Наряду с идеей WPS, которую я первоначально предложил, у них есть несколько других вариантов:

Другим распространенным подходом является отображение кофеварки в качестве точки доступа с собственным SSID и парольной фразой, которая указана в карточке быстрого запуска производителя. При таком подходе, когда кофеварка подключена и включена, SSID кофеварки транслируется так, чтобы его было легко идентифицировать. Пользователь отключается от беспроводной сети, подключается беспроводным способом и напрямую к кофеварке и перемещается в область для ввода SSID и пароля. Затем устройство настраивается в качестве клиента в сети пользователя.

Этот метод может показаться наиболее практичным для любой сети, в которой вы не можете использовать WPS (возможно, нет поддержки WPS от вашего маршрутизатора или проблемы с безопасностью WPS ). Конечно, это довольно сложно и потребует дополнительных технических знаний, так что это не идеально.

Все эти методы, которые я обрисовал в общих чертах, действительно работают, только если вы контролируете дизайн устройства IoT - как потребитель, если метод подключения устройства не работает, это, по сути, неудача - единственный вариант - вернуть это в магазин!

Аврора0001
источник
10

Обычный метод заключается в том, что устройство IoT устанавливает временную точку доступа Wi-Fi. Этот AP может быть открыт, или пароль и так далее может даже быть закодирован в QR-код. Такие коды могут быть легко генерируются с помощью таких инструментов , как это . Попробуй это:

ExampleQRCode

Преимущество заключается в том, что пользователь должен предоставить действительный пароль Wi-Fi, и вы избежите обеих ваших угроз безопасности, поскольку эта ссылка - не какой-либо URL , а стандартный дескриптор Wi-Fi, который обычно поддерживают телефоны. Таким образом, только эта временная точка доступа не очень безопасна. Другое преимущество состоит в том, что вам нужна только камера на смартфоне, и я рискну предположить, что у каждого пользователя, использующего IoT, будет телефон с камерой.

Хельмар
источник
3

Я рад, что вы получили другие ответы, потому что NFC, вероятно, является неправильной технологией для этого.

Ваш телефон читает метки NFC и действует на них; нет запроса на телефон, и нет связи туда и обратно.

Так что, в лучшем случае, вы можете пометить устройство - с помощью URL. Когда телефон касается устройства, он перенаправляется на веб-страницу, которая позволяет пользователю визуально настраивать, а затем дает визуальные инструкции устройству о новой конфигурации.

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

Очевидно, что у некоторых пользователей не будет NFC-совместимых телефонов, поэтому также должен быть вторичный метод.

В самом деле :-)

Mawg говорит восстановить Монику
источник
1
Можно ли использовать активный тег NFC для более динамичного обмена информацией? У меня сложилось впечатление, что в этом случае есть время от времени, так что это может быть полезно.
Aurora0001
2
Не то, что вы можете контролировать. Тег NFC может содержать только полезную нагрузку, которая считывается устройством. Полезной информацией может быть URL, адрес электронной почты, номер телефона и т. Д., Но он доступен только для чтения. Обычно я кодирую URL с параметрами, которые мой сервер будет обрабатывать и выполнять всю логику http://me.com/foo.php?device=Xи т. Д. Вы можете перехватить чтение в приложении Android и обработать его там, не обращаясь к серверу, но я считаю, что мое решение работает лучше ,
Мауг говорит восстановить Монику
2
Кстати, «активный» просто означает, что у него есть собственный источник питания (небольшая батарея) и «пассивный», что метка питается от считывателя, когда он приближается.
Мауг говорит восстановить Монику
1
У тега NFC есть только полезная нагрузка, но NFC не ограничивается тегами! AFAIK Все телефоны NFC физически способны использовать NFC в других режимах, хотя программное обеспечение может не всегда показывать его. Протокол NFC также может использоваться в одноранговом режиме. Я думаю, что это даже не увеличило бы стоимость устройства. Смысл режима тега (режим чтения-записи) состоит в том, что у тега нет никакого источника питания, кроме электрического поля, и для этого приложения источник питания доступный.
Жиль "ТАК - перестань быть злым"
1
«NFC не ограничивается тегами» - тогда чип? Индустрия называет их тегами, но я гибок :-) «у тега нет источника питания, кроме электрического поля», как в случае RFID, это верно для пассивных тегов, но не для активных - в этом разница между их.
Моуг говорит восстановить Монику