我正在寻找一个开始我的项目的提示。
我有一个从SD卡读取数据的设备。我无法以任何方式远程控制它-我只能通过在这张SD卡上保存新数据来“控制”这个设备。我需要手动操作-因此,如果我想更改10台设备上的一些数据,我需要取出10张SD卡,发送新数据,然后将其放回设备。
1)我想知道我是否可以使用arduino或raspbery伪装SD卡。该设备将直接从arduino读取数据,而不是从SD卡读取数据。阿杜伊诺我可以轻松控制。
2)第二种方案是两台设备共用一张SD卡。Arduino/RaspberryPi/Android设备将向SD卡发送数据,而另一个设备将读取数据。
但我想每隔10-15秒更改一次数据,因此共享一张SD卡可能会有问题。
你有什么办法解决这个问题吗?这有可能吗?编辑:也许我没有明确提到这一点,但我不能改变阅读设备,我不能在那里安装任何东西。它是只从SD卡读取数据的黑盒设备。
发布于 2013-10-18 15:50:48
我使用Dropbox Sync API对我所有的设备进行单向同步。只需在Dropbox中更改一个文件或文件夹,然后我的设备就会获取所有更改并将其写入SD卡。
然而,这有一些挑战,我花了一些时间才开始工作。主要是因为Sync API的设计不像PC上的Dropbox那样自动下载文件。相反,它能够告诉哪些文件发生了更改,然后在请求时懒惰地获取它们。
如果您只需要相对简单的数据或小文件,我建议使用parse.com。请注意,我还没有使用这个系统的经验,但它看起来很有前途。
编辑:
现在了解到以上情况对你来说是不可能的,那么在设备之间共享SD应该是可以的,我认为。您可以在写入SD时创建一个简单的空文件,如.lock,然后立即将其删除。这样,每当其中一个单元尝试读取数据时,如果它们看到.lock文件,它们就知道在再次读取/写入之前应该等待一段时间。可以是一个简单的解决方案,以避免损坏数据。
发布于 2014-11-01 05:34:33
基本上,您有两个选择:要么模拟SD卡,要么使用真正的SD卡并在Arduino和读取设备之间进行切换。
你不能通过微控制器软件做到这一点,因为涉及到高时钟频率(主机可能会以几兆的速度向你询问数据)。
此外,即使你能够做到这一点,你仍然有一个公平的机会,你仍然必须“断开”SD卡与读卡器,至少在一小段时间内,当你正在进行更改-否则读卡器将不知道你已经更改了卡的内容:它可能不会读取新文件,甚至可能覆盖它们。
https://stackoverflow.com/questions/19444192
复制相似问题