Code Monkey home page Code Monkey logo

verkundenbot-device's Introduction

Reference:

verkundenbot-device

The Verkundenbot Device is an AWS IoT enabled device.

The messages determine the state of the physical device.

Hardware

For the purposes of this project I used a RaspberryPi 2 I had laying around. Before we do anything else we should make sure we are running the latest version of Raspian.

Begin by updating the repository package list:

sudo apt update

When this is done, run the upgrade command:

sudo apt dist-upgrade

Follow any prompts, and wait for the Pi to be upgraded. When you’re done, type:

sudo apt clean

This will discard any unneeded files that have been downloaded as part of the upgrade. Finish by restarting:

sudo reboot

When your Raspberry Pi has restarted, you’ll be using the latest version of Raspbian.

Interfaces

Who will be communicating with Verkundenbot?

  • Datadog - we use Datadog as our monitoring system. Any critical alerts that are triggered should be sent to the device.
  • Deployments (Jenkings or AWS CodeBuild) - When we deploy code we want to notify the device so that we get an audible alerting on what system was update and who made the change.
  • Verkundenbot Web App - There is a React web app where you can interect with the device. You can control plugs A, B and C and you can send custom messages which will be converted to voice and send through the speakers.
  • PagerDuty (future) - in the future we may move alerts from Datadog to PagerDuty. At which point we will want to move the webhook from Datadog to PagerDuty as well.

How will the sources interact?

How will each source interact with the API and what do the requests look like?

  • Datadog -
    • Sending alerts - /alarm
      • trigger the strobe for a short time
      • turn the status LED red
      • trigger an audible message
        • alarm sound once
        • "In store pixels are unstable"
    • Re-Sending alerts - /alarm
      • trigger the strobe for a short time
      • turn the status LED red
    • Sending Recovery message - /alarm
      • trigger the strobe for a short time
      • trigger audible message
        • play recover sound
        • "In store pixels have recovered"
      • turn the status LED blue
  • Deployments -
    • Doing a deployment - /deployment
      • trigger the strobe for a short time
      • "<first_name> <last_name> is deploying code to "
      • once deployment completes
        • play mario bros sound
  • Verkundenbot Web App - /plug/{id}/{desired-state}
    • Trigger plug A from UI - /plug/a
      • turn on plug A
    • Trigger plug B from UI - /plug/b
      • turn on plug B
    • Trigger plug C from UI - /plug/c
      • turn on plug C
    • Message - /free-speach
      • play whatever message that's submitted
  • PagerDuty (future) - TDB

What does the swagger doc look like?

IoT Device Software

mvn compile

mvn package

verkundenbot-device's People

Contributors

jasoninmarket avatar highhair20 avatar

Watchers

James Cloos 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.