Projekt

Allgemein

Profil

Wiki » Historie » Version 3

Maximilian Seesslen, 06.08.2024 17:22

1 3 Maximilian Seesslen
h1. CANServer
2
3
h2. 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
- CAN over ethernet
13
- Graphical user interface for home automatisation
14
    An laptop/tablet can be connected to an server via WLAN
15
- Recording/Replay
16
    An PC-Application could record CAN messages and replay them.
17
- Debugging
18
    Show CAN traffic while interacting with the bus with other devices.
19
- WLAN CAN-Bridge
20
    Two CAN segments can be connected via WLAN
21
22
## Architecture
23
24
<div style="border: 2px solid #00A4BD; padding: 10px; box-shadow: 6px 4px 8px;">
25
```
26
        Server                 TCP       Client
27
        List<                   /-----> connectionTcp
28
            connectionCan       |
29
            connectionTcp       |
30
            connectionTcp <-----/
31
            connectionTcp
32
        >
33
```
34
</div>
35
Each connection has an id which is an ongoing number handled by the server.
36
## Terminal Output
37
The server prints a dynamic list with the connections and traffic statistics.
38
- ID/Type
39
- Connection uptime
40
* in/out messag count
41
* in msg/s
42
Example:
43
<div style="border: 2px solid #00A4BD; padding: 10px; box-shadow: 6px 4px 8px;">
44
```
45
Id Target        Uptime   In   Out   In/s
46
-----------------------------------------
47
0: CAN           0:10s    12   55    0
48
1: Server        0:10s    3    51    0
49
2: Client        0:05s    43   52    0
50
3: Client        0:01s    1    57    0
51
```
52
</div>
53
54
h1. Links
55 2 Maximilian Seesslen
56
https://www.sciencebuddies.org/science-fair-projects/references/ascii-table