Git Product home page Git Product logo

bleconnector-library's Introduction

#BLERelay Core Design and Thoughts:

This markdown file documents the thoughts and assumptions about the design for BLERelay microservice. This is subject to change based on limititations encountered when implimenting the design.

Core Design:

  1. Read RedisMQ and BLERelay config file
  2. Initialize RedisMQ then BLE listener
  3. Listen for some BLE device transmission.
  4. Create message with node name and detected Device and its RSSI value.
  5. Send message to RedisMQ Queue
  6. Repeat 3

Message Payload

  • Type: JSONObject
  • Notes: device_UUIDs can be node uuids. There are no restrictions on the RSSI values that are transmitted.

Example:

{
  "device": {
    "uuid": "",
    "rssi": ""
  },
  "node": {
    "name": ""
  }
}

With this message payload the data parsor will have who detected this device and at what rssi value.

Data transmission Constraints

  1. This device will not edge compute but will defer this process to a more centralized group of processes.
  2. Each message will have one device's rssi value and the node that detected the device.
  3. No RSSI constraints will be enforced if the device picks up the signal then it is sent.

Decision about Constrains

  • This device will not edge compute but will defer this process to a more centralized group of processes.

This removes the burden of processing power off of the less powerful devices and delegates it to a stronger instance. The message sizes can now be every small which will allow more data to be available, which would in turn faster response time to when a device enters the field of detection.

  • Each message will have one device's rssi value and the node that detected the device.

This allows downstream processes to know at a snapshot who picked up the device and at what RSSI strength. It also allows downstream processes to enforce new rules without having to distribute these rules to all devices.

  • No RSSI constraints will be enforced if the device picks up the signal then it is sent.

This follows a simliar line of reasoning as the previous justification, but also allows each device to require little to no calibration and can scale with any device no matter how powerful the BLE detection module is on the device.

bleconnector-library's People

Contributors

ben-smith-robomq avatar

Watchers

Benjamin Smith 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.