flashprance
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A lightweight communication protocol to send data from your computer/phone to an embedded device by flashing the screen
FlashPrance
===========

FlashPrance is a toolkit allowing data to be transferred by flashing
lights on and off.


Application
-----------

It's primary purpose is to allow settings to be sent from a computer or
cellphone to an embedded device, such as an Arduino.

The screen of the computer or cellphone will quickly flash between black
and white at different intervals, and the device shall measure the
duration of the light intervals to decode the data.

Because bandwidth is limited by the frames per second that can be
displayed on screen, it is only suitable for very small amounts of data.
It takes roughly 1 second to transfer 1 byte.

It's benefit is the cost and convenience. The sender (computer or
cellphone) does not need any additional hardware or drivers - only the
capability to flash an area of the screen - this may even be a web page.
The only additional components on the receiver (embedded circuite) are a
light sensor and a resistor - this should cost less than $1. 


Planned Features
----------------

*This is still an early work in progress - most of these features are
not implemented yet.*

Sender implementation libraries:

*   Web: JavaScript (DONE)
*   iOS: Objective-C (TODO)
*   Android: Java (TODO)
*   Terminal console: NCurses/ANSI (TODO)
*   Generic C++: algorithm + {MFC,GTK,QT,WinForms,...} (TODO)
*   Generic Java: algorithm + {Swing,SWT} (TODO)

Receiver implementation libraries:

*   Arduino (DONE)
*   Generic C: {atmega,attiny,msp430,arm,pic,...} (TODO)

Communication protocol:

*   Data streaming (DONE)
*   Clock syncronization (DONE)
*   Manchester encoding (TODO)
*   8B/10B encoding (TODO)
*   Message framing: start/length/end (TODO)
*   Checksums (TODO)



本源码包内暂不包含可直接显示的源代码文件,请下载源码包。