Skip to content

arslnakin/IIoT-Reciever-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏭 Universal IIoT Gateway & Receiver Tool

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).

Logo


🚀 Key Features

🔌 Multi-Protocol Support

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.

🛠️ Gateway Generator (Unique Feature!)

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!

📊 Dashboard & Monitoring

  • 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.

📥 Installation

  1. Clone the repository:

    git clone https://github.com/arslnakin/IIoT-Reciever-Tool.git
    cd IIoT-Reciever-Tool
  2. Create a Virtual Environment (Recommended):

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # Linux/Mac:
    source .venv/bin/activate
  3. Install Dependencies:

    pip install -r requirements.txt

▶️ Usage

Simply run the entry script:

python run.py

How to Create a Gateway

  1. Go to the Gateway tab.
  2. Click "Add Map Rule".
  3. Select your Source (e.g., S7 PLC) and enter IP/Tag details.
  4. Define your Target (Modbus Address or MQTT Topic).
  5. Repeat for as many tags as you need.
  6. In the "Generate EXE" section, choose your Target Protocol (e.g., MQTT Publisher).
  7. Click "GENERATE EXE".
  8. Find your standalone gateway app in the dist/ folder!

🤝 Contributing

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.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

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.

About

Desktop application for Industrial IoT (IIoT) protocols including Modbus (TCP/RTU), MQTT, OPC-UA, and Siemens S7 PLC communication, with a built-in network scanner.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages