iOS — как отправить сообщение из точки доступа (iPhone) на подключенный клиент (устройство IoT)

Я искал в Google и нашел только инфраструктуру MultipeerConnectivity в iOS, но я не знаю, как заставить ее работать в моем конкретном случае.

Поток того, что я хочу сделать, выглядит следующим образом:

  1. Включить личную точку доступа в iOS
  2. Подключиться к точке доступа с малинового пирога
  3. После подключения клиента отправьте строку сообщения из приложения iOS.

Предполагая, что соединение с малиновым пирогом уже установлено (мы используем статический SSID и пароль для точки доступа)

Возникают следующие вопросы:

  • Какой фреймворк мне следует использовать (при условии, что он уже есть)?
  • нужно ли явно рекламировать устройство iOS из приложения?
  • Как мне получить уведомление, когда малина подключается к телефону?
  • Как отправить сообщение подключенному клиенту?

person HardCodeStuds    schedule 27.05.2019    source источник


Ответы (2)


Хотя я никогда ничего не разрабатывал для Pi, я разработал сетевой сервис для устройств iOS, поэтому могу дать ответ. Когда вы подключаетесь к точке доступа iPhone, это обычное соединение WiFi, поэтому здесь вы можете использовать протокол Bonjour (mDNS) для обнаружения устройств друг друга.

Запустите службу Avahi mDNS на Pi и откройте ее на iPhone.

Вот как для запуска Avahi на Pi.

Вот как обнаружить mDNS сетевой сервис на iPhone.

После того, как сетевая служба будет обнаружена с помощью NSNetServiceBrowser, у вас будет IP-адрес и порт вашего Pi, доступные на вашем iPhone, чтобы вы могли подключиться к нему.

person Eugene Dudnyk    schedule 09.06.2019

Если вы пытаетесь настроить систему IoT, может быть полезно изучить различные облачные предложения для облегчения обмена сообщениями между устройствами. Лично я использовал основные сервисы AWS IoT в прошлом, и их относительно легко настроить. обмен сообщениями между устройствами.

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

person Luc Lapenta    schedule 11.06.2019