A flexible and extensible device emulator framework for testing and development.
- Multiple communication interfaces:
- Serial (RS232/RS485)
- TCP Server
- Protocol support:
- Raw (custom protocols)
- SCPI (Standard Commands for Programmable Instruments)
- Modbus RTU/TCP
- YAML-based device configuration
- Asynchronous operation
- Extensible architecture
- Comprehensive logging
- Clone the repository:
git clone https://github.com/yourusername/EmuNinja.git
cd EmuNinja- Install dependencies:
pip install -r requirements.txt- Configure your devices in the
devices/directory using YAML files - Run the emulator:
python run_emulator.pyEmuNinja/
├── emuninja/ # Core package
│ ├── core/ # Core functionality
│ ├── interfaces/ # Communication interfaces
│ ├── protocols/ # Protocol handlers
│ └── utils/ # Utility functions
├── devices/ # Device configurations
├── docs/ # Documentation
├── memory-bank/ # Project documentation and context
└── tests/ # Test files
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.