OIBus is a cross-platform industrial data integration solution that simplifies data collection from various industrial sources and transmits it to enterprise applications.
β Windows | β Linux | β macOS
| Feature | Description |
|---|---|
| Multi-protocol Support | OPC UA, OPC Classic, Modbus, MQTT, SQL, Folder Scanning, and more |
| Cross-platform | Runs on Windows, Linux, and macOS |
| High Performance | Handles 10 to 10,000+ data points with second-level sampling |
| No-code Configuration | Set up in minutes without development skills |
| Enterprise Integration | Seamless connection to applications like OIAnalytics |
OIBus follows a modular 3-layer architecture:
-
Engine Layer
- Core orchestration system
- Web-based administration interface
- Configuration management
-
South Connectors
- Protocol-specific data collection modules
- Supported protocols: OPC UA, OPC Classic, Modbus, MQTT, SQL, Folder Scanning, etc.
- Extensible architecture for new protocols
-
North Connectors
- Data transmission to enterprise systems
- Supported destinations: OIAnalytics, folders, databases, APIs
- Customizable output formats
- Installation:
- Download OIBus
- Follow the installation guide
2Example Workflow:
- Create a Folder Scanner South connector
- Create a Console North connector
- Configure data flow between them
- Node.js (LTS version)
- npm (comes with Node.js)
- Git
-
Fork and Clone:
git clone https://github.com/your-fork/OIBus.git cd OIBus -
Backend Setup:
cd backend npm install npm start # Starts backend on port 2223
-
Frontend Setup:
cd frontend npm install npm start # Builds and serves frontend
-
Access Application:
- Open http://localhost:2223
- Default credentials:
admin/pass
OIBus includes a Docker Compose setup with simulated industrial services for development and testing.
Start all development services:
docker-compose up -dStart only specific services (e.g., OPC UA server):
docker-compose up -d opcua-serverView running services:
docker-compose psThe OPC UA server provides simulated industrial data for testing OIBus OPC UA connectors.
Access Information:
- Endpoint URL:
opc.tcp://localhost:50000 - Security Mode:
Sign - Security Policy:
Basic256Sha256 - Authentication:
Anonymous (None) - Container Name:
oibus_opcua-plc
Available Simulated Nodes:
The server includes the following simulated nodes in the OpcPlc > OIBus folder:
| Node ID | Description | Data Type | Simulation Type | Range/Details |
|---|---|---|---|---|
ns=3;i=1023 |
Temperature Sensor | Double | RandomWalk | 18.0 - 28.0 Β°C |
ns=3;i=1024 |
Pressure Sensor | Double | SineWave | ~1013.25 hPa Β± 10 |
ns=3;i=1025 |
Flow Rate Sensor | Double | RandomWalk | 40.0 - 60.0 L/min |
ns=3;i=1026 |
Humidity Sensor | Double | SineWave | 65% Β± 15% |
ns=3;i=1027 |
RPM Sensor | Int32 | RandomWalk | 1200 - 1800 RPM |
ns=3;i=1028 |
Pump Status | Boolean | SquareWave | On/Off (20s period) |
ns=3;i=1029 |
Voltage Sensor | Double | RandomWalk | 210.0 - 230.0 V |
ns=3;i=1030 |
Current Sensor | Double | SineWave | 15.2 A Β± 2.0 |
Connecting OIBus to the OPC UA Server:
The server is configured with username/password authentication (anonymous access is disabled for security).
Default User Credentials:
- Admin user:
admin/SecurePassword123! - Default user:
opcuser/UserPassword123!
Custom Credentials: You can set custom credentials using environment variables:
OPCUA_ADMIN_USER=myadmin
OPCUA_ADMIN_PASSWORD=MySecurePassword
OPCUA_DEFAULT_USER=myuser
OPCUA_DEFAULT_PASSWORD=MyUserPassword
docker compose up -d opcua-serverConnection Settings:
-
From Host Machine (when OIBus runs outside Docker):
- Endpoint URL:
opc.tcp://localhost:50000 - Security Mode:
Sign - Security Policy:
Basic256Sha256 - Authentication:
Username/Password - Username:
opcuser(oradminfor admin access) - Password:
UserPassword123!(orSecurePassword123!for admin)
- Endpoint URL:
-
From Docker Container (when OIBus runs in Docker):
- Endpoint URL:
opc.tcp://opcua-server:50000 - Security Mode:
Sign - Security Policy:
Basic256Sha256 - Authentication:
Username/Password - Username:
opcuser - Password:
UserPassword123!
- Endpoint URL:
Example OIBus OPC UA South Connector Configuration (Authenticated):
{
"name": "OPC UA Test Server",
"url": "opc.tcp://localhost:50000",
"securityMode": "Sign",
"securityPolicy": "Basic256Sha256",
"authentication": {
"type": "basic",
"username": "opcuser",
"password": "UserPassword123!"
},
"keepSessionAlive": true,
"retryInterval": 10000
}Security Note:
- Anonymous authentication is disabled by default for security
- Change default passwords in production environments
- Use strong passwords and consider using environment variables for sensitive credentials
Example Node Items:
- Temperature: Node ID
ns=3;i=1023, ModeDA - Pressure: Node ID
ns=3;i=1024, ModeDA - Flow Rate: Node ID
ns=3;i=1025, ModeDA - Humidity: Node ID
ns=3;i=1026, ModeDA
Note: The nodes are located in the OpcPlc > OIBus folder in the address space. For HA (Historical Access) mode,
use the same node IDs with aggregate Raw and resampling None or a specific interval.
Alternative OPC UA Simulation Server:
For more advanced simulation needs, you can also use the Prosys OPC UA Simulation Server.
Testing with OPC UA Client Tools:
You can test the server using OPC UA client tools:
- UaExpert (Windows/Linux)
- Prosys OPC UA Client (Cross-platform)
- node-opcua command-line tools
Verifying Server Status:
Check if the OPC UA server is running:
docker-compose ps opcua-serverView server logs:
docker-compose logs -f opcua-server- Modbus Server: Port
5020- Simulated Modbus TCP server - MQTT Broker: Port
1883(TCP),9001(WebSocket) - Eclipse Mosquitto with simulator - PostgreSQL: Port
5432- Database for testing
- Issues: Report bugs on GitHub Issues
- Discussions: Join the conversation on GitHub Discussions
- Professional Support: Contact Optimistik
Developers can extend OIBus by:
- Creating custom South connectors for new protocols
- Developing custom North connectors for new destinations
β Simple Setup - Configure in minutes without coding
β Protocol Flexibility - Support for all major industrial protocols
β Cross-Platform - Runs on Windows, Linux, and macOS
β Enterprise Ready - Scales from small deployments to enterprise solutions
β Open Architecture - Extensible for custom requirements
