A powerful, modular, and open-source Industrial IoT (IIoT) Swiss Army Knife written in Python (PyQt6).
This tool allows you to connect to almost any industrial device (PLC, CNC, Robot, Sensor), visualize live data, and—most importantly—convert your PC into an IIoT Gateway by generating standalone executable (.exe) agents that bridge protocols (e.g., S7 to MQTT, Modbus to OPC-UA).
Connect to a vast array of industrial hardware out of the box:
- PLCs:
- Siemens S7: (S7-300/400/1200/1500) via Snap7.
- Modbus TCP/RTU: Universal support for Modbus devices.
- Ethernet/IP: Rockwell Automation / Allen-Bradley.
- Mitsubishi: Melsec MC Protocol.
- Omron: FINS Protocol.
- Robotics:
- ABB: Robot Web Services (RWS).
- Universal Robots: Dashboard Server / Real-time Interface (planned).
- CNC & Machines:
- Heidenhain: LSV2 Protocol.
- MTConnect: Standard XML-over-HTTP stream monitoring.
- Euromap 63: File-based data exchange for Injection Molding Machines.
- IIoT Standards:
- MQTT: Subscribe/Publish to brokers.
- OPC-UA: Client and Server capabilities.
Don't just read data; route it.
- Define a mapping rule (e.g., Read DB1.DBD0 from Siemens PLC -> Publish to MQTT topic
machine/temp). - Combine multiple sources (S7 + Modbus + Robot).
- Click "GENERATE EXE".
- The tool compiles a standalone, portable .exe file that runs as a background service on any Windows PC, acting as a permanent gateway. No Python installation required on the target machine!
- Live Dashboard: Drag-and-drop widget system to monitor specific tags in real-time.
- Data Logger: Log all incoming data to CSV for analysis.
- Network Scanner: Built-in IP scanner to find devices (Modbus, OPC-UA, web servers) on your local network.
-
Clone the repository:
git clone https://github.com/arslnakin/IIoT-Reciever-Tool.git cd IIoT-Reciever-Tool -
Create a Virtual Environment (Recommended):
python -m venv .venv # Windows: .venv\Scripts\activate # Linux/Mac: source .venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
Simply run the entry script:
python run.py- Go to the Gateway tab.
- Click "Add Map Rule".
- Select your Source (e.g., S7 PLC) and enter IP/Tag details.
- Define your Target (Modbus Address or MQTT Topic).
- Repeat for as many tags as you need.
- In the "Generate EXE" section, choose your Target Protocol (e.g., MQTT Publisher).
- Click "GENERATE EXE".
- Find your standalone gateway app in the
dist/folder!
Contributions are welcome! Please fork the repository and submit a Pull Request.
- Bug Reports: Open an issue describing the bug.
- Feature Requests: Open an issue to discuss new protocol support.
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for educational and testing purposes. Ensure you have proper authorization before connecting to physical industrial machinery. Improper writing usage to PLCs can cause physical damage.
Developed with ❤️ for the Industry 4.0 Community.