Sign inSign up

elliotcloud/isobus

By elliotcloud

•Updated about 5 years ago

ElliotCloud ISOBUS enabler

Image
0

147

elliotcloud/isobus repository overview

⁠ElliotCloud’s ISOBUS enabler – Installation guide

⁠Introduction

The ElliotCloud’s ISOBUS enabler is developed in the scope of DEMETER project, an initiative financed by the european union, with the objective of helping farmers around the world to ease their jobs, allowing them to have a full control of the tools being used, the crops being planted or the status of barn with animals for example. DEMETER’s goal is to lead the digital transformation of Europe’s agri-food sector through the rapid adoption of advanced IoT technologies, data science and smart farming, ensuring its long- term viability and sustainability. The initiative is composed of a variety of pilots, each one focusing in an element of the farmer’s world. This pilot deals with the monitoring of farmer’s tractor and the implements it may have such as mowers, rotary tillers, plows or planters. All of this elements are connected between them in a common bus, specifically CAN bus following the J1939 standard.

⁠Contents

  • 1 Overview to the ISOBUS enabler application
  • 2 Setting up ISOBUS enabler application
    • 2.1 Required elements
    • 2.2 Launching the application

⁠1 Overview to the ISOBUS enabler application

From this application you can expect the following characteristics:

  • Connection to multiple CAN buses simultaneously with an identifier for each one.

  • Possibility to use virtual CAN devices to test components.

  • Registration of all the frames present in the CAN bus.

  • Possibility to decode the frames received.

  • Data model compliant to AIM format, an standard into the agricultural IoT world.

  • A fully functional REST API to interact with the application, retrieve messages, buses, and change configuration.

  • Integration into FIWARE with Orion Context Broker (OCB).

  • Easiness to include a persister component to register all the data into a database for historical records.

  • Isolated application using Docker containers.

⁠2 Setting up ISOBUS enabler application

⁠2.1 Required elements

Some packages are needed in order to run the application. First of all, a CAN bus compliant hardware is required, if a Linux device such as Raspberry Pi is used, a Pi-hat like PiCAN2(1) can be used. Then, a package to enable the CAN capability of the system must be installed,can-utils. This can be done with the following commands in Debian-based operating systems.

$ apt-get update -y
$ apt-get install can-utils

It is the user’s responsibility to configure the CAN bus device for the correct operation of the application. In spite of this, a brief guide for setting common devices can be found in the Appendix.

Another package needed to run the application is thedocker-compose utility, this can be done following the guide proposed in the Docker docs(2) , these are the commands required to install docker- compose utility.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/ local /bin/docker-compose
$ sudo chmod +x /usr/ local /bin/docker-compose

The correct installation can be checked using:

$ docker-compose --version
⁠2.2 Launching the application

Once the requirements list is fulfilled, the application links can be found in the ISOBUS Enabler Elliot- Cloud card on Demeter Enabler Hub(3) (DEH from now on). Clicking under the link⁠, there are a docker-compose file and a shell script for launching the application. Download them, place them in a new folder and launch the script (you might need to give it permissions for execution first). The application works on x86 and ARM systems and there is no need for the user to perform any specific configuration. A name for the running instance can also be specified. For example, the execution on a Raspberry Pi (ARM architecture) with the name Watering implement would be as follows:

$ sudo chmod +x script.sh
$ sudo ./script.sh "Watering implement"

The script will create a virtual network for the dockers, create the needed volumes and launch the dockers correctly. At this point, the application can be used from Swagger-UI webpage, which interact directly with the exposed API the application offers. If you want to be a consumer of that API you can see the endpoints offered in the Swagger-UI or in the Brokerage Service Environment (BSE from now on), in both of them all the endpoints are listed along with a description.

(1) https://www.skpang.co.uk/products/pican2-duo-can-bus-board-for-raspberry-pi-4-with-3a-smps⁠

(2) https://docs.docker.com/compose/install/⁠

(3) https://deh.h2020-demeter-cloud.eu/⁠

Tag summary

Content type

Image

Digest

Size

356.1 MB

Last updated

about 5 years ago

docker pull elliotcloud/isobus:v0.1