Changes between Version 4 and Version 5 of Software/Gateway
- Timestamp:
- 08/31/10 17:38:07 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Software/Gateway
v4 v5 1 1 2 2 == IBus Gateway == 3 OpenBM-Gateway is a linux daemon running in the background and acting as a gateway between BMW's IBus and local network TCP stack. In this case an IBus interface is connected to the PC's serial port. The interface must support CTS line. Hence some hardware collision detection, or at least a simple bit comparator must be implemented. This function is provided for example by the [http://www1.futureelectronics.com/doc/MELEXIS/TH3122.4+KDF-TU.pdf TH3122] ic, which I am also using in this project.3 OpenBM-Gateway is a linux daemon running in the background and acting as a gateway between BMW's IBus and local clients connected over a network TCP stack. In this case an IBus interface is connected to the PC's serial port. The interface must support CTS line. Hence some hardware collision detection, or at least a simple bit comparator must be implemented. This function is provided for example by the [http://www1.futureelectronics.com/doc/MELEXIS/TH3122.4+KDF-TU.pdf TH3122] ic, which I am also using in this project. 4 4 5 5 The software exists as a Debian package for simple installation in my own small repository. In order to install it, either download it directly from the repository or add the repository address into the list of repository servers on your system. Currently there is only Debian packages available. The package consists of only one executable file. … … 43 43 44 44 == TCP/IP protocol == 45 In order to be able to connect to the gateway server we have to make sure that server and client speaks the same language. The low-level protocol used for communication between the server (OpenBM-Gateway) and any client is TCP. On top of this a simple, really simple protocol is used to understand sent messages. Here is a small overview over the protocol: 46 47 '''Header''': 48 {{{ 49 #!html 50 <table border="0"> 51 <tr> 52 <td>Ident:</td> 53 <td rowspan="2"> 54 55 <table style="border: solid 1px" width="300"> 56 <tr align="center"> 57 <td style="background-color: #ffeeaa; width: 4em">src</td> 58 <td style="background-color: #eeeeaa; width: 4em">dst</td> 59 <td style="background-color: #eeffaa; width: 4em">len</td> 60 <td style="background-color: #eeeeee; width: 4em">x</td> 61 <td style="background-color: #aaeeff; width: 4em" colspan="2">priority</td> 62 <td style="background-color: #eeeeee; width: 4em">x</td> 63 <td style="background-color: #eeeeee; width: 4em">x</td> 64 </tr> 65 <tr align="center"> 66 <td style="background-color: #ffaaaa; width: 4em">1</td> 67 <td style="background-color: #ffaaaa; width: 4em">2</td> 68 <td style="background-color: #ffaaaa; width: 4em">3</td> 69 <td style="background-color: #ffaaaa; width: 4em">4</td> 70 <td style="background-color: #ffaaaa; width: 4em">5</td> 71 <td style="background-color: #ffaaaa; width: 4em">6</td> 72 <td style="background-color: #ffaaaa; width: 4em">7</td> 73 <td style="background-color: #ffaaaa; width: 4em">8</td> 74 </tr> 75 76 </table> 77 78 </td></tr> 79 <tr><td> 80 Byte: 81 </td><td> 82 </td></tr></table> 83 }}} 84 45 85 ...in work... 46 86