Работаете с внешними аппаратными компонентами в java?

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

На самом деле, работаю над проектом колледжа по управлению светофорами и шлагбаумом на железнодорожном переезде. У меня есть знания в Java, но я не знаю, как заставить светофор и шлагбаум работать с событиями в приложении на основе Swing?
Во-первых, я могу создать электронную схему, которая может считывать небольшой вывод. напряжения на портах компьютера, таких как порт USB, и использовать их в качестве триггера для управления устройствами. Но как я могу генерировать это маленькое напряжение с помощью Java-приложения?

Может ли JavaPOS быть решением? или что-то другое?

Любые идеи? Предложения? Статьи? Образцы?


person Asif    schedule 16.03.2012    source источник


Ответы (3)


Я бы работал в обратном направлении с внешнего устройства. Ответьте на это 1-й: Какой самый простой способ общаться с ним? Если вы говорите USB, хорошо, используйте usb. Затем спросите, как проще всего подключиться к USB. Затем создайте на любом языке, который вам покажется самым простым, этот USB-интерфейс. Наконец, вызовите из вашего Java-приложения Swing это приложение для переноса USB... это может быть простой вызов приложения с помощью чего-то вроде ProcessBuilder.

Другими словами, я думаю, что было бы ошибкой решать проблему взаимодействия с чем-то вроде этого устройства с помощью Java, если только это легко сделать напрямую.

person sethcall    schedule 16.03.2012
comment
Если я скажу, что я специфичен для Windows, то какой будет поддерживающая сборка на любом языке? Не могли бы вы также предоставить некоторую информацию об этой части / - person Asif; 17.03.2012

Рассматривали ли вы связь с этими внешними устройствами, отправляя цифровые сигналы на последовательный порт с помощью Java? Тогда остается просто либо использовать эти цифровые сигналы напрямую, либо использовать аналого-цифровой преобразователь для получения напряжения желаемой величины.

То же самое для ввода с последовательного порта. В этом вам может помочь библиотека RXTX (общайтесь с Серийный порт).

С другой стороны, если у вас есть доступ к MATLAB, то такие вещи — кусок пирога. Ознакомьтесь с набором инструментов для сбора данных и Инструменты управления приборами.

person eternaln00b    schedule 16.03.2012
comment
Да, вы правильно понимаете. но я не говорю и о непрерывных сигналах. Набора из двух или трех типов сигналов запуска для двух или трех последовательных/параллельных портов будет достаточно. Например, я закрепил один порт USB для шлагбаума, для него потребуются два разных сигнала - один для ВВЕРХ и 2 для ВНИЗ. . .аналогично на другом порту USB - один для КРАСНОГО, два для ОРАНЖЕВОГО и три для ЗЕЛЕНОГО. Кроме того, я конкретно говорю об ОС, то есть Windows. - person Asif; 17.03.2012
comment
Я даже не пишу Hello World в MATLAB, но если это просто, я постараюсь выучить его для выполнения своей работы. Могу ли я интегрировать MATLAB с Java? - person Asif; 17.03.2012
comment
Да, вы можете легко интегрировать MATLAB и Java: mathworks.com/help/techdoc /matlab_external/f44062.html - person eternaln00b; 17.03.2012

Я думаю, что вы смотрите на это неправильно. Большинство источников света управляются компьютером. Огни работают на компьютерной системе. Если ваш проект состоит в том, чтобы написать это от начала до конца, вам нужно написать загружаемый контроллер света, который делает много вещей, один управляет цветом и направлением света, а также позволяет подключаться через внешний компьютер. Это соединение может быть USB, Ethernet ext. Теперь напишите программу, облегчающую подключение к источникам света и передачу команд контроллеру света.

person Dwayne B    schedule 24.10.2015