Как мне прочитать последовательные данные с Python, происходящие из Arduino? - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть датчик LiDAR и я хочу общаться с компьютером.Во-первых, я написал простую программу, чтобы посмотреть, смогу ли я заставить работать pySerial:

void setup() {
    Serial.begin(9600);
    Serial.println("Ready");
    delay(1000);
}

void loop() {
    Serial.println("Go");
    delay(1000);
}

И программу python, которая должна взаимодействовать с последовательным портом:

import serial
ser = serial.Serial('dev/cu.usbmodem14101')

Во-первых,Я запустил код Arduino, и монитор Serial напечатал то, что ожидалось (каждую секунду).Затем я пошел на IDLE и попытался запустить программу.Затем я получил эту ошибку:

    serial.serialutil.SerialException: [Errno 16] could not open port 
    /dev/cu.usbmodem14101: [Errno 16] Resource busy: '/dev/cu.usbmodem14101'

Я обнаружил неисправности и нашел lsof |Команда grep "/dev/cu.usbmodem14101" только для того, чтобы получить это:

    Julians-iMac:dev julianmcomie$ lsof | grep "/dev/cu.usbmodem14101"
    Arduino   4199 julianmcomie  100u      CHR              18,55     
    0t2557         911 /dev/cu.usbmodem14101

Большинство людей, которые запускали эту команду, находили какой-то непонятный процесс, работающий на порте в фоновом режиме, и просто убивали процесс.Я довольно новичок в Arduino, так что мне не хватает?Зачем arduino мешать программе на python, если именно с ней хочет общаться программа на python?

...