This repository includes the source code to an app for android and ios; based on xamarin that exchanges GPS Information with the agrirouter
This app was developed by DKE Data in cooperation with Hochschule Osnabrück as part of and funded by the project "Experimentierfeld Agro-Nordwest". The project is funded by the Federal ministry of food and agriculture. Project sponsor is the federal agency of food and agriculture (BLE).
German original:
as part of the Project"Die App wurde von DKE Data in Zusammenarbeit mit der Hochschule Osnabrück im Rahmen und aus Mitteln des Förderprojektes Experimentierfeld Agro-NordWest entwickelt. Das Projekt wird gefördert durch das Bundesministerium für Ernährung und Landwirtschaft. Projektträger ist die Bundesanstalt für Landwirtschaft und Ernährung (BLE)."
The GPS Info App was implemented by dev4Agriculture on behalf of DKE Data
The specification of the functionalities can be found here.
There is a blog article describing potential use cases for the app.
The source code misses the following sensitive information to be buildable:
1.) The API Code for the Google Maps integration. Get your code in your google developer account and enter it in the file AndroidManifest.XML at android:name="com.google.android.geo.API_KEY"
2.) The ApplicationId and the CertificationVersionId have to be entered from an application generated in the agrirouter UI. See the agrirouter documentation. These codes need to be entered Constants.cs
On start of the app, the user needs to allow GPS positions.
When the user clicks the "Play" button, he will be redirected to the Settings with the info, that he's not yet onboarded.
He will need to onboard the app by entering a registration code (see also The agrirouter docs)
In the map view, the user has the following possibilities:
- Change map layer: Shall Satellite, Street or Hybrid be shown?
- Display/hide legend: Shall the legend be shown
- Start/Stop record?: Shall GPS positions be recorded and sent?
- Zoom to position: Shall the map consistantly center my own position?
- Zoom to all: Shall the map zoom out so that all members are displayed?
- Settings: Call the settings
The application shows markers of all other endpoints that send GPS positions. The color indicates how recent those data is:
- : The position is not older than 10 minutes
- : The position is not older than 15 minutes
- No Pin: If there was a position, it is now older than 15 minutes
When clicking on a marker, the user can gain more information about this specific endpoint
In the settings, the user has the following possibilities:
- Onboarding/Reonboarding/Disconnect: The user can handle the agrirouter connection status here
- Change the record cycle: How often shall GPS positions be recorded?
- Change the send cycle: How often shall GPS positions be sent?
- Change the environment: Shall the app be onboarded to QA or Production? Only possible before onboarding
- Keep display on: This prohibits the screen from going black while working
- View the logs: Logs can be exported e.g. in case of errors
- View status information: When was the last message sent, are there buffered messages due to internet connection issues?