hardbyte / python-can

The can package provides controller area network support for Python developers
https://python-can.readthedocs.io
GNU Lesser General Public License v3.0
1.26k stars 599 forks source link

Do you use python-can? Tell us! #272

Closed hardbyte closed 1 year ago

hardbyte commented 6 years ago

This is not an issue so much as a lightweight way of gathering information on who is using python-can. This is mostly to satisfy our curiosity, but might also help us decide how to evolve the project.

So, if you use python-can, please post here and tell us more!

felixdivo commented 6 years ago

I use python-can as part of a student project at TU Darmstadt, Germany that I work on with many others. We are the Sailing Team Darmstadt and our goal is to develop a robotic sailing ship that is capable of crossing the Atlantic ocean fully autonomously. And as it uses a CAN bus internally, we needed a library for than, and python-can was there to be used. And as reliability is a huge topic with that project I am very interested in testing the library as thoroughly as possible, which explains many of my efforts to enable better testing in here.

christiansandberg commented 6 years ago

At the company I used to work for, which develop electric motor drives, we started using Python in various testing and automation tasks. Kvaser is the most common interface used but I counted five different interfaces used in different parts of the company and contexts. So python-can was really helpful when writing scripts and have them executed anywhere.

I also open sourced a CANopen library built on top of python-can.

cowo78 commented 6 years ago

Worked for a company that builds net weight filling devices (packaging area). Used python-can to setup and test custom electronics. Setup meant in our case remote programming and testing was a test protocol that involved (simple) custom hardware. All of this using Windows and IXXAT devices.

For those that might be interested in the area, the interesting project https://github.com/arachnidlabs/cyflash uses python-can to remotely reflash firmware on a range of microcontrollers.

inneralien commented 6 years ago

Currently using python-can for industrial machine telemetry.

TravisJoe commented 6 years ago

I have used it on several products, nothing in large scale production, but fairly significant amounts of work.

In one instance I did write a more specific native python socket-can that only had the minimum of what I needed. But if it was not for Python-CAN I would not of been able to get started quickly and reliably. I have highly recommended it to others.

anxuae commented 6 years ago

I use python-can at work for automated testing purpose on real infotainment ECU that my company is developing. We mainly use it on Linux with socketcan_ctypes to validate functional signals from CAN to the OS responsible for HMI management. The next job that we have started is the development of a SomeIP/DoIP stack in Python (it may be a new Bus interface integrated using pluggy ?). We have also the ambition to manage LIN networks.

mgiaco commented 6 years ago

I use python-can at work. We made some different implementations for our in house CAN protocol. Python CAN helps us a lot because we must support different USB to CAN devices. And I also recommended it to other friends.

edobez commented 6 years ago

I'm using python-can at work with a PCAN-USB device. We are testing a medical device that we produce, as a black box. Used with https://github.com/construct/construct, it's really simple to build frames from higher-level structures, like dictionaries.

Bobet21 commented 6 years ago

Hey, I am using Pyton-can to understand how my car is behaving, looking for reverse engineering tools, can filtering and live plotting.

mitchdetailed commented 6 years ago

Yes, I use it to reverse engineer my vehicle's canbus, and create a csv file for which i can use in a data analysis program called 'Megalog Viewer HD' https://youtu.be/tNAmKgHUyyw

gustavovelascoh commented 6 years ago

Hi, I just started with CAN/CANOpen and I'm using python-can/canopen to test a new encoder. This helped me to set up quickly a test environment and I'm looking forward to use more devices.

milhead2 commented 6 years ago

I've been using python-can for a couple years.

At my company we develop gauges for on and off-road vehicles.

Running on top of python-can we use robotframework and python-j1939 to run multiple concurrent CAN controller simulations which emulate vehicle bus conditions and ambient bus traffic. All of our new features are exercised and regression tested with robotframework scripts. In this environment we can develop/test gauge features at the J1939 level.

We maintain the python-j1939 module but don't have too many users outside ourselves as it's a little dated and generally adopters have commercial tools.

hardbyte commented 5 years ago

https://github.com/CaringCaribou/caringcaribou

rukie commented 5 years ago

I use python-can along with cantools to control various CAN operated hardware on vehicles, during development. Significantly more cost effective than Control Desk, Simulink, etc. J1939 is everywhere here.

FunDeckHermit commented 5 years ago

We create stationary energy storage solutions for grid optimization and and emergency power. Our batteries are from second-use EVs. We use the library to extract the (proprietary) data for further use.

lcvisser commented 5 years ago

I wanted to, but I have an IXXAT USB-to-CAN device, which is not supported under Linux. I developed some code on top of ECI that maybe I can share (I'd need to check with management). Let me know if there's interest.

rusoku commented 5 years ago

Today my wife's NISSAN says first "hello world" using Python-CAN ;-)

bhass1 commented 5 years ago

Use at work for various internal tools; used at school for CAN bus fuzzing. The common API for various CAN-USB dongles is very appealing.

stravs commented 5 years ago

i use it at work in a prototype electric propulsion system for boats. Thank (all of) you for making my life easier! :)

lucas-mcdonald commented 5 years ago

Using it to build a remote vehicle monitoring system for heavy machinery.

andriy-neborak commented 4 years ago

I just begin use python-can with IXXAT USB-CAN Compact module. I write project for device testing via CAN bus. Pros for me are:

  1. supports several well-known modules supported
  2. simplify connects to python based web frameworks.
divyamSoni commented 4 years ago

I'm using python-can (with PySide2) to make a desktop application to diagnose Electric Vehicle Batteries via CAN-bus

Giraffe-Technology commented 4 years ago

I am using python-can to gather vehicle telemetry for Darwin Innovation Group's continuous connected vehicles. Later on there is the intention to interact with the vehicle control systems over the canbus.

DustinMoriarty commented 3 years ago

We use it for hardware in the loop testing.

pavel-kirienko commented 3 years ago

We use it in PyUAVCAN -- a Python implementation of the UAVCAN protocol stack.

tjohanssonn commented 3 years ago

I typically use it for various hobby projects or rapid prototyping at work. I love this library, especially the portability aspect that enables me to easily run it on lots of different hardware.

I'm using python-can (with PySide2) to make a desktop application to diagnose Electric Vehicle Batteries via CAN-bus

@divyamSoni Interesting! I'm doing a project where I try to combine these. How do you pass the information from python-can to PySide?