TL;DR在Python中,如何使用日志记录(或其他方法(来接收完整的报告/日志,其中包括编译器在程序陷入困境(或挂起串行写入命令(之前所做的每一步?
我正在尝试打开Raspberry Pi 3B和内置蓝牙模块的传感器之间的串行通信。我正在使用Tonny IDE运行Python代码(下面附的代码(,运行总是被卡住:ser.write(data.encode())
到目前为止,我已经尝试过:
- 在Python代码中,将
port
地址从'/dev/ttyAMA0'
更改为'/dev/serial0'
或'/dev/rfcomm0'
- 手动将蓝牙传感器与Raspberry Pi 3b
'/dev/rfcomm0'
端口配对。它工作正常,但Python代码仍然停留在串行写入命令上 - 在串行配置中,我尝试更改
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。