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

16

Недавно я купил интеллектуальный штекер TP-Link HS100, который я настроил с помощью приложения, и все работает хорошо. Сейчас я пытаюсь понять основную программную и аппаратную архитектуру для такой реализации. Основываясь на простом поиске в Google, я понимаю следующее.

Безголовый интеллектуальный штекер обеспечивает одноранговое соединение с устройством, таким как мобильный телефон или компьютер. Используя устройство с пользовательским интерфейсом, сетевые конфигурации вводятся в устройство IoT. Затем устройство IoT подключается к точке доступа для выполнения некоторого типа аутентификации с помощью облачной службы и устанавливает соединение. Мобильное приложение передает команды облачному сервису, который затем передает команду на интеллектуальный плагин. Это довольно просто.

Мне нравится понимать немного глубже как программную, так и аппаратную архитектуру для этого типа дизайна. Справедливо сказать, что есть какое-то устройство Wi-Fi, такое как чип Wi-Fi CC3100 или аналогичный. Существует микроконтроллер типа ARM Cortex. Это может быть встроенный контроллер Wi-Fi, такой как CC3200 .

Какова основная программная и аппаратная архитектура для реализации такой конструкции для настройки и установления безопасного канала связи? Какой тип минимальной безопасности должен быть реализован для защиты устройства? Я надеюсь, что кто-то на этом сайте имеет опыт такой адаптации (2,4 ГГц) и готов поделиться своим опытом.

Махендра Гунавардена
источник
5
Прочтите этот пост в блоге для получения дополнительной информации о новом HS110: softscheck.com/en/reverse-engineering-tp-link-hs110
Helmar
1
Что ж, у вас будет: питание, Wi-Fi и контроллер на печатной плате, и некоторый программный код, который будет с ним, и это заставит его делать то, что он делает.
Пол

Ответы:

5

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

Ядро Arduino для чипа ESP8266 WiFi

Он основан на недорогом одночиповом решении и может использовать WPA2 для безопасности.

На стороне сервера вы можете использовать SSL / TLS. Проверьте библиотеки thinger.io arduino 2.5+

Для серверной части вы также можете использовать thinger.io.

555
источник
Обратите внимание, что вы также можете запустить MicroPython на ESP8266. Это имеет ряд преимуществ, одно из которых заключается в том, что это намного проще, чем в C / ++, если только вы не владеете C / ++.
Петри