在 USB 端口上读取串行通信时接收空数据 - Raspberry Pi 3 型号 B+

Posted

技术标签:

【中文标题】在 USB 端口上读取串行通信时接收空数据 - Raspberry Pi 3 型号 B+【英文标题】:receiving empty data while reading serial communication on usb port- Raspberry Pi 3 model B+ 【发布时间】:2020-02-05 11:54:52 【问题描述】:

我有一个智能相机每分钟通过 wMbus(无线 Meter-Bus)发送遥测数据,我有一个插入树莓派 3 Model B+ 的 USB 棒(wMbus 接收器)。我正在尝试读取相机发送的数据。我用这个:

import serial

ser = serial.Serial(port='/dev/ttyUSB0', baudrate=2400, parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=10)

while True:
    data = ser.readline()
    print(data)

结果如下:

b''
b''
b''
b''
b''

您知道问题出在哪里以及如何解决它以便能够读取相机发送的遥测数据吗?

【问题讨论】:

【参考方案1】:

这可能有很多不同的东西,几乎每个设备在串行通信方面都有自己的特点,我建议您寻找一些直接为您的设备设计的库,或者直接查看设备文档。

我的选择是基于我在物联网概念验证方面的经验,我必须与 RPI 和 Arduino 一起使用不同的模块和设备,并且在串行配对和数据交换方面,它们中的每一个都有一些特殊性。

在 google 中查找“wMbus python3 lib”返回了 github 上的一些库,您可以尝试并检查它是否符合您的需求。

【讨论】:

【参考方案2】:

很可能是因为没有通过串行端口接收到数据,并且超时(即 10 秒)已达到。您可以在根本没有连接设备的情况下验证这一点,看看您是否得到相同的行为。

【讨论】:

以上是关于在 USB 端口上读取串行通信时接收空数据 - Raspberry Pi 3 型号 B+的主要内容,如果未能解决你的问题,请参考以下文章

如何通过usb端口通信从arduino将串行数据写入phpmyadmin

没有与连接的串行端口通信?

在 Ubuntu 上使用 USB 到串行转换器进行串行通信

C# COM 端口通信 - USB 到串行适配器的错误

使用 VSPE 的 WPF 中的串行端口通信问题

Arduino和Python之间的串行通信发送/接收数据