Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alex Layton, Purdue University

Similar presentations


Presentation on theme: "Alex Layton, Purdue University"— Presentation transcript:

0 Alex Layton, Purdue University
ISOBlue An Open Source Project to Bring Agricultural Machinery Data to the Cloud 11/21/2014 Alex Layton, Purdue University

1 Alex Layton, Purdue University
ISOBUS Overview Communication protocol (ISO 11783) used in agricultural industry The ISOBUS network is composed of two separate CAN busses Tractor (Engine) Bus Implement Bus The ISOBUS bitrate is 250 kbps (per bus) ISOBUS data is sent using messages with the above format The data of a message is identified by its PGN (Parameter Group Number) To interpret a message’s data, one must have access to the specification of its corresponding Parameter Group 11/21/2014 Alex Layton, Purdue University

2 Alex Layton, Purdue University
ISOBUS Data A variety of useful data are present on the ISOBUS network of agricultural machinery, e.g. “As applied” data Location Speed Target application rate Actual application rate Yield data Mass flow rate Moisture 11/21/2014 Alex Layton, Purdue University

3 Alex Layton, Purdue University
ISOBlue Device Platform is a BeagleBone Black Runs Angstrom, a kind of Linux Connects to the ISOBUS network with a CAN cape which has multiple CAN interfaces Cape is compatible with SocketCAN Talks to Android over Bluetooth to forward ISOBUS messages Uses USB Bluetooth Dongle CAN Cape BeagleBone Black Bluetooth USB SPI 11/21/2014 Alex Layton, Purdue University

4 Alex Layton, Purdue University
Cloud Implement Bus GPS Tractor Bus Engine Flow sensor Cell / WiFi ISOBlue Data Flow Combine ISOBUS ISOBlue Daemon SocketCAN ISOBUS Module ISOBlue Device Android Device libISOBlue 3rd Party App Bluetooth System Overview Main Components ISOBlue Daemon software libISOBlue Android library 11/21/2014 Alex Layton, Purdue University

5 ISOBlue Daemon Software
Software written to work as a “server” for the Android library Runs on ISOBlue, waiting for an Android device to connect using libISOBlue Monitors ISOBUS network with SocketCAN and ISOBUS kernel module SocketCAN is the de facto standard CAN driver for Linux The ISOBUS kernel module is an addition to this driver, which runs as part of Linux rather than as an application Stores received messages in a database Database used is LevelDB from Google Its purpose it to efficiently store and retrieve messages on the SD card Forwards ISOBUS messages from SocketCAN and/or the database to libISOBlue ISOBUS from combine ISOBlue Daemon SocketCAN ISOBUS Module Bluetooth to libISOBlue Data Flow ISOBlue Device 11/21/2014 Alex Layton, Purdue University

6 libISOBlue Android Library
Cell/WiFi to Cloud libISOBlue 3rd Party App Bluetooth from ISOBlue Device Data Flow Custom written in Java, runs on the Android device Receives ISOBUS messages forwarded by ISOBlue Talks to ISOBlue over Bluetooth Tries to automatically reconnect when connection is lost Presents a simple socket like interface to the app using it At a basic level a socket is an object which when you read it you are returned a piece of data someone else sent to you since the last time you read the socket Sockets can be used to read data off either bus of the ISOBUS network Buffered sockets can be used to read data from before the Android device connected to ISOBlue Sockets give PGN, SA, DA, data bytes, and timestamp for each message The library can be used to set filters on which ISOBUS messages ISOBlue receives Allows choosing which PGNs to receive and on which bus 11/21/2014 Alex Layton, Purdue University

7 Alex Layton, Purdue University
Yield Monitor App Written by Pat Sabpisal Receives GNSS and Grain Flow ISOBUS messages using libISOBlue Android library Uses the received ISOBUS data to generate a yield map and shows it on a Google Map Updates the yield map in real-time as ISOBUS data is received 11/21/2014 Alex Layton, Purdue University

8 Alex Layton, Purdue University
Logging/Cloud App Written by myself Receives all ISOBUS messages using libISOBlue Android library Displays messages on screen Logs messages to SQLite database on Android device’s SD card Uploads messages to cloud (Google Drive) Image taken from thewildblogger.com 11/21/2014 Alex Layton, Purdue University

9 OADA Compliant ISOBlue
No Android device needed Uses REST API to upload ISOBUS messages as JSON Supports SSL and OAUTH 2.0 Tokens Supports compression to reduce data usage Works over Wi-Fi Could work over cell if ISOBlue had it 11/21/2014 Alex Layton, Purdue University

10 Current ISOBlue/OADA Setup
ISOBlue is in Aaron’s combine logging data Uses a Wi-Fi bridge to connect to Aaron’s iPad (for Internet only) Data is uploaded to an AWS server JSON Data is formatted like so (before compression) { "bus":"0", "pgn":"0f004", "dst":"04", "data":"f17d884c2cc0ffff", "timestamp": , "src":"00“ } 11/21/2014 Alex Layton, Purdue University

11 Alex Layton, Purdue University
Changes to ISOBlue Software running on ISOBlue modified Use HTTP rather than Bluetooth Format data as JSON rather than something I made up Add data compression My Android library replaced with OADA Much of the code on ISOBlue from before was reused Wi-Fi bridge connected to Ethernet port for Internet connection Makes no difference to code as long as Linux is connected to Internet 11/21/2014 Alex Layton, Purdue University

12 Alex Layton, Purdue University
Acknowledgements This work has been sponsored by: USDA/NIFA Project title: IMPROVING AGRICULTURAL MANAGEMENT WITH AUTOGENIC MOBILE TECHNOLOGY and by the these companies: Oxbow Agriculture, LLC Enterprise Group, Ltd. CrescoAg FarmLogs 11/21/2014 Alex Layton, Purdue University


Download ppt "Alex Layton, Purdue University"

Similar presentations


Ads by Google