Version 1 (modified by art, 14 years ago) (diff) |
---|
IBus Gateway
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 TH3122 ic, which I am also using in this project.
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.
The repository where to find the openbm-gateway package is (or download it here):
deb http://deb.tevs.eu/ binary/
For information about parameters use
openbm-gateway -h
Features
- low CPU and memory usage (one thread per client + 3 server threads)
- forward IBus messages to connected clients over TCP/IPv4 and vice versa
- retransmit messages on collision
- completely asynchronous (receive and send messages over IBus and TCP/IP without blocking or intercepting)
- can act as a simple IBus logger
- code is actually platform independent (except of some extensions I had to made for boost's asio library). So there is a possibility to implement this on Windows too.
IBus logger functionality
The daemon can also act as a simple IBus logger. This can be usefull if you just want to log ibus messages passend on the bus. In order to run the daemon as simple logger execute it as
openbm-gateway -l 4 -f ibus.log
Which will protocol ibus actions to the ibus.log file. The log file will look like this:
... 2010-Jul-20 10:07:00.767817: C0 04 68 32 11 8F 2010-Jul-20 10:07:00.891897: C0 04 68 32 11 8F 2010-Jul-20 10:07:00.928066: C0 04 68 32 10 8E 2010-Jul-20 10:07:00.943753: C0 04 68 32 10 8E 2010-Jul-20 10:07:01.116929: C0 03 68 01 AA 2010-Jul-20 10:07:01.140001: 68 04 BF 02 00 D1 ...
Note there is currently no analysis going on, just a simple logging.