MMM-Swipe - Hand gestures


  • Admin

    @mochman to use GPIOs without root try exporting them via a shell command within node. The user than only has to be part of the gpio-group‘ :) check myMMM-PIR-Sensor` for an example!


  • Module Developer

    @paviro Does that only work with setting pins directly? I am using a helper_node that takes care of all of the pin setting and timing for the sensors. It looks like your code sets pins directly with the exec command. I’m not sure how to do that with the npm usonic functions.


  • Module Developer

    @mochman I’m a complete amateur here mate

    I’ve got this far, but no idea what to do next :(

    Now what?

    I didn’t understand in the readme what it meant by pins etc.


  • Module Developer

    @Mitchfarino Looks almost all good. I’m not sure if you have your trigger pin hooked up to ground from this picture. The pins in the config are not the actual pin #'s of the header. It uses the GPIO#. I use this picture as a reference.
    RP3 GPIO

    As an example you can see that pin 32 is called GPIO12. If you connected your Trig wire to that and your Echo wire to GPIO16 (physical pin 36). In the config.js you would use :

    echoLeftPin: 12,
    triggerLeftPin: 16,

    and then a similar setup for your other sensor.
    If you are still having issues with the setup, please let me know.

    As a reference point, your red wire is connected to physical pin #2.



  • @mochman I have a problem when installing the modules. When I enter the module in the config. When I start the Magic Mirror I get the following error message and a white screen.

    Loading config ...
    Loading module helpers ...
    No helper found for module: alert.
    WARNING! Could not load config file. Starting with default configuration. Error found: Error: Module version mismatch. Expected 49, got 48.
    Loading module helpers ...
    No helper found for module: alert.
    App threw an error during load
    Error: Module version mismatch. Expected 49, got 48.
        at Error (native)
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20)
        at Object.Module._extensions..node (module.js:568:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20)
        at Module.load (module.js:458:32)
        at tryModuleLoad (module.js:417:12)
        at Function.Module._load (module.js:409:3)
        at Module.require (module.js:468:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/node_modules/mmm-usonic/lib/usonic.js:5:14)
    Whoops! There was an uncaught exception...
    Error: Module version mismatch. Expected 49, got 48.
        at Error (native)
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20)
        at Object.Module._extensions..node (module.js:568:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20)
        at Module.load (module.js:458:32)
        at tryModuleLoad (module.js:417:12)
        at Function.Module._load (module.js:409:3)
        at Module.require (module.js:468:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/node_modules/mmm-usonic/lib/usonic.js:5:14)
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    Launching application.
    ´´´

  • Module Developer

    @BeLuGe Have you run npm install in the MMM-Swipe folder? Are you running the mirror with sudo? If so would you mind posting your config.js file. Thanks.



  • @mochman Yes I have run npm install in the MMM-Swipe folder. I running the mirror without sudo.
    Error Message without sudo:

    Loading config ...
    Loading module helpers ...
    No helper found for module: alert.
    Initializing new module helper ...
    WARNING! Could not load config file. Starting with default configuration. Error found: Error: Module version mismatch. Expected 49, got 48.
    Loading module helpers ...
    No helper found for module: alert.
    Initializing new module helper ...
    App threw an error during load
    Error: Module version mismatch. Expected 49, got 48.
        at Error (native)
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20)
        at Object.Module._extensions..node (module.js:568:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20)
        at Module.load (module.js:458:32)
        at tryModuleLoad (module.js:417:12)
        at Function.Module._load (module.js:409:3)
        at Module.require (module.js:468:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/modules/MMM-Swipe/node_modules/mmm-usonic/lib/usonic.js:5:14)
    Whoops! There was an uncaught exception...
    Error: Module version mismatch. Expected 49, got 48.
        at Error (native)
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20)
        at Object.Module._extensions..node (module.js:568:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20)
        at Module.load (module.js:458:32)
        at tryModuleLoad (module.js:417:12)
        at Function.Module._load (module.js:409:3)
        at Module.require (module.js:468:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/modules/MMM-Swipe/node_modules/mmm-usonic/lib/usonic.js:5:14)
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    Launching application.
    

    Error Message with sudo:

    No protocol specified
    
    npm ERR! Linux 4.4.19-v7+
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
    npm ERR! node v6.4.0
    npm ERR! npm  v3.10.3
    npm ERR! code ELIFECYCLE
    npm ERR! magicmirror@2.0.0 start: `electron js/electron.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the magicmirror@2.0.0 start script 'electron js/electron.js'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the magicmirror package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     electron js/electron.js
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs magicmirror
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls magicmirror
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /home/pi/MagicMirror/npm-debug.log
    

    config.js

    /* Magic Mirror Config Sample
     *
     * By Michael Teeuw http://michaelteeuw.nl
     * MIT Licensed.
     */
    
    var config = {
            port: 8080,
    
            language: 'de',
            timeFormat: 24,
            units: 'metric',
    
            modules: [
                    {
                            module: 'alert',
                    },
        {
            module: 'motiondetector',
            config: {
                timeout: 600000 // time in milliseconds for to switch off the display after last movement is detected.
            }
        },
        {
            module: 'MMM-Swipe',
            position: 'bottom_left',    // Doesn't matter after it's setup.  It should be blank.
                                        // Best results in one of the side regions like: bottom_left
            config: {
                // See 'Configuration options' for more information.
                echoLeftPin: 24,        //Left Sensor's BCM Numbered Echo pin - REQUIRED
                triggerLeftPin: 23,     //Left Sensor's BCM Numbered trigger pin - REQUIRED
                echoRightPin: 26,       //Right Sensor's BCM Numbered Echo pin - REQUIRED
                triggerRightPin: 25,    //Right Sensor's BCM Numbered trigger pin - REQUIRED
                useAsButton: false,     //Enable a GPIO output when you "press".
                buttonPin: 8,
                verbose: true,
                calibrate: true
            }
        },
                    {
    
                            module: 'clock',
                            position: 'top_left'
                    },
                    {
                            module: 'calendar',
                            header: 'Feiertage',
                            position: 'top_left',
                            config: {
                                    calendars: [
                                            {
                                                    symbol: 'calendar-check-o ',
                                                    url: ''
                                            }
                                    ]
                            }
                    },
        {
            module: 'MMM-FRITZ-Box-Callmonitor',
            position: 'top_right',  // This can be any of the regions. Best results in left or right regions.
            header: "Letzte Anrufe", // This is optional
    
            config: {
                // See 'Configuration options' for more information.
            }
        },
                    {
                            module: 'compliments',
                            position: 'lower_third'
                    },
                    {
                            module: 'currentweather',
                            position: 'top_right',
                            config: {
                                    location: '',
                                    locationID: '',  //ID from http://www.openweathermap.org
                                    appid: ''
                            }
                    },
                    {
                            module: 'weatherforecast',
                            position: 'top_right',
                            header: 'Wettervorhersage',
                            config: {
                        location: '',
                                    locationID: '',  //ID from http://www.openweathermap.org
                        appid: ''
                            }
                    },
                    {
                            module: 'newsfeed',
                            position: 'bottom_bar',
                            config: {
                                    feeds: [
                                            {
                                                    title: "N24 News",
                                                    url: "http://feeds.n24.de/n24/homepage.xml"
                                            }
                                    ],
                                    showSourceTitle: true,
                                    showPublishDate: true
                            }
                    },
            ]
    
    };
    
    /*************** DO NOT EDIT THE LINE BELOW ***************/
    if (typeof module !== 'undefined') {module.exports = config;}
    
    

  • Module Developer

    @mochman I’m only just back looking at this

    Any tutorial I find online says I need a breadboard too - is that correct?

    What pins should put these in? Or where can I find resource on how to do it?0_1472852546333_IMG_20160902_223136.jpg


  • Module Developer

    @BeLuGe So I just tried this myself. When I created the module, I was connected to the pi to test. I just tried using SSH to start the program and got the same error you’re getting. Looks like it’s a issue with running a sudo command over SSH, the workaround I found was to run sudo cp ~/.Xauthority /root/ then run DISPLAY=:0 sudo npm start. The problem with this is that everytime you restart your mirror you will need to run the copy command again.

    @Mitchfarino You don’t need a breadboard. I just used one to test out my configuration. You can hook it up directly to the pi using those wires you have already connected. When I tested out my setup, I used these pins.

    echoLeftPin: 24,       
    triggerLeftPin: 23,     
    echoRightPin: 26,      
    triggerRightPin: 25,   
    

    Remember that those are the GPIO #'s and not the physical pin #.


  • Module Developer

    @mochman I have vcc, trig, echo and gnd on my sensor - how do they map to the config you have posted?


Log in to reply
 

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.