Я настраиваю сеть Raspberry Pi (rpi) для многокомнатных аудио целей (3 rpis на данный момент и до 5 позже).
Я хочу, чтобы все rpis были связаны друг с другом с помощью сокетов tcp (я должен быть уверен, что сообщения отправляются и принимаются), чтобы они могли легко взаимодействовать.
Эти сообщения не будут использоваться для передачи аудиоконтента, так как для этого я использую мгновенную передачу (и это идеально соответствует моим потребностям).
Моя проблема касается запуска сети rpis. Я хочу, чтобы все rpis были подключены к одной и той же сети Wi-Fi и запускали одну и ту же программу на Python, чтобы сначала обнаружить
сами, а затем, подключаться друг к другу без жесткого кодирования имен / адресов других rpis в каждом устройстве. Можно было бы избежать любого решения, включая главный сервер, так как некоторые rpis могут время от времени отключаться.
На данный момент я написал небольшую библиотеку, которая сочетает в себе udp для рекламы / обнаружения и TCP для безопасного обмена сообщениями, но она не работает идеально (я сталкиваюсь со случайным отключением через несколько дней использования, и я не эксперт в области сетей udp / tcp).
(изменить)
После полной переписки моя внутренняя библиотека теперь работает нормально.
Его можно получить по адресу:
https://github.com/mbrebion/pythonConnect
Однако мне интересно, могут ли другие библиотеки Python предложить такие же возможности.