< i

Ihre Fragen an uns

Diese Seite dient dem Austausch und der Unterstützung der Entwicklungspartner für GPSoverIP/DATAoverIP und HLD.

Nutzen Sie diese zur direkten Kommunikation mit dem Entwicklungsteam der GPSoverIP GmbH. Anfragen über diese Seite werden mit erhöhter Priorität bearbeitet.


Hier können Sie uns gerne Fragen stellen

Webfreigabe anlegen gelingt - zurückgelieferte Webfreigabe bearbeiten scheitert - stattdessen neue Webfreigabe

Webfreigabe anlegen gelingt - zurückgelieferte Webfreigabe bearbeiten scheitert - stattdessen neue Webfreigabe

Hallo,

im Rahmen einer eigenen Webplattform betreue ich die Datenbank eines Kunden, der schon seit Jahren Daten regelmäßig per API abfragt.

Nun kam eine neue Idee dazu:

1. Per "Webfreigabe erstellen/bearbeiten" für jeden Nutzer der Datenbank einmalig eine Webfreigabe erstellen, das Ticket / die webaccessid und den key in den Stammdaten hinterlegen.

2. Im Laufe der Saison diese Einträge immer wieder mit deviceid-Einträgen aktualisieren, so daß der Nutzer bsp. für 24 Stunden die Daten des Fahrzeugs abrufen kann, das er als nächstes übernehmen wird.

Laut der Dokumentation sollte das möglich sein. Die Unterscheidung neu / bearbeiten:

> webaccessid: ID der zubearbeitenden Webfreigabe. Leer lassen, um eine neue Webfreigabe zu erstellen.

Bei einem leeren Feld webaccessid wird korrekt ein neues Ticket / eine neue webaccessid erstellt und die Mail verschickt. Neuanlegen gelingt.

Jeder Update-Versuch mit mitgesandter webaccessid + key führt allerdings dazu, daß nicht der vorhandene Eintrag aktualisiert, sondern erneut ein neuer Eintrag erstellt wird: Eine neue webaccessid und ein neuer key werden zurückgesandt.

Das würde im Laufe der Saison zu diversen Problemen führen. Die Url für den Aufruf würde sich ständig ändern.

Ist mein Aufruf falsch, so daß webaccessid und / oder key nicht erkannt wurden. Oder ist das prinzipiell so nicht möglich?

PS: Grade (11:29) nochmals getestet: Erstes Ticket: 195543477. Zweitaufruf mit dem neuen Ticket und dem key - neues Ticket 195543603 statt Update des ersten Tickets.

Viele Grüße
Jürgen Auer

 

Guten Tag Herr Auer,
danke für Ihre Anfrage. Sie sind auf einen Fehler in unserer API-Dokumentation gestossen. Der Parameter wurde dort fälschlicherweise als "webaccessid" dokumentiert. Jedoch heißt dieser lediglich "id". Wir haben die Dokumentation dahingehend angepasst und bedanke uns bei Ihnen für den Hinweis!

Wenn Sie die Ticket-/Webaccess-ID via "id" übergeben, sollte das Update einer bestehenden Webfreigabe funktionieren.

Herzliche Grüße,
Ihr Team der GPSoverIP!

Senden von Touren ohne Koordinaten

Senden von Touren ohne Koordinaten

Sehr geehrte Damen und Herren,
wir möchten Touren an unsere GPSauge IN1 Geräte versenden. Für die anzufahrenden Tourstationen liegen uns allerdings keine Koordinaten sondern "nur" die postalischen Adressen vor. Wie müssen wir vorgehen, um die Touren vollständig an die Geräte zu versenden? Wo müssen wir die Adressen angeben? Und müssen diese zerlegt werden?

 

Hallo!

Wenn im GPX-Paket bei den Route-Points (rtept) keine Koordinaten übergeben werden, benötigt es normalerweise die Angabe von Adresskomponenten via
extensions->[street|houseNumber|city|code|country]. Diese Komponenten werden dann für das Geocoding verwendet.

Ebenso ist es möglich, das Geocoding der Adressen über extensions->address durchführen zu lassen. Über diese Extension können Sie einen Adressstring wie z.B. "Hauptbahnhof Schweinfurt" oder "Hauptbahnhofstraße 2, 97424 Schweinfurt" übergeben.

Natürlich gilt: Je genauer der Adress-String, desto genauer das Geocoding.

Sie können den Tourversand mit der Variante "extensions->address" gerne einmal testen und uns Feedback geben. Ein Beispiel-GPX finden Sie in der Job-/Tour-API-Dokumentation oder unter dem folgenden Link:

media.24stundenonline.de/repo/tour.xml

In diesem File sind sämtliche Übergabemöglichkeiten für Tourstationen (mit Koordinaten ohne Adressen, mit Adressen ohne Koordinaten, ...) abgebildet.

Schöne Grüße,
Ihr GPSoverIP Team.

Allgemeine Verwendung der API + Verwaltung von Adressen

Allgemeine Verwendung der API + Verwaltung von Adressen

Hallo,
ich habe Verständnisprobleme was die Nutzung Ihrer API betrifft. Was ist apiutils.php und wo finde ich es? Wie müssen die API-Anfragen z.B. in PHP aufgebaut sein? Ich würde gerne im ersten Schritt eine einfache Verbindung erzeugen und die generelle Funktionalität der API testen. Im zweiten Schritt möchte ich dann unseren Adressstamm in Ihr System übertragen. Wie muss ich hierfür vorgehen?

Danke und freundliche Grüße!

 

Hallo,

die APIUtils werden per se nicht benötigt, um die unter www.gpsauge.de/anbindung/api dokumentierte GPSoverIP API zu verwenden. Sie kann ganz einfach über HTTP-Requests mit entsprechenden Parametern (z.B. module, action, user, device, ...) aufgerufen werden.

So kann zum Beispiel die Liste aller GPSaugen eines GPS-Accounts über die folgende URL abgerufen werden:

www.apioverip.de

Bitte beachten Sie die Platzhalter in eckigen Klammern, die natürlich entsprechend ersetzt werden müssen.

Parameter-Tipp:
- nozlib=1|0 aktiviert/deaktiviert die GZip-Komprimierung der Antwort (Empfehlung: 1)
- format=json liefert die Antwort im Ausgabeformat JSON

Speichern einer Adresse:

Zum speichern einer Adresse gehen Sie bitte wie folgt vor:

POST-Request an www.apioverip.de, z.B. via CURL

Key-Value Parameter:

module:geoobject
action:set
nozlib:1 1 = Response ohne zusätzliche GZip-Komprimierung (empfohlen)
format:json Response im JSON-Format
user:[IHR_GPS-ACCOUNT]
pwd:[IHR_GPS_ACCOUNT_PASSWORT]
type:address
name:R1BTb3ZlcklQIEdtYkg= Matchcode, Pflichtfeld, base64, frei wählbare Bezeichnung, z.B. der Firmenname
address1:R1BTb3ZlcklQIEdtYkg= Firmenname, optional, base64, frei wählbar
street:SGF1cHRiYWhuaG9mc3RyYd9l Straßenname, Pflichtfeld, base64
housenumber:2 Hausnummer, Pflichtfeld, base64
city: U2Nod2VpbmZ1cnQ= Stadt, Pflichtfeld, base64
code:97424 Postleitzahl, Pflichtfeld, base64
country:DE Land, Pflichtfeld, base64
uniqueid:QUJDMTIzLTQ1Ng== Externe ID, optional, base64, frei wählbar. Hier können Sie die ID der Adresse Ihres Systems angeben
geoobjectid:195429487 ID des GEO-Objekts, optional. Gesetzt: GEO-Objekt mit dieser ID wird aktualisiert, nicht gesetzt: Ein neues GEO-Objekt wird angelegt

Response:

{
"return": -1,
"success": true,
"data": {
"id": 195429487
}
}

Die unter "data" zurückgegebene ID kann dann verwendet werden, um das erzeugte GEO-Objekt nachträglich zu verändern (siehe oben) oder zu löschen (via geoobject->delete).

Auflisten aller Adressen:

Um eine Liste aller gespeicherten Adressen zu erhalten gehen Sie bitte wie folgt vor:

GET-Request www.apioverip.de]

Löschen einer Adresse:

Um eine gespeicherten Adresse zu löschen gehen Sie bitte wie folgt vor:

GET-Request www.apioverip.de]

Bitte beachten Sie: Sofern Sie beabsichtigen, initial sehr viele Adressen auf diese Weise anzulegen, empfehle ich Ihnen, eine kurze "Verschnaufpause" von vielleicht 500 - 1000 Millisekunden (gerne auch mehr) zwischen die einzelnen Requests zu geben, da es sonst passieren könnte, dass Sie von unseren API-Sicherheitsmechanismen wegen zu hoher Anzahl an Anfragen in zu kurzer Zeit geblockt werden.

Beste Grüße,
Ihr GPSoverIP Team

Diebstahlschutzregel verschwindet

Diebstahlschutzregel verschwindet

Hallo!
Ich habe für meine Fahrzeuge eine Diebstahlschutzregel im GPS-Explorer web erstellt. Diese hat auch zuverlässig ausgelöst, ist danach jedoch spurlos verschwunden. Warum ist das so? Handelt es sich hierbei um einen Fehler?

 

Hallo!

Die Diebstahlschutzregeln werden beabsichtigt gelöscht, sobald sie ausgelöst haben. Das heißt, sie können nicht wieder aktiviert werden, da sie nach Auslösung verschwinden. Der Diebstahlschutz muss also immer wieder neu eingerichtet werden. Dies macht auch Sinn, weil nur Sie als Benutzer sagen können, welche die Position des Fahrzeugs ist, die überwacht werden soll.

Das Anlegen der Regel ist aber ja in wenigen Schritten erledigt:

1. Fahrzeugliste, Kontextmenü: "Alarme und Regeln..." -> "Diebstahlschutz"
2. Regelnamen, Handynummer und/oder E-Mail eingeben
3. Speichern

--> Hinweise:

- Die Option "Zeitraumabhängige Aktivierung" muss nicht an sein. Sie wird nur gebraucht, wenn die Regel nur zu bestimmten Zeiten scharf sein soll. Soll sie 24/7 überwachen, kann die Option einfach auf "aus" stehen.

- Die zu benachrichtigenden Handynummern können alle in einer Regel kommagetrennt eingegeben werden

Viele Grüße,
Ihr Team der GPSoverIP GmbH

Probleme beim Abfragen der Fahrzeugpositionen über die API

Probleme beim Abfragen der Fahrzeugpositionen über die API

Sehr geehrte Damen und Herren,
aus Mangel an anderen Informationen, gehe ich von einem Beispiel auf Ihrer Webseite aus:
www.gpsauge.de

Anbindung --> API --> Öffentliche Module --> Devices, Fahrzeugortung und Status --> mehr Infos --> Abrufen der Position inkl. Fahrer und Status (mode=cars|contacts|positions)

<?php
include("./include/gpsapi/apiutils.php";
$arr = array();
$arr["module"] = "devices";
$arr["action"] = "get";
$arr["user"] = "user";
$arr["pwd"] = "geheim";
$arr["mode"] = "positions";
$arr["deviceid"] = "123456";
$arr["nameonly"] = "0";
$arr["format"] = "json";
$arr["plainpos"] = "1";
$result = apiGetData($arr);
$result = apiUnzip($result);
if (apiReturn($result))
echo "SUCCESS!";
else
echo "ERROR";
?>
Ich habe diese API in ein kleines Programm eingebaut und Folgendes festgestellt:
Folgende Parameter funkionieren nicht:
$arr["action"] = "get";
$arr["mode"] = "positions";
$arr["deviceid"] = "213059";
$arr["nameonly"] = "0";
$arr["plainpos"] = "1";
Service Url laut Ihrer Webseite: https://live.apioverip.de
Diese URL stimmt nicht!
Die richtige URL lautet: https://www.apioverip.de
Hier ein Ausschnitt aus einem php Programm, das funktioniert:
<?php
$url = "https://www.apioverip.de/";
$user = "253483";
$pwd = $GPSAUGEKEY;
$arr = array();
$arr["module"] = "devices";
$arr["action"] = "list";
// $arr["action"] = "get"; // geht nicht
$arr["user"] = $user;
// $arr["mode"] = "positions"; // geht nicht
// $arr["plainpos"] = "1"; // geht nicht
$arr["pwd"] = $pwd;
$arr["nozlib"] = "1";
$arr["format"] = "json";
$qs = http_build_query($arr);
$url = $url . '?' . $qs;
echo $url . PHP_EOL . PHP_EOL;
// get the json response
$resp_json = file_get_contents($url);
$myfilename = 'GPSauge_test.json';
file_put_contents($myfilename, $resp_json);
?>

Allerdings liefert mir dieses Programm alle möglichen Informationen zurück, nur die, die ich benötige, sind nicht enthalten:
- aktuelle Position von jedem Fahrzeug in Längen- und Breitengrad:
lat=49.27193
lon=7.16456
49.27193, 7.16456

Damit kann ich in Google, Openstreetmap, Bing, here die Position anzeigen und navigieren. Ich kann sogar ohne großen Aufwand eine Suche im einem gewissen Radius starten und die optimale Route berechnen. Bei 20 Tourenstopps spielt das Travelling Salesman Problem keine Rolle.
Ist es möglich, eine gültige Beschreibung der API Parameter zu bekommen, da die Angaben auf Ihrer Website nicht stimmen.
Ist es möglich, in der json Datei die aktuellen Länge- und Breitengrade wie oben beschrieben pro Fahrzeug zu erhalten?

Mit freundlichen Grüßen
Dieter S.

 

Sehr geehrter Herr S.,
der Abruf der Live-Positionen Ihrer GPSaugen erfolgt wie in der
Dokumentation beschrieben via:

live.apioverip.de

Über diese URL erhalten Sie die aktuelle Position aller GPSaugen in
Ihrem GPS-Account. Die Domain live.apioverip.de ist durchaus korrekt.

Sofern Sie nicht die Hilfsbibliothek APIUtils verwenden, so können Sie
die URL einfach um einen weiteren URL-Parameter erweitern:

&nozlib=1

Dieser Parameter bewirkt, dass der Response nicht komprimiert wird und
somit direkt geparsed werden kann.

Über den optionalen Parameter

&deviceid=[GPSaugeID]

können Sie die Abfrage auf ein bestimmtes GPSauge eingrenzen. Beachten
Sie bitte, dass dieses GPSauge Ihrem GPS-Account natürlich auch
zugeordnet sein muss.

Schöne Grüße,
Ihr GPSoverIP Entwickler-Team.

www.apioverip.de / API action hld->list lässt sich nicht nach "gelesen-Status" filtern

www.apioverip.de / API action hld->list lässt sich nicht nach "gelesen-Status" filtern

Guten Tag

Wir haben die APO bereits bei unseren Kunden im Einsatz um Tachografdaten in unsere Software TachoPlus zu importieren.
Der Ablauf den wir bisher machen geht wie folgt:
Mit dem Action list rufen wir zuerst alle Dateien ab
Die einzelnen Dateien laden wir runter mit get
Mit delete löschen wir die Datei, so dass diese beim nächsten Abruf nicht mehr kommt

Aus meiner Sicht gäbe es ja die Action Methode set_read die die Datei als gelesen markieren sollte. Bei der list Methode gibt es aber leider keine Filtermethode um die bereits gelesenen zu filtern.
Wie war das gedacht?


Freundliche Grüsse

Marcel W.

 

Guten Tag Herr W.,
mit der Action "set_read" kann - wie Sie bereits richtig vermutet haben - ein Datensatz auf "gelesen" gesetzt werden. Die Action "list" filtert mit dem zusätzlichen Parameter "&read=0" (0=ungelesene, -1=gelesene) die Ergebnismenge entsprechend des Parameterwerts.

Beste Grüße,
Ihr GPSoverIP-Team

 

Guten Tag

funktioniert wie beschrieben. Vielen Dank!

Freundliche Grüße
Marcel W.

API-Schnittstelle

API-Schnittstelle

Guten Morgen

Ich arbeite an Schnittstellenanbindungen bei uns in der Firma, für Anbieter, die unsere Kunden nutzen. Ihre ist eine davon, allerding bin ich auf folgendes Problem gestoßen;

Die Beispiele die Sie auf gpsauge.de aufgeführt haben in den verschiedenen Sprachen nutzen eine scheinbar eigene API-Klasse, wobei diese die Anfrage an die API via Hashtable senden. Allerdings nutzen wir eine Software namens Lobster_data, um unsere Schnittstellen zu verwalten, und diese ist URI-basiert, und es kann kein Hashtable als solcher mit der http-get gesendet werden.

Gibt es eine Möglichkeit, die entsprechenden werte als Parameter mitzusenden?

 

Willkommen im Forum!

Die Parameter der API können ganz normal als "Key=Value"-Parameter in der URL angegeben werden, z.B.

www.apioverip.de.

Die APIUtils ist lediglich eine Wrapper-Klasse, die nicht notwendig ist, um mit der API zu arbeiten.

apiutils.php, api_utils in c#

apiutils.php, api_utils in c#

Sehr geehrte Damen und Herren,

auf Ihrer Webseite www.gpsauge.de finde ich unter dem Menüpunkt:
Anbindung --> API --> Öffentliche Module --> Devices, Fahrzeugortung und
Status --> mehr Infos
--> Abrufen der Position inkl. Fahrer und Status
(mode=cars|contacts|positions)

folgende Programme
php:
<?php
include("./include/gpsapi/apiutils.php";
$arr = array();
$arr["module"] = "devices";
$arr["action"] = "get";
$arr["user"] = "user";
$arr["pwd"] = "geheim";
$arr["mode"] = "positions";
$arr["deviceid"] = "213059";
$arr["nameonly"] = "0";
$arr["format"] = "json";
$arr["plainpos"] = "1";
$result = apiGetData($arr);
$result = apiUnzip($result);
if (apiReturn($result))
echo "SUCCESS!";
else
echo "ERROR";
7?>

Die 1. Zeile im php Programm lautet
include("./include/gpsapi/apiutils.php";
Es fehlt jedoch die Datei apiutils.php. Diese ist in der php
Installation nicht vorhanden und auch im Internet nicht zu finden.

Auf Ihrer Webseite lese ich:
Aufbau der API-Anforderungen
"In der Dokumentation finden Sie die Beschreibung der einzelnen Module,
deren Aktionen und die möglichen Parameter, die Sie bei der Entwicklung
zur Verfügung haben. Dabei sind bei jedem Modul Code-Beispiele,
Antworten des Gateways und mögliche Fehlermeldungen beschrieben."

Wo finde ich diese Dokementation? Wo ist die Datei apiutils.php?

Das c# Beispiel sieht wie folgt aus:

using System;
using System.Windows.Forms;
using System.Collections;

namespace API_cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
api_utils API = new api_utils();
Hashtable arr = new Hashtable();
string result;
arr.Add("module", "devices";
arr.Add("action", "get";
arr.Add("user", "user";
arr.Add("pwd", "geheim";
arr.Add("mode", "positions";
arr.Add("deviceid", "213059";
arr.Add("nameonly", "0";
arr.Add("format", "json";
arr.Add("plainpos", "1";
result = API.apiGetData(arr);
if (result == ""
{
result="return:=-1";
}
else
{
MessageBox.Show(API.apiUnzip(result));
}
}
}
}

In der Zeile
api_utils API = new api_utils();
erhalte ich die Fehlermeldung:
The type or namespace name 'api_utils' could not be found (are you
missing a using directive or an assembly reference?)
Diese Meldung ist nicht weiter verwunderlich, da eine Referenz zu einer
Library fehlt. Die Library heißt api_utils.
Diese ist entweder eine dll oder ich kompiliere die dll selbst, wenn ich
den Quellcode habe.
Beides finde ich bei Ihnen auf der Webseite nicht.

Zusammenfassung:

Wie komme ich an die api Schnittstellen Beschreibung und die Dateien
apiutils.php (mit sämtlichen Abgängigkeiten) und die Datei api_utils.dll
oder den c# Quellcode?

Ist die c# Library eine .net Anwendung mit .net Framework 4.8 oder eine
.net Core Anwendung mit .net Core 6.0 (long term support)?

Mit freundlichen Grüßen

Steffen

 

Guten Tag Herr Steffen,
vielen Dank für Ihre Anfrage bezüglich der Hilfsbibliothek "apiUtils"!

Genaugenommen benötigen Sie diese nicht. Unsere, auf der Webseite beschriebene, API kann ganz einfach über HTTP-GET Requests mit entsprechenden Request-Parametern (z.B. module, action, user, device, ...) aufgerufen werden.

Die apiUtils kapselt lediglich den HTTP-Aufruf in der jeweiligen Programmiersprache (z.B. via CURL im Fall von PHP). Eine Beispiel-URL wäre z.B.:

www.apioverip.de

(Bitte beachten Sie die Platzhalter in eckigen Klammern, die natürlich entsprechend ersetzt werden müssen.)

Diese URL liefert eine Liste aller im GPS-Account registrierten GPSaugen.

Parameter-Tipp:
- nozlib=1|0 aktiviert/deaktiviert die GZip-Komprimierung der Antwort
- format=json liefert die Antwort im Ausgabeformat JSON

Beste Grüße,
Ihr Entwicklungs-Team der GPSoverIP GmbH.

Sporadischer Fehler beim Abruf von Telematikdaten

Sporadischer Fehler beim Abruf von Telematikdaten

Sehr geehrte Damen und Herren,
wir rufen die Telematikdaten unserer GPSaugen über die URL live.apioverip.de ab.

Wir erhalten dabei folgende Fehlermeldung

incorrect header check
For input string: "0.0000000000"

Dies geschieht hin und wieder bei unterschiedlichen IDs. Können Sie uns sagen, was hier falsch läuft?

 

Guten Tag,
scheinbar sind Sie hier auf einen seltenen Bug in unserer Live-API gestoßen. Unser Team arbeitet bereits an der Lösung des Problems. Bis dahin möchten wir Sie bitten, Ihre Anwendung zum Abgriff der Live-Daten auf ein anderes, auch aktuelleres System umzustellen. Ändern Sie hierfür bitte die Request-URL auf die Folgende ab:

api.gpsoverip.de/positions/live]

Bitte beachten Sie, dass sich im Response der API der ein oder andere Parameter geändert hat. Sollte der neue Response-Aufbau für Sie aus bestimmten Gründen nicht geeignet sein, so haben Sie die Möglichkeit, mit dem zusätzlichen Parameter legacy=1 vorerst einen Response im alten Format zu forcieren. Hiervon möchten wir jedoch abraten, da der Legacy-Modus keinen dauerhaften Bestand hat und mit sehr hoher Wahrscheinlichkeit irgendwann abgeschaltet wird.

Wir hoffen, Ihnen damit geholfen zu haben.

Mit freundlichen Grüßen,
Ihr GPSoverIP Support Team

Aufträge mit Anhang über die API Schnittstelle

Aufträge mit Anhang über die API Schnittstelle

Hallo,

Ein gemeinsamer Kunde möchte, dass wir die Datei(en) die zum übertragenen Auftrag gehören sammeln und mit der
Tour bzw. dem Auftrag zu Ihnen übertragen.
In der Beschreibung des Moduls setfile finde ich keinen Parameter für die Zuordnung zu einem konkreten
Auftrag zu welchem die Dokumente gehören.
Wir würden dem Fahrer z.B. 2 Aufträge zur Verarbeitung schicken. Nach der Übertragung des jeweiligen
Auftrags, würden wir die zugehörenden Dateien mit setfile übertragen.
Wie können wir sicherstellen, dass der Fahrer die Dokumente korrekt zuordnet?
Sieht der Fahrer die Dokumente "irgendwie" bei der Annahme bzw. beim Start der Abarbeitung des Auftrags?
Ich kenne den Ablauf auf dem Gerät nicht so genau, um den Kunden zu erklären, wie der Fahrer mit
den Daten umgehen muss bzw. wie der Fahrer die Dokumente zum 2. Auftrag findet, sobald er den ersten
Auftrag beendet hat.
Gibt es dazu eine Anleitung die man sich anschauen kann?

Für Rückfragen stehe ich Ihnen gerne zur Verfügung.
________________________________________
Mit freundlichen Grüßen
Michaela Federbein

 

Hallo Frau Federbein.

es gibt zusätzlich die Möglichkeit, einer Tourposition einen Anhang zuordnen.
Diesen erkennt der Fahrer in der Positionsliste durch ein Büroklammer Symbol vor der Stationsnummer.
Bei dem Doppelklick auf die Büroklammer, öffnet sich das entsprechende PDF oder eben eine Bild Datei, je nach Anhang.

In der API-Doc, "Job -> send" ist das dokumentiert. Es müsste lediglich für "Tour" noch in der API Dokumentation ergänzt werden.
Über den Link "https://media.gpsoverip.de/repo/tour.xml" kann man sich eine Beispiel-XML herunterladen, in der auch ersichtlich ist, wie die Attachments übergeben werden müssen.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Hallo,

vielen Dank für die Info.

Ich habe dazu noch 1-2 Fragen:
- Da es in der Struktur einen übergeordneten TAG "attachments" gibt, gehe ich davon aus, dass es mehrere "attachment"-Blöcke
innerhalb der "attachments" geben kann. Stimmt das?
- ID
Ist diese ID relevant oder können wir hier irgendeinen Zahlenwert aus unserem System mitgeben?
- Gibt es hier auch Größenbeschränkungen für die Integration der Dokumente als base64?

Für Rückfragen stehe ich Ihnen gerne zur Verfügung.
________________________________________
Mit freundlichen Grüßen
Michaela Federbein

 

Hallo Frau Federbein,

anbei die Antworten.

Da es in der Struktur einen übergeordneten TAG "attachments" gibt, gehe ich davon aus, dass es mehrere "attachment"-Blöcke
innerhalb der "attachments" geben kann. Stimmt das?
--> Korrekt

- ID
Ist diese ID relevant oder können wir hier irgendeinen Zahlenwert aus unserem System mitgeben?

--> Ist nicht relevant.
- Gibt es hier auch Größenbeschränkungen für die Integration der Dokumente als base64?
--> Es besteht Geräteseitig eine Übertragungsbeschränkung von 150 kb.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

GPS-Positionsdaten im Module fms mitabfragen / Format der GPS-Koordinaten

GPS-Positionsdaten im Module fms mitabfragen / Format der GPS-Koordinaten

Sehr geehrte Damen und Herren,

ich bin gerade dabei mich mit der API zum Abruf von Archivdaten unseres kürzlich erworbenen GPSauge MI6 BLE zu befassen. Über das Module fms und die Action get war es mir dann auch schon möglich, direkt mit Python FMS/CAN-Daten für einen bestimmten Zeitabschnitt von ihren Servern abzurufen.

1. Nun schreiben Sie bei der Action getvalue in Ihrer API-Dokumentation:„Sie können sich zu jedem Zeitpunkt auch die GPS-Koordinaten (GPS_LAT/GPS_LON) liefern lassen.“https://www.gpsoverip.de/entwickler/api-referenz/actions/parameter/?tx_repomodule_pi1%5Bmoduleid%5D=88578975&tx_repomodule_pi1%5Bactionid%5D=99042731

Wie geht das? Ist es möglich dieGPS-Koordinaten direkt mit den FMS/CAN-Daten für jeden Zeitschreitgleich mitabzufragen? Welche Parameter muss ich dafür übergeben? Derzeit sieht meine Python-Funktion zur Datenabfrage so aus:

Was mir die Daten letztlich für jeden Zeitschritt in einem Dictionary zurückgibt:

Das passt für mich auch soweit sehr gut. Nach meiner Vorstellung sollten hier dann aber eben auch zusätzlich noch GPS-Longitude und GPS-Latitude als Werte mit aufgeführt werden. Ist dies so möglich?

2. Außerdem habe ich noch eine Frage zum von Ihnen verwendetenFormat der GPS-Koordinaten. Mit dem Module „devices“ habe ich mir über die Action "getonepos" mal die Koordinaten für einen einzelnen Zeitschritt (2021-05-13 00:00:00) abgerufen. Nun erhalte ich
für GPS-Latitude 5131.9788 und für GPS-Longitude 951.2851. In Ihrer Dokumentation schreiben Sie dazu, dass die Werte als Gradminuten (dezimal) ausgegeben würden. Wie rechne ich diese aber in Dezimalgrad um? Einfach durch 60 teilen funktioniert hier nicht. Ergebnis sollte irgendwie ähnlich sein zu 51.532982, 9.854752.

Vielen Dank für Ihre Unterstützung.

Mit freundlichen Grüßen
i. A. Markus Worbs
----------------------------------------------------------------------
FuE-Zentrum FH Kiel GmbH
Makus Worbs M. Sc.
- Projekt LaTech40 -
Schwentinestr. 24
24149 Kiel
Germany

 

Sehr geehrter Herr Worbs,

vielen Dank für Ihre Anfrage! Leider muss ich Ihnen mitteilen, dass die Möglichkeit, die Koordinaten der GPSaugen direkt mit den CAN/FMS-Daten zu ermitteln, seit einiger Zeit nicht mehr existiert. Hier wurde lediglich versäumt, die Dokumentation entsprechend anzupassen. Wir haben dies soeben nachgeholt.

Abruf GPS-Daten

Es gibt drei Möglichkeiten, die Position eines GPSauges zu einem bestimmten Zeitpunkt zu ermitteln. Vorweg: Möglichkeit 3 ist unsere Empfehlung.

1. Sie verwenden die API "devices -> getonepos"
2. Sie verwenden die APIs "devices -> get, mode=packagelist" und "devices -> get, mode=package"
3. Sie verwenden unsere brandneue API unter api.gpsoverip.de, um sich alle Positionen des Fahrzeugs in einem bestimmten Zeitraum zu laden

Zu 1.:
Diese API bietet sich nur an, falls die Anzahl der abzufragenden Zeitstempel gering ist. Massenabfragen sind hiermit nicht möglich, da Ihr Programm sonst in Query-Limits und damit Blockaden laufen könnte.

Zu 2.:
Hier muss mittels mode=packagelist die Paketliste des Tages geladen werden, in dem die gesuchten Zeitstempel liegen. Anschließend muss ermittelt werden, in welchem der zurückgegebenen Pakete die gesuchten Zeitstempel liegen. Mit der entsprechenden Paket-ID müssen dann die GPS-Positionen dieses Pakets geladen werden. Abschließend muss programmatisch die, zum gesuchten Zeitstempel passende, Position ermittelt werden.

Zu 3.:
Diese API befindet sich aktuell im Aufbau, wobei GET /positions bereits den finalen Stand erreicht hat. Mit dieser API können Sie sehr performant alle Positionen eines oder mehrerer Fahrzeuge im gewünschten Zeitraum laden, um dann die, zum gesuchten Zeitpunkt passenden, Koordinaten programmatisch zu ermitteln.

Die Beispiel-URL hierzu lautet: api.gpsoverip.de/v1/positions/

Als Tipp:
Verwenden Sie für die Suche der Koordinaten in der Ergebnismenge das Konzept der Binären Suche. Damit sind schnelle Ergebnisse gewährleistet. Neben der guten Performance der API ist ein weiterer Vorteil, dass diese API die GPS-Koordinaten direkt im gewünschten Dezimalformat liefert.

Wenn Sie unserer Empfehlung nachkommen möchten, dann verwenden Sie bitte diese Variante 3. Die Vorteile liegen auf der Hand: Performance, Stabilität und geringster Komplexitätsgrad.

Abruf FMS-/CAN-Daten

Wichtig:
In der neuen API gibt es ebenfalls die Möglichkeit, FMS/CAN-Daten abzurufen! Diese Schnittstelle ist ebenfalls bereits stable. Beispiel-URL:

api.gpsoverip.de/v1/fms/list

Auch hier empfehlen wir die Nutzung dieser.

Hinweise zur neuen API unter api.gpsoverip.de:

- Im Response finden Sie einen Bereich "meta", in welchem die einzelnen Antwortfelder näher erläutert sind.
- Aufgrund der - je nach Parameter-Settings - großen Datenmengen empfehlen wir, die abzufragenden Zeiträume und/oder die Anzahl der Geräte-IDs so klein wie möglich bzw. nur so groß wie tatsächlich nötig zu halten.
- Die Angabe von v1 gewährleistet, dass Sie von allen Features und Patches in der aktuellen Major-Version 1 profitieren, jedoch vor eventuellen Breaking Changes einer kommenden Major-Version 2 geschützt sind. In den Response-Parametern finden Sie unter "API-Version" die tatsächlich verwendete Version (bei der Angabe von v1 ist das derzeit v1.3.3).

Sollten Sie noch Fragen haben, zögern Sie nicht, diese zu stellen. Auch in unseren Foren findet sich vielleicht die ein oder andere Antwort auf Ihre Fragen.

Beste Grüße,

Ihr GPSoverIP Support Team

 

Guten Tag,

vielen Dank für Ihre Rückmeldung.

Der Weg 3 über die neue API als HTTPS-Abfrage finde ich gut und komfortabel.

Dazu noch ein paar Fragen:
- In den Links, die Sie angehängt haben, wird das Passwort ja als Klartext mit übertragen. Ich bin kein Sicherheitsexperte, aber ist das so die finale Lösung?
- Ist es bei der FMS-Abfrage möglich auch alle verfügbaren Felder auf einmal abzufragen und nicht alle Felder in der Abfrage einzeln benennen zu müssen?
- Gibt es bereits eine öffentlich einsehbare Dokumentation zur neuen API?

Mit freundlichen Grüßen
i. A. Markus Worbs
----------------------------------------------------------------------
FuE-Zentrum FH Kiel GmbH
Makus Worbs M. Sc.
- Projekt LaTech40 -
Schwentinestr. 24
24149 Kiel
Germany

 

Guten Tag Herr Worbs,
zu Ihren Fragen:

- Nachdem Sie die API über eine gesicherte Verbindung (https) benutzen, ist die Übertragung des Passworts im Klartext kein Sicherheitsrisiko. Es handelt sich hierbei um die allgemein übliche Vorgehensweise.
- Die Abfrage GET /fms/list benötigt zwingend die Angabe des Parameters "fields". Hier können Sie einen oder mehrere Identifier (kommasepariert) übergeben. Eine Eingrenzung auf bestimmte Identifier macht nicht zuletzt auch wegen der Datenmenge und damit verbundener Performance sowohl auf GPSoverIP-, als auch auf Client-/API-Consumer-Seite Sinn. Die Erfahrung hat gezeigt, dass für unsere Kunden im Regelfall nie alle Identifier interessant sind, sondern dass sich das Interesse meist auf einige wenige Identifier konzentriert.
- Sie finden die Dokumentation der API unter docs.gpsoverip.de

Beste Grüße,

Ihr GPSoverIP Support Team

API Schnitstelle - Modul Job

API Schnitstelle - Modul Job

Guten Tag,

Sie haben letzte Woche mit Herrn Doll wegen gemeinsamen Kunden „DK – Transporte“ gesprochen. Ich hätte noch ein paar Fragen zu der Schnittstelle:

1) die Beispiele für Senden der Tourenliste und Empfangen vom Auftragsstatus sind bei Ihnen in mehreren Programmiersprachen wie PHP oder Java aufgeführt. Jeweils wird ein Extra-Modul „APIUTILS“ von Ihnen mit Methoden wie „apiGetData“ und „apiUnzip“ aufgerufen.

Weil wir keine standardmäßige Programmiersprache aus Ihrer Liste haben (wir nutzen das Plattform 1C:Enterprise vom Hersteller Fa. 1C), müssen wir die HTTP-Requests selbst ausführen. Gibt es bei Ihnen kurze Beschreibung, was beachtet werden muss, damit wir selbst die Funktionalität aus Ihrem Modul „APIUTILS“ nachziehen

2) wir überlegen, wie wir über Schnittstelle ein Gewicht empfangen können. Bei Modul „Auftragsstatus abfragen“ gibt es Antwortparameter „cmt“ mit ausführlicher Nachricht. Wahrscheinlich können wir dieses Parameter nutzen. Lässt sich dieses Parameter mit einer bestimmten Statusnummer aus dem Parameter „name“ verknüpfen?

Vielen Dank im Voraus

Mit freundlichen Grüßen

Dmytro Chakhoyan
Programmierung

 

Guten Tag Herr Chakhoyan,

zu 1) Die API-Requests werden als übliche HTTP-Requests an www.apioverip.de gesendet. Durch die Übergabe der Parameter "nozlib=1" und "format=json" kommen die Responses der API im Regelfall als ungezippter JSON-String. Das Parsing des JSON kann dann mit sprachentypischen Boardmitteln erfolgen.

Zu 2) Das Gewicht kann von der Job Applikation auf dem Telematikgerät nur als Nachricht versendet werden.
Sie können somit bei dem parameter „name“ die Statusnummer -1 verwenden.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Hallo,

vielen Dank für die schnellen Antworten!

Ich hätte noch einige weitere Fragen.

1) Wenn eine Tour über Methode „Tour -> Tourenliste senden“ abgeschickt wurde, ist es richtig so, dass die Antwortmeldungen zu dieser Tour über „Job -> getstatus“ abgefragt werden können? Oder über „Job -> getstatus“ nur solche Aufträge abgefragt werden können, welche über Modul „Job“ verschickt wurde?

Entspricht der Parameter „uniqueid“ der Methode „Tour -> Tourenliste senden“ dem Parameter „jobid“ der Methode „Job -> getstatus“ ?

2) Wie lange darf der Parameter „uniqueid“ sein? Kann er 36 Zeichen lang sein?

3) Wie kann man eine Tour stornieren, wenn diese fälschlicherweise an das Gerät abgeschickt wurde? Geht das über „Job -> Delete“ ?

4) Feld „gpxpackage“ bei Methode „Tour -> Tourenliste senden“

Welche Bedeutung haben XML-Felder
<src>2</src>
<webaccess>0</webaccess>
<reminder>5</reminder>

5) Gibt es bei Ihnen einen vordefinierten Status „Krisis“, damit Fahrer ein Problem wie Panne oder Stau melden kann?

6) Habe ich richtig verstanden, dass die HTTP-Requests bei Ihnen die POST-Requests sind?
Vielen Dank im Voraus

Ich wünsche Ihnen einen schönen Abend

Mit freundlichen Grüßen

Dmytro Chakhoyan

 

Guten Tag Herr Chakhoyan,

1) Es spielt in diesem Fall keine Rolle, ob "job" oder "tour" verwendet wird. Die beiden Module laufen intern zusammen und bestehen heute noch aus Kompatibilitätsgründen.

Beim Versenden einer Tour via "Tourenliste senden" enthält der Response eine id, welche dann für job->getstatus als Wert für "jobid" verwendet werden kann.

2) Der Parameter uniqueid darf maximal 50 Zeichen lang sein.

3) Ja. Über job -> delete wird eine Tour aus der Datenbank gelöscht. Diese Löschung wird an das GPSauge übermittelt, der Fahrer enthält eine entsprechende Hinweismeldung.

4) src: Die GPS-Account-ID des versendenden Accounts
webaccess: Wenn > 0 wird automatisch eine Webfreigabe zur Tourstation erstellt. Die Zahl ist die Dauer der Gültigkeit für die Webfreigabe in Stunden.
reminder: Wert in Minuten, wann eine Erinnerung zum Tourstart erfolgen soll (z.B. 15 -> Automatische Erinnerung 15 Minuten vor Tourbeginn), aktuell ist diese Funktionalität jedoch meines Wissens nach nicht implementiert. Sollte der Kunde dieses Feature benötigen, müsste ich tiefergehende Recherchen anstellen.

5) Es gibt keinen Status „Krisis“, jedoch den Status „Abbruch“.

Zusätzlich gibt es noch vordefinierte Statusmeldungen, siehe Anhang, die auf jedem Endgerät vorhanden sind.
Die Auftragsmeldungen.txt kann beliebig angepasst und dann auf die Endgeräte verteilt werden.
Bitte achten Sie darauf das Format einzuhalten. Statusnummer muss größer als 1000 sein.

Am Endgerät kann dann für eine gesamte Tour oder eine einzelne Tourposition im Statusfenster>Meldung dann einer der Status aus der Auftragsmeldungen.txt ausgewählt werden.

6) Prinzipiell spielt es keine Rolle, welche der Request-Methods POST und GET verwendet wird. Wir empfehlen jedoch, die Wahl nach Bestimmung zu verwenden: POST für "schreibende" Requests (z.B. tour->send), GET für "lesende" (z.B. tour->getstatus).

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

Bluetooth Tags - API Request

Bluetooth Tags - API Request

Hallo,

ich habe seit ca. 3 Wochen mehrere BT Tags in Verbindung mit dem GPSauge im Einsatz. Die Daten der BT Tags würde ich gerne in ein weiteres Programm einbinden und wollte fragen, ob man die Daten der BT Tags auch via API abrufen kann ?

Viele Grüße

Simon Sternbart

 

Sehr geehrter Herr Sternbart,

die Bluetooth-Tags (nachfolgend "BT-Tags"icon_wink.gif Ihres Accounts, inkl. deren aktueller Position, können Sie über folgende Schnittstelle abrufen:

www.apioverip.de

Es handelt sich hier um einen normalen HTTP-Request der Methode GET. Wie Sie diesen in Ihrer Programmiersprache senden können, lässt sich in wenigen Minuten im Internet recherchieren. Im Fall von C# bspw. kann das Senden eines Requests unter Verwendung der Klasse WebRequest realisiert werden.

Im Erfolgsfall bekommen Sie dann einen Response nach diesem Aufbau:

{
return: -1,
success: true,
data: {
00:0B:57:7D:45:AA: {
id: 5172,
macaddress: "00:0B:57:7D:45:AA",
name: "B 300",
lat: "49.920601",
lng: "10.135823",
icon: "include/images/markerIconManager/food/candy.png",
device_id: 231092,
device_ts: "2019-10-23 17:01:32",
created: "2019-05-02 08:46:01",
modified: "2020-10-25 19:00:09"
}, ...
}

Bei den nicht selbsterklärenden Feldern handelt es sich um:

id: Eindeutige ID des BT-Tags
icon: Das Icon, welches im GPS-Explorer web zur Anzeige des BT-Tags verwendet wird. Für die vollständige URL muss "https://web.gps-explorer.de/" vorangehängt werden.
device_id: Die ID des GPSauges, von welchem das BT-Tag zuletzt "gesehen" wurde. Wichtig: Dieses GPSauge muss nicht zwingend ein GPSauge aus Ihrem Account sein. Alle aktiven GPSaugen melden alle BT-Tags, wodurch eine flächendeckendere und genauere Positionsbestimmung ermöglicht wird. Die Information wird anonymisiert an das BT-Tag gebunden.
device_ts: Der Zeitstempel, wann das BT-Tag zuletzt von einem GPSauge gesehen wurde.

Ich hoffe, Ihnen hiermit ein Stück weitergeholfen zu haben. Sollten Sie noch weitere Fragen haben, antworten Sie einfach auf diese E-Mail.

Beste Grüße,

Ihr GPSoverIP Support Team

 

Hallo,

vielen Dank für die Unterstützung.
Funktioniert alles wie beschrieben.

Wunderbar.

Viele Grüße

Simon Sternbart

Änderung in/an Schnittstelle

Änderung in/an Schnittstelle

Hallo,

wir hatten unser GPS-Auge über einige Monate (Mai bis August) nicht mit unserer Datenbank (Access mit VBA) und damit mit unserer Schnittstelle verwendet.
Jetzt wollten wir das Gerät wieder nutzen und mussten feststellen, dass die Anbindung nicht mehr funktioniert.
Die Übertragung wird direkt beim "HttpReq.Send" mit folgender Fehlermeldung abgebrochen:
"-2147012739: Im Support des sicheren Channels ist ein Fehler aufgetreten"

Ich bin da jetzt nicht der "Ober-Programmierer" und mache das hier so "nebenbei"...
Nur... wieso klappte das bis Mai und jetzt nicht mehr?!?

Zur Information unser Quellcode:
' HTTP Verbindung öffnen
HttpReq.Open "GET", Server & Aktion, False
'In UTF-8 kodieren
HttpReq.Option(WinHttpRequestOption_URLCodePage) = "UTF-8"
HttpReq.setRequestHeader "Content-Type", "text/xml; charset=UTF-8"
' HTTP-Request absenden.
HttpReq.Send 'Aktion HIER DIREKTER ABBRUCH
' Auf die Serverantwort warten.
HttpReq.waitForResponse
' Ergebnis zurück geben
GPSAuge_HTTPRequest = (HttpReq.responseText)

Die übergebene URL funktioniert in einem Browser einwandfrei!
Hier einmal unsere Übergabe (Server und Aktion):
live.apioverip.de

Ich würde GERNE auf die Verwendung der API aus Kompabilitäts- und Installationsgründen verzichten!

Auf den versprochenen Anruf vom Support warte ich jetzt leider schon eine ganze Woche...

Vielen Dank für Hilfe

Frank Dunsche

 

Sehr geehrter Herr Dunsche,

bitte entschuldigen Sie die späte Antwort.
Wir leiten Ihre Anfrage umgehend an die Entwicklung weiter.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Sehr geehrter Herr Dunsche,

laut unserer Entwicklung gibt es hier ein Problem mit TLS (Transport Layer Security).

Hier ein paar hilfreiche Links:
stackoverflow.com/questions/44045305/vba-an-error-occurred-in-the-secure-channel-support/51118932

support.microsoft.com/en-za/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

Spezielle ID ?

Spezielle ID ?

Hallo,

gibt es eine spezielle Client_ID die wir verwenden sollen, um mit Benutzernamen und Passwort eine Verbindung herzustellen ? Falls es keine gibt, ist das natürlich auch in Ordnung.

Viele Grüße

Magdalena Werb

 

Hallo Frau Werb,

wir geben unseren Kunden keine spezielle Client ID oder Ähnliches vor.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Vielen Dank für die schnelle Hilfe

Viele Grüße

Magdalena Werb

Modul Devices - Reverse Geocoding

Modul Devices - Reverse Geocoding

Sehr geehrte Damen und Herren,

wir nutzen die Devices-API sehr intensiv und haben einen Feature-Request:
Für interne Softweareprodukte benötigen wir nicht nur die Position des Fahrzeugs in Längen-/Breitengraden, sondern in "menschlich lesbaren Format" (z.B. A3, Köln, Deutz, Deutz-Kalker Str.). Wir nutzen zurzeit das reverse Geocoding von openstreetmap, die Latenzzeiten sind uns allerdings zu hoch.

Könnten Sie diese reverse geocoding Daten über Ihre GoogleMaps Lizenz abfragen und in das Device-Modul integrieren, das würde uns sehr helfen ?

Mfg,
Gustav Quade

 

Sehr geehrte Damen und Herren,

bitte entschuldigen Sie das späte Feedback.

Wir haben die Information entsprechend an die Entwicklung weitergegeben und werden beim nächsten API-Release versuchen, die von Ihnen gewünschte Änderung mit einfließen zu lassen.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Super,

das Feature würde uns sehr weiterhelfen.

Danke,
Gustav Quade

NFC Tag - Popup Konfiguration

NFC Tag - Popup Konfiguration

Um die Anzeige des Popups der NFC Funktionalität abzuändern, können Sie unter "Administration > NFC " eine passende Option auswählen.

Zur Führerscheinkontrolle der Mitarbeiter im GPS-Explorer web, empfehlen wir die Einstellung:
"DB: Arbeitsbeginn-ende/Richtzeit/Pause/Fahrer/Beifahrer"

 

Die Symbole innerhalb des Popups wurden überarbeitet und benutzerfreundlicher gemacht.

 

Wenn zu schnell oder doppelt geklickt wurde, kam es in einzelnen Fällen vor, dass es zu einer doppelten Übertragung gekommen ist.

Dies wird in dem neuen Update nun unterbunden.

 

Update 05-03-2018:

- Optimierungen bei der Datenübertragung

Auftragsmanagement - Konfiguration

Auftragsmanagement - Konfiguration

Wir haben die Konfiguration des Auftragsmanagement erweitert und die Hilfe Texte entsprechend angepasst.

z.B. gibt es jetzt auf der fünften Seite der Konfiguration, die Option "Ausführung bei Stopp"

"Wenn diese Option aktiv ist, kommt das Statusfenster Popup erst beim Anhalten innerhalb des Zielradius. Wird im Zielradius gar nicht angehalten, so wird das Popup erst beim Herausfahren aus dem Radius angezeigt.

 

Es gab noch einen kleinen Bug bei dieser Funktion, der bereits behoben wurde.

 

Die Konfiguration des Auftragsmanagements wurde erneut überarbeitet und die Hilfetexte entsprechend angepasst.

FMS Module with Java

FMS Module with Java

Good morning,

We have a problem with the module fms.

My Code:

aParam.put("user", user);
aParam.put("module", "fms" );
aParam.put("action", "get" );
aParam.put("pwd", API.md5(pass));
aParam.put("deviceid", deviceid);
aParam.put("mode", "" );
aParam.put("from", "01-04-2012 10:00:00" );
aParam.put("to", "01-01-2020 11:00:00" );
aParam.put("fields", "betriebsstunden,bitwert,brake_sw" );

and the response is:
IOException: java.io.IOException: Server returned HTTP response code: 400 for URL: www.apioverip.de 10:00:00&to=01-01-2020 11:00:00&pwd=xxxx&fields=betriebsstunden,bitwert,brake_sw&user=xxxx&deviceid=xxxx

but on your web www.gpsoverip.de/entwickler/api-referenz/actions/parameter/

the response is valid.

 

Good morning,

this problem is fixed in our newest Java API files.

Please download and try it with the newest apiutils.java.

The Download to the Java API files can be found here:

www.gpsoverip.de

Marker Applikation - Bluetooth

Marker Applikation - Bluetooth

Die neuste Version der Marker Applikation kann BlueTooth Tags erfassen und übertragen. Wird ein BT Tag z.B. an einem Trailer, einer Rüttel Platte oder auch anderen Objekten angebracht, wir die Position von einem InOne v2 erfasst und aktualisiert, sofern das InOne v2 in Reichweite des BT Tags ist.

 

Es wurde eine neue Version mit kleineren Bugfixes und einer Performanceverbesserung veröffentlicht. Die Version wird automatisch per Fernupdate auf die InOne v2 Geräte übertragen.

 

neue Version vom 20.11.2017:

- Aktualisierungsintervall angepasst
- kleinere Änderung bei der Anzeige von BT LE Tags

 

neue Version vom 04.12.2017

- Genauigkeit der BT Tag Ortung verbessert

API-Abfrage für Telemetrie-Wert Windgeschwindigkeit

API-Abfrage für Telemetrie-Wert Windgeschwindigkeit

Nach der Umsetzung der Telemetrie für Windgeschwindigkeiten von Baukränen soll der übertragene Wert über die API abgefragt werden.
Wie lautet der Aufruf hierzu?

 

In der API-Dokumentation unter "Modul - FMS" gibt die Aktion "CAN/FMS-Schnittstelle auslesen (Live-Daten)", um den aktuellsten Wert eines oder mehrerer GPSAugen abzurufen.
Die Dokumentation ist hier zu finden:

www.gpsoverip.de/entwickler/api-referenz/actions/parameter/

Mit dem Knopf "Ausführen" können Sie den API-Aufruf testen, bevor Sie diesen in Ihrem System umsetzen.

Der benötigte Feldname lautet in Ihrem Fall "wind_speed" und kann auch über den GPS-Explorer herausgefunden werden. In den FMS-CAN-Daten Ihres Gerätes wird nach dem benötigten Wert gesucht. Ein Klick auf das "i"-Symbol öffnet ein kleines Popup unten rechts, das den internen Feld-Namen für die API verrät. Dies ist auch im angehängten Screenshot zu sehen.

Der folgende API-Aufruf führt zur Abfrage der Windgeschwindigkeit:

action = get
module = fms
fields = wind_speed
format = json
user = GPS-Account ID
pwd = Passwort
deviceid = Geräte-IDs

 

Wenn alle gesendeten Werte eines bestimmten Zeitraumes gewünscht sind, können zusätzlich im API-Aufruf der Start- und Endzeitstempel angegeben werden. Zu beachten ist, dass in diesem Aufruf nur eine Geräte-ID pro Aufruf möglich ist:

action = get
module = fms
fields = wind_speed
format = json
user = GPS-Account ID
pwd = Passwort
deviceid = Geräte-ID (in diesem Modus ist nur eine ID möglich)
from = '01-12-2017 00:00:00'
to = '01-01-2018 15:00:00'

API - Timeout

API - Timeout

Sehr geehrte Damen und Herren,

ich versuche schon die ganze Zeit Daten von der www.apioverip.de Seite abzurufen und bekomme ständig einen Timeout. Ich gehe über den Port 8001.

Kann mir jemand sagen was ich falsch mache ??

Danke

Mfg

Mike Donkeyboner

 

Sehr geehrte Damen und Herren,

bitte rufen sie unsere API immer über Stattdessen www.apioverip.de mit Standardport 80 auf.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

Power-Save-Mode deaktivieren

Power-Save-Mode deaktivieren

Hallo,

Ist es möglich den Power-Save-Mode in meiner externen
Applikation zu deaktivieren/pausieren? Die Anwendung
(C# via SD-Karte) funktioniert einwandfrei, leider kommt nach einer gewissen Zeit die Meldung das sich das Gerät in 30 Sekunden in den Ruhemodus verabschiedet. Ich würde dies aber gerne verhindern.

Viele Grüße

 

Sehr geehrter Herr Lindemann,

Sie können den Power-Save-Modus per Admin Code ausschalten. Einfach im Hauptmenü unter System > Administration folgenden Code eingeben und auf den Button "Weiter" klicken:

325488540 – Power-Save AUS

Power-Save-Modus wieder aktivieren:
325488541 – Power-Save EIN

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

Neue Funktion - Fernwartung

Neue Funktion - Fernwartung

Um dem GPSoverIP GmbH Support die Fehleranalyse oder Schulung zum GPS-Explorer web zu erleichtern, wird Ihnen hier die Möglichkeit geboten, sich mit einem Supportmitarbeiter per Fernwartung zu verbinden. Dieser kann Ihnen dann schnell und genau bei Ihrem Anliegen weiterhelfen.

 

Die Fernwartung wird in den nächsten zwei Wochen nochmals überarbeitet und sollte Ende Anfang Mai 2017 zur Verfügung stehen.

 

Die neue Version der Fernwartung wurde heute hochgeladen.

 

Neue Version verfügbar:

Changelog:

- Verbindungsprobleme bei langsamen Verbindungen
behoben

Integrate gps explorer

Integrate gps explorer

Hello,

we would like to integrate gps explorer (web) into our website for expo.

We don't have enough time to use api and create integration using api.
One of the solution. We will add web.gps-explorer.de into frame, but I think that login session will expire in some time, and we need relogin sometime to recover connect.
How we can get any long session ?

Maybe, you have some hints.

--
Best Regards,
Alexey Rymkevich

 

Hello Alexey Rymkevich,

our GPS-Web-Explorer has a heartbeat via JavaScript that keeps the session alive. As long as your frame has JavaScript enabled your login session should not expire.

An alternative would be to manually refresh the session (by reloading the website for example).

Kind regards,

Your GPSoverIP support team

API - Spesenabrechnung - Abfrage

API - Spesenabrechnung - Abfrage

Die Spesenabrechnung kann jetzt auch über unsere API abgerufen werden:

module: expensereport
action: get
user: [USER]pwd: [PASSWORD]objectid: [GERÄTEID;KONTAKTID]
objecttypeid: [1 = FAHRZEUG; 2 = KONTAKT]
from: YYYY-MM-DD
to: YYYY-MM-DD
nozlib: 1

Bei Fragen hierzu, wenden Sie sich bitte an unseren Customer Support.

Ihr GPSoverIP Support Team

 

Die Performance und Struktur der Rückgabe wurde bei diesem Modul verbessert.

 

Es gab einige Erweiterungen und Bugfixes, welche bereits in der Produktiv-Umgebung aktiv sind.

Geo-Objekt setzen - Missing Type

Geo-Objekt setzen - Missing Type

Hallo,

leider funktioniert zurzeit die "Geo-Objekt setzten" Funktion nicht. Es kommt als Fehlermeldung immer "Missing Type"

return:=0;reason:=Missing type;

Dieser Fehler tritt auch auf, wenn man das Beispiel aus der Api-Referenz direkt aus dem Browser aufruft.

 

Sehr geehrter Herr Quade,

welches Geo-Objekt haben Sie versucht zu setzen ?
Marker, Adresse, Polygon , Kreis, Schranke, Korridor ?

Bitte geben Sie uns noch ein paar Details.

Vielen Dank

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Hallo,

danke für die schnelle Antwort. Wir haben für jede unserer Kundenaddressen die Längen und Breitengrade und möchten diese jetzt als Marker per API übertragen.

Wir richten uns beim Aufbau des Request sehr nah an Ihr php-Beispiel. Mir ist nicht bewusst, dass ich den Typ eines Geo-Objects im Sinne von Addresse oder Marker mitübergeben kann.

Hier eine Array, dass ich gerne übertragen möchte (Passwort und Benutzername geändert). Eigentlich habe ich alle Pflichtfelder ausgefüllt ?:

Array
(
[module]=> geoobject
[action]=> set
[user]=> xxx
[pwd]=> xxx
[lat]=> 50.9451
[lon]=> 6.95269
[name]=> NDAw
[address1]=> RHJvZ2VuaGlsZmUgS8Eru2bG4gR21iSA==
[address2]=> TlQzMA==
[street]=> VmljdG9yaWFzdHJhw59lIDEyLCA1MDY2OCWLw7ZsbiwgR2VybWFueQ==
[description]=> TlQ=
)

 

Hallo Herr Quade,

die von Ihnen angegeben Daten werden aktuell von der Entwicklungsabteilung geprüft. Wir hoffen Ihnen zeitnah eine Lösung anbieten zu können.

Vielen Dank für Ihr Verständnis

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Hallo Herr Quade,

durch die Erweiterung von unserem Geo-Objekt-Modul sind viele neue Möglichkeiten zur Speicherung von Geo-Objekten hinzugekommen.

Diese Änderung erfordert jetzt jedoch die Angabe des Typs des Geo-Objektes.

Die API-Referenz wurde jetzt aktualisiert und bezeichnet alle Möglichkeiten für den neuen Parameter "type".

Das API-Beispiel lässt sich jetzt auch damit ausführen.

Vielen Dank für Ihr Feedback und damit zur Beihilfe zur Verbesserung unserer Dokumentation!

 

Hallo lieber Support,

vielen Dank für die schnelle Lösung. Jetzt klappt es hervorragend !

Mfg,
Gustav Quade

JSON Rückmeldungen vom GPS Gateway

JSON Rückmeldungen vom GPS Gateway

Hallo zusammen,

ich habe eine Frage zu den Rückmeldungen vom GPS-Gateway.

Wenn es einen Fehler bei der Abfrage der Extensions gibt, kommt anstatt eines Json-Strings, eine normale Rückmeldung.

Das heißt die Rückmeldung sieht dann so aus:

return:=0;reason:=Wrong JobID;

Ist das so gewollt?

R. Karper

 

Hallo Herr Karper,

aus Kompatibilitätsgründen muss der Rückgabewert im Fehlerfall weiterhin als PLAIN gesendet werden. Diese Funktion wird jedoch in naher Zukunft zusammen mit der restlichen API Stück für Stück modernisiert und solche alten Überbleibsel damit behoben.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

Daten werden nicht abgeholt - API ?

Daten werden nicht abgeholt - API ?

Hallo,

ich habe gerade mit unserer Software mehrere Dateien an verschiedene Geräte versendet.
Die Geräte holen sich jedoch die Daten nicht.

An was könnte das liegen ?

Meine Account ID ist die 32026

MFG

Michael Treter

 

Hallo Herr Treter,

wir haben die Dateien vom heutigen Tag überprüft und folgendes feststellen können - Die Dateien wurden bei dem Versenden bereits als gelesen gekennzeichnet, weshalb sich die Geräte die Dateien nicht abgeholt haben.

Bitte überprüfen Sie Ihre übergebenen Parameter und Aktionen.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

API - Touren

API - Touren

Sehr geehrte Damen und Herren,

ich bin aktuell dabei eine Applikation zu entwickeln, welche Touren über Ihr API-Schnittstelle versendet.

Gibt es außer der normalen API-Referenz "Tour" noch weitere Fallbeispiele ?

 

Hallo,

Sie finden weitere Anwendungsbeispiele unter

www.gpsoverip.de/infos/anwendungsbeispiele/

Sollten Sie dennoch Fragen haben, können Sie sich natürlich gerne an unseren Customer Support wenden.

Mit freundlichen Grüßen

Ihr GPSoverIP Support Team

 

Vielen Dank

GPS Pakete - API

GPS Pakete - API

Sehr geehrte Damen und Herren,

bei meinem Datenabruf über PHP-Skripte (API Modul Replikation), erhalte ich ausschließlich GPS-Rohdaten vom 12.12.2014. Können Sie bitte mal nachschauen, wo der Fehler liegt.

Mit freundlichen Grüßen

Michael Peterson

 

Hallo Herr Peterson,

bezüglich der Problematik mit dem Modul „Replikation“ kann ich Ihnen mitteilen, dass das Modul fehlerfrei funktioniert.
Der Grund weshalb Sie immer nur Positionen mit dem Datum 12.12.14 erhalten liegt daran, dass Sie nach dem HOLEN (Download der Datenpakete), anschließend dies BESTÄTIGEN (Quittieren der Datenpakete) müssen.

Wenn Sie nur das Skript „gpsgetnewpos.php“ aufrufen, dann bekommen Sie immer die gleichen Daten, bis man der API erklärt, dass man die Daten schon hat.
Durch Aufruf des PHP-Skriptes „gpsverpos.php“ verifiziert/bestätigt man, das man die Daten bereits hat und das diese aus der Schnittstelle ausgetragen werden können.

Rule->set ohne URL

Rule->set ohne URL

Anfrage eines Kunden:

Hallo Herr Kiesewetter,

ich übergebe per API eine Regel, aber im Webexplorer wird die angegebene URL nicht angezeigt. Was kann ich tun?

Viele Grüße
T**** P*****

 

Hallo Herr P****,

spontan sehe ich, dass die URL nicht base64 codiert ist.
Würden Sie das bitte entsprechend nachbessern. Falls es danach noch Probleme gibt, würde ich mir das nochmal genauer ansehen.

Viele Grüße
Kiesewetter

 

Hallo Herr Kiesewetter,

vielen Dank für die Info, nun klappt es!

Beste Grüße,

T***** P*****

HLD - Datei wird nicht übertragen

HLD - Datei wird nicht übertragen

Hallo,

bei mir wird eine bestimmt Datei nicht übertragen.
Die Datei wird erkannt (IN Verzeichnis) und dann versucht der HLD sie zu übertragen.
Beim Debuggen kommt aus eurer Funktion GetData folgende WebException – 500 –interner Serverfehler:

Hat da jemand eine Idee, was den Fehler auf eurer Seite auslöst?

Ich habe die Datei mal editiert und aus „Frau“ ein „Herrn“ gemacht und dann wird sie übertragen ????

Vielen Dank

Manfred Kasko

 

Hallo Herr Kasko,

können Sie uns die Aufrufparameter mal schicken?
Dann debuggen wir das hier mal durch.

 

Hallo,

meine aktuelle Funktion: die Variablen f1 bis f19 können Sie mit den Daten aus den TXT Dateien füllen.

Dim result As String
Dim arr As New Dictionary(Of String, String)

Dim byt As Byte() = System.Text.Encoding.Default.GetBytes(f14 & " " & f15 & " " & f16 & Chr(10) & f10 & Chr(10) & f11 & Chr(10) & f12 & Chr(10) & f13 & Chr(10) & f17 & Chr(10) & "GeschäftspartnerID: " & f18)
Dim format As [String]= "yyyy-MM-dd hh:mm:ss"
Dim str As [String]= DateAdd(DateInterval.Hour, 2, Now).ToString(format)

Dim _f7 As String = f7
_f7 = Replace(_f7, "ä", "ae"
_f7 = Replace(_f7, "ü", "ue"
_f7 = Replace(_f7, "ö", "oe"
_f7 = Replace(_f7, "ß", "ss"
_f7 = Replace(_f7, "Ä", "Ae"
_f7 = Replace(_f7, "Ü", "Ue"
_f7 = Replace(_f7, "Ö", "Oe"

Dim _f19 As String = f19
_f19 = Replace(_f19, "ä", "ae"
_f19 = Replace(_f19, "ü", "ue"
_f19 = Replace(_f19, "ö", "oe"
_f19 = Replace(_f19, "ß", "ss"
_f19 = Replace(_f19, "Ä", "Ae"
_f19 = Replace(_f19, "Ü", "Ue"
_f19 = Replace(_f19, "Ö", "Oe"

arr.Add("module", "job"
arr.Add("action", "save"
arr.Add("mode", "manual"
arr.Add("type", "plain"
arr.Add("user", pv_Account)
arr.Add("pwd", pv_Passwort)
arr.Add("templateid", ""
arr.Add("uniqueid", f1 & " " & f2 & " " & f3)
arr.Add("name", _f19)
arr.Add("description", Convert.ToBase64String(byt))
arr.Add("street", f8)
arr.Add("housenumber", f9)
arr.Add("code", f6)
arr.Add("city", _f7)
arr.Add("district", ""
arr.Add("state", ""
arr.Add("country", "DE"
arr.Add("sms", ""
arr.Add("email", ""
arr.Add("reminder", ""
arr.Add("duetime", str)
arr.Add("geofencing", ""
arr.Add("geomessage", ""
arr.Add("geoemail", ""
arr.Add("geosms", ""
arr.Add("lat", ""
arr.Add("lon", ""
arr.Add("extensions", ""

result = ApiGetData(arr)
If result = "" Then
result = "return:=-1"
Else
result = ApiUnzip(result)
End If

 

Können Sie uns mal den String schicken ?

Convert.ToBase64String(byt))

Wenn ich mich recht entsinne, gab es da ein Problem, dass .NET ab und zu bei Base64 Probleme hat.

 

TVAgV9xMIDAwMDEKRnJhdQpIZWR3aWcgS+RmZXJi9mNrCktpcmNocGxhdHogNAo5NzIyOCBSb3R0ZW5kb3JmCgpHZXNjaORmdHNwYXJ0bmVySUQ6IDAwMDcxNjM0Mzk=

 

Das Problem ist das +-Zeichen im Base64-String.

Der String muss bei einem get url-encoded werden,
damit die Daten komplett ankommen.
Ansonsten würde das +-Zeichen in ein Leerzeichen umgesetzt werden und damit der Base64-String unterbrochen werden.

 

Ahhhh, alles klar.

Vielen Dank für die Info

Datenübertragung an GPSauge - Problem

Datenübertragung an GPSauge - Problem

Hallo,

wir hatten heute ein (mir unerklärliches) Problem bei der Datenübertragung an unser GPS-Auge.

Die Hinfahrt zu einer ambulanten Behandlung konnte nicht übertragen werden (Rückgabewert war "".
Die Rückfahrt hingegen schon (praktisch die gleichen Daten).
Das Problem scheint im (codierten) "Description" Datenfeld zu liegen, da sich die Hinfahrt mit der "Description" der Rückfahrt übertragen ließ.
Hier die beiden HttpReq die mit 'HttpReq.Open "POST", Server & Aktion, False' übertragen wurden:
1. Funktionierte NICHT:
www.apioverip.de=
250068&pwd=570668ee10b7b499e650903bae0dbcec&deviceid=605456&uniqueid=4&name=
4: Am/si Manteuffel,
Renate&description=V0IgMSwgMSBPRywgS+R0aGUtRW5nZWxoYXVwdC1TZW5pb3JlbnplbnRyd
W0gDQpaaWVsOlJhZGlvbC4sIFN0LiBWaW5jZW56LUtyYW5rZW5oYXVzLCBEYXR0ZWxuIA0KNDU3M
TEgRGF0dGVsbiAvIFJvdHRzdHJh32UgMTENClN0dWZlbjogIC8gR2V3aWNodDogS2cNCkJlbWVya
3VuZzog&street=Dortmunder
Straße&housenumber=146&code=45731&city=Waltrop&country=DE&district=&state=&s
ms=&email=&reminder=&duetime=2013-06-14
16:00:00&geofencing=500&geomessage=&geoemail=&geosms=&lat=&lon=

2. Funktioniert:
www.apioverip.de=
250068&pwd=570668ee10b7b499e650903bae0dbcec&deviceid=605456&uniqueid=5&name=
5: Rü/si Manteuffel,
Renate&description=UmFkaW9sLiwgU3QuIFZpbmNlbnotS3JhbmtlbmhhdXMsIERhdHRlbG4gD
QpaaWVsOldCIDEsIDEgT0csIEvkdGhlLUVuZ2VsaGF1cHQtU2VuaW9yZW56ZW50cnVtIA0KNDU3M
zEgV2FsdHJvcCAvIERvcnRtdW5kZXIgU3RyYd9lIDE0NmENClN0dWZlbjogIC8gR2V3aWNodDogS
2cNCkJlbWVya3VuZzog&street=Rottstraße&housenumber=11&code=45711&city=Datteln
&country=DE&district=&state=&sms=&email=&reminder=&duetime=2013-06-14
16:30:00&geofencing=500&geomessage=&geoemail=&geosms=&lat=&lon=

Woran mag das liegen?

Hier auch die beiden "Description" im Klartext:
1.:
"WB 1, 1 OG, Käthe-Engelhaupt-Seniorenzentrum Ziel:Radiol., St. Vincenz-Krankenhaus, Datteln
45711 Datteln / Rottstraße 11
Stufen: / Gewicht: Kg
Bemerkung: "

2.:
"Radiol., St. Vincenz-Krankenhaus, Datteln Ziel:WB 1, 1 OG, Käthe-Engelhaupt-Seniorenzentrum
45731 Waltrop / Dortmunder Straße 146a
Stufen: / Gewicht: Kg
Bemerkung: "

Viele Grüße

Peter Drasser

 

Hallo Herr Drasser,

dadurch, dass Sie Ihre Parameter über URL weitergeben, werden die Werte als URL-encodiert interpretiert.
In Ihrer BASE64-encodierten Description ist ein Plus-Zeichen, welches als Leerzeichen übersetzt wird.
Ersetzen Sie generell + durch %2B (Die URL-Encodierun für Plus +).
V0IgMSwgMSBPRywgS%2BR0aGUtRW5nZWxoYXVwdC1TZW5pb3JlbnplbnRydW0gDQpaaWVsOlJhZGlvbC4sIFN0LiBWaW5jZW56LUtyYW5rZW5oYXVzLCBEYXR0ZWxuIA0KNDU3MTEgRGF0dGVsbiAvIFJvdHRzdHJh32UgMTENClN0dWZlbjogIC8gR2V3aWNodDogS2cNCkJlbWVya3VuZzog

Dann klappt’s.

Schöne Grüße

Ihr GPSoverIP Support Team

Taxi Applikation - Fahrzeug "wandert" bei Stillstand

Taxi Applikation - Fahrzeug "wandert" bei Stillstand

Hallo,

ich habe ein MI6 incl. Input-Box , welches auf Taxi-Modus konfiguriert ist.
Wenn ich das Fahrzeug längere Zeit abstelle, dann bleibt das nicht auf einem Punkt stehen sondern "wandert" über die Zeit mehrere Meter hin und her. Dies lässt sich auch gut an der Fahrtspur nachvollziehen.
Ansonsten läuft das Gerät einwandfrei und es gibt keinerlei Beanstandungen - woran könnte das mit dem "wandern" liegen?

 

Sehr geehrte Damen und Herren,

haben Sie ein HALE Taxameter im Einsatz ?
Bei HALE Taxametern & Wegstreckenzählern kann bei einer ungünstigen Konstellation von Parametereinstellung (Hale) und verwendeter Statusleitung, ein gepulstes Signal auf der Statusleitung, bei in StandBy gegangenem HALE, auftreten.

Diesen ungewollten Bitwertänderungen kann durch die Eingabe des Wertes "256" im Parameter "292" (UC Modus HALE) entgegengewirkt werden. (Automatische Abschaltung deaktiviert)

Ihr GPSoverIP Support Team

 

Danke für den Tipp! Habe den Parameter umgestellt und hat super funktioniert. Problem gelöst!

http-Request

http-Request

Hallo,

wenn ich den http-Request auch selber ausführen kann, so würde ich dies auch gerne machen, um die Einbindung der OCX-Datei zu vermeiden.

Scheinbar sind jedoch sowohl das versendete Passwort, als auch die Request-Antwort irgendwie codiert.
("&pwd=570668ee10b7b499e650903bae0dbcec&"

Wenn ich jetzt noch erfahren könnte, wie ich das Passwort codieren und die Antwort decodieren kann, hätte ich das "Problem" gelöst.

Viele Grüße

Thorsten Metzger

 

Hallo Herr Metzger,

die jeweilige Codierung finden Sie in der Doku.
Das Passwort wird in MD5 encodiert.
Größere Texte sind in Base64 encodiert www.motobit.com/tips/detpg_base64/,
damit Sonderzeichen nicht die Zerlegung der Antwort behindern.

Schöne Grüße

 

Funktioniert.

Besten Dank

PHP - Implementierung

PHP - Implementierung

Guten Tag,

ich habe soeben die PHP-Implementierung auf unserem Testserver eingerichtet. Die Kommunikation scheint auch prinzipiell zu funktionieren allerdings erhalte ich immer folgende Antwort:

Notice: Use of undefined constant LIVEAPI_SERVER_URL - assumed 'LIVEAPI_SERVER_URL' in C:\xampp\htdocs\routenplan\gpsoverip\include\gpsapi\apiutils.php on line 3

Notice: Use of undefined constant API_SERVER_URL - assumed 'API_SERVER_URL' in C:\xampp\htdocs\routenplan\gpsoverip\include\gpsapi\apiutils.php on line 5

Deprecated: Function split() is deprecated in C:\xampp\htdocs\routenplan\gpsoverip\class_cURL\cURL.class.php on line 112
return:=0;reason:=Wrong ObjectID;

Die Konstanten und die Split-Funktion kann man sicher vernachlässigen, allerdings erhalte ich wie in der letzten Zeile zu sehen keine korrekte Antwort vom Server. Kann es sein, dass die Device-ID nicht richtig ist?

$arr['deviceid'] = "201345";

Die in anderen Programmiersprachen angegebene Device-ID 201348 funktioniert ebenfalls nicht?!?
Vielleicht können Sie ja Licht ins Dunkle bringen…

Mit freundlichen Grüßen,

Michael Schwarz

 

Guten Tag Herr Schwarz,

definieren Sie einfach in Ihrer Konfiguration die beiden Server:

define('LIVEAPI_SERVER_URL', 'live.apioverip.de');
define('API_SERVER_URL', 'www.apioverip.de');

Dann sollte alles ok sein.

Schöne Grüße

Ihr GPSoverIP Support Team

GPS-OverIP und Access Datenbankkommunikation

GPS-OverIP und Access Datenbankkommunikation

Hallo,

da ich noch keinen zufrieden stellenden Gedankenansatz zur "Auslagerung" von Abfragen auf einen Server (Perl o.Ä.) habe, bastel ich an der Access-Lösung weiter...

Davon ab, dass es in den letzten Tagen immer wieder zu Hängern und Abstürzen kam (Am Samstag wurde lediglich vom ersten Einsatz der "Start" gemeldet. Alle folgenden Statusmeldungen kamen nie - auch nicht auf web.gps-explorer.de an!), habe ich (mal wieder) ein Problem mit einer neu eingebauten Kommunikation (hier Nachrichten abfragen).
Vermutlich fehlt nur wieder etwas (Entscheidendes), dass in der Online-Dokumentation nur nicht steht...
Hier mein Quellcode:

...
'feste Parameter
Set moAX = Forms("frmEinsatzblatt".GPSoverIP_APIAccess_AX.Object
Set oParameter = New clsParameter
oParameter.Server = "live.apioverip.de"
oParameter.AddModule ("message"
oParameter.AddAction ("list"
oParameter.AddMode ("1"
oParameter.AddUser gsCStr(rst("Benutzername")
oParameter.AddPwdRaw gsCStr(rst("Passwort")
'variable Parameter
oParameter.AddParam "deviceid", gsCStr(rst("DeviceID")
oParameter.AddParam "limit", ("6"
lRet = moAX.POST(oParameter) <= Fehler hier
If lRet <> 1 Then
GoTo Fehler
End If
Do While moAX.Waiting
DoEvents
Loop
lRet = moAX.Result
If Left(lRet, 10) <> "return:=-1" Then GoTo Server
...
Es folgt an der markierten Stelle Fehler 13 (Typen unverträglich)!
Ich fülle die User etc. Variablen wie üblich:
rst("Benutzername"= "250068"
rst("passwort"="xxxxxx"
rst("deviceid"="605456"
Den Rest habe ich aus der Online-Doku!

Wo mag diesmal das Problem liegen?

Viele Grüße
 

 

Hallo,

Kann das nicht evt. Eine fehlende / falsche Deklaration von oParameter sein?

Dim lRet As Long
Dim oParameter As clsParameter
Set oParameter = New clsParameter

Ist in dem Objekt auf Ihrem Formular denn auch was“ drin, oder ist es leer?

Ich habe übrigens mal die Funktion des Versendes ausgelagert. Dazu habe ich in einem Modul die benötigten Funktionen gekapselt, habe ein Form gemacht, in welchem ich die Funktionen zum Aufruf und der Rückgabe der Daten als public deklariert habe. Enn ich nun in dem Modul die Methoden zur Kommunikation aufrufe, öffne ich das Form unsichtbar, gebe die Parameter über die public-Funktionen rein, erledige die Kommunikation, schließe das Fenster wieder und das Modul gibt dann den Rückgabewert zurück.

Evtl. ist das ein Ansatz, damit Sie nicht in jedem einzelnen Form, in dem Sie die Kommunikation benötigen, alles erneut programmieren müssen…

Anleitung zum Verbinden des IN1 mit ActiveSync

Anleitung zum Verbinden des IN1 mit ActiveSync

Hallo,

gibt es eine Anleitung, wie man vorgehen muss, damit man das IN1 mit ActiveSync nutzen kann? Beim Anschließen des Gerätes an den PC wird nach einem Treiber gefragt. Intuitiv habe ich mal versucht den aus dem Firmewareupdate-Tool zu werwenden. Allerdings stimmen die PID und VID nicht mit denen des IN1 überein, weshalb die Datei nicht akzeptiert wird.

Vielen Dank im Vorraus

Mike Werner

 

Guten Tag Herr Werner,

Um das Gerät mit ActiveSync zu verbinden brauchen Sie den Treiber von der Download Seite:

www.gpsoverip.de

zusätzlich müssen Sie im Menüpunkt System/Administration das PW "230685" eingeben um ActiveSync am Gerät zu aktivieren.

Ein paar Fragen zu meinem Projekt

Ein paar Fragen zu meinem Projekt

Hallo,

ich habe einige Rückfragen zu einem Projekt:

1. Da ich noch nie mit der GPSOverIP-API gearbeitet habe, brauche ich mehr Informationen dazu. Ich habe bereits einen Entwickler-Account auf Ihrer Webseite, weiß aber nicht welche Daten ich brauche. Bin ich da richtig: www.gpsoverip.de/portale/entwicklerportal/entwicklerdokumentation/inhaltsverzeichnis/devices/ ?

2. Welche Werte können die angegebenen Größen (Bitwert, Druck, Spannung, Temperatur) einnehmen? Ist dies irgendwo dokumentiert?

3. Was gibt der "Bitwert" an?

4. Verstehe ich das richtig, dass für jede der Größen nur entweder "kleiner als", "gleich" oder "größer als" möglich ist (oder deaktiviert als Default-Einstellung)? Ein Wertebereich wäre damit nicht möglich (also z.B. Minimal- UND Maximaltemperatur).

5. Wie ist die Einstellung "gleich" zu verstehen? Löst der Alarm aus, wenn der Wert von dem gegebenen abweicht oder wenn er genau erreicht wird?

6. Kümmert sich der Server um das Auslösen des Alarms oder muss die App die Werte manuell überwachen und bei Über-/Unterschreitung reagieren?

7. Was ist mit "zm3f1" und "zm3d1" gemeint, wofür brauche ich das genau?

Viele Grüße,

Dipl.-Inf. Felix Engelmann

 

Hallo Herr Engelmann,

Zu 1.
Ja, dies ist der richtige Bereich: www.gpsoverip.de/portale/entwicklerportal/entwicklerdokumentation/inhaltsverzeichnis/devices/devices-status/

Zu 2.
Der Bitwert hat den Wertebereich von 0 bis 255; Die daraus resultierenden Werte wie z.B. Druck, Spannung, Temperatur.., erfolgt nach der Umrechnung y=a*x+b.

Zu 3.
Der Bitwert stellt das "x" in der Gleichung dar.

Zu 4.
Das ist richtig, bisher unterstützen wir keine Toleranz- bzw. Wertebereiche.

Zu 5.
Wenn der Wert genau reicht wird, wird der Alarm ausgelöst.

Zu 6.
Der Server kümmert sich darum.

Zu 7.
zm3f1 stellt die Steigung, also das "a", zm3d1 die Verschiebung auf der Y-Achse "b" der obigen Gleichung dar

Viele Grüße,
Patric Brand

 

Hallo Herr Brand,

danke für Ihre Antworten, das hat mir weiter geholfen!

Beim Testen ist mir aufgefallen, dass der Server mit "return:=-1;geofencingid:=" antwortet, d.h. es fehlt eine id !? Benötige ich die ID in meiner App?

Viele Grüße,

Felix Engelmann

 

Hallo Herr Engelmann,

bitte testen Sie die Abfrage noch einmal, es sollte jetzt behoben sein.

Viele Grüße

Patric Brand

Actual Position Request

Actual Position Request

Hi Guys,

could you please tell me how I can get the actual position out of my deviceapplication?

BR from Taiwan
Jerry

 

Hi Jerry,

you can find your answer in post from Ekol "Device ID & GPS Data" via message queue.

Or you can use sharedmemory.

you can do it
BR Heiko

Gedanken zum neuen GPSexplorer

Gedanken zum neuen GPSexplorer

GPS Explorer setzt die Marker nicht nach dem Anfang oder Ende einer Fahrt, sondern abscheinend nach gewissen Zeitpunkten.

Beispiel: Ich fuhr bis zum Taxistandplatz und reihte mich am Taxistandplatz ein. Der Startmarker wurde aber bereits Ecke Rotenturmstrasse Fleischmarkt gesetzt, obwohl ich erst Ecke Rotenturmstrasse/Schwedenplatz mit einem Gast wegfuhr!

Eigentlich interessiert einem ja nur die Fahrt nach dem Einschalten bis zum Ausschalten des Taxameters. Jeder anderer Marker ist im Prinzip für den Taxibetrieb von nur geringfügiger Bedeutung. Auch die Statistik verwöhnt einem mit viel zu vielen Start und Stoppunkten, die allerdings öfter nur Leerfahrten sind.

Die Gäste stiegen beim Währingergürtel und der Canisiusgasse aus. Nirgendwo sieht man hier aber eine Start und Stop Flagge.
Was ich daraus schliesse, ist das die Fahrten nicht genau dann beendet werden wenn Sie aufhören aber das Ende der Fahrt erst später gesetzt wird! Es wäre sehr schön wenn das Programm verstünde, wann die Fahrt mit dem Taxameter an welchem Punkt begann und an welchem Punkt sie aufhörte wenn der Taxameter wieder ausgestellt wurde.
Dies ist möglich, da das Signal 2 immer einen ausgeschaltenen Taxameter bedeutet, und das Signal 1 einen eingeschaltenen Taxameter. Die Anzeige der Umschaltung von Signal 1 auf 2 und umgekehrt funktioniert ja !

Vieles ist besser am GPS Explorer geworden.

Erhält man eigentlich die XML Bewegungsdaten in der Form von mehreren Dateien und ist dies geplant?

Mit freundlichen Grüssen,

Roger Alexander Kief

 

Guten Tag Herr Kief,

die Starts/Stopps werden im Auslieferungszustand auf 3 Minuten gesetzt, d.h. Sie müssten mindestens diese Zeit stehen damit eine „Markierung“ gesetzt wird. Dieses Zeitfenster ist allerdings individuell anpassbar ich werde mir die Werte von anderen Taxiunternehmen ansehen und Ihren Wert auf das Mittel setzen.

Wenn Sie die Fahrten entsprechend des Taxilichtes sehen möchten können Sie ein Fahrtenbuch erstellen und dort die Option „Taxibuch“ wählen -> dieses Buch wird nicht aufgrund der Start- und Stopp-Information gebildet sondern direkt durch den Zustand der Frei/Besetzt-Anzeige.

Leerfahrten werden bei uns nicht ausgeblendet da das System ja nicht nur zur Abrechnung verwendet wird sondern bei den meisten Kunden zur Überwachung. Sehr viele unserer Kunden möchten eben genau sehen wo und warum die Fahrer Leerfahrten gemacht haben und ob dies nicht doch Kundenfahrten waren.

Die Bewegungsdaten können Sie über den Lokalen Explorer (Historie lokal speichern) oder über die API Schnittstelle (Programmier Kenntnis erforderlich) herunterladen.

mit freundlichen Grüßen

Patric Brand

Einlesen von Nachrichten

Einlesen von Nachrichten

ich habe Probleme beim Einlesen der Nachrichten, die an ein IN1 gesendet wurden.

Hier die results:

return:=-1;anzahl:=8;anz2:=5;id1:=XXXXXX;daten1:=28.12.2010 15@@4@@23 Hallo Herr Waespy, NACHRICHT 02 ;ts1:=2010-12-28 15:23:25;gel1:=-1;id2:=XXXXXX;daten2:=28.12.2010 15@@4@@22 Hallo Herr Waespy, NACHRICHT 01 ;ts2:=2010-12-28 15:22:38;gel2:=-1;id3:=XXXXXX;daten3:=27.12.2010 19@@4@@33 Zeile1 Zeile2 Zeile3;ts3:=2010-12-27 19:36:37;gel3:=-1;id4:=XXXXXX;daten4:=26.12.2010 11@@4@@05 Hallo, bitte bringe die unterschriebenen Lieferscheine wieder mit zurück! ;ts4:=2010-12-26 11:07:15;gel4:=-1;id5:=XXXXXX;daten5:=scgnoirhgioqhgioqerjhg;ts5:=2010-12-25 15:48:14;gel5:=-1;

return:=-1;anzahl:=8;anz2:=5;id1:=XXXXXX;daten1:=28.12.2010 15@@4@@22 Hallo Herr Waespy, NACHRICHT 01 ;ts1:=2010-12-28 15:22:38;gel1:=-1;id2:=XXXXXX;daten2:=27.12.2010 19@@4@@33 Zeile1 Zeile2 Zeile3;ts2:=2010-12-27 19:36:37;gel2:=-1;id3:=XXXXXX;daten3:=26.12.2010 11@@4@@05 Hallo, bitte bringe die unterschriebenen Lieferscheine wieder mit zurück! ;ts3:=2010-12-26 11:07:15;gel3:=-1;id4:=XXXXXX;daten4:=scgnoirhgioqhgioqerjhg;ts4:=2010-12-25 15:48:14;gel4:=-1;id5:=XXXXXX;daten5:=25.12.2010 15@@4@@37 Hallo faher, rufe mich an, wenn du fertig bist!!;ts5:=2010-12-25 15:38:19;gel5:=-1;

1) Es taucht @@4@@ auf, dies ist wohl ein ":"; ist aber in der Doku nicht beschrieben

2) Wenn es 8 Nachrichten sind, dann müsste beim Ergebnis bei Limit=1 nur 3 Nachrichten drin sein; es sind aber 5, die sich auch noch wiederholen!!

3) Die Arrays zur Abfrage sehen so aus :
array(7) { ["module"]=> string(7) "message" ["action"]=> string(4) "list" ["mode"]=> string(1) "1" ["user"]=> string(8) "XXXXXX" ["pwd"]=> string(32) "XXXXXX" ["deviceid"]=> string(6) "6XXXXX" ["limit"]=> string(1) "0" }
array(7) { ["module"]=> string(7) "message" ["action"]=> string(4) "list" ["mode"]=> string(1) "1" ["user"]=> string(8) "XXXXXX" ["pwd"]=> string(32) "XXXXXX" ["deviceid"]=> string(6) "6XXXXX" ["limit"]=> string(1) "1" }

Können Sie mir weiterhelfen?

Danke und Grüsse,

Manfred Waespy

 

das mit dem Limit hat sich geklärt: es sind immer 5er Schritte.

Viele Grüsse,

Manfred Waespy

 

das @@4@@ wurde von kürzlich erst eingefügt und ist deshalb noch nicht dokumentiert, ich werde das noch anpassen.

Bei Limit=1 sollten Sie Nachricht 1-5 erhalten, bei Limit=6 nur die Nachrichten 6-8 wenn nicht mehr auf dem Server liegen.

Viele Grüße
Patric Brand

GPSauge InOne E-Mail Account

GPSauge InOne E-Mail Account

Sind die E-Mail Accounts z.B. 6XXXXX@gpsauge.mobi auch über POP3 abrufbar?
Wenn ja, wie sind die Zugangsdaten für die Einrichtung in z.B. Outlook?

 

Guten Tag,

nein der Account ist nicht zugänglich, da alle Mail Adressen auf einen Account senden würden Ihnen sonst die Daten anderer Kunden zur Verfügung stehen.

Sind API Utils für Delphi geplant?

Sind API Utils für Delphi geplant?

Hallo,

im Download-Bereich gibt es für einige Sprachen praktische Bibliotheken zum Zugriff auf das Gateway API (api_utils.*)

Leider zur Zeit noch nicht für Delphi, obwohl bereits einige Beispiele in der Online-Dokumentation darauf bezug nehmen.

Es wäre zwar möglich die C# Utils anzupassen, aber da ich doch mehr nur in Delphi zuhause bin, wäre ich froh, wenn bereits etwas fertiges angeboten würde.

Gruß
D.Metzinger

 

Ich beantworte mal meine Frage selbst, da ich über den Support bereits eine Antwort erhalten habe (interessiert evtl. andere Delphi-Anwender).

Eine api_utils.pas für Delphi (2009/10, mit kleinen Anpassungen auch ab Delphi7 ) ist bereits in Vorbereitung und wird sicher in ein paar Wochen im Download-Bereich bereitgestellt.

Pixelmaße der Anzeige

Pixelmaße der Anzeige

Hallo,

welche Abmessungen hat die Anzeige des IN1 ?

Gruß

D. Sauerbrei

 

Sehr geehrter Herr Sauerbrei,

es handelt sich um einen 480(H)x272(V), Wide Screen Bildschirm.

Grüße aus Schweinfurt
Patric Brand

Applikationsdesign

Applikationsdesign

Hallo,

gibt es eigentlich einen Skin, den man für das Visual Studio nutzen kann, um bei einer eigenen Anwendung das Aussehen des IN1 nach zu bauen?

Es wäre ja sicher im Sinne der Bedienbarkeit, wenn Zusatzprogramme optisch gleich aufgebaut sind.

Schöne Grüße aus Marienfeld
Markus Paus

 

Hallo Herr Paus,

ein Skin direkt kann ich nicht anbieten, aber unter folgendem Link finden Sie alle Buttons, Fenster usw. die in unseren Applikationen verwendet werden.

https://www.gpsauge.de/die-gpsoverip/technologie/gui

schöne Grüße
Patric Brand

UniqueID im Auftrags und Tourenversand

UniqueID im Auftrags und Tourenversand

Sehr geehrte Damen und Herren,

wie einheitlich muss die UniqueID sein?

Reicht es aus, wenn sie einmalig für den Account ist? Dann könnte ich bei den Aufträgen einfach die Lieferscheinnummern mitgeben, da diese im System einheitlich sind.

Schöne Grüße aus Marienfeld
Markus Paus

 

Hallo Herr Paus,

Die UniqueID ist für Sie als Kunden frei definierbar. Ein Großteil unserer Kunden verwendet hierfür eben wie Sie eine eigene Lieferschein oder Auftragsnummer, um so einen Bezug zum System zu bekommen.

mit freundlichen Grüßen
Patric Brand

FMS-Datenabruf

FMS-Datenabruf

Sehr geehrte Damen und Herren,

Können sie mir bitte zu Testzwecken ein aktives Gerät mit einer deviceid zuordnen?
Insbesondere eines, mit dem die FMS-Daten abgerufen werden können?

Vielen Dank und beste Grüsse,

Manfred Waespy

 

Hallo Herr Waespy,

Sie können hierzu z.B. den virtuellen "Demo-Flieger" (ID 899994) aus dem Demoaccount verwenden.

Mit freundlichen Grüßen
Patric Brand

Fragen zur Entwicklungsumgebung

Fragen zur Entwicklungsumgebung

Hallo,

wir haben uns mit Ihren Produkten auseinandergesetzt. Ich mehr beeindruckt den je. Für ein Angebot brauche ich noch ein paar Informationen, die ich so nicht direkt den Unterlagen entnehmen konnte:

- Wird diese Software als Erweiterung in das Basissystem eingehängt? Wenn ja wie genau, als Plugin etc.?
- Gibt es ein einheitliches GUI-Framework das für die Präsentation der Benutzerschnittstelle genutzt wird und wiederkehrende Aufgaben, wie z.B.
Wizards, Dialoge, Darstellung, etc., realisiert?
- Wie wird Ihr Basissystem getestet? Gibt es ein System um die Tests zu automatisieren?
- Welche Entwicklungsumgebung sollte genutzt werden (inkl. Erweiterungen)

Hier noch allgemeine Fragen:
- Wie genau wir die Sicherheit und Integrität der Daten, bei der Übertragung und Abspeicherung in Ihrem Rechenzentrum, gewährleistet?
- Haben Sie Zugriff auf Kundendaten?
- Könnte ein potentieller Angreifer Zugang zu Kundendaten erlangen, z.B.
durch abhören der GSM-Verbindung?

Mit freundlichen Grüßen

Mike Werner
________________________

 

Hallo Herr Werner,

ich gehe gleich direkt auf Ihre Punkte ein:

[color=FF9933]- Wird diese Software als Erweiterung in das Basissystem eingehängt? Wenn ja wie genau, als Plugin etc.?[/color]

Die Software wird als eigenständige Exe auf der SD-Karte mit eingebunden und dann vom Menüpunkt Anwendung unter System aufgerufen. Die Kommunikation erfolgt über die IN-OUT Box auf dem Gerät.

[color=FF9933]- Gibt es ein einheitliches GUI-Framework das für die Präsentation der Benutzerschnittstelle genutzt wird und wiederkehrende Aufgaben, wie z.B. Wizards, Dialoge, Darstellung, etc., realisiert?[/color]

Hierzu gibt es momentan leider nichts, wir werden in Zukunft allerdings das Menü technisch komplett umstellen und werden hier evtl. etwas mit einbauen.

[color=FF9933]- Gibt es ein Testframework für Unit-Tests? [/color]

Nein

[color=FF9933]- Wie wird Ihr Basissystem getestet? Gibt es ein System um die Tests zu automatisieren?[/color]

Einen automatisierten Test haben wir nicht, wir haben interne und externe Tester die entsprechend mit den neuesten Betaversionen ausgestattet werden und in der Praxis unter den entsprechenden Bedingungen testen.

[color=FF9933]- Welche Entwicklungsumgebung sollte genutzt werden (inkl. Erweiterungen)[/color]

MS VisualStudio wird momentan von allen Entwicklern verwendet, entsprechende Einstellungen usw. könnten wir Ihnen zur Verfügung stellen.

[color=FF9933]
Hier noch allgemeine Fragen:

- Wie genau wir die Sicherheit und Integrität der Daten, bei der Übertragung und Abspeicherung in Ihrem Rechenzentrum, gewährleistet?[/color]

Die Integrität wird durch verschiedene Checksummen und Überprüfungen vor-, während- und nach der Übertragung und Speicherung der Daten gewährleistet. Datensätze können nicht bearbeitet (schreiben/speichern/lesen) werden ohne sich hierfür zu authentifizieren.

[color=FF9933]- Haben Sie Zugriff auf Kundendaten?[/color]

Zugriff auf die Kundendaten bekommt man nur über die API-Schnittstellen mit der entsprechenden Authentifizierung, dadurch hat man jeweils nur Zugriff auf eigene Daten.

[color=FF9933]- Könnte ein potentieller Angreifer Zugang zu Kundendaten erlangen, z.B. durch abhören der GSM-Verbindung?[/color]

Wir verwenden keine Standardprotokolle, somit müsste der Angreifer genauestens über z.B. DATAoverIP bescheid wissen um an die Daten zu kommen. Außerdem würde der Angreifer „nur“ in dieses eine „Postfach“ greifen können.

mit freundlichen Grüßen

Patric Brand

Art der Applikation

Art der Applikation

Guten Tag,

es tauchte gestern noch eine Frage bezüglich der verwendeten GUI library auf.

Handelt es sich bei den IN1-Applikationen um WPF- oder WinForms Applikationen?

Gruß,
Roger

 

Hallo,

Unsere Programmierer verwenden C++ in diesem Fall setzen wir auf die Windows-API auf.
Sollten Sie allerdings in C# programmieren wollen können Sie sich aussuchen was Sie verwenden wollen (WinForm oder WPF).

MfG

Patric Brand

Anschluss externer Signale

Anschluss externer Signale

Sehr geehrte Damen und Herren,

ich bin Studentin der Ostfalia Hochschule für angewandte Wissenschaften, der damaligen Fachhochschule Braunschweig/Wolfenbüttel.
Im Zusammenhang mit einem Projekt an der Hochschule schreibe ich gerade meine Studienarbeit, in der es sich um ein GPS-System handelt, welches nicht nur die aktuelle Route und Geschwindigkeit, sondern auch den Verbrauch des Fahrzeugs versendet.
Von meinem Dozenten Herrn Thomas Cerbe, mit dem Sie schon mal im Kontakt standen, habe ich erfahren, dass schon zwei Systeme zur Fahrzeugortung (GPSauge) von Ihrem Unternehmen in der Hochschule vorhanden sind. Nun geht es mir darum, diese GPS-Systeme so aufzurüsten, dass ich den Ladezustand des Fahrzeugs (Verbrauch) zusätzlich erhalten kann.
Welche Möglichkeiten bieten Sie mir? Auf Ihrer Internetseite habe ich das Navigationsgerät GPSauge IN1 gesehen, mit dem wohl eine höhere Anzahl von Daten übertragen werden können.

Ich würde mich freuen, wenn Sie mir eine genauere Auskunft über das IN1 geben und mir weitere Informationen zu meinem Vorhaben senden könnten.

Mit freundlichen Grüßen

Vanessa Wrobel

 

Hallo Frau Wrobel,

Sie können am GPSauge MI-6 (Gerät ohne Display) 2 Eingänge frei konfigurieren z.B. 1 Analogsignal + 1 Digitalsignal übermitteln. Der Anschluss wird über die Input-Box ermöglicht.

Desweiteren hätten Sie mit dem Mi-6 die Möglichkeit den FMS-Bus abzugreifen. Dabei handelt es sich zwar um einen LKW und Omnibus Datenbus, allerdings gibt es z.B. von der Firma Squarell für die meisten aktuellen Fahrzeugtypen CAN-Dioden/CAN-Umsetzer von der CAN-Schnittstelle auf FMS.

mit freundlichen Grüßen

Patric Brand

 

Hallo Herr Brand,

hätten Sie kurz die technischen Daten zu der Inputbox?

Mit freundlichen Grüßen, Ihr Peter Conradi

 

Sehr geehrter Herr Conradi,

Die Input-Box verfügt in der Standardkonfiguration über zwei Digitalports 12/24V. Alternativ können Sie statt dem zweiten Digitalport einen Analogport wählen.
Beide Eingänge sind gegen Überspannung und Verpolung gesichert

MfG
Patric Brand

Anschluss eines Baukompressors

Anschluss eines Baukompressors

Guten Tag,

wir würden gerne unsere Baukompressoren überwachen. Es geht dabei um 10Kubik-Kompressoren bei denen wir Drehzahl, Druck und Laufzeit erfassen möchten.

Danke vorab für Feedback.

 

Hallo,

die Umsetzung stellt soweit kein Problem dar, falls Ihr Kompressor über elektronische Druckaufnehmer verfügt können Sie diesen direkt mit mit dem Digital/Analog-Kabel an Ihr GPSauge anschließen.
Sie müssten uns dann nur ein Datenblatt des Druckaufnehmers zukommen lassen, damit wir die entsprechende Umrechnung (von Bitwert in Druck) einstellen können.

Sollte Ihr Kompressor nicht über elektronische Druckaufnehmer verfügen müssten Sie entsprechend einen nachrüsten.

MfG
Patric Brand

 

-Anmerkung-

Der Kunde ist leider gezwungen Druckaufnehmer nachzurüsten, wir binden die Druckanzeige mitte März in unseren Explorer mit ein (ähnlich Temperatur/Betriebsspannungsanzeige).
Die Laufzeit des Kompressors wird in der Statusleiste (Digitalsignal) angezeigt.

Fragen zum Fahrtenbuch

Fragen zum Fahrtenbuch

Hallo Herr Brand,

Wenn ich ein Fahrtenbuch generiere mit der Selektierungsvariante und wähle bei Art der Auswertung das „Taxibuch“, dann merke ich folgendes:

Frage 1.
Ich habe nie ein Farbe in der Taxileuchte unter der Spalte Ptaxi. Bedeutet das das es sich hier um eine besetzte Fahrt handelt?

Frage 2.

Unter der Inputbox müsste doch im Taximodus die 3 und nicht die 1 mit gelber Farbe gekennzeichnet sein, oder nicht? Ausserdem sehe ich im Statusboard nur immer die Farbe grün, also Arbeitsweg oder nicht besetzt. Müsste bei einer Fahrt nicht auch die Farbe „Blau“ erscheinen, was eine Geschäftsfahrt signalisiert? Ich kann das unter der Auswertung aber nicht erkennen! Dies gibt mir das Gefühl das in dem Taxi noch irgend eine Verdrahtung nicht in Ordung ist !

 

Guten Morgen Herr Kief,

Zu 1.

Sie müssen die Taxianzeige erst aktivieren, dies können Sie mit der „Taxi“ Schaltfläche oben in der Mitte des Fahrtenbuchbildschirmes.

Das P steht nur für „Privatfahrt“ und hat nichts mit dem darunterliegenden Taxischild zu tun.
Über P/WA/G stellen Sie die Art der Fahrt ein – also „Geschäftlich“, „Privat“, „Weg zur Arbeit“.

Zu 2.

Das Statusboard ist komplett eigenständig vom Taxischild zu sehen, beim Statusboard müssen Sie aktiv im Gerät die Änderung des Status vornehmen. Beim Taxischild bzw. der Input-Box geschieht die Umschaltung ja sozusagen vollautomatisch.

Sie können das ganz einfach prüfen indem Sie den Status z.B. von grün auf blau ändern, daraufhin sollte sich innerhalb von 3-4 Sekunden auch die Farbe im Web-Explorer bzw. der Balken im lokalen Explorer verändern.

Grüße
Patric Brand

 

Hallo Herr Kief,

ich habe mir gerade noch einmal die Debug-Dateien aus Ihrem Gerät angesehen, da Ihr Gerät immer Zwischen Digital 1 und 3 hin und her schaltet ist wohl das Taxilicht auf Signal1 der Input-Box angeklemmt… Signal1 ist allerdings für einen Alarmtaster vorgesehen.

Die Taxileuchte sollte immer auf Signal2 angeklemmt werden – dies könnte der Grund dafür sein das das Taxilicht im Fahrtenbuch nicht richtig angezeigt wird.

Account Check

Account Check

Sehr geehrte Damen und Herren,

Bitte unterstützen Sie mich bei der Diagnose, warum gegenwärtig in unserem Account keine Aufzeichnung der gefahrernen Strecke erfolgt.

Liegt das ggf. an der Verwendung des IE6?
Zeitstrahl ist auch keiner aktiv, das ist zu erkennen: undefined.

Was ist zu tun, um das Problem zu lösen?

Danke!

Mit freundlichen Grüßen

Christian Hahn

 

Guten Morgen Herr Hahn,

wie Sie richtig vermuteten liegt es am IE6, der WebExplorer ist nur mit dem IE7 und höher kompatibel.

Um den WebExplorer zu verwenden benötigen Sie unbedingt einen neueren/anderen Browser wie Safari/Chrome/Firefox/IE7+.

Mit freundlichen Grüßen
Patric Brand

DATAoverIP Files

DATAoverIP Files

Hallo,

wir versuchen eine Datei an das Endgerät zu schicken. Als Antwort kommt auch „return:=-1“ zurück, allerdings kommt am Endgerät nichts an. Anbei habe ich Ihnen eine Testprogramm fertig gemacht. Vielleicht können Sie uns sagen was wir falsch machen, oder das Problem liegt evtl. im Gateway?

Mit freundlichen Grüßen

 

Hallo Herr Holterbosch,

sorry für die späte Rückmeldung.&nbsp;
In Ihrem Beispiel ist uns folgendes aufgefallen:<br />
<br />
Zeile 233 in api_utils.vb muss lauten

Dim buffer() As Byte = myWebClient.UploadFile(ServerURL, "POST", Filename)

Also ServerURL statt URLPost.

Mit dieser Anpassung funktionierte es dann die Dateien am Gateway hochzuladen.

mit freundlichen Grüßen
Patric Brand

 

oO, das ist jetzt peinlich. Aber da immer schön -1 zurück kam hab ich an der Stelle gar nicht gesucht.

Vielen Dank und Entschuldigung

 

Kein Problem,

das mit den -1 ist wirklich irreführend, da im Code steht if Return=““ Return=-1.

Wir sollten das wohl besser aus unseren Beispielen herausnehmen J.

mit freundlichen Grüßen
Patric Brand

Starting a tour

Starting a tour

Dear Guys,

I’ve attached a sample tour file which is copied from www.gpsoverip.de/portale/entwicklerportal/entwicklerdokumentation/inhaltsverzeichnis/tour/tour-send/

I have 4 GPS satellites online. When I drop the file in \DataoverIP\IN folder I receive the notification.

But when I click Details I don’t see any information from the rte file. If I accept the tour it launches the navigator, but it just waits on the main screen.

I don’t think this is the normal behavior, so do we need an update? Or is there a problem with the file?

Actually we would prefer to bypass the notification and the accept screens, because we will trigger this function from our software. Any chances for that?

Best regards

Emre Sebat
Software Supervisor
Yaz&#305;l&#305;m Sorumlusu

 

Hi Emre,

I know about this Problem, lots of customers ask me about that.

The tour is empty when the encoding of the file is wrong; the file you have sent is coded in ANSI so the WinCE can’t interpret it the right way.

If you convert it to UTF-16 equals UCS2 little endian it works.

Best regards
Patric

 

Hi Patric,

Ok, now I can see the message on details screen but when I accept it, navigator doesn’t do anything. It still waits on the main screen. Shouldn’t it start a navigation automatically?

 

Hi Emre,

no sorry. The navigator only starts automatically when he gets a job, on a tour you have to select the tour manually via –Navigation –Tourlist

Best regards
Patric

 

Hi Emre,

I am happy to give you a solution for this problem.
We created a new API where you have the opportunity to start a tour automatically.

Please add the parameter "mode=auto" to your http post and the tour will start without the detour through the tourlist in M&G.

BR
Patric

Navigationsauftrag senden

Navigationsauftrag senden

Hallo,

wir haben folgendes Problem: Wir senden einen Auftrag an ein Endgerät. Vom Gateway erhalen wir auch als Antwort "result:=-1" und am Gerät kommt auch die Meldung neuer Auftrag. Allerdings fehlt die Nummer und der Text in der Nachricht, wenn man den Auftrag öffnet. Es werden nur ein paar "===" angezeigt. Klick man dann auf annehmen, öffnet sich map&guide. Es wird aber keine Route berechnet.

Der request sieht wie folgt aus:

\\http://www.apioverip.de/?module=job&action=send&deviceid=600197&gpxpackage=<gpxversion="1.1" creator="GPSoverIP WebExplorer" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 \\http://www.topografix.com/GPX/1/1/gpx.xsd"><name>242130</name><desc>JOB</desc><uniqueid>a4e56d7c</uniqueid><author><name>GPSoverIP GmbH</name><email>support@gpsoverip.de</email><link>www.gpsoverip.de</link></author><copyright>GPSoverIP GmbH</copyright><rte><name>Testjob</name><cmt>Bitte Thorsten nach Hause fahren!</cmt><src>242130</src><number>1</number><type>JOB</type><rtept lat="51.2794003" lon="6.3782601"></rtept></rte></gpx>&user=242130&mode=3&pwd=xxxxx

 

Hallo,

bitte überprüfen Sie die Codierung, dieser Fehler kommt normalerweise vor, wenn eine falsche Codierung verwendet wurde.

Bitte stellen Sie sicher, dass die Daten (gpxpackage) UTF-8 codiert sind.

 

Hallo,
die Daten werden jetzt als UTF-8 gesendet, aber leider immer noch das gleiche Problem. Wir haben auch von HHTP GET auf HTTP POST umgestellt. Leider auch ohne Erfolg.

Langsam gehen uns die Ideen aus.

 

Hallo Herr Holterbosch,

vielen Dank für Ihr Beispiel, dadurch konnten wir den Fehler schneller lokalisieren.

Ihr Quellcode mit den Änderungen ist absolut richtig und funktionsfähig,
das Problem war in unserer Datenbank zu finden.

Wir hatten die Datenbank vor kurzem erweitert und durch Hinzufügen mehrerer neuer Tabellen und Module kam es zu einer Kollision mit dem GPX-Package beim Auftragsversand.
Wir haben diesen Fehler umgehend behoben und mit Ihrem Beispiel einige Tests durchgeführt.

Ab sofort sollte der Auftragsversand ohne weiteres funktionieren.

Vielen Dank

Mit freundlichen Grüßen

Patric Brand

Fragen zur Programmierung

Fragen zur Programmierung

ich habe zur Zeit massive Problem mit Ihrer Schnittstelle.

Ich habe die unten aufgeführten Abragen mit ihren Antworten aufgeführt:

1. warum bekomme ich bei Abfrage 1 und 2 die gleiche Antwort????? Bei Abfrage 2 habe ich den Mode=0 gesetzt und sollte lt Ihrer Dokumentation nur Nachrichten erhalten, die vom Fahrzeug kommen.

2. Warum werden mit die heute an das Gerät übertragenen Nachrichten nicht übermittelt???

3. Warum erhalte ich bei Umlauten eine Fehlermeldung? An der Codierung kann es doch nicht liegen, da auch die Abfrage 3 mit UTF-16 codiert war und ich keine Fehlermeldung erhielt.


Abfrage 1:

www.apioverip.de

Antwort 1:
return:=-1;anzahl:=6;anz2:=5;id1:=115833;daten1:=016000001Date: 2009-08-21 11:55:41 +0100
Content:0-26: UTF8

ABCDEFGHIJKLMNOPQRSUUVWXYZ.;ts1:=2009-08-21 11:55:47;gel1:=0;id2:=115829;daten2:=016000001Date: 2009-08-21 11:52:42 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:52 erfolgreich ans IN1 ??bermittelt.;ts2:=2009-08-21 11:52:43;gel2:=0;id3:=115821;daten3:=016000001Date: 2009-08-21 11:45:50 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:26 erfolgreich ans IN1 ??bermittelt.;ts3:=2009-08-21 11:45:50;gel3:=0;id4:=115820;daten4:=016000001Date: 2009-08-21 11:45:24 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:26 erfolgreich ans IN1 ??bermittelt.;ts4:=2009-08-21 11:45:24;gel4:=0;id5:=115816;daten5:=016000001Date: 2009-08-21 11:43:39 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:04 erfolgreich ans IN1 ??bermittelt.;ts5:=2009-08-21 11:43:39;gel5:=0;

Abfrage 2:
www.apioverip.de

Antwort 2:
return:=-1;anzahl:=6;anz2:=5;id1:=115833;daten1:=016000001Date: 2009-08-21 11:55:41 +0100
Content:0-26: UTF8

ABCDEFGHIJKLMNOPQRSUUVWXYZ.;ts1:=2009-08-21 11:55:47;gel1:=0;id2:=115829;daten2:=016000001Date: 2009-08-21 11:52:42 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:52 erfolgreich ans IN1 ??bermittelt.;ts2:=2009-08-21 11:52:43;gel2:=0;id3:=115821;daten3:=016000001Date: 2009-08-21 11:45:50 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:26 erfolgreich ans IN1 ??bermittelt.;ts3:=2009-08-21 11:45:50;gel3:=0;id4:=115820;daten4:=016000001Date: 2009-08-21 11:45:24 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:26 erfolgreich ans IN1 ??bermittelt.;ts4:=2009-08-21 11:45:24;gel4:=0;id5:=115816;daten5:=016000001Date: 2009-08-21 11:43:39 +0200
Content:0-64: UTF8

Nachricht von 21.08.2009 11:04 erfolgreich ans IN1 ??bermittelt.;ts5:=2009-08-21 11:43:39;gel5:=0;

Abfrage 3:
www.apioverip.de mit ue

Antwort 3:
return:=-1;


Abfrage 4:
www.apioverip.de mit ü

Antwort 4:
"Fehler in Webdienste.szGetResponseVonRequest
Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler."

 

Sehr geehrter Herr Herold,

vielen Dank für die Information.

Wir haben den Sachverhalt geprüft und können hierzu folgende Aussagen treffen

Die Abfragen der API sind case sensibel, was bedeutet dass die Parameter der Requests klein geschrieben werden müssen. Im konkreten Fall bedeutet dies, dass "Mode" als Übergabeparameter (da groß geschrieben) ungültig ist und eine Zuordnung somit nicht stattfinden kann. Sobald der Request angepasst wurde sollte es keine weiteren Unregelmäßigkeit geben.

Anbei ein Beispielcode:

www.apioverip.de

bzw.

www.apioverip.de

Zu 3. und 4.

Es ist unbedingt darauf zu achten, sich an die http-Konventionen zu halten. Uns ist aufgefallen, dass in dem von Ihnen dargestellten URL String Leerzeichen und Umlaute uncodiert enthalten sind. Texte, welche entsprechende Zeichen enthalten müssen ensprechend codiert oder geposted werden. Wir empfehlen Ihnen für die uns zugesandten Beispiele immer http Posts zu verwenden.

Wir hoffen, Ihnen mit diesem Beitrag geholfen zu haben. Für weitere Fragen stehen wir Ihnen gerne zur Verfügung.

Mit freundlichen Grüßen
Patric Brand

Tour versenden an GPSauge

Tour versenden an GPSauge

Sehr geehrte Damen und Herren,

z. Zt. bin ich dabei, die Schnittstelle von "Gehr Dispo SP" zu Ihrem System zu programmieren.

Bei der Abfrage des Accounts und der Position habe ich keine Probleme. Nur wenn ich eine Tour versenden möchte erhalte ich einen Fehler 500 "Internal Error".

Können Sie mir sagen, wo das Problem mit meinen Daten liegt.

\\http://www.apioverip.de/?module=tour&action=send&user=50006&pwd=FE01CE2A7FBAC8FAFAED7C982A04E229&deviceid=201345&gpxpackage=<gpx Version = "1.1" creator = "GPSoverIP WebExplorer"
xmlns = "http://www.topografix.com/GPX/1/1" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.topografix.com/GPX/1/1 \\http://www.topografix.com/GPX/1/1/gpx.xsd">
<name>Gehr Dispo SP</name> <desc>TOUR</desc> <uniqueid>1893</uniqueid>
<author><name>Gehr Dispo Sp</name>
<email>support@gpsoverip.de</email>
<link>www.gpsoverip.de</link>
</author><copyright>GPSoverIP GmbH</copyright><rte><name>CIBA Chemie GmbH</name><cmt></cmt><src>Gehr Dispo Sp</src><number>1</number><type>TOUR</type><rtept lat= " 49.25019 " lon= " 7.35406 ">
<description>Gasstrasse 1/D 66482 Zweibrücken</description>
</rtept></rte><rte><name>Dynamit Nobel GmbH</name>
<cmt></cmt><src>Gehr Dispo Sp</src><number>2</number><type>TOUR</type><rtept lat= " 49.75616 " lon= " 6.6489 "><description>Ostallee 7-13/D 54290 Trier</description></rtept></rte></gpx>

Mit freundlichen Grüßen
M. Herold

 

Hallo Herr Herold,

Ich habe mir Ihr Beispiel kurz durchgeschaut und ein paar Fehler (rot markiert) entdeckt:

[color=red]http://www.apioverip.de/?module=tour&action=send&user=50006&pwd=FE01CE2A7FBAC8FAFAED7C982A04E229&deviceid=201345&gpxpackage=[/color]
<gpx Version = "1.1" creator = "GPSoverIP WebExplorer"
xmlns = "http://www.topografix.com/GPX/1/1"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.topografix.com/GPX/1/1
\\http://www.topografix.com/GPX/1/1/gpx.xsd">
<name>Gehr Dispo SP</name>
<desc>TOUR</desc>
<uniqueid>1893</uniqueid>
<author><name>Gehr Dispo Sp</name>
<email>support@gpsoverip.de</email>
<link>www.gpsoverip.de</link>
</author><copyright>GPSoverIP GmbH</copyright><rte><name>CIBA Chemie GmbH</name><cmt></cmt><src>Gehr Dispo Sp</src><number>1</number><type>TOUR</type>
<rtept lat= " 49.25019 " lon= " 7.35406 ">
<description>Gasstrasse 1/D 66482 Zweibrücken</description>
</rtept>
[color=red]</rte>
<rte><name> </name>
<cmt></cmt><src>Gehr Dispo Sp</src><number>2</number><type>TOUR</type>[/color]
<rtept lat= " 49.75616 " lon= " 6.6489 ">
<description>Ostallee 7-13/D 54290 Trier</description>
</rtept>
</rte></gpx>

Der Post sollte wie folgt aussehen

<gpx Version = "1.1" creator = "GPSoverIP WebExplorer"
xmlns = "http://www.topografix.com/GPX/1/1" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.topografix.com/GPX/1/1
\\http://www.topografix.com/GPX/1/1/gpx.xsd">
<name>Gehr Dispo SP</name>
<desc>TOUR</desc>
<uniqueid>1893</uniqueid>
<author>
<name>Gehr Dispo Sp</name>
<email>support@gpsoverip.de</email>
<link>www.gpsoverip.de</link>
</author>
<copyright>GPSoverIP GmbH</copyright>
<rte>
<name>Name der Tour einsetzen</name>
<cmt>Infotext zur Tour für den Fahrer</cmt>
<src>Gehr Dispo Sp</src>
<number>1</number>
<type>TOUR</type>
<rtept lat= "49.25019" lon= "7.35406">
<description> CIBA Chemie GmbH Gasstrasse 1/D 66482 Zweibrücken</description>
</rtept>
<rtept lat= "49.75616" lon= "6.6489">
<description> Dynamit Nobel GmbH Ostallee 7-13/D 54290 Trier</description>
</rtept>
</rte>
</gpx>

Sie dürfen im GPX-File nicht mehrere rte’s / Touren einfügen, der Map&Guide Navigator erlaubt das leider nicht.

Stattdessen müssen alle Ziele in „eine Tour“ gepackt werden, wodurch die weiteren cmt,src und number Tags entfallen.

Bitte achten Sie darauf den GPX-Datensatz nicht per Http Get sondern per Http Post zu übermitteln.

mit freundlichen Grüßen

Patric Brand

 

Hallo Herr Brand,

habe die Übertragung geändert, bekomme aber immer noch den internen Fehler (500).

Der erste Teil ist der Kopf, den ich doch bei jeder GET-Abfrage mitschicken muss oder?

mit freundlichen Grüßen

M. Herold

 

Hallo Herr Herold,

ich meinte, dass Sie es lieber nicht über den GET versuchen sollten, da die Http GET-Abfrage eben einen relativ kleinen beschränkten Zeichenbereich hat, Sie müssen deshalb bei Touren oder Aufträgen und bei langen Nachrichten mit http Post arbeiten.

mit freundlichen Grüßen
Patric Brand

Externe Schnittstellen

Externe Schnittstellen

Hallo,

ich habe mich auf der Seite http://www.gpsauge.de/inone informiert, doch leider finde ich auf der angegebenen Seite keine Infos zu den Digital- und Analogports.

Hintergrund ich möchte gerne das NAVI im BOS Markt (Rettungsdienst etc.) einsetzen bzw. vermarkten.

Die Einsatzorte der Fahrzeuge sollten dann im Display angezeigt werden und direkt in die Navigation übergeben werden.

BOS arbeitet aber mit FMS und da brauch ich eine externe Schnittstelle.

MfG

Horst Gebhardt

 

Hallo Herr Gebhardt,

Die Ports haben einen Spannungsbereich von 0V – 3,3V die exakten Schwellenspannungen und das Datenblatt über den A/D Wandler des Analogeinganges lasse ich Ihnen per E-Mail zukokmmen.

Der Zugriff auf den Map&Guide Navigator währe auch ohne weiteres möglich, da seitens M&G eine relativ gute API vorhanden ist über die man den Navigator mit Informationen versorgen aber auch Statusinformationen abrufen kann.

Grüße aus Schweinfurt
Patric Brand

Device ID & GPS Data

Device ID & GPS Data

Hi,

I have 2 questions for you:

1. How do I retrieve the device ID from my application? I need to use the device ID in my web service calls.

2. How do I retrieve the GPS info on the device? Since datacom.exe is running I think it will read the GPS com port so I can’t share it. I don’t need to read it in an interval, when a driver updates an order state I’ll need the current GPS info.

I hope I can get this data, it would make my job easier.

Best regards.

Emre

 

Hi Emre,

1.
That’s the definition:

BOOL MISC_Read_Raw_Flash(DWORD sect, LPBYTE pBuf, DWORD numSects,LPBYTE pSectInfo );

Here is how we use it:

MISC_Read_Raw_Flash(64, pBuf, 1,0); // parameter1:what is page?, 2:save to the point of Byte(At lease 256), 3:The number of page, 4:NULL

When everything work’s fine you’ll get a “ return 1;”

2.
First use the following:

HANDLEhHLD=CreateEvent(NULL,FALSE,FALSE,L"HLD_get_gps";

CloseHandle(hHLD);

after that you'll find the GPS-Data in the registry

HKEY_CURRENT_USER/HLD/GPS_Latitude REG_SZ-String
HKEY_CURRENT_USER/HLD/GPS_Longitude REG_SZ-String
HKEY_CURRENT_USER/HLD/GPS_current REG_DWORD 0 <=> no actual position , 1 <=> position updated
HKEY_CURRENT_USER/HLD/GPS_Time REG_DWORD 191410.000 => 19:14:10 Time UTC
HKEY_CURRENT_USER/HLD/GPS_Date REG_DWORD 180709 => Date 18.07.09

Is this all you need?

best regards
Patric

Ich bekomme keine Antwort auf den Post

Ich bekomme keine Antwort auf den Post

Hallo,

ich habe inzwischen mehrmals eine Anfrage „job“ gepostet.
Leider bekommen ich immer nur

<html><body>GPSoverIP<br />LIVEAPI Version 2.0<br /></body></html>

als Antwort auf den Post.
<br />
Bernd Ott<br />

 

Sehr geehrter Herr Ott,

die Antwort:

<html><body>GPSoverIP<br />LIVEAPI Version 2.0<br /></body></html>

wird erstellt wenn das entsprechende Modul an der angesprochenen Adresse nicht vorhanden ist.

Das "Job-Modul" ist leider nicht über die URL live.apioverip.de zu erreichen, stattdessen muss an die URL http://www.apioverip.de gepostet werden.

An welche Adresse gepostet werden muss steht immer im orangenen Bereich ganz oben unter dem Punkt "Service".

 

Hallo,

können sie mir sagen warum folgender Post:

apioverip.de/?module=job&action=send&pwd=xxxxxxxxx&user=241787&deviceid=600241&data=ComeToBullshitCastle&Longitude=0.00&Latitude=0.00
<br />

quittiert wird, jedoch nichts am, GPSINONE passiert?. Muss da eventuell noch was freigeschalten werden?
<br />
Bernd Ott<br />

 

Hallo Herr Ott,

der Auftragsversand funktioniert nicht, da im dargestellten Post der GPX Datensatz fehlt.

z.B.:

“<gpx
version="1.1"
creator="GPSoverIP WebExplorer"
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1
\\http://www.topografix.com/GPX/1/1/gpx.xsd"><name>50006</name><desc>JOB</desc>
<author>
<name>GPSoverIP GmbH</name><email>support@gpsoverip.de</email> <link>www.gpsoverip.de</link>
</author>
<copyright>GPSoverIP GmbH</copyright>
<rte>
<name>Jobname</name>
<cmt>Bitte Container bei Firma XY abholen </cmt>
<src>50006</src>
<number>1</number>
<type>JOB</type>
<rtept lat=”47.948151” lon=”91.618986”>
</rtept>
</rte>
</gpx>“;

Das Gateway antwortet mit return=-1; da ein gültiges Module mit Action und den weiteren nötigen Parametern erkannt wurde.
Der Inhalt der einzelnen Parameter wird nur bei "user" und "pwd" überprüft.

VB.net -> Questions with the unzip

VB.net -> Questions with the unzip

We made some tests with the API and I have some questions for you :

1. I tried Devices – Get - PackageList module to retrieve the GPS log. The response is compressed as you told me, but although I tried eveything I couldn’t uncompress it using zlib library.
I replaced the @@1@@, @@3@@, @@4@@ strings, skipped the first 4 characters. If I don’t do these I receive “Unknown compression method” from zlib. If I do the replacements I receive “Dictionary needed” exception fro mzlib. So do you have an example for any .net languauge?

2. I tried Devices –Get - Position API to retrieve the current position of the device but always received “return:-1” result from http://www.apioverip.de address.

Best regards
Emre

 

Hi Emre,

1. My colleague will make an example for you. But normally you did everything the right way -replace and skip the first characters- have you tried some other unzips?

2. Please use the URL live.apioverip.de for the post, because all the live-data comes through this url. Thats why you didn't get any other answer.
You'll find the URL on top of the orange part in the API documentation.

Best regards
Patric

 

Good Morning Patric,

Your system runs on php, so you’re using gzcompress and gzuncompress methods. I was confused about these special character replacements.

For @@1@@ your example uses chr(0) replacement. chr(0) is empty (null) and chr(32) is space (‘ ‘). So we’re replacing @@1@@ with an empty string, not a space. Is this the correct replacement?

Another thing is the zlib exception, I receive an exception like “need dictionary”.

According to zlib (http://www.zlib.net/manual.html#inflateSetDictionary) you can use a inflateSetDictionary method if you received and “Z_NEED_DICT” error. So this means deflateSetDictionary was used before the compression so the client needs the same dictionary to decompress the data. Is there a special string which used?

Best regards

 

Hi Emre,

we developed a little example for the use with VB .Net.
First we faced the same problems you explained.
Problem is a matter of letter encoding.

The bold line in the code seems to be the solution.

Replacement of @@1@@ has to be done with chr(0) not with ‘’.

Writing the stream to a file is not the smartest solution, but this another task.

If there are further questions, to not hesitate to contact us.

Please keep us up-to-date. Thanks.

++++++++++++++++++++++++++++++++++++++++++++++++
Public Shared Sub CopyStream(ByRef input As System.IO.Stream, ByRef output As System.IO.Stream)

Dim num1 As Integer
Dim buffer1 As Byte() = New Byte(2000 - 1) {}
num1 = input.Read(buffer1, 0, 2000)
Do While (num1 > 0)
output.Write(buffer1, 0, num1)
num1 = input.Read(buffer1, 0, 2000)
Loop
output.Flush()
End Sub

Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim outFileStream As New System.IO.FileStream("C:\decompressed.txt", System.IO.FileMode.Create)

Dim zStream As New zlib.ZOutputStream(outFileStream)

'Dim inFileStream As New System.IO.FileStream(inFile, System.IO.FileMode.Open)

Dim request2 As Net.HttpWebRequest = Net.HttpWebRequest.Create("...URL..."

request2.Method = "GET"

Dim response2 As Net.HttpWebResponse = request2.GetResponse

Dim reader2 As IO.StreamReader = New IO.StreamReader(response2.GetResponseStream, System.Text.Encoding.Default)

Dim TextFromServer As String = reader2.ReadToEnd

Dim strToReplace As String = ""

strToReplace = TextFromServer
strToReplace = Strings.Replace(strToReplace, "@@1@@", Chr(0))
strToReplace = Strings.Replace(strToReplace, "@@3@@", ";"
strToReplace = Strings.Replace(strToReplace, "@@4@@", ":"
strToReplace = Strings.Right(strToReplace, Strings.Len(strToReplace) - 4)

FileOpen(1, "C:\temp.txt", OpenMode.Binary, OpenAccess.Write)
FilePut(1, strToReplace)
FileClose(1)

Dim inFileStream As New System.IO.FileStream("C:\temp.txt", System.IO.FileMode.Open)

Try
Form1.CopyStream(inFileStream, zStream)
Finally
zStream.Close()
inFileStream.Close()
outFileStream.Close()
End Try

MsgBox("Fertig"
End Sub

++++++++++++++++++++++++++++++++++++++++++++++++
Regards
Matthias

 

Hi Matthias,

Thanks for the example, I’m not in the office today so I’ll inform you about the results tomorrow.

Actually I’m surprised because I think I tried all encoding options, but if it works then I missed something before.

Best regards.

Emre

 

Hi Emre,

The silly thing is that you have to set the option “default”.
It was also not really the option I would have been selected.
Shouldn’t it be the default anyway?! But it worked afterwards

Have a nice day.
Matthias

 

Hi,

I’ve successfully got the API response.
I’ll try more API methods and inform you if I’m stuck.

Thanks for the support.

Best regards.

Stellen Sie uns eine Frage

Das neue Q&A Formular

Das neue Q&A Formular (Inhalt)
Kundenbetreuung direkt kontaktieren: +49 (0) 9721 796973-0
Die Sicherheit Ihrer persönlichen Daten hat für uns höchste Priorität. Weitere Einzelheiten finden Sie in unserer Datenschutzerklärung.

Nehmen Sie Kontakt mit uns auf

+49 9721 796 973 30
+49 9721 796 973 59

Geben Sie Ihre Telefonnummer an, wenn Sie einen Rückruf wünschen.

Suche
Hardware-Komponenten
Software-Komponenten
Mediathek
E-Mail
Telefon
Support
Zum Online-Shop
Zum GPS-Explorer
Sprache wählen
EN
GR
IT
ES
FR
TR
Seite drucken