SerialPorts.jl lets you work with devices over serial communication with Julia. It is designed to mimic regular file IO as in the Base Julia library.
This package requires PySerial, which is used through PyCall. Conda is used as a fallback so cross-platform installation is simple.
Check out LibSerialPort.jl if you want to avoid the Python dependency.
SerialPort has a minimal API similar to
IOStream in Julia.
A brief example:
using SerialPorts s = SerialPort("/dev/ttyACM1", 250000) write(s, "Hello World!\n") close(s)
readavailable, are all
In order to see the attached serial devices, use
Arduino submodule provides functionality for manipulating Arduinos over
SerialPorts.Arduino.reset(s::SerialPort) will reset an Arduino.