This is a package that allows you to list active serial ports:
/dev/ttyS*;/dev/ttyUSB*.
In linux systems information is obtained from udev, sysfs or procfs.
This package currently supports only linux systems.
go get github.com/hedhyw/Go-Serial-Detector/pkg/v1/serialdetpackage main
import (
"log"
"github.com/hedhyw/Go-Serial-Detector/pkg/v1/serialdet"
)
func main() {
list, err := serialdet.List()
if err != nil {
log.Fatal(err)
}
for _, p := range list {
// p.Description():
// returns short information about serial port.
// p.Path():
// returns path to device, for example: "/dev/ttyUSB1".
log.Print(p.Description(), " ", p.Path())
}
}A runnable example is available in example/main.go.