Dies ist ein Memorandum of Remedy, wenn der folgende Fehler auftritt, wenn eine serielle Kommunikation mit micro: bit unter Verwendung von pySerial durchgeführt wird.
Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/serial/serialposix.py", line 265, in open self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK) FileNotFoundError: [Errno 2] No such file or directory: '/dev/cu.usbmodem14302'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "testSerial.py", line 4, in
ser = serial.Serial(port,115200,timeout=None) File "/usr/local/lib/python3.8/site-packages/serial/serialutil.py", line 240, in init self.open() File "/usr/local/lib/python3.8/site-packages/serial/serialposix.py", line 268, in open raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg)) serial.serialutil.SerialException: [Errno 2] could not open port /dev/cu.usbmodem14302: [Errno 2] No such file or directory: '/dev/cu.usbmodem14302'
Es ist möglich, dass der USB-Anschluss aufgrund des Fehlers "Port konnte nicht geöffnet werden" verwendet wird. In meinem Fall war es **, weil ich den seriellen Arduino-Monitor geöffnet hatte **.
Im geschlossenen Zustand war die serielle Kommunikation erfolgreich.
Es scheint, dass dieser Fehler aus der Perspektive von ** behoben werden kann. Tut es nicht etwas, das die serielle Schnittstelle belegt, wie den seriellen Monitor von Arduino **?
testSerial.py
import serial
mac='/dev/cu.usbmodem14302'
ser = serial.Serial(port,115200,timeout = None)
ser.write(b'1')
time.sleep(1)
ser.close()
receiveSerial.js
serial.setBaudRate(BaudRate.BaudRate115200)
basic.forever(function () {
str = serial.readString()
if (str.indexOf("1") >= 0) {
basic.showIcon(IconNames.Heart)
}
})
Recommended Posts