项目作者: rzr

项目描述 :
Naive implementation of w3c specs for IoT.js
高级语言: JavaScript
项目地址: git://github.com/rzr/generic-sensors-lite.git
创建时间: 2018-03-08T16:25:35Z
项目社区:https://github.com/rzr/generic-sensors-lite

开源协议:Apache License 2.0

下载


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:

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

USING NODE.JS:

  1. git clone --recursive https://github.com/rzr/generic-sensors-lite
  2. cd generic-sensors-lite
  3. npm install
  4. npm start
  5. #| node example/index.js
  6. #| (...)
  7. #| {"illuminance": 123.}
  8. #| (...)
  9. #| {"celsius": 42.}
  10. #| (...)
  11. (...)

USING IOT.JS

First install IoT.js as explained at:

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

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

For constrained environments:

  1. make start
  2. #| (...)
  3. #| iotjs example/index.js
  4. #| (...)
  5. #| {"illuminance": 123.}
  6. #| (...)
  7. #| {"celsius": 42.}
  8. #| (...)

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

USING NODE.JS

  1. 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:

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

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

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

RESOURCES:

LICENSE:

FOSSA Status