如何使用日志记录(或其他方法)以接收完整的 report/log,其中包括编译器在程序卡住之前所做的每一步?

How to use logging (or other methods) in order to receive full report/log that includes every step the compiler made prior to program getting stuck?

TL;DR 在 Python 中,如何使用日志记录(或其他方法)以接收完整的 report/log,其中包括编译器在程序卡住(或挂起)之前所做的每一步串行写入命令)?

我正在尝试打开 Raspberry Pi 3B 和带有内置蓝牙模块的传感器之间的串行通信。我正在 运行 使用 Tonny IDE 来 Python 代码(代码附在下面)并且 运行 总是卡在:ser.write(data.encode())

到目前为止我已经试过了:

  1. 在Python代码中,将port地址从'/dev/ttyAMA0'改为'/dev/serial0''/dev/rfcomm0'
  2. 手动将蓝牙传感器与 Raspberry Pi 3b '/dev/rfcomm0' 端口配对。它有效,但 Python 代码仍然卡在串行写入命令上。
  3. 在串行配置中,我尝试更改 timeout 或添加 writeTimeout。没有帮助。

代码:

import numpy as np
import serial
from datetime import datetime
import csv
import os
import json


COLS = 16
ROWS = 16

Values = np.zeros((ROWS,COLS))

ser = serial.Serial(
    port='/dev/ttyAMA0',
    baudrate = 115200, #RECOMMENDED BAUD RATE FOR THE SENSOR
    timeout = 3.0)


time.sleep(1)
print("Started")
data="S"
ser.write(data.encode()) #CODE STUCKS HERE.
.
.
.

如果您想使用蓝牙的串行端口配置文件 (SPP),则需要使用 Python 的套接字库。例如: https://blog.kevindoran.co/bluetooth-programming-with-python-3/

但是,如果内置蓝牙模块的传感器是低功耗蓝牙 (BLE),那么您将不得不使用 GATT 查询而不是 SPP。