Dynami c ролей в P2P-коммуникации - PullRequest
0 голосов
/ 05 мая 2020

Я новичок в сообществе.

Я хочу использовать PN532 (elechouse V4 с Arduino Uno - или NXP PN7150 OM5578 с OM13071) в P2P в следующем сценарии:

  • N устройств, которые могут подключаться друг к другу и обмениваться определенным типом хранимых и неизменяемых данных с течением времени.

Я думал о P2P-соединении между двумя устройствами, установленными в качестве инициатора и цель. Я успешно опробовал и протестировал в I2 C, 2 устройства с активной связью p2p, и он работает так, как предсказано в этом примере (https://github.com/elechouse/nfc-pn532).

Предположим, у нас есть 3 устройства ( или более ..)

A: установить как инициатор

B: установить как цель

C: установить как цель

Если я попытаюсь соединить A и B, связь будет работать, как и для A и C. Проблема возникает, если две ожидаемые цели или два инициатора пытаются соединиться между собой, потому что соединение не может начаться. (Пример) Невозможно установить соединение между B и C (оба установлены как целевые).

Количество устройств в системе не определено, это может быть 2, 10, 100 или 200, все подключенные к друг друга. Есть ли способ «динамического c» (некоторая функция) для установки устройств в качестве инициатора и цели после того, как соответствующие поля обнаруживаются друг другом? Или каким-либо способом создать соединение между двумя устройствами (из системы N устройств), когда они размещены рядом, без предварительной установки, будет ли это инициатором или целью, избегая физических переключателей или подобных вещей?

I надеюсь, что кто-то может мне помочь, я застрял в этой проблеме на несколько недель ..

С уважением,

...