Well this afternoon I was bored, and thought I'd try to create my own "wireless network" using C#. And it worked!
Basically, on one PC you select some data to transfer. It then converts it to binary, and has a grid of squares. The grid flashes black or white, for 1's or 0's. On the receiving PC, a webcam is connected, which is streaming the image into another program. The other program knows where to look on the incoming image (has to be defined before the data transfer), and converts the black and white squares back into binary, then into bytes, and recreates the file!
The grid consists of 320 squares, which each update twice a second (2Hz). I found this to be the best combination of reliablilty and speed. This means the transfer speed = 640 bits per second = 80 bytes per second.
So, to send an average 5mb MP3 file it would take...
5 * 1024 * 1024 * 8 = 41943040 bits.
41943040 / 640 = 65536 seconds
65536 / 60 = 1092.37 minutes
1092.37 / 60 = 18.20 hours
So, 5mb would be a speedy 3/4 of a day. Nice :D
A video of my network working can be seen here. In the example I used the same PC to send and receive, but I have tried it on my laptop to transfer to PC, and it works just as well.
YouTube - DIY Wireless network from everyday objects
Basically, on one PC you select some data to transfer. It then converts it to binary, and has a grid of squares. The grid flashes black or white, for 1's or 0's. On the receiving PC, a webcam is connected, which is streaming the image into another program. The other program knows where to look on the incoming image (has to be defined before the data transfer), and converts the black and white squares back into binary, then into bytes, and recreates the file!
The grid consists of 320 squares, which each update twice a second (2Hz). I found this to be the best combination of reliablilty and speed. This means the transfer speed = 640 bits per second = 80 bytes per second.
So, to send an average 5mb MP3 file it would take...
5 * 1024 * 1024 * 8 = 41943040 bits.
41943040 / 640 = 65536 seconds
65536 / 60 = 1092.37 minutes
1092.37 / 60 = 18.20 hours
So, 5mb would be a speedy 3/4 of a day. Nice :D
A video of my network working can be seen here. In the example I used the same PC to send and receive, but I have tried it on my laptop to transfer to PC, and it works just as well.
YouTube - DIY Wireless network from everyday objects