Optical file transfer uploader

This desktop application complements the android application "Optical File Transfer" that is available on the Play store. It allows you to upload files from your PC as a QR stream on the monitor and capture it through the phone camera in the android app.

Version on both the 32 bit windows and linux is provided. 32 bit windows version also works on the 64-bit windows.

Screenshots

Usage

On windows, simply set the transmission parameters in the setting window, select file you want to upload, press the Upload file button, prepare and point the camera from the android application onto the QR stream that will show up in the separate window. You can also send the file from windows explorer by right-clicking it, selecting "open with" and pointing it to the Uploader application - see the attached screenshots.
If you cannot register anything - try to follow the tips described in the mobile application - try to avoid tilting camera, avoid sun reflexes in the monitor, make sure the camera catches focus correctly on the QR stream code. Or brighten up the screen - camera is capable of delivering higher framerate when it receives more light.
You can also try to decrease the FPS in the settings, increase the allowed error ratio, and downsize the QR size - all of that will slow down the transmission.
If you have relatively new phone which is capable of delivering reasonable framerate in the camera, you can try to increase the speed of the transmission. I had no problem of transmitting files on my phone with FPS 19, 40% Max Error ratio and 700 bits QR frames - or even on faster settings.

Third party licences

This uploader program uses both the libqrencode and the ka9q libraries - which are both on the LGPL licence. To comply with those licences, the code using those libraries has been compiled as a separate shared libraries libqrencoder_wrapper.so and libfec.so in case of linux, and the encoder_util_lib.dll in case of windows.
Complete windows code of the wrapper, together with the Visual Studio 2017 solution to rebuild the LGPL-dependent library for 32 bit x86 architecture has been provided HERE to download.
In case of linux, the libfec.so can be obtained simply by going into the ka9q project page, downloading it, and compiling it using the CMake. That should give you your own version of libfec.so that can be used with this program. For the libqrencode, go to the code project there, download it, and include that code in the wrapper code that is provided in the linux package in the folder lgpl_libqrencode_wrapper (look at the Makefile provided there). When successfully compiled for the x86_64 architecture, that should yield you your own, custom version of the libqrencoder_wrapper.so, that you can use with this program.

Additional notes

The NotoMono-Regular.ttf used is on the OFL licence, and for the linux version the TCLAP library (for command line parsing) is on the MIT Licence.

Need to ask more?

Contact me on .

count/count