You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在树莓派上解读霍尼韦尔AXT系列流量传感器数据

霍尼韦尔Zephyr AXT流量传感器数据解读问题

我已搭建霍尼韦尔Zephyr AXT系列流量传感器,但无法解读传感器返回的数据,相关代码及输出如下:

第一段代码及问题

import smbus
bus = smbus.SMBus(1)
address = 0x49
bear1=bus.read_byte_data(address,0x01)
print(bear1)

输出:204
根据数据手册,寄存器0x01应返回传感器背面标签上的序列号20L4,但输出缺失字符L。

第二段读取前7个寄存器的代码及输出

import sys
import board
import busio
i2c=busio.I2C(board.SCL, board.SDA)
print('i2c devices',[hex(i) for i in i2c.scan()])
devices=i2c.scan()
device=devices[0]
registers=(0,6)
register_size=2
result=bytearray(register_size)
for register in range(*registers):
  try:
    i2c.writeto(device,bytes([register]))
    i2c.readfrom_into(device,result)
  except OSError:
    continue
  print('Address {0} contains value : {1}'.format(register,' '.join([hex(x) for x in result])))

输出:

i2c devices ['0x49']
Address 0 contains value : 0x6 0x69
Address 1 contains value : 0x4e 0x17
Address 2 contains value : 0x4e 0x17
Address 3 contains value : 0x4e 0x17
Address 4 contains value : 0x4e 0x17
Address 5 contains value : 0xcc 0x99

数据解读说明

  1. 寄存器0x01的序列号问题
    数据手册中提到的序列号20L4是ASCII字符串格式,但你用read_byte_data仅读取了单个字节,而序列号是多字节连续存储的。20L4对应的ASCII码分别为:2(0x32)、0(0x30)、L(0x4C)、4(0x34)。当前读取到的十进制204对应十六进制0xCC,说明你读取的并非序列号寄存器的正确内容,可能是寄存器地址理解错误,或是读取方式不符合要求(该寄存器需读取多字节而非单字节)。

  2. 多寄存器读取结果分析

    • 寄存器0x00:返回0x06 0x69(十进制6、105),结合Zephyr AXT的寄存器定义,这通常是传感器型号或版本寄存器,需对照数据手册的寄存器映射表确认具体含义。
    • 寄存器0x01-0x04:均返回0x4E 0x17(十进制78、23),这大概率是流量数据寄存器(Zephyr AXT的流量数据通常为16位有符号整数)。按传感器常用的小端模式组合字节:低字节0x4E在前,高字节0x17在后,组合后为0x174E,转十进制是6990。需结合数据手册给出的流量计算公式(流量 = (原始值 - 偏移量) / 灵敏度),代入传感器标签或手册中的偏移量、灵敏度参数,得到实际流量值。
    • 寄存器0x05:返回0xCC 0x99,这通常是校验或状态寄存器,或是保留未使用的寄存器,具体需参考数据手册。
  3. 关键注意事项

    • 确认字节序:Zephyr系列传感器一般采用小端模式存储多字节数据,组合时需调整字节顺序。
    • 序列号读取:需找到数据手册中对应序列号的连续寄存器段,读取多字节后转换为ASCII字符串,不能单字节读取。
    • 流量数据校准:必须获取传感器的偏移量和灵敏度参数,才能将原始寄存器值转换为实际流量。

内容的提问来源于stack exchange,提问作者mrin9san

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:10:37