Как читать измеренные данные онлайн с устройства в Java-программу?

#java #device

#java #устройство

Вопрос:

Я хотел бы разработать программу, которая показывает различные визуальные стимулы человеку, в то же время записывается ЭЭГ этого человека. Целью этой программы является изменение стимула, отображаемого на экране, в зависимости от записанной ЭЭГ. Хотя запись ЭЭГ выполняется коммерческим программным обеспечением, включающим программное обеспечение, я бы предпочел написать программу, которая отображает визуальные шаблоны на экране на Java. Поскольку стимулы, отображаемые на экране, должны меняться в зависимости от фактической ЭЭГ, программа Java должна считывать данные ЭЭГ из настроенной записи ЭЭГ. Система записи ЭЭГ позволяет экспортировать 16-битный поток данных записи ЭЭГ. Как в Java можно читать в этих data_stream как можно быстрее? Как byte_stream ? Мне интересно, возможно ли это вообще, поскольку data_stream — это не стандартный входной поток, а ввод с определенного устройства, таким образом, как можно найти этот определенный input_stream в Java и прочитать эти данные в режиме онлайн? Я был бы очень благодарен за любые полезные предложения!

Комментарии:

1. Является ли система ЭЭГ приложением, запущенным на том же компьютере, или аппаратным устройством, подключенным к компьютеру через ethernet / usb? Можете ли вы более подробно рассказать об этой функции «экспорта» системы ЭЭГ (читаемой на заданном IP-адресе и порту, сокете unix)?

2. Система записи ЭЭГ представляет собой собственное устройство, которое фильтрует и усиливает измеренные аналоговые данные, оно подключается к компьютеру через специальную АЦП, которая устанавливается на компьютере в виде платы со слотом PCI и преобразует аналоговые сигналы в цифровые потоки данных.

3. Использование чистой java для прямого взаимодействия с A / D-платой невозможно. Если у вас достаточно информации от производителя, вы можете написать что-нибудь на C / C , который взаимодействует между аппаратным обеспечением и java с помощью JNI. Гораздо более простым путем было бы, если бы программное обеспечение, поставляемое с платой, могло предоставлять поток данных по одному из следующих: порт (ip-сокет) на локальном хосте, сокет unix, именованный канал. Имеет ли sw платы такую возможность?

4. Спасибо за вашу помощь! Я должен проконсультироваться с производителем и вернусь с необходимой информацией как можно скорее.

5. Я связался с производителем, они сказали, что невозможно экспортировать data_streams через сокет или канал. Однако они упомянули, что для целей data_export существует C # Dll, которой можно управлять с помощью моей собственной программы. Таким образом, я считаю, что мне нужно взаимодействовать с этой Dll через JNI.