SOME/IP Request/Response + Event Demo
This demo demonstrates how to use the SOME/IP protocol within the EcuBus-Pro environment.
Overview
This example shows a basic SOME/IP setup with:
Two SOME/IP devices configured for communication (Client and Server)
- Client App ID: 0x6301
- Server App ID: 0x6302
A Server provider offering a service and event
- Service ID: 0x1234
- Instance ID: 0x1111
- Method ID: 0x1002 (request/response)
- Event ID: 0x8777 (notification/event publish)
- Port: 30510 (reliable TCP connection)
Script Behavior
The TypeScript script (someip.ts) runs on Node 1, which is attached only to SomeIP_1 (the server, app 0x6302). It implements:
- An echo server: receives SOME/IP requests for service
0x1234and sends a response. - A periodic
someipNotifyfor event0x8777on the same SomeIP_1 stack (publisher path:offer_eventwas done at startup for that service).
The subscriber example script (sub.ts) runs on the client side and listens with:
Util.OnSomeipMessage('1234.*.*', ...)msg instanceof SomeipMessageEventto handle incoming event/notification frames.
SomeIP_0 (0x6301) is the client. It does not run this script. To receive that event on SomeIP_0 you must:
- Run the IA manual action subscribe on device SomeIP_0 (it calls
subscribeToEventon the client). - Use the event id
0x8777(not the RPC method0x1002) and anevent_typeconsistent with the server (0= ET_EVENT for this demo’sis_field: false).
Without a successful subscription, vSomeIP will not deliver the notification to SomeIP_0.
Run Steps
- Start project and ensure both SOME/IP devices are online.
- Run
someip.tson the provider node (SomeIP_1 / app0x6302). - Run
sub.tson the consumer node (SomeIP_0 / app0x6301). - Trigger IA manual subscribe action on SomeIP_0 for:
- service
0x1234 - instance
0x1111 - event group
0x0001 - event
0x8777
- service
- Observe event logs on subscriber side.
Network Setup
The demo uses localhost (127.0.0.1) for testing, making it easy to run without additional network configuration. Both SOME/IP applications communicate over the same Ethernet interface using different application IDs.