Code Monkey home page Code Monkey logo

meetingroom-web's Introduction

Meetingroom-web

This is the web interface for a smart meetingroom. It's an interface to a physical device that is located within the meetingroom, which communicates over BLE and MQTT. In our tests MQTT messages are dispatched over a LoRa network, so the device does not need network connectivity nor power in the office.

Prerequisites

The device, at it's bare minimum, requires a PIR sensor for motion detection and a networking chip. The motion data is then sent on regular intervals to ThingFabric over MQTT. Highly recommended is a BLE chip that broadcasts the URL of the meeting room over physical web for discoverability.

The MQTT message needs to have a property rise_state (0|1), which specifies whether motion was detected when the package was sent, and a property last_rise, which is the last time motion was detected (in seconds ago).

The meeting room needs to have a Google Calendar, in which appointments are created. This is used as the data store.

Configuration

In the config folder you can create a new configuration file. A config file contains of the following fields:

  • clear_mu_cache Whether to clear the template cache before rendering. Use this whenever you're developing, otherwise changes to your HTML are not shown straight away.
  • hostname Base URL of your service (needs to be registed with Google API)
  • thingfabric_server Thingfabric API with your domain and stuff specified
  • rooms Each meetingroom you want to manage. calendarId is the Google Calendar, thing the name in ThingFabric

Starting up

You'll need credentials for the Google Calendar API, and credentials for the ThingFabric API. Then start up with:

CLIENT_ID=q CLIENT_SECRET=r TF_USER=s TF_PASSWORD=t node server.js dev
#q = Google ClientID
#r = Google Secret
#s = ThingFabric User
#t = ThingFabric Password
#dev = Name of the config file (expands to config/dev.json)

Then go to /rooms/bdb1 (or your room name) to start the app.

meetingroom-web's People

Contributors

janjongboom avatar

Stargazers

Michael avatar Nicolas Ferrandini avatar Thomas Bassetto avatar gasolin avatar chad q martin avatar

Watchers

James Cloos avatar Nicolas Ferrandini avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.