react-native-quiet

    0.1.0¬†‚Äʬ†Public¬†‚Äʬ†Published

    react-native-quiet

    This is a React Native wrapper around the Quiet Project, which enables the transfer of data using sound as the transfer medium. This has a number of benefits:

    • Super cross-platform. (You just need a microphone and a speaker.)
    • Broadcast to devices within range without pairing.
    • No network connection required.

    Quiet can even go ultrasonic, allowing us to communicate without impacting on noise levels that are perceptible by human ears.

    Try the awesome online demo here.

    ūüöÄ Getting started

    Using npm:

    $ npm install react-native-quiet --save

    Using yarn:

    yarn add react-native-quiet

    Android

    This project relies upon the Android NDK; please make sure this is configured within your system path. Android relies upon caching the Quiet Android Project, meaning that we have to manually configure it's visibility to your compiled application. To do this, in your <project-dir>/android/settings.gradle, append the :quiet native project, which is packaged inside of react-native-quiet:

    include ':quiet'
    project(':quiet').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-quiet/android/Transducer/quiet')

    Finally, under File > Project Structure, be sure to define your Android NDK location under SDK Location. You can just use the dropdown to select the default location.

    iOS

    On iOS, after installing be sure to sync your Cocoapods via pod install.

    Upgrading

    0.1.0

    android/settings.xml

     
    include ':quiet'
    - project(':quiet').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-quiet/android/org.quietmodem.Quiet/quiet')
    + project(':quiet').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-quiet/android/Transducer/quiet')

    ‚úćÔłŹ Example

    This project exposes high level functionality to send and receive messages using near-ultrasound. Simply start the library, use send() to transmit a message string and addListener to listen to receive sent messages. Be careful; you can hear your own messages.

    import Quiet from 'react-native-quiet';
     
    // Start listening. (This will ask for microphone permissions!)
    (async() => {
      await Quiet.start("ultrasonic-experimental");
      const { unsubscribe } = Quiet
        .addListener(msg => console.warn(msg));
      Quiet.send("hello, world!");
      await new Promise(resolve => setTimeout(resolve, 10000));
      Quiet.stop();
      unsubscribe();
    })();

    ‚úĆÔłŹ License

    MIT

    Install

    npm i react-native-quiet

    DownloadsWeekly Downloads

    11

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    33.9 kB

    Total Files

    31

    Last publish

    Collaborators

    • cawfree