The python-can library provides controller area network support for Python, providing common abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a can bus.
python-can runs any where Python runs; from high powered computers with commercial can to usb devices right down to low powered devices running linux such as a BeagleBone or RaspberryPi.
More concretely, some example uses of the library:
- Passively logging what occurs on a can bus. For example monitoring a commercial vehicle using its OBD-II port.
- Testing of hardware that interacts via can. Modules found in modern cars, motocycles, boats, and even wheelchairs have had components tested from Python using this library.
- Prototyping new hardware modules or software algorithms in-the-loop. Easily interact with an existing bus.
- Creating virtual modules to prototype can bus communication.
Brief example of the library in action: connecting to a can bus, creating and sending a message:
.. literalinclude:: ../examples/send_one.py
:language: python
:linenos:
Contents:
.. toctree:: :maxdepth: 2 installation configuration api interfaces bin development history
See the project bug tracker on github. Patches and pull requests very welcome!
Documentation generated