Я создаю программу на Python, которая связывается с Arduino. У меня сложный проект, но мне просто нужно знать, как заставить Python 3 общаться с Arduino в первую очередь. Это дает мне код ошибки:
Traceback (most recent call last):
File "C:\Users\caleb\Documents\Coding\Python\The Modern Python Bootcamp\first_program.py", line 4, in <module>
s = serial.Serial('COM4', '9600' , timeout=0)
File "C:\Users\caleb\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 31, in __init__
super(Serial, self).__init__(*args, **kwargs)
File "C:\Users\caleb\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialutil.py", line 240, in __init__
self.open()
File "C:\Users\caleb\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 62, in open
raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Я попытался перезагрузить компьютер, закрыть и открыть порт, попробовать разные COM-порты и завершить работу Arduino IDE.
Я также сразу же открыл Sublime 3 после того, как мой компьютер перезапустил и запустил Python и все еще получил ошибку. Я попытался выполнить программу в IDLE и Sublime 3 в качестве администратора. Ничего не работает
Я просто пытаюсь прочесть "Привет, мир" из Arduino, чтобы посмотреть, сработает ли связь.
Это основа для проекта, который сканирует с RFID в качестве ключа для программы шифрования файлов. Недавно я сделал полностью независимый исполняемый файл Win 10.
Код Python:
import serial
import time
s = serial.Serial('COM4', '9600' , timeout=0)
while True:
s.read()
Код Arduino:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.write("hello world\n");
delay(100);
}