The wiCAN is a wireless CAN Bus adapter or a device whose basic functionality is to connect to a CAN Bus and route CAN messages via Wi-Fi and vice-versa. The module will be developed using Raspberry Pi device, an USB WI-FI module and a CAN-Bus Board for Raspberry Pi.
2. CAN bus (for controller area network) is
a vehicle bus standard designed to
allow microcontrollers and devices to
communicate with each other within a vehicle
without a host computer. [1]
CAN bus is a message-based protocol,
designed specifically for automotive
applications but now also used in other areas
such as aerospace, maritime, industrial
automation and medical equipment. [1]
4. Wi-Fi, also spelled Wifi or WiFi, is a local area
wireless technology that allows an electronic device
to exchange data or connect to the internet using
2.4 GHz UHF and 5 GHz SHF radio waves. [1]
Many devices can use
Wi-Fi, e.g., personal
computers, video-game
consoles, smartphones,
digital cameras, tablet
computers and digital
audio players. [1]
5. Testbench
CAN BUS
Raspberry PI
The wiCAN is a wireless CAN Bus adapter or a device whose
basic functionality is to connect to a CAN Bus and route CAN
messages via Wi-Fi and vice-versa. The module will be
developed using Raspberry Pi device, an USB WI-FI module and
a CAN-Bus Board for Raspberry Pi.
6. The Raspberry Pi is a low cost, credit-card
sized computer that plugs into a computer
monitor or TV, and uses a standard keyboard
and mouse. [3]
7. PiCAN board provide CAN-Bus capability for the Raspberry Pi. It uses the
Microchip MCP2515 CAN controller with MCP2551 CAN transceiver.
Connection are made via DB9 or 3 way screw terminal. [4]
CAN v2.0B at 1 Mb/s
High speed SPI Interface (10 MHz)
Standard and extened data and
remote frames
CAN connection via standard 9-way
sub-D connector or screw terminal
Can be use with OBDII cable
serial LCD ready
Nylon PCB support to the Rev 2
Raspberry Pi. Gives sturdy support
LED indicator
Two user push buttons [4]
8.
9. 1) Web browser request the web page;
2) wiCAN_App create the TCP server and send
web page with javascript application and TCP
server parameter;
3) Javascript application run on web browser
and connect to TCP socket and initialize with
user parameters. After data will be
transmitted.
10. Basic functions:
Show and control signals from CAN
messages;
Manage projects which includes the ECUs
with messages;
Upload to a project a .dbc file with ECUs and
messages description;
Connect to a TCP server to receive and
transmit information about users projects
and send commands to control CAN
messages on CAN-bus;
11.
12.
13. User request the site;
Server application return .html page with
javascript application and parameters for connect
to TCP server (there need to specific how the TCP
server ip and port will be transmitted: REST API
or include in html page);
Javascript application run on web browser and
connect to TCP server;
After connecting to TCP server server application
request user login;
After user will login, server transmit information
about projects for this user;
14. Project will be show on specific frame;
After selecting one project on the workspace will
be show the windows with control or dashboard
for signal in specific messages Tx or Rx;
After selecting a signal in message of a project
will appear a button “Create show/dashboard” for
Rx messages and “Create control” for Tx
messages;
After press button appear a dialog where will be
setted type of dashboard/control;
After select a dialog appear on workspace and
will be saved for project.
15. jQuery UI is a collection
of GUI widgets, animated
visual effects,
and themes implemented
with jQuery (a JavaScriptlib
rary), Cascading Style
Sheets, and HTML. [1]
Both jQuery and jQuery UI
are free and open-source
software distributed by the
jQuery Foundation under
the MIT License; jQuery UI
was first published in
September 2007. [1]
16. jquery.dynatree.js
Dynatree is a jQuery plugin that allows to dynamically
create html tree view controls using JavaScript.
Main features
Optimized for large dynamic trees (DOM elements are only
created when really needed).
Programmable through a rich object oriented interface.
Support for lazy loading and Ajax.
Checkboxes and hierarchical selection.
Supports drag and drop.
Support for persistence.
Keyboard aware.
Initializes from HTML code,
JSON, or JavaScript objects.
17. WebSocket is a protocol
providing full-
duplex communications
channels over a
single TCP connection.
The WebSocket protocol
was standardized by
the IETF as RFC6455 in
2011, and the
WebSocket API in Web
IDL is being standardized
by the W3C. [1]
18. [1] Wikipedia - http://en.wikipedia.org/
[2] AA1Car -
http://www.aa1car.com/library/can_systems.
htm
[3] Raspberry Pi -
http://www.raspberrypi.org/help/what-is-a-
raspberry-pi/
[4] PICAN CAN-Bus Board for Raspberry Pi -
http://skpang.co.uk/catalog/pican-canbus-
board-for-raspberry-pi-p-1196.html