Socket
Socket
Sign inDemoInstall

aframe-smart-home

Package Overview
Dependencies
81
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    aframe-smart-home

Digital twin smart home proof of concept


Version published
Weekly downloads
3
increased by200%
Maintainers
1
Install size
0.988 MB
Created
Weekly downloads
 

Readme

Source

AFRAME-SMART-HOME

GitHub forks license GitHub version NPM

Aframe-smart-home is a demo project illustrating digital twins, using different technologies:

  • WoT/Mozilla's WebThing schema to describe resources
  • webthing-iotjs to simulate some sensors (only one here)
  • aframe for rendering to XR devices
  • aframe-webthing to update XR view from webthing

EXPLANATION:

Today, the smart house is empty but has a solar pannel on the roof and we are monitoring the voltage in real time.

For demo purposes a real model of the house was used along a tiny but real solar pannel (item found in garden lamp).

Real

The output voltage of the solar panel is measured using on board analog input and value is shared to the web using WebThing API.

Then a model can be updated by reading the actual value, the device's color is updated according to an heatmap palette:

Demo

USAGE:

SIMULATOR:

Default application is a simulator that mock sensor(s) values.

$ npm install aframe-smart-home
$ cd node_modules/aframe-smart-home/
$ npm install && npm start
$ curl http://localhost:8888/
{ "id": "urn:dev:ops:smarthome-1234", (...)
  "properties": {
    "level": {
      "description": "Solar sensor level",
      "links": [ {
          "rel": "property",
          "href": "/properties/level" (...)
$ curl http://localhost:8888/properties
{"level":42}
cd aframe
npm install && PORT=42080 npm start
x-www-browser http://localhost:42080/aframe/

CLOUD:

Glitch can run this previous simulator

NODE TARGET:

Any board with ADC port could be used.

Here an example on ARTIK1020 using webthing-node:

git clone --depth=1 --recursive https://github.com/rzr/aframe-smart-home
cd aframe-smart-home
make -C example/artik1020/ start
#| Listening:
#| http://localhost:8888/
#| log: ADC: level: open: null (null expected)
#| log: ADC: level: update: 0x2a : 40
#| 0.03515625 V
#| log: ADC: level: change: 48%
#| (...)

In other shell value can be queried:

curl http://artik1020.local:8888/properties
#| {"level":36.69597260346487}p

For convenience this can be enabled on boot:

sudo ln -fs $PWD /usr/local/opt/aframe-smart-home
unit=aframe-smart-home
service=/usr/local/opt/aframe-smart-home/example/artik1020/aframe-smart-home.service
sudo ln -fs $service /usr/lib/systemd/system/
sudo systemctl restart $unit
sudo journalctl -xu $unit

IOTJS TARGET:

Any board with ADC port could be used.

It should be easy to adapt from supported boards of webthing-iotjs, see STM32F7 platform example.

Anyway it's possible to use it on Linux using the same simulator:

make start

GATEWAY:

Mozilla gateway could be also used with additional bearer token.

RESOURCES:

Keywords

FAQs

Last updated on 30 Jan 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc