Project's evolution
In order to start making the prototype, we needed a block diagram to illustrate exactly how the different parts of our project would fit together. Below is the first sketch of that diagram.
As you can see, it started very simple and crude, but soon it evolved into the following:
This diagram shows a much clearer picture of what was actually being done at that time. Roughly at the halfway mark of the development, it still had some rough edges to it, but was starting to take shape. The final diagram looked like this:
This was the real deal. It shows every single part that made the project whole. Let me explain exactly what you're seeing there. You basically have three big components: the Atmel SAME70 board itself, responsible for all of the computational prowess and holding everything together; the WINC1500 Wi-Fi module, which made possible the connection to the server; and the SD card, for storage purposes. This is the final picture of what was actually delivered. It definitely still has ways to go before it can be considered done, but it actually works in doing its core job, which is to download the files that are hosted in a cloud storage server.
How it works
The idea here is simple: we stablish a connection to a Wi-Fi router that is also connected to our own server. This connection happens via a TCP socket and uses HTTP protocols to communicate with the server itself. This way, every time you turn on the device, it automatically checks for every file on the cloud and downloads it into the SD card, using the FatFS library to do so.
The current server is a simple Node JS Express server, that has a root address that lists all the files currently in it, and an address that serves each and every file. It's also linked to a DropBox folder, so that file uploading may be done remotely, even from one's cellphone.
Future implementations
Of all the things yet to be done, some stand out the most. We still need the pen drive to constantly check for changes in the server, so that it automatically downloads only what's changed. We're also not yet able to download any type or any size of files. These are probably the two core features yet missing from our protoype the we'd hoped to have implemented.
Neat idea.
I was planning a similar thing using the $10 ZSUN WiFI device (https://hackaday.com/tag/zsun/) with OpenWRT and some scripts to manage the cloud sync..