DashboardX: Your Gateway to the World of MQTT Devices. DashboardX is an intuitive application that lets you manage and control devices using the MQTT protocol. It allows you to connect to multiple MQTT brokers (advising to use HiveMQ).
Easy Device Addition
- Select your device from the list or add your own by manually defining its specifics.
- Specify the controls you want to use to interact with the device:
- Buttons: Perform actions with simple buttons.
- State buttons: Track and change the state of your device.
- Sliders: Precisely adjust values, e.g., lighting brightness.
- Assign each control an appropriate MQTT topic to communicate with the device.
- Optionally set the payload sent when interacting with the control. -Intuitive Interface:
DashboardX offers a user-friendly interface, so
- Adding and managing devices is a breeze.
- Configuring controls and topics is clear and intuitive.
- The status of your devices is always visible at a glance.
- Start your IoT journey today!
DashboardX is an excellent solution for anyone who wants to build their own Internet of Things (IoT) solutions. Download the project from GitHub and see for yourself how easy and convenient it can be to control devices!
Additional features
- Support for multiple MQTT brokers
- Easy configuration of controls and topics
- Intuitive and user-friendly interface
- Real-time updates on device status
DashboardX is the perfect tool for
- DIYers and makers
- IoT developers
- Anyone who wants to build their own connected devices
Api and database can be found in DashboardX-API Repository. Api is required to start the application.
In order to run application SSL certificates will be required.
Some helper commands to ganerate SSL certs locally, for development only!
First of all, install openssl
. Easily you can do it with choco, and then run:
choco install openssl
Windows
Go to C:\Windows\System32\drivers\etc\hosts
, edit file as Admin and add the following line:
127.0.0.1 dashboardx.local
127.0.0.1 dashboardx.docker
- Create a private key for the CA (Certificate Authorities).
openssl genrsa -aes256 -out DashboardX-RootCA.key 4096
- Create Certificate of the CA
openssl req -x509 -new -nodes -key DashboardX-RootCA.key -sha256 -days 1826 -out DashboardX-RootCA.crt -subj '/CN=DashboardX Root CA/C=PL/ST=Malopolska/L=Krakow/O=DashboardX'
- Add the CA certificate to the trusted root certificates
Windows
Right click on the generated .crt
, then select Install
. Install it for all users and select Trusted Root Certificate Authorities
from the list.
Ubuntu
sudo apt install -y ca-certificates
sudo cp DashboardX-RootCA.crt /usr/local/share/ca-certificates
sudo update-ca-certificates
- Create a certificate for the webserver
openssl req -new -nodes -out docker.csr -newkey rsa:4096 -keyout docker.key -subj '/CN=DashboardX/C=PL/ST=Malopolska/L=Krakow/O=DashboardX'
- Create a
docker.v3.ext
file for SAN properties
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = dashboardx.local
DNS.2 = dashboardx.docker
IP.1 = 0.0.0.0
IP.2 = 127.0.0.1
- Sign the certificate
openssl x509 -req -in docker.csr -CA DashboardX-RootCA.crt -CAkey DashboardX-RootCA.key -CAcreateserial -out docker.crt -days 730 -sha256 -extfile docker.v3.ext
- Put certificates in
src\Presentation
folder
Requires Certificates.
When using docker compose you should check
API_URL
- and adjust to local api configuration
In order to run app:
docker-compose up -d
Now you can acess app at http://localhost:8080/
.
Requires Certificates.
To see planned activities please see Issues.
Distributed under the MIT License. See LICENSE.txt
for more information.