У меня есть датчик 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?