使用Android音频和方向传感器进行机械安全开裂

ial*_*der 8 java algorithm android android-sensors

我正在编写一个应用程序,通过安全操作帮助锁定史密斯,主要是通过创建动态需要的图表.当试图通过操纵进入安全装置时,需要对"轮组"进行详细分析,并通过绘制"栅栏"在"门"上的相对深度来完成.如果所有门都排列在包装上,则栅栏杆将落入凸轮门,锁将打开.如果有人对更详细的解释感兴趣,你可以在这里找到Matt Blaze的一个很棒的治疗方法(从3.3左右开始):www.crypto.com/papers/safelocks.pdf

制作图表非常重要,而且它真正需要的是精确测量表盘上的两个位置,一遍又一遍,并记录两个声音之间的拨号距离.因此,假设"下降"点在10到15之间,声音事件可能发生在11.5和14.5,或者下一次可能发生在12和15.锁定史密斯制作这些之间的距离图表数字和查找,数字缩小,在图表上,或者可能只是图表中的最低位置.

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

一旦你进入插入位置,你总是会听到一个声音,然后将表盘备份到下一个声音,所以我想我可以简单地听一下声音事件,然后一旦表盘将方向测量反转到下一个声音事件,但这需要表盘不变,这在现实生活中不会发生.而且我想我可以通过使用动态像素或伺服来移动锁匠的表盘,但同样,这不是一个好的解决方案.所以我的问题是,如果你们中的任何一个聪明的人都能想到这些相关费率(声音事件之间的距离和拨号位置的变化)可以量化而无需将手机安装到表盘上吗?

Bud*_*ius 3

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

从控制系统工程师的角度来看,我可以告诉您,无需直接接触轴即可精确测量旋转的方法是使用编码

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

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

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