- 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
- Generate PDF from presentation use
http://localhost:1948/slides.md?print-pdf
- 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
- 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
- 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
- Start Mosquitto/Grails using docker-compose > dc up
- Start the MQTT publisher
- Show the data received by Grails
- Show the AWS Console/IOT
- Start the MQTT subscriber
- Start the MQTT publisher
- 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),
- docker exec -it influxdb bash
- Chronograf -> create connection
- url: http://influxdb:8086
- Start Mosquitto/Grails/InfluxDB/Grafana using docker-compose > dc up
- Grafana -> Connect to InfluxDB and build a Graphs