A desktop application for real-time monitoring and inspection of MQTT messages with automatic device-based grouping.
- 🔌 Support for MQTT and WebSocket protocols
- 📊 Automatic device-based grouping
- 🔄 Real-time data updates
- 📝 Message counter
- 🔐 Username/password authentication support
- 💻 Cross-platform support (Windows, macOS, Linux)
- 🎨 Modern and user-friendly interface
- 📈 Message history tracking
- 🔍 Real-time message inspection
- 🌐 Multi-broker support
-
Download the appropriate version for your operating system from Releases:
- Windows:
MQTT Inspector Setup.exe
- macOS:
MQTT Inspector.dmg
- Linux:
mqtt-inspector.AppImage
ormqtt-inspector.deb
- Windows:
-
Run the downloaded file:
- Windows: Run the setup file and follow installation steps
- macOS: Open the DMG file and drag the application to Applications folder
- Linux: Make the AppImage executable and run it, or install the .deb package
To develop the project locally:
-
Install requirements:
- Node.js (v14 or higher)
- npm (v6 or higher)
- Git
-
Clone the project:
git clone https://github.com/ysfsmet/mqtt-inspector.git
cd mqtt-inspector
- Install dependencies:
npm install
- Start the application:
npm start
-
Enter broker connection details:
- Protocol: MQTT (1883) or WebSocket (9001)
- Broker Address: IP address or hostname
- Port: Automatically filled based on protocol
- Username/Password (optional)
-
Click "Connect" button
The application supports the following topic structure:
sysmanager/[Device Name]/[Variable Name]
Example:
sysmanager/Device1/Temperature
sysmanager/Device1/Pressure
sysmanager/Device2/Speed
- Connection Status: Displayed in the top right corner
- Device Groups: Separate panel for each device
- Variable List: For each variable:
- Message counter (left)
- Variable name (center)
- Latest value (right)
mqtt-inspector/
├── assets/ # Icons and visual assets
│ ├── icon.ico # Windows icon
│ ├── icon.icns # macOS icon
│ └── icon.png # Linux icon
├── src/ # Source files
│ ├── main.js # Electron main process
│ └── index.html # Main application window
├── package.json # Project configuration
└── README.md # Documentation
For Windows:
npm run build:win
For macOS:
npm run build:mac
For Linux:
npm run build:linux
For all platforms:
npm run build
You can use Mosquitto for testing MQTT broker connections:
-
Install Mosquitto:
- Windows: Mosquitto Download Page
- macOS:
brew install mosquitto
- Linux:
sudo apt-get install mosquitto
-
Send test message:
mosquitto_pub -t "sysmanager/TestDevice/Temperature" -m "25.5"
-
Connection Error
- Verify broker address and port
- Check firewall settings
- Confirm broker is running
-
WebSocket Connection Error
- Verify WebSocket support is enabled in broker
- Check correct port usage
-
Application Launch Issues
- Verify Node.js version
- Delete node_modules folder and run
npm install
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Follow the existing code style
- Add comments for complex logic
- Update documentation for new features
- Add appropriate error handling
- Test on all supported platforms
- Always use secure connections in production
- Regularly update dependencies
- Use strong passwords for MQTT authentication
- Enable SSL/TLS when possible
- Be cautious with topic permissions
- Add SSL/TLS support
- Implement message filtering
- Add data visualization
- Support for custom topic patterns
- Message payload formatting
- Export data functionality
- Dark mode support
- Configurable refresh rates
This project is licensed under the MIT License - see the LICENSE file for details.
Project Maintainer - @ysfsmet
Project Link: https://github.com/ysfsmet/mqtt-inspector
- Initial release
- Basic MQTT monitoring functionality
- Cross-platform support
- Real-time message inspection
- Automatic device grouping
For support, email mqtt-inspector@example.com or open an issue on GitHub.