Skip to content

Latest commit

 

History

History
84 lines (67 loc) · 2.86 KB

README.md

File metadata and controls

84 lines (67 loc) · 2.86 KB

CANBus Hacking

Required Materials

In order to play with CANBus using a Beaglebone Black you will need a beaglebone, a canbus transceiver cape, and a power supply. Power supplies are necessary because of additional requirements of the canbus cape and line.

For our class we purchased:

Setup

Setup instructions for getting a Beaglebone Black ready for CANBus hacking fun

Getting started

Follow the getting started instructions steps 1-3 on the beagleboard homepage at beagleboard.org/getting-started

(Optional) Boot from SDCard

We like to boot off of an SDCard rather than the onboard flash. Follow the Update board with latest software instructions One-liner command for writing the image to an sdcard in linux (fill in your img path and your sdcard path):

sudo sh -c "xzcat /path/to/bone-debian-xxx.img.xz | dd of=/dev/sdX bs=1M"

The SDCard Image has a very small partition for the rootfs. You are probably going to want to increase this partition in order to have working space on the drive. Follow the instructions at http://www.howtogeek.com/114503/how-to-resize-your-ubuntu-partitions/ to increase the partition size to take advantage of all space available on your SDCard.

Install dependencies

The remaining shell commands should be executed on your beaglebone. Connect via ssh and run:

apt-get install mercurial

Download and build can-utils

When you have a recent Debian image for your Beaglebone Black (Debian Jessie 8.x) you can install the can-utils by just downloading the can-utils Debian package:

apt-get install can-utils

If not make sure your beaglebone has internet access and execute the following commands to build utilities directly on the beagle.

git clone https://github.com/linux-can/can-utils.git
cd can-utils
./autogen.sh
./configure
make
make install

You may get an error when running ./configure on line 11668. Edit the file with vim or nano and delete line 11668.

Set up Nodejs socketcan

Nodejs comes pre-installed on the debian beaglebone image with the package manager, npm.

npm install -g socketcan

Test if the module installed correctly at a node prompt:

> var can = require('socketcan');
> can

If the can object is displayed the dependency is working correctly.

Set up Python-Can

cd ~/
hg clone https://bitbucket.org/hardbyte/python-can
cd python-can
python setup.py install

Create a file ~/.canrc that contains the following text

[default]
interface = socketcan_ctypes

Test that python-can is working correctly. Start up a python shell with python:

>>> import can
>>> help(can)

If the help message is displayed python-can is ready to be used.