Wiki » README.md
| 1 |
# CANServer
|
|---|---|
| 2 |
|
| 3 |
## Intro
|
| 4 |
|
| 5 |
CANServer is an Server-Client library that provides multiple applications access to an CAN-Bus via TCP/IP. |
| 6 |
Every message received via CAN gets send to all clients. When an client sends an message, it is send |
| 7 |
via CAN-Bus and also to the other clients. |
| 8 |
The physical CAN-Bus is optional. |
| 9 |
|
| 10 |
## Usecases
|
| 11 |
|
| 12 |
- Graphical user interface for home automatisation
|
| 13 |
|
| 14 |
An laptop/tablet can be connected to an server via WLAN
|
| 15 |
|
| 16 |
- Recording/Replay
|
| 17 |
|
| 18 |
An PC-Application could record CAN messages and replay them.
|
| 19 |
|
| 20 |
- Debugging
|
| 21 |
|
| 22 |
Show CAN traffic while interacting with the bus with other devices.
|
| 23 |
|
| 24 |
- WLAN CAN-Bridge
|
| 25 |
|
| 26 |
Two CAN segments can be connected via WLAN
|
| 27 |
|
| 28 |
## Architecture
|
| 29 |
|
| 30 |
<div style="border: 2px solid #00A4BD; padding: 10px; box-shadow: 6px 4px 8px;"> |
| 31 |
```
|
| 32 |
Server TCP Client |
| 33 |
|
| 34 |
List< /-----> connectionTcp |
| 35 |
connectionCan | |
| 36 |
connectionTcp | |
| 37 |
connectionTcp <-----/ |
| 38 |
connectionTcp |
| 39 |
> |
| 40 |
```
|
| 41 |
</div>
|
| 42 |
|
| 43 |
Each connection has an id which is an ongoing number handled by the server. |
| 44 |
|
| 45 |
## Terminal Output
|
| 46 |
|
| 47 |
The server prints a dynamic list with the connections and traffic statistics. |
| 48 |
|
| 49 |
- ID/Type
|
| 50 |
- Connection uptime
|
| 51 |
* in/out messag count
|
| 52 |
* in msg/s
|
| 53 |
|
| 54 |
Example: |
| 55 |
<div style="border: 2px solid #00A4BD; padding: 10px; box-shadow: 6px 4px 8px;"> |
| 56 |
```
|
| 57 |
Id Target Uptime In Out In/s |
| 58 |
----------------------------------------- |
| 59 |
0: CAN 0:10s 12 55 0 |
| 60 |
1: Server 0:10s 3 51 0 |
| 61 |
2: Client 0:05s 43 52 0 |
| 62 |
3: Client 0:01s 1 57 0 |
| 63 |
```
|
| 64 |
</div>
|