Как я заставляю Java использовать последовательный порт в Linux?

Я включил Meter во все болты, и теперь он отображается на веб-сервере Graphite.

public class MqttSensorDetailSpout extends BaseRichSpout {
    ...
    private Meter tupleMeter;
    public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
        this.tupleMeter = context.registerMeter("meterSpout-" + this.topic);
    }
    public void nextTuple() {
        this.tupleMeter.mark();
        ...
    }
}

enter image description here

6
задан mtrw 21 March 2010 в 18:25
поделиться

4 ответа

Удостоверьтесь, что Вы используете пользователя с полномочиями получить доступ к последовательным портам. Некоторые дистрибутивы помещают последовательные порты в uucp группу, поэтому удостоверьтесь, что пользователь принадлежит той группе.

2
ответ дан 17 December 2019 в 00:15
поделиться

Это было некоторое время, так как я сделал это. Я помню, что Вы не можете только открыть/dev/ttyS0 как файл и ввод-вывод к нему.

Я не забываю иметь ту же проблему с Sun банки IO также.

Решение, на котором я не забываю обосновываться, состояло в том, чтобы создать маленькую программу командной строки в C, который повторил stdin к последовательному порту и последовательному порту в к stdout. Затем я запустил эту программу от своего процесса Java. У меня нет кода, но существует много примеров в сети для c программ, которые пишут в последовательные порты Linux.

1
ответ дан 17 December 2019 в 00:15
поделиться

Мы пользовались библиотеками SerialIO для последовательной передачи данных Java и в Windows и в Linux в течение нескольких лет теперь с большими результатами (и не, я не работаю на них :-)):

http://serialio.com/products/serialport/serialport.php

Библиотеки не автоматически обнаруживают доступные последовательные порты на Linux, хотя - необходимо вручную настроить их.

1
ответ дан 17 December 2019 в 00:15
поделиться

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

Это на самом деле позволило, чтобы наш код работал над Linux (jre1.4.2, slackware и Солнца драйверы Comm3), где это не было проблемой на окнах - странный.

Phill

0
ответ дан 17 December 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: