Complete system that enables you to receive, store and monitor your sensor data.
Clone this repository:
git clone https://github.com/nenadfilipovic/iot-dashboard
To use this app you need to have docker and docker-compose installed on local computer.
If you want to continue to develop this app in containers, VS-Code plugins are also required, like this Remote Development, of course you also need to have wsl2 installed.
Installing is simple as running docker-compose up
inside root folder where docker-compose.yml file is located.
If you want to run it from VS-Code you can install Docker extension that enables you to run docker files from editor without using docker cli.
App opens two ports for communication, 80 for accessing dashboard and 1883 for publishing mqtt messages. Mqtt messages should be in JSON format, any request that is not valid JSON will be rejected.
EMQX broker inside app expects you to provide username and password for authentication, here you should use same credentials you used to register account.
For access validation EMQX uses acl config lists, app is designed in such way that broker only accepts topics in form of username/device channel
. MQTT clients will probably use term deviceId so you should provide device channel in place of deviceId.
For testing MQTT path use MQTTX app by creators of EMQX broker.
This app is intended to be run on local network but it can be easily deployed to any host supporting containers.
Open browser, go to localhost and you will be presented with login screen.
Will maybe add in future configuration for kubernetes and github actions to automatically deploy images on commit.
- Nenad Filipovic - Initial work - nenadfilipovic
This project is licensed under the MIT License - see the LICENSE file for details.