Alex Layton, Purdue University

Slides:



Advertisements
Similar presentations
Android Power Calculations Approaches and Best Practice Hafed Alghamdi.
Advertisements

Real time vehicle tracking and driver behavior monitoring using a cellular handset based on accelerometry and GPS data Kevin Burke 4 th Electronic and.
Web Visualization Technology Horner APG Ver 1.0.
Introduction to push technology © 2009 Research In Motion Limited.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
MIGSOCK Migratable TCP Socket in Linux Demonstration of Functionality Karthik Rajan Bryan Kuntz.
Mobile Application Development
1 Electrical and Computer Engineering Comprehensive Design Review February 12, 2010 Team Zink Nicholas Cipriano, Ali Jameel, Jeremy Mestancik, Brian Simakauskas.
Remote Surveillance Vehicle Design Review By: Bill Burgdorf Tom Fisher Eleni Binopolus-Rumayor.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
School location collector
What is it? CLOUD COMPUTING.  Connects to the cloud via the Internet  Does computing tasks, or  Runs applications, or  Stores Data THE AVERAGE CLOUD.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
ISO Task Controller Lecture 9 Task Controller – Part I
Platform as a Service (PaaS)
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
© Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012© Strategic Mapping & Data Services LLC Android Programming Dr. Michael A.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Introduction Platform Overview.
VISITBASIS Автоматизация работы тайных покупателей с приложением VisitBasis для Android и iOS. Android & iOS Mobile App for Field Data Collection. VisitBasis.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
Cloud Control Senior Project Summer Overview Cloud Control is a platform to control data transmission to/from internet connected devices from the.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Authors: William Enck The Pennsylvania State University Peter Gilbert Duke University Byung-Gon Chun Intel Labs Landon P. Cox Duke University Jaeyeon Jung.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
SEISLOG Linux presented at the WORKSHOP High Quality Seismic Stations and Networks for Small Budgets Volcan, Panama March, 2004 by Terje Utheim,
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng Shantanu Ghosh,
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
ISO 11783/SAE J1939 Network Layer Lecture 6 Network Layer ISO Part 4, J BAE Spring 2009 Instructor: Marvin Stone Biosystems and.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
Cevgroup.org C utting E dge V isionaries. cevgroup.org TODAY’s TALK 1) Internet Of Things (IoT) 2) Wi-Fi Controlled Robots 3) Augmented Reality.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
EPICS and LabVIEW Tony Vento, National Instruments
Final Presentation Smart-Home Smart-Switch using Arduino
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
A method for using cloud computing for Android By: Collin Molnar.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
SOURCE:2014 IEEE 17TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING AUTHER: MINGLIU LIU, DESHI LI, HAILI MAO SPEAKER: JIAN-MING HONG.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
The Holmes Platform and Applications
Computer System Structures
Platform as a Service (PaaS)
Platform as a Service (PaaS)

Pilot Watcher Product Overview V5.3
Cloud Architecture Internet of Everything Meetup
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
CMPE419 Mobile Application Development
Chapter 2: The Linux System Part 1
IzoT™ Routers and Network Interfaces
Product Overview.
Emerging Platform#3 Android & Programming an App
CMPE419 Mobile Application Development
REST Easy - Instant APIs for Your Database
Product Overview.
Thread per client and Java NIO
Presentation transcript:

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

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

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

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

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

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

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

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

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

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 http://openag.io 11/21/2014 Alex Layton, Purdue University

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":946684951.807465, "src":"00“ } 11/21/2014 Alex Layton, Purdue University

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

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