PySerial "подключается" к BlueSMiRF Silver, но индикаторы на модуле указывают на отсутствие подключения

Мой проект включает в себя сканирование QR-кода с камеры и передачу полезной нагрузки через Bluetooth на ПК.

У меня проблемы с установкой соединения Bluetooth между модулем SparkFun BlueSMiRF Silver и моим ПК. Я использую Bluetooth USB-модуль SparkFun Mini на стороне ПК, потому что у компьютера нет встроенной функции Bluetooth. Я проверил этот код на ноутбуке, который имеет встроенный Bluetooth, и он работает без проблем.

Вот мой код, который я запускаю на ПК:

## Test reading data from a Bluetooth serial port

import serial
import time
import struct
import sys

# Set up serial port to COM5 (bluetooth module) with baudrate 115200
ser = serial.Serial('COM5', 115200, timeout=1)
print("\nConnected")

while(True):
    try:
        # Read serial data
        s = ser.readline()
        s = s.decode("utf-8")
        # Detect if no information is being received
        if s == "":
            print("Disconnected")
            ser.close()
            sys.exit(0)
        # Detect if a code is being transmitted
        elif s != "0\n":
            print("QR Code Payload: " + s[:-1])
    # Allow program to be manually stopped
    except KeyboardInterrupt:
        print("Keyboard Interrupt")
        ser.close()
        sys.exit(0)

Если камера не обнаруживает QR-код, я просто отправляю 0 по Bluetooth, поэтому я знаю, что если информация не получена, значит, плохое соединение (поэтому я закрываю последовательный порт в этом случае).

Проблема, с которой я столкнулся, заключается в том, что ПК напечатает "Подключено", но зеленый индикатор на модуле BlueSMiRF Silver не включится, указывая на то, что соединение на самом деле не установлено. Затем ПК напечатает "Отключено" и программа закроется.

Опять же, этот код и настройка работают отлично, если вместо использования Bluetooth USB Module Mini я использую ПК со встроенной функцией Bluetooth.

Даже если соединение не установлено, диспетчер устройств сообщает, что COM-порт, подключенный к модулю BlueSMiRF Silver, работает правильно.

0 ответов

Другие вопросы по тегам