-
Die Erfindung betrifft ein Verfahren zum Extrahieren von Fahrzeugdaten aus einem Fahrzeug, während dieses von einem Benutzer benutzt wird. Die zu extrahierenden Fahrzeugdaten sollen aus dem Kraftfahrzeug heraus an eine stationäre Servervorrichtung übertragen werden. Zu der Erfindung gehört auch eine Steuervorrichtung, mittels welcher in dem Kraftfahrzeug das erfindungsgemäße Verfahren durchgeführt werden kann. Schließlich gehört zu der Erfindung auch ein Kraftfahrzeug mit der erfindungsgemäßen Steuervorrichtung.
-
Ein Verfahren der beschriebenen Art ist zum Beispiel aus der
DE 10 2013 016 554 A1 bekannt. Danach kann ein Onboard-Datensammler Zustandsdaten eines Kraftfahrzeugs erfassen, wenn dies durch eine fahrzeugexterne Datenerfassungseinrichtung signalisiert wird. Ein Datenumfang und ein Zeitpunkt der Datenerhebung können dabei konfiguriert werden. Es kann eine Wenn-Dann-Bedingung angegeben werden, um hierdurch eine Teilmenge zu bestimmten Erfassungszeiten in Abhängigkeit von Auswahldaten zu erheben, welche durch die fahrzeugexterne Datenerfassungseinrichtung vorgegeben werden können.
-
Das Erfassen solcher Fahrzeugdaten kann insbesondere dann, wenn es um große Datenmengen geht, zu einer Beeinträchtigung des Fahrzeugbetriebs führen, da das Abfragen und Übertragen solcher Fahrzeugdaten innerhalb des Kraftfahrzeugs Ressourcen des Kraftfahrzeugs bindet, zum Beispiel die Rechenleistung von Steuergeräten, welche die Fahrzeugdaten ermitteln sollen, und die Übertragungsbandbreite von Kommunikationsbussen, die auch zur fahrzeuginternen Kommunikation zwischen Steuergeräten dienen.
-
Das Übertragen von Daten unter Berücksichtigung eines zukünftigen Zustands eines Kommunikationsnetzwerks und/oder eines aktuellen Zustands des Kommunikationsnetzwerks ist aus der
DE 10 2014 209 199 A1 bekannt. Hierdurch kann zumindest die Übertragungsrate oder die Auslastung einer Kommunikationsverbindung zwischen Kraftfahrzeug und fahrzeugexterner Datenerfassungseinrichtung vor einem Leistungseinbruch geschützt werden.
-
Aus der
DE 10 2013 104 892 A1 ist ein Verfahren bekannt, um eine Speicherung von Daten in einem Speicher eines Kraftfahrzeugs automatisiert durchzuführen. Dies kann mittels eines Diagnoserechners zum Zwischenspeicher von Daten erfolgen. Die Zwischenspeicherung macht es aber notwendig, dass das Kraftfahrzeug in eine Werkstatt gebracht wird.
-
Dokument
US 2016/0142493 A1 offenbart ein Gateway zum Erfassen und Verarbeiten von Sensordaten. Dieses ist durch einen Server konfigurierbar, indem Sätze von Regeln vom Server auf das Gateway geladen und dort ausgeführt werden. Es findet dadurch eine Verarbeitung der Sensordaten im Gateway statt, bevor diese auf den Server geladen werden, um die Datenmenge für die Kommunikation und die Verarbeitung Server zu reduzieren.
-
Dokument
US 2010/0332072 A1 offenbart ein Gateway zum Verbinden von mehreren Fahrzeugbussystemen. Zudem werden vom Gateway Daten von Fahrzeuggeräten gesammelt und nach Zeitpunkten sortiert gespeichert. Diese Daten werden auf Anforderung oder in festen Zeitintervallen zu Geräten oder zu einem externen Gerät, das insbesondere auch ein Server sein kann.
-
Der Erfindung liegt die Aufgabe zugrunde, aus einem Kraftfahrzeug Fahrzeugdaten zu ermitteln oder zu extrahieren, ohne dass hierdurch ein interner Betrieb des Kraftfahrzeugs beeinträchtigt wird.
-
Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.
-
Durch die Erfindung ist ein Verfahren zum Ermitteln oder Extrahieren von Fahrzeugdaten aus einem Kraftfahrzeug bereitgestellt. Das Kraftfahrzeug befindet sich dabei in Benutzung durch einen Benutzer. Das Verfahren geht davon aus, dass in dem Kraftfahrzeug mehrere Kommunikationsnetzwerke oder Kommunikationsbusse über eine Gatewayeinrichtung gekoppelt sind. Durch die Gatewayeinrichtung können also zum Beispiel mehrere Zweige eines gleichartigen Bussystems, zum Beispiel eines CAN-Busses (CAN – Controller Area Network), oder Zweige unterschiedlicher Bussysteme, zum Beispiel CAN, FlexRay, LIN (Local interconnect networt) und/oder Ethernet, gekoppelt oder miteinander verbunden sein.
-
Entsprechend werden während der Benutzung des Kraftfahrzeugs durch die Gatewayeinrichtung Nachrichten jeweils aus einem der Kommunikationsbusse empfangen und an einen anderen der Kommunikationsbusse weitergeleitet. Dies wird auch als Routing oder Switching bezeichnet. Die Gatewayeinrichtung kann hier also als Switch (reine Weiterleitung von Nachrichten) oder als Gateway (Weiterleitung mit Protokollumsetzung) fungieren.
-
Bei dem Verfahren wird, wie eingangs im Zusammenhang mit dem Stand der Technik erläutert, durch eine fahrzeugexterne, stationäre Servervorrichtung mittels Auswahldaten vorgegeben, welche Fahrzeugdaten zu extrahieren sind. Hierzu werden durch eine Kommunikationseinrichtung des Kraftfahrzeugs die Auswahldaten aus der Servervorrichtung empfangen. Die Auswahldaten beschreiben zumindest ein Attribut der zu extrahierenden Fahrzeugdaten. Es wird also als Attribut eine Eigenschaft oder eine Bedingung für diejenigen Fahrzeugdaten vorgegeben, die extrahiert werden sollen, d. h. zu der Servervorrichtung übertragen werden sollen. Die verwendete Kommunikationseinrichtung kann in bekannter Weise zum Bereitstellen der Kommunikationsverbindung zwischen Kraftfahrzeug und Servervorrichtung zum Beispiel ein Mobilfunkmodul, zum Beispiel ein GSM-Modul oder UMTS-Modul oder LTE-Modul, und/oder ein WLAN-Modul (WLAN – Wireless Local Area Network) aufweisen.
-
Um bei dieser Konstellation zu verhindern, dass das Sammeln oder Ermitteln oder Abfragen der Fahrzeugdaten den fahrzeuginternen Betrieb von zum Beispiel Steuergeräten beeinträchtigt oder verlangsamt, ist erfindungsgemäß folgendes vorgesehen. In der Gatewayeinrichtung, welche die Nachrichten zwischen den Kommunikationsbussen überträgt, durch eine Filtereinrichtung in den empfangenen Nachrichten solche Nachrichtendaten, welche das zumindest eine Attribut aufweisen, zu erkennen. Dies verzögert die Übertragung der Nachrichten zwischen den Kommunikationsbussen nicht. Die Filtereinrichtung hört quasi mit oder beobachtet, welche Nachrichtendaten in den Nachrichten enthalten ist, die zwischen den Kommunikationsbussen ausgetauscht werden. Die erkannten Nachrichtendaten, die also das zumindest eine Attribut aufweisen, werden kopiert. Somit können die eigentlichen Nachrichten ohne Verzögerung zwischen den Kommunikationsbussen weitergeleitet werden. Es stehen nun aber kopierte Nachrichtendaten zur Verfügung, von denen erkannt wurde, dass sie potentiell zu den Fahrzeugdaten gehören, die zu extrahieren sind. Aus den kopierten Nachrichtendaten werden entsprechend die zu extrahierenden Fahrzeugdaten gewonnen. Die Fahrzeugdaten können hierbei mit den Nachrichtendaten identisch sein, also unverändert zur Servervorrichtung ausgesendet werden, oder es kann eine weitere Verarbeitung der kopierten Nachrichtendaten vorgesehen sein, um hierdurch die Fahrzeugdaten zu erzeugen. Dies wird im Weiteren in Zusammenhang mit Weiterbildungen der Erfindung erläutert. Durch die Kommunikationseinrichtung werden dann die zu extrahierenden Fahrzeugdaten an die Servervorrichtung ausgesendet.
-
Durch die Erfindung ergibt sich der Vorteil, dass die fahrzeugexterne Servervorrichtung mittels der Auswahldaten beliebige Fahrzeugdaten auswählen kann, ohne dass durch deren Extraktion die Kommunikation zwischen Steuergeräten des Kraftfahrzeugs, welche die Nachrichten erzeugen und untereinander über die Kommunikationsbusse austauschen, beeinträchtigt wird. Zudem wird auch keines der Steuergeräte direkt angesteuert oder abgefragt, d. h. keines der Steuergeräte wird im Betrieb dadurch behindert oder verlangsamt, dass es selbst die benötigten Fahrzeugdaten beschaffen müsste. Stattdessen werden die unabhängig von der Extraktion erzeugten Nachrichten als Informationsquelle genutzt.
-
Zu der Erfindung gehören auch vorteilhafte Weiterbildungen, durch deren Merkmale sich zusätzliche Vorteile ergeben.
-
Ein weiterer wichtiger Aspekt ist die Manipulationssicherheit der Gatewayeinrichtung und der Kommunikationseinrichtung. Man ist daran interessiert, dass durch das Empfangen und Verarbeiten der Auswahldaten kein Fehlbetrieb im Kraftfahrzeug hervorgerufen werden kann. Bevorzugt wird deshalb sichergestellt, dass es sich bei den Auswahldaten um keine aktive Software und kein Skript und keine Anweisungsliste handelt. Dies kann dadurch erreicht werden, dass zum Erkennen der Übereinstimmung von Nachrichtendaten mit dem zumindest einen Attribut in der Filtereinrichtung zumindest einen Vergleicher oder Komparator bereitgestellt, d. h. eine Einrichtung, durch welche ein Vergleich zwischen einem Vergleichsmuster und den Nachrichtendaten durchgeführt wird. Der zumindest eine Vergleicher ist durch die Filtereinrichtung unabhängig von den Auswahldaten bereitgestellt. Es kann sich zum Beispiel um ein Programmodul einer Prozessoreinrichtung der Gatewayeinrichtung und/oder der Kommunikationseinrichtung handeln. Eine solche Prozessoreinrichtung kann zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller umfassen oder aufweisen. Der zumindest eine Vergleicher zeichnet sich dadurch aus, dass dessen Betriebsweise dahingehend unveränderlich ausgestaltet ist, dass er ein einstellbares Vergleichsmuster mit den Nachrichtendaten vergleicht. Der Vorgang des Vergleichens ist also unveränderlich, lediglich das zugrunde zu legenden Vergleichsmuster kann verändert werden. Entsprechend wird bei dem Verfahren in dem jeweiligen Vergleicher das jeweilige Attribut als Vergleichsmuster eingestellt. Somit kann durch Manipulieren der Auswahldaten lediglich das Vergleichsergebnis beeinträchtigt werden, nicht aber die Betriebsweise des Vergleichers selbst. Ein Vergleicher kann zum Beispiel einen Bitmustervergleich durchführen oder zum Beispiel einen digitalen Wert, der durch das Vergleichsmuster vorgegeben ist, mit einem digitalen Wert, der durch die Nachrichtendaten repräsentiert ist, vergleichen, zum Beispiel einen Größenvergleich (größer als, kleiner als, gleich) durchführen.
-
Bevorzugt weist die Filtereinrichtung zumindest eine Verarbeitungseinheit auf, die fest vorgegebene Verarbeitungsfunktionen zum Berechnen oder Erzeugen von verarbeiteten Nachrichtendaten aus den ursprünglich kopierten Nachrichtendaten bereitstellt. Eine solche Verarbeitungseinheit kann als Programmmodul ausgestaltet sein. Jede Verarbeitungseinheit ist aber fest vorgegeben, d. h. ihre Funktionsweise lässt sich nicht mittels der Auswahldaten beliebig verändern, sondern nur parametrieren. In Abhängigkeit von den Auswahldaten wird nämlich eine der Verarbeitungsfunktionen ausgewählt. Die Nachrichtendaten werden vor und/oder nach der Überprüfung, ob sie das zumindest eine Attribut aufweisen, mittels der Verarbeitungseinheit gemäß der ausgewählten Verarbeitungsfunktion verarbeitet. Mittels der Auswahldaten kann also eingestellt werden, welche Verarbeitungsfunktion (aus der fest vorgegebenen Liste der Verarbeitungsfunktionen) verwendet werden soll.
-
Es kann erst die Verarbeitung durch die Verarbeitungseinrichtung und anschließend die Erkennung des zumindest einen Attributs in den verarbeiteten Nachrichtendaten erfolgen. Es kann also vorgesehen sein, dass das Attribut nicht auf den rohen oder unverarbeiteten Nachrichtendaten geprüft oder gesucht wird, sondern in den verarbeiteten Nachrichtendaten nach der Verarbeitung durch eine ausgewählte Verarbeitungsfunktion der Verarbeitungseinheit. Beispielsweise kann sich das Attribut auf einen Mittelwert beziehen und die Verarbeitungseinheit als Verarbeitungsfunktion die Berechnung eines zeitlichen Mittelwerts über eine vorgegebene Zeitspanne vorsehen. Bevorzugt ist vorgesehen, dass die Verarbeitungsfunktionen parametrierbar sind, also durch weitere Auswahldaten eingestellt werden können. Zum Beispiel im Zusammenhang mit der Berechnung des Mittelwerts könnte als Parameter die Zeitspanne eingestellt werden kann, die für die Bildung des Mittelwerts zugrunde gelegt wird. Um manipulationssicher eine Auswahl von Verarbeitungsfunktionen zu ermöglichen, können die Verarbeitungsfunktionen zum Beispiel jeweils durch eine eindeutige Zahl oder Nummer identifiziert werden, also zum Beispiel durch einen sogenannten Enum-Wert, der dann in den Auswahldaten angegeben werden kann. Hierdurch bleiben die Verarbeitungseinheiten manipulationssicher in Bezug auf Auswahldaten, die über die Kommunikationseinrichtung von außerhalb des Kraftfahrzeugs empfangen werden.
-
Besonders bevorzugt ist, dass die Ermittlung der extrahierten Fahrzeugdaten zweistufig erfolgt. Das beschriebene Erkennen und Kopieren der Nachrichtendaten erfolgt dabei durch eine erste Filterstufe der Filtereinrichtung in der Gatewayeinrichtung. Zusätzlich kann eine nachgeordnete zweite Filterstufe der Filtereinrichtung bereitgestellt sein. Die zweite Stufe überprüft die kopierten Nachrichtendaten daraufhin, ob deren Attribute eine durch die Auswahldaten beschriebene Attributkombination ergeben. Die Fahrzeugdaten werden dann aus denjenigen kopierten Nachrichtendaten erzeugt, durch welche sich auch die Attributkombination ergibt. Bevorzugt werden nur diese Nachrichtendaten zugrunde gelegt. Durch in den Auswahldaten angegebene Attribute kann zum Beispiel festgelegt werden, dass die erste Filterstufe Nachrichtendaten zu einem Temperatursignal einerseits und einem Luftqualitätssignal (zum Beispiel die Messung von Feinstaub oder Ruß oder Ozon) ausgewählt werden sollen. Die zweite Filterstufe kann dann als Attributkombination zum Beispiel überprüfen, ob das Temperatursignal einen Temperaturwert größer oder kleiner als ein vorgegebener Schwellenwert und das Luftqualitätssignal einen Signalwert in einem vorbestimmten Werteintervall aufweist. Die Attributkombination kann also eine und -Verknüpfung für Attribute mehrerer unterschiedlicher Signale des Kraftfahrzeugs, die durch die Nachrichtendaten beschrieben sind, darstellen. Nur falls sich diese Attributkombination ergibt, werden dann die kopierten Nachrichtendaten als extrahierte Fahrzeugdaten tatsächlich durch die Kommunikationseinrichtung an die Servervorrichtung ausgesendet. Die zweistufige Ausgestaltung der Filtereinrichtung weist den Vorteil auf, dass in der ersten Filterstufe mit geringem Berechnungsaufwand Nachrichtendaten aus dem Nachrichtenstrom oder dem Nachrichtenverkehr heraus kopiert werden können und dann auf einer anderen Prozessoreinrichtung die Attributkombinationen erkannt oder überprüft oder detektiert werden können, was mehr Berechnungsaufwand in Anspruch nehmen kann, wobei hierzu nicht die Rechenleistung derjenigen Prozessoreinrichtung benötigt oder belegt wird, die alle Nachrichten durch die erste Filterstufe überprüfen muss.
-
Bevorzugt ist vorgesehen, dass sie zweite Filterstufe in der Kommunikationseinrichtung selbst betrieben wird. Durch die erste Filterstufe werden also in der Gatewayeinrichtung alle in Frage kommenden Nachrichtendaten aus den Nachrichten kopiert und diese kopierten Nachrichtendaten dann an die Kommunikationseinrichtung weitergeleitet, wo sie durch die zweite Filterstufe überprüft werden, ob sie als Fahrzeugdaten ausgesendet werden sollen.
-
Allgemein ist vorgesehen, dass durch die Auswahldaten zumindest eines der folgenden Attribute identifiziert oder festgelegt wird. Es kann zum Beispiel ein Datentyp der Nachrichtendaten festgelegt sein. Es können also zum Beispiel nur solche Nachrichtendaten kopiert werden, die eine Warnung oder eine Statusinformation oder eine Zustandsinformation oder Zustandsänderung signalisieren. Als Attribut kann auch vorgegeben sein, dass es sich bei den Nachrichtendaten um Signalwerte eines bestimmten Signals handelt, dessen Signalwerte mittels der Nachrichtendaten übertragen werden. Ein solches Signal kann z. B. ein Sensorsignal, z. B. ein Temperatursignal, sein. Es kann als Attribut zum Beispiel die Auswahl bestimmter Nachrichten-Bits oder Bus-Bits vorgegeben sein. Als Attribut kann auch eine Bedingung angegeben sein, welche durch die Nachrichtendaten zu erfüllen ist. Es kann also zum Beispiel ein Schwellenwert für einen Schwellwertvergleich angegeben sein oder ein Werteintervall, innerhalb oder außerhalb desselben sich die Werte der Nachrichtendaten befinden müssen, definiert sein. Als Attribut kann auch ein Auslöseereignis beschrieben sein, welches der Erzeugung der Nachrichtendaten vorangegangen sein muss. Das Kopieren oder die Auswahl der Nachrichtendaten ist also dann an eine Bedingung oder an ein Auslöseereignis geknüpft. Insgesamt ergibt sich durch ein Attribut also eine Wenn-Dann-Verknüpfung für Nachrichtendaten der Nachrichten, wobei bei erfüllter Wenn-Bedingung als Dann-Folge das Kopieren erfolgt.
-
In Bezug auf ein Auslöseereignis, welches durch ein Attribut angegeben werden kann, ist insbesondere vorgesehen, dass zumindest eines der folgenden Auslöseereignisse in den Auswahldaten als Attribut definiert wird. Es kann ein Areal vorgegeben werden, in welchem sich das Kraftfahrzeug befinden muss. Es kann also zum Beispiel durch einen Empfänger eines Positionssignals eines GNSS (Global Navigation Satellite System), zum Beispiel eines GPS (Global Positioning System), empfangen und daraus die aktuelle Fahrzeugposition ermittelt werden. Falls sich das Kraftfahrzeug gemäß der Fahrzeugposition innerhalb des Areals befindet, werden dann Nachrichtendaten kopiert. Es werden also nur solche Nachrichtendaten kopiert, die innerhalb des Areals erzeugt worden sind. Zusätzlich oder alternativ dazu kann als Auslöseereignis eine Bedienhandlung vorgegeben sein, die der Benutzer ausgeführt hat. So kann das Kopieren der Nachrichtendaten ausgelöst werden, falls ein Benutzer die Bedienhandlung ausführt, also zum Beispiel eine vorbestimmte Bedientaste betätigt. Zusätzlich oder alternativ dazu kann das Auslöseereignis ein von zumindest einem Sensor des Kraftfahrzeugs erfasstes Ereignis betreffen. Somit können als Fahrzeugdaten in unterschiedlichen Kraftfahrzeugen solche Fahrzeugdaten erfasst werden, die als Folge eines Auslöseereignisses entstehen. Zum Beispiel kann ein Regensensor dahingehend ausgewertet werden, dass Nachrichtendaten bei Regen erfasst werden. So kann beispielsweise für eine Fehleranalyse aus mehreren Kraftfahrzeugen das Erzeugen von solchen Fahrzeugdaten gesteuert werden, die im Fahrzeugtyp der Kraftfahrzeuge zur Suche eines Fehlers benötigt werden, der immer nur nach einem vorbestimmten Auslöseereignis eintritt. Ein solches Auslöseereignis kann als ein so genannter Geofence (Arealgrenze) oder ein Tastendruck oder auch zum Beispiel die Fahrzeugausstattung des Kraftfahrzeugs sein. Durch angeben der Fahrzeugausstattung kann der Fahrzeugtyp eingegrenzt oder ausgewählt werden. Durch Prüfen der Fahrzeugausstattung kann sichergestellt werden, dass es zum Beispiel zu einem bestimmten Fehler überhaupt nur kommen kann, weil ein entsprechendes Gerät oder eine entsprechenden Komponente in dem Kraftfahrzeug bereitgestellt ist.
-
Um eine Funkverbindung zwischen der Kommunikationseinrichtung einerseits und zum Beispiel einem Mobilfunknetzwerk oder dem Internet andererseits durch die Übertragung der extrahierten Fahrzeugdaten ebenfalls nicht zu beeinträchtigen, ist bevorzugt vorgesehen, dass den extrahierten Fahrzeugdaten jeweils ein Prioritätswert zugeordnet wird, der ebenfalls durch die Auswahldaten vorgegeben wird. Der Prioritätswert kann zum Beispiel festlegen, in welcher Reihenfolge oder Ordnung die Fahrzeugdaten zu übertragen sind. Der Prioritätswert kann zusätzlich oder alternativ dazu auch zum Beispiel eine maximale Zeitverzögerung festlegen, die zwischen dem Kopieren der Nachrichtendaten und dem Aussenden der daraus erzeugten Fahrzeugdaten vergehen soll. In Abhängigkeit von einer verfügbaren Datenrate der Kommunikationsverbindung, über welche die Kommunikationseinrichtung die Fahrzeugdaten zu der Servervorrichtung überträgt, werden dann die Fahrzeugdaten für die Übertragung gemäß ihrem Prioritätswert ausgewählt. Steht eine ausreichend große Datenrate zur Verfügung, so werden also alle Fahrzeugdaten ausgewählt. Reicht die Datenrate nicht zur Übertragung der Fahrzeugdaten aus, ohne dass z. B. eine verbleibende Mindestdatenrate unterschritten wird, so können zum Beispiel zunächst die Fahrzeugdaten mit dem größten Prioritätswert ausgesendet werden. Es kann auch vorgesehen sein, dass Fahrzeugdaten mit geringerem Prioritätswert vor Fahrzeugdaten mit größerem Prioritätswert ausgesendet werden, falls die Fahrzeugdaten mit geringerem Prioritätswert zum Beispiel eine vorbestimmte Höchstzeitdauer durch die Kommunikationseinrichtung zurückgehalten wurden.
-
Um das erfindungsgemäße Verfahren in einem Kraftfahrzeug durchzuführen, ist durch die Erfindung eine Steuervorrichtung für ein Kraftfahrzeug bereitgestellt. Die Steuervorrichtung kann als einzelnes Steuergerät bereitgestellt sein oder auch durch mehrere, im Kraftfahrzeug verteilte Komponenten oder Steuergeräte realisiert sein. Die Steuervorrichtung weist die beschriebene Kommunikationseinrichtung zum Bereitstellen der Kommunikationsverbindung zu der fahrzeugexternen, stationären Servervorrichtung auf. Des Weiteren weist die Steuervorrichtung die Gatewayeinrichtung zum Koppeln von Kommunikationsbussen des Kraftfahrzeugs auf. Die erfindungsgemäße Steuervorrichtung ist dabei in der beschriebenen Weise dazu eingerichtet, eine Ausführungsform erfindungsgemäßen Verfahrens durchzuführen. Hierzu kann die Steuervorrichtung in der beschriebenen Weise eine Prozessoreinrichtung oder mehrere Prozessoreinrichtungen aufweisen, wobei jede Prozessoreinrichtung zumindest einen Mikrocontroller und/oder zumindest einen Mikroprozessor aufweist. Des Weiteren kann ein Programmcode bereitgestellt sein, welcher dazu eingerichtet ist, bei Ausführen durch die zumindest eine Prozessoreinrichtung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Steuervorrichtung gespeichert sein.
-
Schließlich gehört zu der Erfindung auch ein Kraftfahrzeug, welches die erfindungsgemäße Steuervorrichtung aufweist. Das erfindungsgemäße Kraftfahrzeug bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen, ausgestaltet. Durch die Steuervorrichtung werden in der beschriebenen Weise Kommunikationsbusse des Kraftfahrzeugs gekoppelt. Steuergeräte des Kraftfahrzeugs können somit über die Kommunikationsbusse und die Gatewayeinrichtung der Steuervorrichtung Nachrichten austauschen.
-
Im Folgenden ist ein Ausführungsbeispiel der Erfindung beschrieben. Hierzu zeigt:
-
1 eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs;
-
2 ein Diagramm zur Veranschaulichung einer Kommunikation zwischen dem Kraftfahrzeug und einer stationären Servervorrichtung; und
-
3 eine Skizze zur Veranschaulichung von extrahierten Fahrzeugdaten.
-
Bei dem im Folgenden erläuterten Ausführungsbeispiel handelt es sich um eine bevorzugte Ausführungsform der Erfindung. Bei dem Ausführungsbeispiel stellen die beschriebenen Komponenten der Ausführungsform jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden und damit auch einzeln oder in einer anderen als der gezeigten Kombination als Bestandteil der Erfindung anzusehen sind. Des Weiteren ist die beschriebene Ausführungsform auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
-
In den Figuren sind funktionsgleiche Elemente jeweils mit denselben Bezugszeichen versehen.
-
1 zeigt ein Kraftfahrzeug 10, bei dem sich zum Beispiel um einen Kraftwagen, insbesondere einem Personenkraftwagen handeln kann. Das Kraftfahrzeug 10 wird von einem Benutzer (nicht dargestellt) benutzt. Von außerhalb des Kraftfahrzeugs kann eine Servervorrichtung 11 aus dem Kraftfahrzeug 10 Fahrzeugdaten 12 extrahieren, die hierzu über eine Kommunikationsverbindung 13 aus dem Kraftfahrzeug 10 empfangen werden können. Die Kommunikationsverbindung 13 kann zum Beispiel über ein Mobilfunknetz oder das Internet 14 geführt sein. Die Kommunikationsverbindung 13 kann auch eine Funkverbindung 15 umfassen.
-
Die Servervorrichtung 11 kann zum Beispiel einen Computer oder mehrere Computer umfassen, die als Server an das Internet 14 angeschlossen sein können. Welche Fahrzeugdaten 12 aus dem Kraftfahrzeug 10 empfangen werden, kann durch die Servervorrichtung 11 mittels Auswahldaten 16 festgelegt werden, die über die Kommunikationsverbindung 13 an das Kraftfahrzeug 10 übertragen werden können
-
Die Extraktion der Fahrzeugdaten 12 kann durch eine Steuervorrichtung 17 stattfinden, die hierzu eine Kommunikationseinrichtung 18 und eine Gatewayeinrichtung 19 aufweisen kann. Die Kombinationseinrichtung 18 ist im Folgenden auch als netzwerkangebundene Vorrichtung NAD (Network Attached Device) bezeichnet. Die Kommunikationseinrichtung 18 kann die Funkverbindung 15 aufbauen oder bereitstellen. Hierzu kann die Kommunikationseinrichtung 18 zum Beispiel ein Mobilfunkmodul oder ein WLAN-Modul umfassen.
-
Die Gatewayeinrichtung 19 kann durch ein Gateway GW realisiert sein. Durch die Gatewayeinrichtung 19 können mehrere Kommunikationsbusse 20 des Kraftfahrzeugs 10 in an sich bekannter Weise gekoppelt sein. Beispielhafte Kommunikationsbusse sind in 1 angegeben (CAN, FlexRay, LIN, Ethernet). Über die Kommunikationsbusse 20 können Steuergeräte 21 des Kraftfahrzeugs 10 Nachrichten 22 austauschen. Die Gatewayeinrichtung 19 kann hierbei eine Protokollumsetzung (Gateway-Funktion) durchführen oder als Switch agieren.
-
Die Fahrzeugdaten 12 können auf der Grundlage der Nachrichten 22 erzeugt oder gebildet werden. Hierzu kann die Steuervorrichtung 17 eine zweistufige Filtereinrichtung 23 aufweisen, die eine erste Filterstufe 24 in der Gatewayeinrichtung 19 eine zweite Filterstufe 25 zum Beispiel in der Kommunikationseinrichtung 18 umfassen kann. Mittels der Auswahldaten 16 können die Filterstufen 24, 25 konfiguriert werden. Die Filterstufen 24, 25 können jeweils zum Beispiel als Programmmodul für eine jeweilige Prozessoreinrichtung der Gatewayeinrichtung 19 und der Kommunikationseinrichtung 18 ausgestaltet sein.
-
Durch die erste Filterstufe 24 können die Nachrichten 22 dahingehend gefiltert oder überprüft werden, ob darin enthaltene Nachrichtendaten 26 eines oder mehrere vorbestimmte Attribute 27 aufweisen, die durch die Auswahldaten 16 festgelegt sein können. Die erste Filterstufe 24 kann zum Beispiel einen fest programmierten oder vorgegebenen Vergleicher 28 aufweisen. Ein solcher Vergleicher kann auch zum Beispiel als ASIC (Application Specific Integrated Circuit) oder als FPGA (Field Programmable Gate Array) oder eines Programmcodes bereitgestellt sein. Ein Attribut 27 kann zum Beispiel angeben, dass es sich bei den Nachrichtendaten um ein vorbestimmtes Signal eines der Steuergeräte 21, zum Beispiel ein Sensorsignal, wie zum Beispiel ein Temperatursignal, oder ein Zustandssignal eines der Steuergeräte 21 handeln soll. Falls Nachrichtendaten 26 erkannt werden, die das entsprechende Attribut 27 aufweisen, können diese Nachrichtendaten kopiert und die kopierten Nachrichtendaten 26' an die zweite Filterstufe 25 weitergeleitet werden. Dies kann beispielsweise mittels des Switches erfolgen, die die kopierten Nachrichtendaten 26' an einen Anschluss der Kommunikationseinrichtung 18 weiterleiten kann.
-
Die zweite Filterstufe 25 kann eine Aggregation der kopierten Nachrichtendaten 26' durchführen, indem zum Beispiel überprüft wird, ob die unterschiedlichen kopierten Nachrichtendaten 26' insgesamt eine vorbestimmte Attributkombination 29 ergeben. Beispielsweise kann überprüft werden, ob ein Temperatursignal Signalwerte in einem vorbestimmten Werteintervall aufweist und ein Luftqualitätssignal Signalwerte in einem anderen, vorbestimmten Werteintervall aufweist. Nur falls diese Kombination aus Bedingungen erfüllt ist, also die Kombination aus Attributen gemäß der Attributkombination 29 vorliegt, werden diese kopierten Nachrichtendaten 26 als Fahrzeugdaten 12 über die Kommunikationsverbindung 13 an die Servervorrichtung 11 ausgesendet. Es kann auch vorgesehen sein, Nachrichtendaten 26' ohne weitere Bedingung als Fahrzeugdaten 12 auszusenden.
-
2 veranschaulicht, wie das Kraftfahrzeug 10 seinen Betrieb oder seine Benutzung an die Servervorrichtung 11 signalisiert. 2 zeigt ein Beispiel, bei welchem eine Vermittlungsvorrichtung 30 die Kommunikationsverbindungen 13 mehrerer Kraftfahrzeuge 10 zu der Servervorrichtung 11 bündelt oder koordiniert. Die Vermittlungsvorrichtung 30 kann ein Servercomputer des Internets 14 sein.
-
Bei Inbetriebnahme oder Start des Kraftfahrzeugs 10 sendet dieses über die Kommunikationsverbindung 13 seine Fahrzeugidentität VIN und signalisiert dass es in Benutzung genommen wurde („alive”) und fragt eine Sitzung „session” an, um für eine einzelne Benutzung oder Fahrt Fahrzeugdaten 12 zu ermitteln. Optional kann die Servervorrichtung 11 nun als Konfiguration „configuration” aktuelle Auswahldaten 16 an das Kraftfahrzeug 10 aussenden. Falls die vor der Sitzung „session” übertragenen Auswahldaten 16 noch aktuell sind, kann dieser Verfahrensschritt ausgelassen werden. Danach ist das Kraftfahrzeug 10 bereit, Fahrzeugdaten 12 für die aktuelle Sitzung „session” zu erfassen. Um bei der Übertragung der Fahrzeugdaten 12 eindeutig identifizieren zu können, um welche Fahrzeugdaten 12 es sich handelt, wird ein Sitzungsidentifikation „session_identifier” von der Servervorrichtung 11 definiert. Dies ermöglicht es, die Fahrzeugdaten 12 zwischenzuspeichern und erst zu einem späteren Zeitpunkt, beispielsweise nach der Fahrt oder nach mehreren Fahrten, über die Kommunikationsverbindung 13 zu übertragen. Dies kann zum Beispiel sinnvoll oder vorteilhaft sein, falls die Kommunikationsverbindung 13 über eine WLAN-Verbindung oder eine rein kabelgebundene Übertragung vom Kraftfahrzeug 10 aus erfolgen soll.
-
3 veranschaulicht, wie die Fahrzeugdaten strukturiert werden können. Um eine Abfolge aus kopierten Nachrichtendaten 26' z. B. eines Signals oder einer Signalquelle (Sensor oder Steuergerät 21) kombiniert oder zusammenhängend zu übertragen, wird zunächst ein Signal-Container 31 erzeugt, welcher einen Zähler „heartbeat”, eine Messzeit „timestamp” und eine Liste „list” auf einzelne Nachrichtendaten 26' enthalten kann. Danach kommt für die einzelnen erfassten Nachrichtendaten 26' ein jeweiliger Signaleintrag 32 („signal”), welcher eine Nachrichtenkennung „signal_id”, die eigentlichen kopierten Nachrichtendaten 26' („value”) und den Messzeitpunkt als relativer Zeitversatz „delta” zu der Messzeit „timestamp” angeben kann. Zur Veranschaulichung sind beispielhaft Datentypen für die Daten angegeben: uint16_t, uint32_t, uint64_t.
-
Die so geschaffene Möglichkeit beliebige Fahrzeugdaten eines im Feld befindlichen Fahrzeuges zu extrahieren ermöglicht es, nicht nur neue Dienste in einer Servervorrichtung zu entwickeln, die dem Benutzer nutzen, sondern auch Fahrzeugdaten zu extrahieren, beispielsweise bei Entwicklung, Diagnose und Vertrieb von Kraftfahrzeug unterstützen. Weiterhin ist es möglich, vorhandene Datenquellen mit neuen Fahrzeugdaten zu Fusionieren oder zu erweitern, etwa die eine digitale, zeitlich veränderliche (dynamische) Navigations-Karte.
-
Die Auswahl der Fahrzeugdaten 12 kann dabei zusätzlich an Bedingungen geknüpft werden, die in der Steuervorrichtung evaluiert werden, wie etwa Geofences, Tastendrücke, Fahrzeug-Ausstattung und/oder vorausgegangene Ereignisse. Sie werden als Attribute 27 definiert, welche die zu kopierenden Nachrichtendaten 26' aufweisen müssen.
-
Um die Auswahl und Extraktion beliebiger Fahrzeugdaten von Fahrzeug-Bussen zu ermöglichen, ist eine konfigurierbare Softwarekomponente auf dem Gateway-Prozessor vorgesehen, die dynamisch umkonfiguriert werden kann.
-
Weiterhin gibt es die Möglichkeit, Auswahldaten 16 als neue Konfigurationen von einer Servervorrichtung an das Fahrzeug zuübertragen. Die Komponenten der Steuervorrichtung 17 können generisch implementiert sein, um die Auswahl und Extraktion beliebiger Fahrzeugdaten 12 zu ermöglichen. Die Konfiguration sollte pro Kraftfahrzeug 10 angelegt werden können. Die Auswahl der zu übertragenen Fahrzeugdaten 12 kann so für einzelne oder viele Fahrzeuge in einem Kampagnen-Management geplant werden.
-
Die Übertragung der Fahrzeugdaten 12 kann mit einem geringen Overhead und niedrigen Latenzen von statten gehen, um eine möglichst ökonomische Übertragung zu erlauben sowie die zeitnahe Verarbeitung für Echtzeitanwendungen (bspw. Lokale-Gefahren-Warnung).
-
Weitere Funktionen, die die Fahrzeugdaten auf der Steuervorrichtung vorselektieren (zum Beispiel nur jedes n-te Signal, Schwellwert-Überschreitung, Geofences, Durchschnitt, Abweichung) reduzieren das übertragene Datenvolumen zusätzlich.
-
Das System besteht hierzu aus mehreren Komponenten, die sich auf dem gleichen Steuergerät oder auf mehreren Steuergeräten befinden können. Abhängig von der Architektur können mehrere der hier beschriebenen Komponenten in eine Komponente zusammengeführt werden.
-
Eine Komponente (1) stellt Online-Konnektivität zur Verfügung (Zugang zu einer zentralen Datenverarbeitungseinheit, bzw. der Servervorrichtung). Diese Komponente ist verantwortlich für die Kommunikation mit der Servervorrichtung und der Etablierung einer sicheren Verbindung (Authentifizierung und Verschlüsselung).
-
Eine weitere Komponente (2) ist dafür verantwortlich, die Messkampagnen von der zentralen Datenverarbeitungseinheit anzunehmen, zu speichern, zu interpretieren und die Filter Konfiguration umzusetzen.
-
Die Filterung kann in mehreren Stufen stattfinden (Komponente 3 oder 5). Eine andere Komponente (3) bereitet die Fahrzeugdaten nach, inkl. Aggregationsfunktionen sowie inhaltlicher oder bedingungsbasierten Filterung und bringt die extrahierten Bus-Daten in ein für die Servervorrichtung leicht zu verarbeitendes Datenformat.
-
Eine andere Komponente (4) überprüft die verfügbare Bandbreite und puffert oder priorisiert die zu übertragenden Daten. Eine Pufferung der Fahrzeugdaten kann auch erfolgen, um Daten-Paketengrößen in Richtung Servervorrichtung zu optimieren.
-
Eine Komponente (5) hat Zugriff auf eine oder mehrere Fahrzeugbusse, und sammelt selektiv Fahrzeugdaten auf Basis der vorgegebenen Filterungsregeln. Ein wichtiges Unterscheidungsmerkmal dieser Erfindung, ist die Integration eines Moduls in Komponente (5), das es erlaubt, von den fest einprogrammierten Daten, die über die Fahrzeugbusse übertragen werden, durch Filter ausgewählte Inhalte zu extrahieren und den anderen Modulen für die Verarbeitung zur Verfügung zu stellen. Ein weiteres wichtiges Merkmal ist Annahme und Interpretation einer von der Servervorrichtung übertragenen Konfiguration gemäß der Auswahldaten 16. Diese wird in der Servervorrichtung generiert und beinhaltet z. B. Filter.
-
Eine mögliche Umsetzung wird im Folgenden beschrieben:
Die Steuervorrichtung beinhaltet zwei zentrale Komponenten. Den Gateway-Prozessor und den NAD-Prozessor.
-
Das Gateway hat die Aufgabe Nachrichten einzelner Busse entgegenzunehmen und abhängig von einer einprogrammierten Konfiguration auf an andere Busse zu replizieren. Weiterhin wird bereits heute eine feste Auswahl an aus den Nachrichten extrahierten Signalen an das NAD übertragen. Zudem können für festgelegte Funktionen Nachrichten generiert werden.
-
Ziel der ODC-Funktion (Online-Data-Collector – Echtzeit-Datensammler) ist es, unter Beibehaltung des vorhandenen Funktionsumfangs eine generische Software-Komponente in die Steuervorrichtung zu integrieren, die es ermöglicht beliebige Fahrzeugdaten von den Fahrzeug-Bussen zu extrahieren und an ein Backend zu senden.
-
Hierzu ist es notwendig, den Gateway-Prozessor so zu konfigurieren, dass er ausgewählte Bus-Daten aus Nachrichten extrahiert, die auf den Fahrzeug-Bussen ausgetauscht werden. Diese Fahrzeugdaten müssen an den NAD-Prozessor übertragen werden. Dies kann via SPI (Serial Peripheral Interface) innerhalb der Steuervorrichtung von Gateway-Prozessor zum NAD-Prozessor oder via CAN zwischen Gateway GW und eine baulich getrennten Kommunikationseinrichtung 18 geschehen.
-
Die NAD-Software-Komponente bietet weitere Funktionen an, um die Fahrzeugdaten zu Aggregieren und nur unter weiteren Bedingungen an das Backend zu versenden. Weiterhin werden die Fahrzeugdaten in optimale Paketgrößen zusammengefasst und komprimiert.
-
Die Kommunikation von Fahrzeug zu Backend wird durch einen Message-Broker (z. B. MQTT – Message Queue Telemetry Transport oder AMQP – Advanced Message Queuing Protocol) realisiert. Dieser stellt eine SSL (Secure Socket Layer) gesicherte Verbindung zum Backend bereit.
-
Dem Fahrzeug wird eine Sitzungskennung mitgeteilt (zwecks Anonymisierung oder Pseudonymisierung der zu sendenden Daten) sowie bei Bedarf eine aktualisierte Konfiguration. Diese wird auf dem NAD-Prozessor gespeichert.
-
Die Konfiguration beinhaltet eine Versionskennung sowie eine Liste von zu extrahierenden Fahrzeug-Daten. Eine Signal-Konfiguration besitzt eine eindeutige vom Backend vergebene Kennung, nämlich die signal_id. Diese wird beim Versenden von Fahrzeugdaten an das Backend wiederverwendet um ein Datum (im weiteren Signal genannt) im Backend zu identifizieren und weiter zu verarbeiten: die Umrechnung in physikalische Werte (Skalierung), Verknüpfung zu Meta-Informationen wie Einheit des Signals und einer ausführlichen Beschreibung.
-
Die Attribute bus_id und channel_id bezeichnen Bus und Kanal auf dem sich ein Signal befindet, also bspw. {(CAN, 1), (CAN, 2), (Flexray, A), ...}. Die Parameter frame_{id, start_bit, bit_len}, signal_{start_bit, bit_len), mux_{start_bit, bit_len, select} spezifizieren abhängig von dem gewählten Bus, wo sich ein Signal in welcher Nachricht (frame) befindet und wie diese Nachricht ausgewählt werden kann.
-
Die Attribute fct, param{1, 2, 3, 4) ermöglichen es Funktionen aus zu wählen die entweder von dem Gateway-Prozessor oder NAD-Prozessor auf dieses Signal angewendet werden.
-
Einfache Funktionen die keinen Speicher benötigen (etwa Durchschnitt bilden, Schwellwert) sind auf dem Gateway-Prozessor realisiert und werden mit dem Enumerator fct angegeben. Mit den Parametern 1–4, können die Funktion weiter parametriert werden.
-
Die Signale werden auf dem NAD-Prozessor zu sogenannten Signal-Containern zusammengefasst. Dies ermöglicht zum einen bessere Kompressionsraten, zum anderen werden Redundanzen innerhalb der Signal-Attribute reduziert.
-
Ein Signal-Container beinhaltet ein heartbeat (ein immer neu beginnender Zähler der es ermöglicht Datenverluste im Backend zu erkennen), einen vollständigen Zeitstempel und eine Liste von Signalen.
-
Das „delta” im Signal 32 beinhaltet die Differenz zum Zeitstempel timestamp des Signal-Containers 31. Die signal_id identifiziert das Signal/Datum eindeutig mit der in der Signal-Konfiguration angegebenen Kennung. value beinhaltet das extrahierte Datum. Dieser Datentyp wurde vorläufig als uint32 festgelegt. Eine flexible Datenlänge ist vorzuziehen um beispielsweise ganze Bus-Nachrichten zu selektieren. Dieser Roh-Wert wird mit Hilfe der signal_id im Backend identifiziert, zu einem physikalischen Wert skaliert und in einer Datenbank gespeichert.
-
Um die Übertragung festgelegter Signale abzusichern, werden Signale von des ODC in verschiedenen Signal-Containern aggregiert. Ein Signal-Container 31 wird mit geringer QoS (Quality-of-Service) versendet, ein weiterer Signal-Container 31 mit erhöhter QoS. Somit können bei schlechter Verbindung priorisierte Fahrzeugdaten 12 wie Koordinaten und Geschwindigkeit übertragen werden. Die QoS ist ebenfalls Teil einer Signal-Konfiguration gemäß der Auswahldaten 16. Diese Funktionalität kann mittels MQTT bereit gestellt werden.
-
Des Weiteren kann als Teil der Signal-Konfiguration festgelegt werden, ob die Fahrzeugdaten persistent gespeichert bzw. gepuffert werden müssen, um auch nach einem neuen Klemme-15-Zyklus übertragen werden zu können. Das bringt ein Vorteil, falls die Sammlung der Fahrzeugdaten in eine Tiefgarage erfolgen soll.
-
Die Steuervorrichtung kann sowohl für neue Server-Dienste wie Schwarmdatenfunktionen und/oder lernende digitale Karte genutzt werden, aber vor allem auch als konfigurierbarer Datensammler über die gesamte Fahrzeugflotte hinweg. Die flexibel und vergleichsweise günstig erhobenen Fahrzeugdaten unterstützen Entwicklung-, Diagnose- sowie Vertrieb bei ihrer Arbeit. Die Funktionen zur Vorselektion bestimmter Daten erlauben es, zu übertragende Fahrzeugdaten vorab zu reduzieren um Anforderungen möglichst genau zu erfüllen.
-
Insgesamt zeigt das Beispiel, wie durch die Erfindung eine dynamische Auswahl und Extraktion von Fahrzeugdaten in einem Fahrzeug und ein anschließender Versand an einen Server durchgeführt werden kann.