Introduction: The Download Board

Have you ever had the problem of having to download a big volume of data but didn't want to leave the computer on the entire night? Then don't worry no more, we have the right solution for you!

Using the Intel Galileo Gen 2, we have created a tool to easily download files. The main part of the board is a http server which does all the work. Download links can be sent off via a simple self developed iPhone App which are then stored in a list. The files are downloaded one after another and will be saved on the micro SD card or into the root folder of a plugged in USB device.

Feel free to adjust the code as you see fit!

This simple project was created as part of the Multi Modal Media Madness Lab at the Media Computing Group of the RWTH Aachen university. Click here for more information!

Fellow team members:

chris_ge

CKirchhof

Noltibus

neumi

Step 1: Prepare the Intel Developer Image on Your Micro SD Card

Visit the Intel-Website to prepare your micro SD card with the developer version of the Linux image. Our tool may also work on the standard image, but has not been tested sufficiently enough.

Step 2: Download the Download.tar.gz

First of all you have to download the download.tar.gz, which will later run on the Intel Galileo board. All of the files including the documentation of every piece of code can be found at SCIEBO.

Step 3: Download the IPhone Application (optional)

In addition to the Java client which runs on many common platforms, we provide an iPhone App for easy access to your download links. The application can be downloaded for free at SCIEBO.

To use the application on your phone, you need to have an active subscription of the developer program.

The iPhone Application can be used in the Xcode simulator. Alternatively, you can use it on your phone if you have an Apple Developer subscription. You need to have the latest version of Xcode and Mac OS X.

The application cannot be used with Windows, Android etc.

Step 4: Install the Server on to the Galileo

  • Connect to your Galileo using ssh:
ssh root@%YourIP%
  • Download the tar ball to your Galileo:
wget https://rwth-aachen.sciebo.de/public.php?service=files&t=2722aba8f56e54766061e7eddf5ca2fb&path=%2F&files=download.tar.gz&download
  • Unpack the tar ball
  • Change the rights of the GalileoDownloader file to executable
  • You can now run the server with
./GalileoDownloader
  • Maybe you have to open the Port Number 8889 on your router for access from outside your private WLAN

Step 5: Download Your Files

You can use the iPhone application to download files with this tool. The documentation will hopefully answer all the questions that may arise. In addition, there is a little java application that we have written for you in case you do not own an iPhone. It does not contain all the features of the iPhone application but will get the work done. If you want to tinker around, we provide the Gui.java file below which contains the Downloader_Client.jar. Feel free to get creative with the code as well as the documentation of the server to develop your own application!

Simply execute the jar file in order to use it. Write the IP-adress of your Galileo board, type the password of the server running on the board ("abc" by default) and insert the link of the file you wish to download into the designated fields as shown on the picture.

Reminder: The files will be downloaded into the root folder of your USB device, if you have plugged in one, otherwise you will find it in the root folder of the micro SD card.

Comments

author
Robertfrost21 (author)2015-12-20

Incredibly Great...

author
KartikG3 made it! (author)2015-10-23

Getting This error in this project please help me...

Screen Shot 2015-10-23 at 12.56.16 PM.png
author
HashTang (author)2015-09-19

Awesome! 1 Query.

How can I download from torrents?

author
wenden_jason (author)2015-06-02

Is there a way to do this with an UNO ? I'm new to arduino-ing and I'm not exactly a pro at coding yet.

author
chris_ge (author)wenden_jason2015-06-03

No. There seems to be no way to compile it for an Arduino. The server is not a sketch and requires a linux operating system. So it would be possible to compile it for platforms like a Raspberry Pi or for any other machine running linux.
However you would need an other version of the static server library. The only version I published yet is for i386 or compatible architectures.
Porting it to an Arduino would be far away from trivial.
But you could write your own very minimalistic web server. This seems to be a good basic tutorial for http:
http://www.ntu.edu.sg/home/ehchua/programming/webp...

author
rcai2 (author)2015-05-16

It would be better if it support BitTorrent downloading.

author
rpotts2 (author)2015-05-13

that IS pretty cool. any idea if it will work for Yun?

author
noiob (author)rpotts22015-05-14

The Yún has all the features it needs for this to work. It even has Wifi! There's another version of Linux on it, so you'll have to adapt it maybe, but it shouldn't be hard. (Disclaimer: I don't know that much about how the code works)

author
neumi (author)rpotts22015-05-14

I think no, well not with this version. Our idea was that we can send post requests to the galileo and then the galileo will download the links we sent. Therefore we set up a server. If you can do something like this with the Yun it should be possible. If you can only put a sketch on the Yun you will have to write much more code.

author
anshul_rofl (author)2015-05-14

Oh man !! This type of projects inspires me as I love tech. Thanks

author
anshul_rofl (author)2015-05-14

Oh man. These types of projects inspires me.

author
tomatoskins (author)2015-05-13

Really cool idea! I love little things like this that can run 24/7 and not use large amounts of power.