【发布时间】:2019-07-24 15:11:38
【问题描述】:
在 Revolution Pi 上使用 CANopen 我有来自 MLS(磁线传感器)的数据,但是由于需要即时更新,因此接收到的数据速度太慢,无法满足需求。我需要做什么才能使数据更新更快?
CAN 设置使用:
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up
candump can0 -td
我已经使用 Python-can 库创建了一个基本程序来研究它是否会更快地轮询:
import can
can_interface = 'can0'
bus = can.interface.Bus(can_interface, bustype='socketcan')
while 1 < 2:
bus.flush_tx_buffer()
message = bus.recv()
print(message)
数据打印的消息数据(类似于 candump 的数据)应该在一秒钟内多次发布在新消息中,但是我在来自传感器的消息之间等待 10 分钟
【问题讨论】:
-
传感器的数据表会很有用。如果是 CANopen 设备,我怀疑它只是在没有任何配置的情况下开始发送数据。
-
它使用节点 10 进行了预配置,我使用带有 CANopen 模块的 RevolutionPi Connect 立即接收数据。这是数据表:cdn.sick.com/media/docs/8/68/568/…
标签: python linux raspberry-pi raspbian canopen