8

我正在编写一个应用程序,帮助锁匠安全操作,主要是通过创建他们需要的图表。当试图通过操纵进入保险箱时,需要对“轮组”进行详细分析,并通过绘制“栅栏”在“门”上的相对深度来完成。如果包装上的所有门都对齐,栅栏杆将落入凸轮门,锁将打开。如果有人对更详细的解释感兴趣,您可以在这里找到 Matt Blaze 的精彩处理(从 3.3 开始):www.crypto.com/papers/safelocks.pdf

制作图表很重要,它真正需要的是一遍又一遍地准确测量表盘上的两个位置,并记录两个声音之间的表盘距离。因此,假设“插入”点在 10 和 15 之间,声音事件可能发生在 11.5 和 14.5,或者下一次可能发生在 12 和 15。锁匠制作了这些之间的距离图表数字并在图表上寻找缩小的数字,或者可能只是图表上的最低位置。

我正在通过我的 Android 耳机插孔使用老式无线电棚电话拾音器(吸盘麦克风)来收听声音事件。为了精确测量事件发生的表盘,我用魔术贴简单地将手机安装到表盘上,并使用 SensorManager 根据手机从音频尖峰事件旋转到尖峰的距离来计算声音之间的距离-事件。这很好,但我想在不将电话安装到拨号盘的情况下这样做。过去有几家公司通过使用网络摄像头查看表盘本身来完成此操作,但这似乎远不如仅安装手机准确,因为我可以使用小数度旋转获得更高的精度。

一旦你进入插入位置,你总是会打一个声音,然后将表盘备份到下一个声音,所以我想我可以简单地听一下声音事件,然后一旦表盘反转方向测量到下一个声音事件,但这需要表盘恒定移动,这在现实生活中不会发生。我想我可以通过使用 dynamixel 或伺服来移动锁匠的表盘来做到这一点,但同样,这不是一个好的解决方案。所以我的问题是,你们中的任何一个聪明人是否可以想办法在不将手机安装到表盘的情况下量化这些相关速率(声音事件之间的距离和表盘位置的变化)?

4

1 回答 1

3

不是一个完整的答案,但我可以向您提出一些想法:

从控制系统工程师的角度来看,我可以告诉你,在不直接接触轴的情况下准确测量旋转的方法是使用编码器

因此,也许您可​​以使用Android 附件模式来读取您将安装在表盘上的编码器(通过 Arduino)(可能在编码器轴上放置一个橡胶盘并将其与安全表盘接触)。

整个努力只是为了避免将整个手机粘在表盘上并获得一些额外的精度。

另一种方法可能是在表盘上附加其他会产生click噪音的东西,您可以过滤这些噪音以区分安全声音。但这肯定会降低您的精度。

于 2012-12-27T14:52:57.480 回答