INTRODUCTION | ABOUT | CFC | LIBCIMBAR
This is an android app for receiving data over the camera as a one-way data channel. It does not use any antennas (wifi, bluetooth, nfc, ...) or other tricks. Notably, this means it works just as well in airplane mode.
The app reads animated cimbar codes. Nearly all the interesting logic is from libcimbar -- included via a git subtree.
The sender component of cfc is a cimbar encoder -- such as https://cimbar.org. Navigate to that website (or use libcimbar's cimbar_send
to generate barcodes natively), open a file to initialize the cimbar stream, and point the app+camera at the animated barcode.
Release apks are also available here: https://github.com/sz3/cfc/releases/
Only arm64-v8a is officially supported at the moment, because that is all I can test for.
- Install android studio
- Install the android ndk
- Download OpenCV for android
- Create a project with this repo at the root
- update
gradle.properties
such thatopencvsdk
point to wherever you extracted the OpenCV Android SDK.
I found this project incredibly useful for getting started:
https://github.com/VlSomers/native-opencv-android-template
The code in cfc, such as it is, is MIT licensed. It is mostly a blend of various tutorial apps + wrapper code around libcimbar.
The libcimbar code is MPL 2.0. libcimbar's dependencies are a variety of MIT, BSD, zlib, boost, apache, ...