передача данных между 2 программами Python на разных устройствах

Я работаю над проектом по управлению дроном с помощью ЭЭГ-гарнитуры. Гарнитура EEG подключена к моему ноутбуку [runnig ubuntu 18.04], а дрон - к raspberry pi [raspbian].

Код для обработки данных ЭЭГ на ноутбуке, а также код для управления дроном написаны на python 3.6 и работают без проблем.

настраивать:

ЭЭГ-гарнитура [Neurosky Mindwave Mobile 2] и дрон [Parrot Mambo] используют BLE [bluetooth low energy] для подключения к устройствам. Поскольку оба они используют Bluetooth, было бы сложно отправлять и получать данные одновременно на оба устройства, используя один код и ноутбук, поскольку им требуется постоянное бесперебойное соединение и высокая скорость передачи данных. следовательно, гарнитура EEG подключается к ноутбуку через BLE, а дрон - к raspberry pi 3b +. Ноутбук обрабатывает сигнал ЭЭГ и определяет желаемую команду, а Raspberry Pi действует как беспроводной контроллер для дрона. настройка системы

Мне нужно передать значения между этими двумя кодами [и устройствами], чтобы управлять дроном с помощью сигнала ЭЭГ. Например, если я хочу, чтобы дрон двигался вперед после обработки сигнала, мне нужно отправить, скажем, «1» или «f» на raspberry pi с ноутбука.

Проводное соединение, такое как кабель Ethernet или USB, предпочтительнее беспроводного метода.

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

Что было бы лучшим способом для достижения такого рода общения?


person revanth chowdary    schedule 03.03.2019    source источник
comment
Я не понимаю настройки вашего оборудования. У вас есть дрон с Raspberry Pi, и вы хотите подключить кабель Ethernet к ноутбуку с Ubuntu?   -  person Mark Setchell    schedule 03.03.2019
comment
Может быть, вы тоже захотите рассказать, какую гарнитуру для ЭЭГ вы используете? И проверьте свой пост ... обычно это забавное предложение.   -  person Mark Setchell    schedule 04.03.2019
comment
извините, надо было упомянуть настройку. Я отредактировал свой вопрос и добавил детали.   -  person revanth chowdary    schedule 04.03.2019
comment
Я еще больше запутался :-( О каких устройствах вы говорите? Может, вы могли бы добавить схему? Что к чему соединено кабелем?   -  person Mark Setchell    schedule 04.03.2019
comment
Я добавил изображение, мне нужно связаться между 2 и 3. Мне нужно передать значение из кода портативного компьютера в код, работающий на Raspberry Pi. это не обязательно должно происходить через кабель, но это предпочтительно. Спасибо за ваше время! :)   -  person revanth chowdary    schedule 04.03.2019
comment
Я бы пошел с последовательной связью по кабелю Adafruit 954 или FTDI. Просто, надежно. Для доступа используйте модуль PySerial.   -  person Mark Setchell    schedule 04.03.2019
comment
Спасибо! я посмотрю   -  person revanth chowdary    schedule 04.03.2019


Ответы (1)


Используйте kafka или 0mq, чтобы связать отправителя портативного компьютера с приемником rasp pi. Если один из них перезагружается, ничего страшного, другой будет отключаться. В случае с kafka вы сможете снова и снова воспроизводить сеанс издателя портативного компьютера, настраивая и тестируя клиентский код rasp pi.

person J_H    schedule 03.03.2019
comment
Спасибо! Я буду смотреть в него. - person revanth chowdary; 04.03.2019