ds18b20 单线地址格式从 arduino 转换为 debian
ds18b20 One wire address format translate from arduino to debian
我用 arduino 记录了我大部分 ds18b20 的所有地址,当插入 Beaglebone Black 运行 debian 时它们看起来不一样。有什么办法可以将它们翻译成它们在 debian 上的样子吗?我无法全部测试它们,因为大多数都安装在我的原型中..
arduino = '0x28, 0x9D, 0xB6, 0xAB, 0x05, 0x00, 0x00, 0x3E'
debian = '28-000005abb69d'
只是转换地址。
0x28
是传感器类型(可编程数字温度计)。
0x3E
是 1-Wire check-sum(与普通 CRC8 略有不同)。
0x9D, 0xB6, 0xAB, 0x05, 0x00, 0x00
是big-endian模式下的实际地址。
请注意,原始地址的格式通常为 [CRC][Serial][Family Code]
,因此您的 Arduino 以翻转格式 [Family Code][Serial][CRC]
呈现它很奇怪,但没有翻转serial 属性中的值。
我用 arduino 记录了我大部分 ds18b20 的所有地址,当插入 Beaglebone Black 运行 debian 时它们看起来不一样。有什么办法可以将它们翻译成它们在 debian 上的样子吗?我无法全部测试它们,因为大多数都安装在我的原型中..
arduino = '0x28, 0x9D, 0xB6, 0xAB, 0x05, 0x00, 0x00, 0x3E'
debian = '28-000005abb69d'
只是转换地址。
0x28
是传感器类型(可编程数字温度计)。
0x3E
是 1-Wire check-sum(与普通 CRC8 略有不同)。
0x9D, 0xB6, 0xAB, 0x05, 0x00, 0x00
是big-endian模式下的实际地址。
请注意,原始地址的格式通常为 [CRC][Serial][Family Code]
,因此您的 Arduino 以翻转格式 [Family Code][Serial][CRC]
呈现它很奇怪,但没有翻转serial 属性中的值。