我想建立一个 ANT 网络(例如参见维基百科文章)并使用带有集成 ANT 控制器(Apple 用于 Nike+iPod 设备)的 iPhone 3G 开发运动配件与它们通信。我需要知道控制器是哪个 ANT 版本(ANT 或 ANT+),它能做什么(接收器/收发器)以及如何使用 iPhone 上的软件访问控制器。直到知道我能够访问串行接口并通过 WLAN 打开一个套接字,但这个主题的唯一信息就是这个。在集成了 ANT 和外部附件框架的 3G 发布之前已经有一年的历史了。改变了什么?其他群体有没有新的努力?每个信息都会有所帮助。谢谢。
3 回答
apple / nike footpod 不是 ANT 兼容设备。它适用于北欧收发器 nRF2402,但协议不同。我对其进行了逆向工程:
Apple 脚架可与 nRF2402 发射器和 PIC16F688 微控制器配合使用。
重复率:1000ms 配置字节数:2 地址字节数:2 原始数据字节数:28
注:配置是在掉电前发送的,即此时发送2个字节,先是0xe7,然后是0x99。检测到步数后,设备将保持活动状态约 5 秒。该设备与一个简单的压电传感器配合使用来检测脚步声。通过发送 3 个 9 字节的块,然后是 11 字节,然后是 10 字节(块内每个字节之间几乎没有间隙,位时钟低于 2us),每个块之间的间隙为 1.5 毫秒,来完成一次完整的交易。与接收器配置帧的交叉检查显示以下内容: 0x00 0xe0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xc2 0xbd 0x43 0x4f 0x33
这意味着(参见 nRF2401 的数据表;配置): - 通道 0x19 -> 2425MHz - 最大射频功率;16MHz 时钟;冲击爆发;250kbps;1 个 RX 通道活动 - 启用 CRC;CRC 16 位;地址长度 16 位 - 通道 1 的地址:0xc2bd(高字节优先) - 通道 2 的地址:所有 0x00 - 0xe0 -> 通道 1 的 224 个数据位 - 0x00 -> 通道 2 的 0 个数据位
地址长度为 16 位,传输 224 位原始数据。标准设备地址是 0xc2 0xbd 无论如何,通过链接发送的数据以以下模式开始:
地址:0xC2 1. 块 1 字节 0xBD 2. 块 1 字节 数据: 0x0D 3. 块 1 字节 0x01 4. 块 1 字节 0x47 5. 块 1 字节 0xA0 6. 块 1 字节 0x54 7. 字节块 1 的 0x22 8. 块 1 的字节 0xA0 9. 块 1 的字节。块 2 的 10.byte 。块 2 的 11.byte 。
希望这有所帮助
是什么让您确定 iPhone (3GS) 使用的是北欧收发器?在ifixit的拆解中,我似乎看不到它。我们假设 BCM4325 也用于“ANT”通信。
顺便说一下,ANT 和 ANT+ 协议以 1MBit/sec 的全速工作,而不是 250kBit/sec 的较低 footpod 速度。与 ANT 协议相比,nike footpod 中的帧长度也有所不同。从硬件的角度来看,无需任何外部硬件即可在 i-phone 上运行 ANT 甚至 ANT+ 协议!收发器已经集成。如果一个人可以访问 iPhone 中的 nRF2401 收发器,编写一个 ANT 协议处理程序是小菜一碟,那么 ANT 协议是一件非常愚蠢且易于实现的事情!ANT+ 使用 8 字节密钥加密。我猜他们使用更安全的算法,但我不确定。另请参阅:SAFER(安全和快速加密例程)是主要由 James Massey 在维基百科上设计的分组密码系列的名称(源代码可在苏黎世的 ETH 下载或问我......祝你好运