Соединение usb2can в Голанге - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь настроить автомобильный ПК, который считывает данные с шины CAN.Я хочу, чтобы компьютер автоматически настроил usb2serial устройство.

Моя проблема связана с командой, поступающей из SocketCAN: sudo ip link set up can0 type can bitrate 125000

Не удается установить соединение сработать должным образом.когда команда выполняется в терминале, она должна сказать, что соединение успешно, но когда код go выполняется, она возвращает только can't find script fork/exec

func Can_connect() error {
    var err error

    if helpers.Can_bitrate == 0 {
        log.Println("can bitrate = 0")
        err = errors.New("can bitrate = 0")
        return err
    }

    //sudo ip link set up can0 type can bitrate 125000
    obd_connect := exec.Command("bash", "-c", "sudo ip link set up can0 type can bitrate "+string(helpers.Can_bitrate))
    obd_connect.Run()

    obd_output, err := obd_connect.Output()
    if err != nil {
        log.Println("Error reading output from connecting to obd", err)
        return err
    }

    i, err := strconv.Atoi(string(obd_output[:len(obd_output)-1]))
    if err != nil {
        log.Println(err)
    }

    if i == 0 {
        log.Println("successful confection to obd")
    } else {
        log.Println("unable to setup obd")
    }

    return nil
}
...