What is IoT Assistant?
IoT Assistant is an open-source web application for managing IoT devices (sensors, actuators, GPS trackers, cameras) via MQTT, HTTP, or The Things Network The Things Network.
Java based
Built on Java Spring Boot, it runs locally on Windows, Mac, Linux computer, or on cheap boards like the Raspberry Pi Zero W without requiring virtualization, complicated setups, or third-party services.
Key Features & Getting Started
The application should meet the needs of most users right from the start, prioritizing simplicity over flexibility while it still allow developers to add complexity to customize or integrate it with third party like Aqara or Tuya devices.
To run it, simply execute the provided .jar file directly (double-click) or using this command:
# java -jar iot-assistant-0.1.0.jar
Depending on your Java version, you may need to use this command instead:
# java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED -jar iot-assistant-0.1.0.jar
Default login: admin : iotassistant (access via localhost)
Configuration: Go to System > Settings after logging in.
Using IoT Asssistant
Following pages will guide you using IoT Assistant:
- Running IoT Assistant
- Configuring IoT Assistant
- Managing Sensors
- Managing Actuators
- Managing Cameras
- Managing GPS
- Managing Charts
- Managing Rules
Architecture and Hardware
This application is developed and manteined by Miguel Angel Bernabe as part of this trainning course mentored by Luis Fernandez Muñoz at EscuelaIt.
The development followed the RUP process and Philip Krutchen 4+1 View Model.
Programmable IoT devices typically use a microcontroller connected to a transducer, which reads the transducer's value via GPIO, UART or SPI and publishes it over a network interface, often entering sleep mode in between to conserve battery.
The ESP32 microcontroller is popular due to its low cost and wireless capabilities. I also provide libraries and Arduino examples for this board to simplify device development. Documentation and code are available here.