Wondering what’s next for npm?Check out our public roadmap! »

    com.lisaseacat.metawear

    0.0.2 • Public • Published

    Metawear plugin for Apache Cordova

    Use this plugin to connect your hybrid mobile application to a metawear device.

    Dependencies

    http://plugins.cordova.io/#/package/com.megster.cordova.ble This plugin relies on the Bluetooth Low Energy Central plugin for Apache Cordova.

    Supported Platforms

    • iOS
    • Android

    This Cordova plugin relies on the Bluetooth Low Energy Central Plugin. That plugin currently only supports iOS and Android.

    Installing

    Install with Cordova CLI

    $ cd /path/to/your/project $ cordova plugin add com.lisaseacat.metawear

    API

    Global Variables

    color

    When playing a color on the metawear there are three choices for colors, red, green, and blue. You will need to pass one of these color variables into the setLED method to indicate your color choice.

    COLOR.RED - red
    COLOR.GREEN - green
    COLOR.BLUE - blue
    

    Methods

    init

    Intialize the metawear device.

    metawear.init(success, failure);
    

    Description

    Function 'init' initializes the metawear device. This method attempts to connect to a metawear device over bluetooth low energy. The success callback is called when a metawear device is found and connected to.

    Parameters

    • success: Success callback function that is invoked when a metawear device is found and connected to.
    • failure: Error callback function, invoked when error occurs. [optional]

    listenForButton

    Call if you'd like to listen for button press events on the metawear device.

    metawear.listenForButton(failure, messageReceived, messageError);
    

    Description

    Function 'listenForButton' adds an event listener to the metawear device button press. When a message is received the messageReceived handler is called.

    Parameters

    • failure: Error callback function that is invoked when failing to register the button listener.
    • messageReceived: Success callback function, invoked when the metawear button is pressed. [optional]
    • messageError: Error callback function, invoked when the metawear button is pressed but there was an error retrieving the message. [optional]

    setLED

    Call to light up the LED on the metawear.

    metawear.setLED(metawear.COLOR.BLUE); 
    

    Description

    Function 'setLED' allows you to tell the metawear led to light up with a specific color.

    Parameters

    • color: The color to light the LED as. Supported colors for the metawear are COLOR.RED, COLOR.GREEN, and COLOR.BLUE. If no color is specified the color will be green [optional]

    play

    Plays the saved color channel on the metawear

    metawear.play(autoplay); 
    

    Description

    Function 'play' tells the metawear to being playing the saved LED color pattern.

    Parameters

    • autoplay: boolean value to indicate whether the color pattern should automatically play or not.

    pause

    Pauses the LED on the metawear

    metawear.pause(); 
    

    Description

    Function 'pause' causes the metawear to stop playing the LED color pattern.

    stop

    Stops the saved color channel on the metawear

    metawear.stop(clearPattern); 
    

    Description

    Function 'stop' tells the metawear to stop playing the saved LED color pattern.

    Parameters

    • clearPattern: boolean value to indicate whether the color pattern should be cleared out. If you were to call the play method after calling the stop method with the clearPattern flag set to true, nothing will play because the pattern has been removed. Instead you'll have to first add a color to the pattern with the 'setLED' function.

    motor

    Tells the optional motor sensor to pulse

    metawear.motor(pulseLength); 
    

    Description

    Function 'motor' tells the optional metawear motor to pulse.

    Parameters

    • pulseLength: value indicates how long you'd like the motor to pulse.

    buzzer

    Tells the optional buzzer sensor to pulse

    metawear.buzzer(pulseLength); 
    

    Description

    Function 'buzzer' tells the optional metawear buzzer to pulse.

    Parameters

    • pulseLength: value indicates how long you'd like the motor to pulse.

    startAccelerometer

    Tells the metawear to start sharing information about the accelerometer

    metawear.startAccelerometer(); 
    

    Description

    Function 'startAccelerometer' tells the metawear to start sharing information about the accelerometer. We can use the information returned to see how the values have changed.

    Quick Example of Processing the Accelerometer Information

    onDataReceived : function(buffer) { // data received from MetaWear
        console.log('data received plugin handler');
        var data = new Uint8Array(buffer);
        if (data[0] === 3 && data[1] === 4) { // module = 3, opscode = 4
            //console.log('accelerometer data is: ' + JSON.stringify(data));
            //FYI guessing as the xyz values
            var d2 = data[2]; //x
            var d3 = data[3];
            var d4 = data[4]; //y
            var d5 = data[5];
            var d6 = data[6]; //z
            var d7 = data[7];
            message = "Got accelerometer information: [2]" 
                + d2 + ",[3]" + d3
            + ",[4]" + d4
            + ",[5]" + d5
            + ",[6]" + d6
            + ",[7]" + d7;
            //console.log("ACCELEROMETER MESSAGE: " + message);
            
            //compare against old values
            var xdiff = Math.abs(metawear.accelerometerVALS.x - d2);
            if (xdiff > 30 && metawear.accelerometerVALS.x !== 22){
                console.log("x value changes more than 30 degrees: " + xdiff);
                console.log("ACCELEROMETER MESSAGE: " + message);
                metawear.setLED(metawear.COLOR.RED);   
            }
            
            var ydiff = Math.abs(metawear.accelerometerVALS.y - d4);
            if (ydiff > 30 && metawear.accelerometerVALS.x !== 22){
                console.log("y value changes more than 30 degrees: " + ydiff);
                console.log("ACCELEROMETER MESSAGE: " + message);
                metawear.setLED(metawear.COLOR.GREEN);   
            }
            
            //reset accelerometer values
            metawear.accelerometerVALS.x = d2;
            metawear.accelerometerVALS.y = d4;
            metawear.accelerometerVALS.z = d6;
            
            //all the rest of the values are the same
        }
    

    stopAccelerometer

    Tells the metawear to stop sharing information about the accelerometer

    metawear.stopAccelerometer(); 
    

    Description

    Function 'startAccelerometer' tells the metawear to start sharing information about the accelerometer. We can use the information returned to see how the values have changed.

    disconnect

    Disconnects the metawear device from bluetooth.

    metawear.disconnect(success, failure);
    

    Description

    Function 'disconnect' disconnects the metawear device. This method attempts to disconnect the attached metawear device over bluetooth low energy. The success callback is called when a metawear device is successfully disconnected.

    Parameters

    • success: Success callback function that is invoked when a metawear device is disconnected.
    • failure: Error callback function, invoked when error occurs. [optional]

    Sample application

    To download a sample application to see these methods in action, visit: https://github.com/ldeluca/metawear

    Feedback

    If you have any questions or find a problem with the code, please file an issue or create a pull request against the github repository.

    Install

    npm i com.lisaseacat.metawear

    DownloadsWeekly Downloads

    4

    Version

    0.0.2

    License

    none

    Unpacked Size

    4.05 MB

    Total Files

    20

    Last publish

    Collaborators

    • avatar