# SATO BLE Vision
A comprehensive MQTT Broker Control and IoT Data Management Tool designed for SATO BLE tag management and data visualization.
## Features
- **MQTT Broker Management**: Start, stop, and monitor Mosquitto MQTT broker
- **Real-time Data Visualization**: Live display of tag data with filtering and sorting
- **Data Logging**: CSV export of tag events and statistics
- **Multi-preset Configuration**: Support for multiple API configurations
- **Cross-platform**: Works on Windows, macOS, and Linux
- **User-friendly GUI**: Intuitive interface for managing IoT data streams
## Installation
### Prerequisites
1. **Python 3.7 or higher**
2. **Mosquitto MQTT Broker** (external dependency)
#### Installing Mosquitto
**Windows:**
```bash
# Download from https://mosquitto.org/download/
# Or use chocolatey:
choco install mosquitto
```
**macOS:**
```bash
brew install mosquitto
```
**Linux (Ubuntu/Debian):**
```bash
sudo apt-get install mosquitto mosquitto-clients
```
### Installing SATO BLE Vision
```bash
pip install sato-ble-vision
```
## Quick Start
1. **Install the package:**
```bash
pip install sato-ble-vision
```
2. **Run the application:**
```bash
sato-ble-vision
```
3. **Configure your settings:**
- The application will create a default configuration file in your home directory
- Edit `~/.sato_ble_vision/configuration.json` with your API credentials
- Or use the Settings button in the GUI to configure presets
## Configuration
The application stores configuration in `~/.sato_ble_vision/configuration.json`. You can create multiple presets for different environments.
### Configuration Structure
```json
{
"last_used": "DEFAULT",
"DEFAULT": {
"AuthURL": "https://api.wiliot.com/v1/auth/token/api",
"ResolveUrl": "https://api.wiliot.com/v1/owner/YOUR_OWNER_ID/resolve",
"AuthKey": "YOUR_AUTH_KEY_HERE",
"TOPIC": "eiotpv1/printer/#"
}
}
```
### Required Fields
- **AuthURL**: Authentication endpoint URL
- **ResolveUrl**: Tag resolution API endpoint
- **AuthKey**: Your API authentication key
- **TOPIC**: MQTT topic to subscribe to
## Usage
### Starting the Application
1. Launch the application using the command line:
```bash
sato-ble-vision
```
2. The GUI will open with the main control panel
### Using the Interface
1. **Start Broker**: Click to start the Mosquitto MQTT broker
2. **Connect Client**: Connect to the MQTT broker
3. **Start Logging**: Begin recording tag data to CSV files
4. **View Data**: Switch between different data views:
- Tag Data: Individual tag events
- Serial Log: Grouped by serial number
- General Log: System messages
- Topic Log: Raw MQTT messages
### Data Views
- **Tag Data**: Shows individual tag events with timestamps, payloads, and RSSI values
- **Serial Log**: Groups tags by serial number with counts
- **General Log**: System messages and broker status
- **Topic Log**: Raw MQTT message data
## File Structure
```
~/.sato_ble_vision/
├── configuration.json # User configuration
└── logs/ # CSV log files
├── mqtt_data_*.csv
└── mqtt_data_raw_*.csv
```
## API Integration
The application integrates with Wiliot's API for tag resolution and authentication. Configure your API credentials in the settings to enable full functionality.
## Troubleshooting
### Common Issues
1. **Mosquitto not found**: Ensure Mosquitto is installed and in your system PATH
2. **Configuration errors**: Check your API credentials in the configuration file
3. **Permission errors**: Ensure the application has write access to your home directory
### Logs
Log files are stored in `~/.sato_ble_vision/logs/` and include:
- Tag event data
- Raw MQTT messages
- Error logs
## Development
### Building from Source
```bash
git clone <repository-url>
cd sato-ble-vision
pip install -e .
```
### Running Tests
```bash
python -m pytest tests/
```
## License
MIT License - see LICENSE file for details.
## Support
For support and issues, please contact SATO or create an issue in the project repository.
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## Changelog
### Version 1.0.0
- Initial release
- MQTT broker management
- Real-time data visualization
- CSV logging
- Multi-preset configuration support
Raw data
{
"_id": null,
"home_page": "https://github.com/dylanbarnett99/sato-ble",
"name": "sato-ble-vision",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "mqtt, iot, broker, data, management",
"author": "Dylan Barnett",
"author_email": "dylanbarnett99@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a3/97/17af72e61b2c1be46f57cc03418cc5cc18bf7f98a1d9d9a69a5e21d452f3/sato-ble-vision-1.0.1.tar.gz",
"platform": null,
"description": "# SATO BLE Vision\r\n\r\nA comprehensive MQTT Broker Control and IoT Data Management Tool designed for SATO BLE tag management and data visualization.\r\n\r\n## Features\r\n\r\n- **MQTT Broker Management**: Start, stop, and monitor Mosquitto MQTT broker\r\n- **Real-time Data Visualization**: Live display of tag data with filtering and sorting\r\n- **Data Logging**: CSV export of tag events and statistics\r\n- **Multi-preset Configuration**: Support for multiple API configurations\r\n- **Cross-platform**: Works on Windows, macOS, and Linux\r\n- **User-friendly GUI**: Intuitive interface for managing IoT data streams\r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n\r\n1. **Python 3.7 or higher**\r\n2. **Mosquitto MQTT Broker** (external dependency)\r\n\r\n#### Installing Mosquitto\r\n\r\n**Windows:**\r\n```bash\r\n# Download from https://mosquitto.org/download/\r\n# Or use chocolatey:\r\nchoco install mosquitto\r\n```\r\n\r\n**macOS:**\r\n```bash\r\nbrew install mosquitto\r\n```\r\n\r\n**Linux (Ubuntu/Debian):**\r\n```bash\r\nsudo apt-get install mosquitto mosquitto-clients\r\n```\r\n\r\n### Installing SATO BLE Vision\r\n\r\n```bash\r\npip install sato-ble-vision\r\n```\r\n\r\n## Quick Start\r\n\r\n1. **Install the package:**\r\n ```bash\r\n pip install sato-ble-vision\r\n ```\r\n\r\n2. **Run the application:**\r\n ```bash\r\n sato-ble-vision\r\n ```\r\n\r\n3. **Configure your settings:**\r\n - The application will create a default configuration file in your home directory\r\n - Edit `~/.sato_ble_vision/configuration.json` with your API credentials\r\n - Or use the Settings button in the GUI to configure presets\r\n\r\n## Configuration\r\n\r\nThe application stores configuration in `~/.sato_ble_vision/configuration.json`. You can create multiple presets for different environments.\r\n\r\n### Configuration Structure\r\n\r\n```json\r\n{\r\n \"last_used\": \"DEFAULT\",\r\n \"DEFAULT\": {\r\n \"AuthURL\": \"https://api.wiliot.com/v1/auth/token/api\",\r\n \"ResolveUrl\": \"https://api.wiliot.com/v1/owner/YOUR_OWNER_ID/resolve\",\r\n \"AuthKey\": \"YOUR_AUTH_KEY_HERE\",\r\n \"TOPIC\": \"eiotpv1/printer/#\"\r\n }\r\n}\r\n```\r\n\r\n### Required Fields\r\n\r\n- **AuthURL**: Authentication endpoint URL\r\n- **ResolveUrl**: Tag resolution API endpoint\r\n- **AuthKey**: Your API authentication key\r\n- **TOPIC**: MQTT topic to subscribe to\r\n\r\n## Usage\r\n\r\n### Starting the Application\r\n\r\n1. Launch the application using the command line:\r\n ```bash\r\n sato-ble-vision\r\n ```\r\n\r\n2. The GUI will open with the main control panel\r\n\r\n### Using the Interface\r\n\r\n1. **Start Broker**: Click to start the Mosquitto MQTT broker\r\n2. **Connect Client**: Connect to the MQTT broker\r\n3. **Start Logging**: Begin recording tag data to CSV files\r\n4. **View Data**: Switch between different data views:\r\n - Tag Data: Individual tag events\r\n - Serial Log: Grouped by serial number\r\n - General Log: System messages\r\n - Topic Log: Raw MQTT messages\r\n\r\n### Data Views\r\n\r\n- **Tag Data**: Shows individual tag events with timestamps, payloads, and RSSI values\r\n- **Serial Log**: Groups tags by serial number with counts\r\n- **General Log**: System messages and broker status\r\n- **Topic Log**: Raw MQTT message data\r\n\r\n## File Structure\r\n\r\n```\r\n~/.sato_ble_vision/\r\n\u251c\u2500\u2500 configuration.json # User configuration\r\n\u2514\u2500\u2500 logs/ # CSV log files\r\n \u251c\u2500\u2500 mqtt_data_*.csv\r\n \u2514\u2500\u2500 mqtt_data_raw_*.csv\r\n```\r\n\r\n## API Integration\r\n\r\nThe application integrates with Wiliot's API for tag resolution and authentication. Configure your API credentials in the settings to enable full functionality.\r\n\r\n## Troubleshooting\r\n\r\n### Common Issues\r\n\r\n1. **Mosquitto not found**: Ensure Mosquitto is installed and in your system PATH\r\n2. **Configuration errors**: Check your API credentials in the configuration file\r\n3. **Permission errors**: Ensure the application has write access to your home directory\r\n\r\n### Logs\r\n\r\nLog files are stored in `~/.sato_ble_vision/logs/` and include:\r\n- Tag event data\r\n- Raw MQTT messages\r\n- Error logs\r\n\r\n## Development\r\n\r\n### Building from Source\r\n\r\n```bash\r\ngit clone <repository-url>\r\ncd sato-ble-vision\r\npip install -e .\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\npython -m pytest tests/\r\n```\r\n\r\n## License\r\n\r\nMIT License - see LICENSE file for details.\r\n\r\n## Support\r\n\r\nFor support and issues, please contact SATO or create an issue in the project repository.\r\n\r\n## Contributing\r\n\r\n1. Fork the repository\r\n2. Create a feature branch\r\n3. Make your changes\r\n4. Add tests if applicable\r\n5. Submit a pull request\r\n\r\n## Changelog\r\n\r\n### Version 1.0.0\r\n- Initial release\r\n- MQTT broker management\r\n- Real-time data visualization\r\n- CSV logging\r\n- Multi-preset configuration support\r\n \r\n",
"bugtrack_url": null,
"license": null,
"summary": "MQTT Broker Control and IoT Data Management Tool",
"version": "1.0.1",
"project_urls": {
"Bug Reports": "https://github.com/dylanbarnett99/sato-ble/issues",
"Homepage": "https://github.com/dylanbarnett99/sato-ble",
"Source": "https://github.com/dylanbarnett99/sato-ble"
},
"split_keywords": [
"mqtt",
" iot",
" broker",
" data",
" management"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "689b86bafa181b753379e34bd280e6ae774bf867fbd9dce4db766d27ca838c57",
"md5": "51e4105cb5f89bac0cba8c983ae22ae0",
"sha256": "3fe6916d9843682a14274d04a215ae1c1eabe9afb300966b1a647cf1fd34f036"
},
"downloads": -1,
"filename": "sato_ble_vision-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "51e4105cb5f89bac0cba8c983ae22ae0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 237831,
"upload_time": "2025-08-12T14:03:28",
"upload_time_iso_8601": "2025-08-12T14:03:28.465567Z",
"url": "https://files.pythonhosted.org/packages/68/9b/86bafa181b753379e34bd280e6ae774bf867fbd9dce4db766d27ca838c57/sato_ble_vision-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a39717af72e61b2c1be46f57cc03418cc5cc18bf7f98a1d9d9a69a5e21d452f3",
"md5": "7c9ea19a3a6540f4d54749cbff413bf5",
"sha256": "3c555fa7fce7c031b9314ad744640ecd7192b2459cb728f725ce90a4604b25a5"
},
"downloads": -1,
"filename": "sato-ble-vision-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7c9ea19a3a6540f4d54749cbff413bf5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 237439,
"upload_time": "2025-08-12T14:03:30",
"upload_time_iso_8601": "2025-08-12T14:03:30.071200Z",
"url": "https://files.pythonhosted.org/packages/a3/97/17af72e61b2c1be46f57cc03418cc5cc18bf7f98a1d9d9a69a5e21d452f3/sato-ble-vision-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-12 14:03:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dylanbarnett99",
"github_project": "sato-ble",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "paho-mqtt",
"specs": [
[
">=",
"1.6.0"
]
]
},
{
"name": "pandas",
"specs": [
[
">=",
"1.3.0"
]
]
},
{
"name": "psutil",
"specs": [
[
">=",
"5.8.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
]
]
}
],
"lcname": "sato-ble-vision"
}