1

我正在寻找开始我的项目的提示。

我有一台正在从 SD 卡读取数据的设备。我无法以任何方式远程控制它——我只能通过在这张 SD 卡上保存新数据来“控制”这个设备。我需要手动进行 - 所以如果我想更改 10 个设备上的一些数据,我需要取出 10 个 sd 卡,发送新数据,然后将其放回设备。

1)我想知道我是否可以使用arduino或raspbery假装SD卡。该设备不会从 SD 卡读取数据,而是直接从 arduino 读取数据。Arduino我可以轻松控制。

2)第二种解决方案是两个设备共享一张SD卡。Arduino/RaspberryPi/Android 设备将向 SD 卡发送数据,另一台设备将读取数据。

但我想每 10-15 秒更改一次数据,因此共享一张 SD 卡可能会出现问题。

您对如何解决这个问题有任何想法吗?甚至可能吗?编辑:也许我没有说清楚,但我不能改变阅读设备,我不能在那里安装任何东西。它是仅从 SD 卡读取数据的黑盒设备。

4

2 回答 2

0

我使用Dropbox Sync API以一种方式同步我的所有设备。只需更改 Dropbox 中的单个文件或文件夹,然后我的设备即可获取所有更改并写入其 SD 卡。

这虽然有一些挑战,但我花了一些时间才开始工作。主要是因为 Sync API 的设计不像 Dropbox 在 PC 上那样自动下载文件。相反,它能够判断哪些文件已更改,然后在请求时懒惰地获取它们。由于这可能足以满足您的用例,因此我需要对文件进行离线访问,并且必须跳几圈才能使其在用户实际请求文件之前将文件实际下载到 SD。

如果您只需要相对简单的数据或小文件,我建议您使用 parse.com。请注意,我还没有使用此系统的经验,但它看起来很有前途。

编辑:

现在了解以上对您来说是不可能的,那么我认为在设备之间共享 SD 应该是可以的。您可以在写入 SD 时创建一个简单的空文件,例如 .lock,然后立即将其删除。这样,每当其中一个单元尝试读取数据时,如果他们看到 .lock 文件,他们就知道在再次读取/写入之前应该稍等片刻。可能是避免损坏数据的简单解决方案。

于 2013-10-18T07:50:47.673 回答
0

基本上你有两个选择:要么模拟 SD 卡,要么使用真正的 SD 卡并在 Arduino 和读取设备之间切换。

要模拟 SD 卡,您需要使用 FPGA 并编写大量 VHDL/Verilog 代码。您不能通过微控制器软件来做到这一点,因为涉及的时钟频率很高(主机可能会以几兆比特的速度向您询问数据)。

此外,即使您能够做到这一点,当您进行更改时,您仍然很有可能必须将 SD 卡与读卡器“断开”,至少一段时间 - 否则读卡器会不知道您已更改卡的内容:它可能无法读取新文件,甚至可能覆盖它们。

于 2014-10-31T21:34:33.320 回答