This is an example IoT demo showing a realtime updating dashboard of data streaming from a Red Hat + Eurotech IoT gateway device through the Eurotech Everyware Cloud. It demonstrates realtime package tracking, alerting, and a telemetry dashboard showing critical measurements of packages in transit, including temperature, humidity, displacement, light levels, etc.
Requirements to build/run:
Technologies used:
- EuroTech Everyware Device Cloud
- AngularJS
- Patternfly
- JBoss Middleware (EAP, JDG, and more to come)
The dashboard is a Java EE web app built using Maven that can be deployed to JBoss EAP 6.x, 7.x, or later.
Building the project results in a .war file. Once deployed to JBoss EAP (e.g. by copying to the
standalone/deployments
directory), access the dashboard at https://localhost:8180
. It will attempt to
connect to the EuroTech Device Cloud and start streaming data from selected devices and sensors.
It also relies on a JBoss Data Grid server to be available using its built-in REST interface.
Follow these steps to build and run the demo:
- Download and run JBoss Data Grid 7.0.0 or later:
$ unzip jboss-datagrid-7.0.0-server.zip
$ jboss-datagrid-7.0.0-server/bin/standalone.sh
- Download and run JBoss EAP 7.0 or later and specify a port offset to avoid port conflicts with Data Grid:
$ unzip jboss-eap-7.0.0.zip
$ jboss-eap-7.0.0/bin/standalone.sh -Djboss.socket.binding.port-offset=100 -b 0.0.0.0 -bmanagement=0.0.0.0
- Clone this repo to
<WORKSPACE>
directory, and build the Data Grid proxy, and deploy to EAP using these commands:
$ cd <WORKSPACE>/dgproxy
$ mvn clean package
$ cp target/dgproxy.war <JBOSS_EAP_HOME>/standlone/deployments
- Supply your Eurotech and Google API credentials, then build and run the dashboard using these commands:
$ cd <WORKSPACE>/dashboard
$ cp app.properties.template app.properties
$ vi app.properties # make necessary changes to provide credentials and URLs
$ bower install
$ mvn package
$ cp target/ROOT.war <JBOSS_EAP_HOME>/standalone/deployments
If it successfully deploys, you should be able to access the dashboard at https://localhost:8180
.