Nothing Precedes Matter

    generic-sensors-lite

    0.0.18 • Public • Published

    GENERIC-SENSORS-LITE

    GitHub forks license NPM Build Status dependencies Status FOSSA Status IRC Channel

    NPM

    INTRODUCTION:

    Lightweight implementation of W3C spec, targeting constrained devices.

    Several JavaScript runtimes are supported (node.js, IoT.js using JerryScript)

    Presentation

    USAGE:

    By default simulator are used and generate random values, but following sensors can be plugged on pins of your favorite single board computer:

    • BH1650: for measuring illuminance (i2c=0x23)
    • BMPx80: for measuring temperature, or any compatible sensor (ie: BMP180, i2c=0x77)
    • TCS34725: for measuring colors (i2c=0x29)
    • HTU21D: for measuring humidity (i2c=0x40) Buy

    SETUP:

    Privileged access to hardware resources is also required too (setup or use sudo).

    For instance on Raspbian:

    sudo raspi-config # Enable I2C
    ls -l /dev/i2c* || sudo reboot
    sudo apt-get install i2c-tools
    /usr/sbin/i2cdetect -y 1
    #|      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    #| 00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 20: -- -- -- 23 -- -- -- -- -- 29 -- -- -- -- -- -- 
    #| 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    #| 70: -- -- -- -- -- -- -- 77
    

    USING NODE.JS:

    git clone --recursive https://github.com/rzr/generic-sensors-lite
    cd generic-sensors-lite
    
    npm install
    npm start
    #| node example/index.js 
    #| (...)
    #| {"illuminance": 123.}
    #| (...)
    #| {"celsius": 42.}
    #| (...)
    (...)
    
    

    USING IOT.JS

    First install IoT.js as explained at:

    For Debian and derived (Ubuntu, Rasbian, Armbian):

    curl https://raw.githubusercontent.com/rzr/iotjs-express/master/extra/tools/iotjs/setup.sh \
    | bash -x -e

    For constrained environments:

    make start
    #| (...)
    #| iotjs example/index.js 
    #| (...)
    #| {"illuminance": 123.}
    #| (...)
    #| {"celsius": 42.}
    #| (...)
    

    Note: It has been verified on GNU/Linux not TizenRT yet (TODO).

    USING NODE.JS

    node lib/ambientlight "\"controller\"\"bh1750\"}"

    DEMO:

    web-of-things-agriculture-20180712rzr.webm

    An extra example is provided to show integration in WebThings project. Sensors are powered by webthing-iotjs and monitored on dashboard as progressive web app (PWA).

    Usage:

    make runtime=iotjs start
    make -C example/webthing runtime=iotjs start
    #| (...) 
    log: Serving: http://localhost:8888/properties
    #| (...) 
     
    curl  http://localhost:8888/properties
    #| { (...) "illuminance":123., "celsius":42., "color":"#c0a175" (...) }  

    Respectively node could be supported too, just adapt to webthing-node API instead of webthing-iotjs (TODO):

    make -C example/webthing runtime=node start
    #| (...) 

    RESOURCES:

    LICENSE:

    FOSSA Status

    Install

    npm i generic-sensors-lite

    DownloadsWeekly Downloads

    3

    Version

    0.0.18

    License

    Apache-2.0

    Unpacked Size

    173 kB

    Total Files

    65

    Last publish

    Collaborators

    • rzr