Я пытаюсь использовать python для управления (отправки значений) ардуино, подключенного к HC-06 через Bluetooth.Python Communication to Arduino через Bluetooth
Я использую python 3.4.2 на машине под Windows 10.
Проблема возникает именно в том, как это сделать. Я пробовал пару методов без успеха.
То, что я пробовал:
Я попытался с помощью библиотеки Pybluez найти HC-06, подключиться к нему, а также передавать данные. Проблема в том, что не было способа узнать, какой порт я должен отправить.
driver_socket = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
driver_socket.connect((addr,port))
print("Connected!")
time.sleep(1)
driver_socket.send("a")
print("Sent Message!")
driver_socket.close()
Я пытался найти порт через bluetooth.service, но возвращает пустой список, вероятно, из-за ограниченных возможностей HC-06.
Далее я попытался подключить устройство к компьютеру и настроить COM-порт для передачи данных через Pyserial. HC-06 был ограничен до COM8, когда я выполнил тест.
s = serial.Serial('COM8', 9600,timeout = 1)
print("connected!")
time.sleep(10)
s.write(b"Hello")
print("Sent Message!")
Это кажется, что это будет работать, но через несколько секунд пытается установить соединение, я получаю следующее сообщение об ошибке:
self.open()
File "C:\Python34\lib\site-packages\serial\serialwin32.py", line 62, in open
raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM8': OSError(22, 'The network location cannot be reached. For information about network troubleshooting, see Windows Help.', None, 1231)
Там также является проблемой, для Windows 10 создает при подключении к на устройстве появляется всплывающее окно с просьбой «настроить» устройство. Если вы нажмете на него, появится новое окно с сообщением о том, что возникла проблема, и вы должны повторно подключить устройство. Независимо от того, нажимаете ли вы на это всплывающее окно, ошибка остается прежней.
Любая помощь была бы принята с благодарностью.