如何使用日志记录(或其他方法)来接收完整的报告/日志,其中包括编译器在程序陷入困境之前所做的每一步



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

我正在尝试打开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。

最新更新