Erlang последовательный ввод-вывод - PullRequest
4 голосов
/ 08 августа 2011

Я хочу поговорить с моим модемом с помощью erlang. Он монтируется как / dev / ttyUSB и прекрасно понимает AT-команды.

  • Можно ли читать и писать с устройства со стандартным файловым модулем?

  • Как насчет скорости передачи, байтов, четности, RTS / CTS, DSR / DTR и т. П.?

  • Есть ли у вас опыт работы с tonyg-erlang-serial-1.0? (Я не слишком убежден в этом пакете, так как он говорит в файле readme: «Это программа порта с драйвером erlang для последовательной связи, Первоначально написано Йоханом Бевемиром в 1996 году и время от времени поддерживается Тони Гарнок-Джонсом с 2007 года. "

  • Какова общая практика последовательного ввода-вывода в erlang?

Ответы [ 3 ]

4 голосов
/ 12 октября 2013

Получите erlang-serial с поддержкой арматуры с github.com/systra/erlang-serial.Вот простой пример использования:

Serial = serial:start([{speed,38400},{open,"/dev/ttya"}]),
Serial ! {send, <<"test">>},
receive
    {data,FromOtherSide} ->
        doStuff(FromOtherSide);
    Other ->
        Other
end.
0 голосов
/ 10 августа 2011

Так что, по-видимому, нет библиотеки последовательной связи для erlang.Теперь мне пришлось снова выкопать python, использовать pyserial, порождать потоки python из erlang и общаться через stdin.

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

0 голосов
/ 08 августа 2011

Если вы спрашиваете о записи в файлы устройства, то вы не можете сделать это, используя доступные файловые модули в erlang.

Вам придется открыть порт и выполнить код на языке Си / Си ++.

Проверьте, помогает ли .

...