2020-10-09T18:25:23

sersh - serial port shell

Just wrote the first version of serial port shell in Perl using AnyEvent::SerialPort and AnyEvent::ReadLine::Gnu.

The goal was to be able to send commands over serial port as easy or as "normal" as executing commands in bash shell. The code of sersh may also be a good example for async programming in Perl 5 and how easy is to actually make use of GNU Readline in Perl.

To install, first get Perl and cpanm (for example by `sudo apt-get install cpanm` under Ubuntu/Debian) and then run `cpanm --sudo App::sersh`. Afterward `sersh /dev/ttyUSB0` command is available. For a list of options, use `sersh --help`:

Usage:
        sersh --baudrate 19200 /dev/ttyUSB1

            --baudrate [Int]            - dft.: 19200
            --parity [none|odd|even]    - dft.: none
            --databits [5,6,7,8]        - dft: 8
            --stopbits [1,2]            - dft: 1
            --handshake [none,rts,xoff] - dft: none