Code Monkey home page Code Monkey logo

the-internet-of-things-and-capturing-time-series-data's Introduction

General

Prerequisites

  • Docker installed
  • Docker Compose installed
  • Mosquitto installed (needed for the Mosquitto Tools)
    • brew install mosquitto
  • MQTT Client installed for example MQTTBOX / MQTT.FX
  • RevealMD installed for the presentation (in slides execute ./present.sh)
    • npm install -g reveal-md
  • For the certificates in the AWS IOT demo, create a thing and download the certificates and place in step4

Notes

  • Generate PDF from presentation use http://localhost:1948/slides.md?print-pdf

Build the required Docker images

  • Execute ./build-docker-images

This will build the following images:

  • Grails-MQTT-Demo: Docker image containing a Grails app that connects to MQTT and InfluxDB

Step 1a: Run Mosquitto Broker

  • Start Mosquitto using docker-compose > dc up
  • Show the logging from the container
  • Start an MQTT Client (MQTTBOX) and connect
  • Show the logging from the container and explain what has happened we have connected

Step 1b: Publish & Subscribe

  • Start Mosquitto using docker-compose > dc up
  • Show the logging from the container
  • Start the MQTT subscriber
  • Start the MQTT publisher
  • Show the logging from the container and explain what has happened when we conncted

Step 2: SpringBoot/Grails and MQTT

  • Start Mosquitto/Grails using docker-compose > dc up
  • Start the MQTT publisher
  • Show the data received by Grails

Step 3: AWS IoT - Publish & Subscribe

  • Show the AWS Console/IOT
  • Start the MQTT subscriber
  • Start the MQTT publisher

Step 4: Insert data** using Grails/SpringBoot

  • Start Mosquitto/Grails/InfluxDB using docker-compose > dc up
  • Exec inside the container that runs InfluxDB
    • docker exec -it influxdb bash
    • influx -username root -password root -database iotdata
  • Show the contents of an empty database
  • Start the MQTT publisher
  • Show that data has been written
  • Exec inside the container that runs InfluxDB
    • docker exec -it influxdb bash
      • SELECT (*) FROM temperature
      • SELECT (*) FROM temperature GROUP BY time(5s)
      • SELECT () FROM temperature GROUP BY time(5s),
      • SELECT () INTO test FROM temperature GROUP BY time(5s),
  • Chronograf -> create connection

Step 5: Grafana - InfluxDB

  • Start Mosquitto/Grails/InfluxDB/Grafana using docker-compose > dc up
  • Grafana -> Connect to InfluxDB and build a Graphs

Demo Links

the-internet-of-things-and-capturing-time-series-data's People

Contributors

mpas avatar

Watchers

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