Es war einmal, Mitte der 90er Jahre, während der Einführung des Pentium Pro-Prozessors, als einer der Gründer von Intel Gordon Moore feststellte: „Wenn sich die Automobilindustrie mit der Entwicklungsrate der Halbleiterindustrie entwickeln würde, könnte Rolls-Royce heute eine halbe Million fahren Meilen pro Gallone Benzin, und es wäre billiger, es wegzuwerfen, als für das Parken zu bezahlen. “ Aber vielleicht macht die Automobilindustrie bereits heute einen riesigen Entwicklungsschritt in Richtung einer grundlegenden Änderung der Kraftstoffart und der Technologie für das Autofahren. In jüngster Zeit werden gewerbliche Elektroautos und wasserstoffbetriebene Autos vorgestellt, und der Autopilot wird zum gewünschten Bestandteil der elektronischen „Befüllung“ des Fahrzeugs. Zum größten Teil ist nur ein schneller Durchbruch in der Automobilindustrie auf das Aufkommen zuverlässiger und sicherer Lösungen zurückzuführen, die auf intelligenter Elektronik für Bordsteuerungssysteme für Kraftfahrzeuge basieren. Aber wo ist das Internet im Auto im Alltag, wo ist die Technologie des Internet der Dinge (IoT) sowie das bekannte Konzept eines mit dem Netzwerk verbundenen Autos (Connected Car)?
Der Rolls-Royce 103EX. Rolls-Royce enthüllt fahrerloses, elektrisches Konzeptauto mit Seidensitz - The Telegraph .Tatsächlich existieren alle oben genannten Technologien bereits und werden jedoch nur in ausreichend getrennten Lösungen verwendet. Der Grund dafür sind die strengen Sicherheitsanforderungen, die beim Start einer neuen Technologie oder Lösung im Transportwesen unbedingt umgesetzt werden müssen. Daher kann nicht gesagt werden, dass Sie beim Einsteigen in ein Auto mit einem Smartphone automatisch eine IoT- oder Connected Car-Lösung erhalten. In den meisten Ländern, und das ist sehr logisch, ist die Verwendung eines Smartphones oder anderer Geräte während der Fahrt verboten. Wenn wir über Sprachassistenten sprechen, sind sie in den meisten Fällen sowohl für den Fahrer als auch für die Passagiere ärgerlich und ablenkend. Das Media Center, zusätzliche Videobildschirme und eine hervorragende Akustik sind natürlich sehr attraktive Komponenten eines modernen Autos. Aber ich möchte mich auf das Wort einlassen und feststellen, dass es gut ist, die Musik zu dämpfen und einfach aus dem Fenster auf die Straßen oder die vorbeiziehende Natur zu schauen. Natürlich gibt es Staus, aber in dieser Veröffentlichung geht es nicht nur darum, einige ethische Komponenten zu erwähnen oder die Probleme der Informationsflut von Verkehrsteilnehmern zu berücksichtigen, sondern auch die „unsichtbaren“ Komponenten von IoT-Technologien, die bereits in Fahrzeugen verwendet werden und für eine breite Verwendung verfügbar sind.
Eine interessante und vielversprechende Lösung für das Automobil-IoT ist heute die Open Connected Car-Plattform von Mojio. Diese Plattform mit einer offenen Schnittstelle (API) bietet einen Cloud-Service für "vernetzte" Autos, und kommerzielle Angebote sind bereits verfügbar. Beispielsweise bietet der auf dieser Plattform basierende Telekommunikationsriese T-Mobile den Dienst SyncUP DRIVE an. Dies ist eine Hardware-Software-Lösung, die auf einem tragbaren Gerät basiert, das über den
OBD-II- Diagnosestecker und die entsprechende mobile Anwendung mit dem Auto verbunden ist. Dank dieses Ansatzes ist es möglich, die Betriebsparameter Ihres Autos effektiv kontinuierlich zu überwachen und jederzeit den aktuellen Standort zu ermitteln. Die Anwendung kann über Fahrstile sprechen, vor vorbeugender Wartung warnen und den Besitzer über Probleme mit dem Fahrzeug informieren. Darüber hinaus stellt SyncUP DRIVE einen Wi-Fi-Zugangspunkt im Auto bereit, der über das Hochgeschwindigkeitsprotokoll des mobilen LTE-Standards zugänglich ist.
Die Open Connected Car-Plattform - MojioEin Standard-OBD-II-Diagnosestecker wird zum Anschließen an das Fahrzeug verwendet. Die meisten nach 1996 produzierten Serienautos haben diesen Stecker bereits. Obwohl ein solcher Diagnosestecker standardisiert ist, unterstützt er mehrere Protokolle verschiedener Motorsteuerungssysteme (verschiedene Kontakte am Stecker werden physisch verwendet), die das IoT-Kommunikationsmodul kennen muss. Dementsprechend kann es in verschiedenen Automarken unterschiedliche interne Busse geben, um Diagnosedaten vom Motorsteuergerät (ECU - Electronic Control Unit) zu erhalten. Für die Arbeit mit dem SyncUP DRIVE-Dienst wird eine Lösung angeboten, die auf dem ZTEWelink VM6200S-Modul basiert.
Das VM6200S-Modul unterstützt die Verbindung über das mobile LTE-Protokoll, enthält einen integrierten 3-Achsen-Beschleunigungssensor und ein 3-Achsen-Gyroskop, einen GPS-Signalempfänger, einen OBD-II-Chip und unterstützt die Protokolle ISO 15765-4 (CAN) und ISO 14230-4 KWP (Keyword Protocol 2000), ISO 9141-2 (Chrysler-, Euro- und asiatische Automobile), SAE J1850 PWM (Ford-Fahrzeuge), SAE J1850 VPW (GM-Fahrzeuge). Auf diese Weise können Sie mit dem Modul einen Wi-Fi-Zugangspunkt 802.11 b / g / n / bereitstellen, Ereignisse während der Fahrt registrieren, eine Motordiagnose durchführen, den Kraftstoffverbrauch bewerten usw. Und da es sich bei den Mojio-Partnern um Amazon Alexa-Projekte, IFTTT-Dienste und andere handelt, eröffnen sich Entwicklern und Integratoren von Lösungen alle Möglichkeiten, ein soziales IoT auf der Basis eines „vernetzten“ Autos als Teil einer solchen Infrastruktur zu schaffen.
VM6200S4G OBD-Gerät - ZTEWelink CorporationAber nicht nur SyncUP DRIVE ist jetzt auf dem Markt, zum Beispiel bieten viele Unternehmen etwas Ähnliches an. Natürlich ist das kürzlich vorgestellte Samsung Connect-Autogerät einer dieser interessanten Vorschläge, die das Auto in ein verbundenes Gerät verwandeln. Die Lösung von Samsung nutzt das Mobilfunknetz der 4G LTE-Generation auf die gleiche Weise und stellt einen Wi-Fi-Zugangspunkt im Auto bereit: 802.11 a / b / g / n. Das automatische Verbindungsgerät unterstützt Bluetooth v4.1, enthält einen GPS-Empfänger, einen Beschleunigungssensor und ein Gyroskop und basiert auf einem 4-Kern-Prozessor mit einer Frequenz von 1,2 GHz und einem Tizen-Betriebssystem. Es sei darauf hingewiesen, dass der koreanische Elektronikriese Samsung über die Sicherheit des Systems durch den Einsatz von Samsung Knox spricht - einer mobilen Lösung mit Schutz auf Unternehmensebene. Tatsächlich ist Samsung Knox eine Software- und Hardwarelösung, um den Schutz des Android-Betriebssystems zu verbessern.
Samsung Connect AutoSomit wurden die Informationen, die durch Lesen von Daten von
OBD-II erhalten wurden , die aktuellen Koordinaten des Standorts vom GPS-Empfänger und die Parameter der Dynamik des Fahrzeugs, die von den Kreiselsensoren zum aktuellen Zeitpunkt und de facto erhalten wurden, zur Grundlage für das Verwandeln eines Fahrzeugs IoT-Gerät. Darüber hinaus können Sie Szenarien für die Verwendung aggregierter Informationen aus Autos in Betracht ziehen, verschiedene Big-Data-Verarbeitungstechniken anwenden und die Aussichten einer Kombination solcher Daten mit Informationen aus der Infrastruktur intelligenter Straßen nicht vergessen. Bevor Sie jedoch mit der Verarbeitung der Daten beginnen, müssen Sie diese erst abrufen. In dieser Veröffentlichung konzentrieren wir uns daher auf die Hardwarekomponente der Implementierung von Arbeitsszenarien auf der Ebene des Diagnosesteckers OBD-II.
Auf die eine oder andere Weise, aber alle zuvor diskutierten Lösungen sind fortschrittlichere Industrieprodukte im Vergleich zu einem herkömmlichen Diagnosecodeleser, der auf dem
ELM327- Chip des kanadischen Unternehmens Elm Electronics basiert.
ELM327 ist ein universeller Konverter von Protokollen, die in
Autodiagnosebussen verwendet werden, in ein serielles Protokoll wie RS-232.
Blockdiagramm eines ELM327 v2.2-Chips - Elm ElectronicsDie Interaktion mit ELM327 erfolgt ĂĽber Standard-AT-Befehle, die vom Chip unterstĂĽtzt werden. Sie mĂĽssen nur den Austausch von Textnachrichten mithilfe des
RS-232- Protokolls organisieren, das bereits zu einem Klassiker geworden ist (oder besser gesagt
UART , da es sich nur um Datenfluss handelt, nicht um Signalpegel). Die physische Verbindung auf niedriger Ebene selbst über USB, Bluetooth oder Wi-Fi wird einfach mithilfe von UART-Chips des seriellen Konvertierungsprotokolls implementiert. Es stellt sich heraus, dass es ausreicht, um das Auto in ein IoT-Gerät zu verwandeln, nicht zu vergessen, die Spannungspegel zu koordinieren, den ELM327-Chip mit dem OBD-II-Diagnosestecker zu verbinden und beispielsweise den seriellen Schnittstellenkonverter am Ausgang dieses Chips in Bluetooth oder Wi-Fi zu stecken. Anschließend können Sie die Fahrzeugdiagnose von Ihrem Smartphone aus „lesen“. Es gibt jedoch viele solcher vorgefertigten Module oder Blöcke auf dem Markt. Der Preis für AliExpress liegt zwischen 2,50 und 10 US-Dollar. Obwohl das Modul nicht viel Strom verbrauchen sollte, ist es sehr praktisch, wenn der Ausschaltknopf bereits vorhanden ist. Aus sicherheitstechnischer Sicht ist das übrigens auch nicht schlecht.
Mini ELM327 Bluetooth OBD-II Autodiagnoseadapter V1.5Jetzt können Sie das Standard-Bluetooth-OBD-II V1.5-Modul Mini ELM327 anschließen (es ist interessant, dass in vielen Quellen empfohlen wird, Module mit der alten Firmware-Version 1.5 und keine neuen mit Version 2.2 zu verwenden, d. H. Als Argument für einen stabileren Betrieb des Moduls auf dem alten Firmware und Unterstützung für mehr Autos, aber dies ist sehr subjektiv) und experimentieren Sie mit dem Anschließen des Smartphones an das ausgewählte Modul. Beispiel: Für die Android-Plattform können Sie eines der beliebtesten Diagnoseprogramme Torque Lite (OBD2 & Car) oder Torque Pro (OBD 2 & Car) verwenden. sowie alles n einfacher zu bedienen, oder ihre Leistungen.
Die Torque Pro-Anwendung läuft auf Android.Übrigens möchte ich einen sehr praktischen
MockUPhone- Dienst mit kostenlosem
Modell moderner
Geräte erwähnen, der für die Erstellung eines Screenshots des Torque-Programms sehr nützlich war. Dies ist jedoch eine leichte Abweichung vom Thema der Veröffentlichung. Es ist zu beachten, dass sich in den meisten Fällen der OBD-II-Stecker, an den das Diagnosemodul angeschlossen ist, unter der Lenksäule des Fahrzeugs befindet.
Erste Schritte mit OBD-II - SparkFun ElectronicsEs ist klar, dass es viele vorgefertigte Lösungen gibt. Wenn wir jedoch über die Entwicklung eines Dienstes sprechen, der auf IoT oder genauer gesagt auf dem Connected Car-Konzept basiert, ist es recht praktisch, den integrierten Informationsnetzwerk-Emulator des Fahrzeugs zu verwenden, um nicht jedes Mal zum Auto zu laufen. Zum Beispiel bietet Mojio einen Online-Autosimulator an, der mit seiner API arbeitet und den Cloud-Service IBM Watson IoT Platform als Beispiel verwendet. Der Artikel „
Senden von Fahrzeugdaten an die IBM Watson IoT-Plattform - IBM DeveloperWorks Recipes “ wird zum Senden von Daten aus einem Transport an die Cloud vorgeschlagen bedeutet, eine mobile Anwendung zu verwenden, z. B. "
IBM IoT fĂĽr Automotive - OBDII-Flottenmanagement-App fĂĽr Android ", die mit dem bereitgestellten Cloud-Dienst "
IBM IoT für Automotive (Bluemix) - Flottenmanagement- Starteranwendung " interagiert. Wenn Sie jedoch nicht von diesen Projekten abgelenkt werden, können Sie dies tun Verwenden Sie nur einen Datenemulator: "
Car Simulator ". Zwar emulieren alle diese Lösungen bereits empfangene Daten, und wir interessieren uns für den Emulator des integrierten Informationsnetzwerks. Die bekannteste Lösung dieser Art ist ECUsim 2000, dessen Kosten bei 200 US-Dollar beginnen und von der Anzahl der unterstützten emulierten Protokolle abhängen.
ECUsim 2000 OBD Simulator - ScanToolNatürlich kann ein professioneller Emulator nicht ersetzt werden, aber Enthusiasten und Geeks könnten an der unabhängigen Implementierung eines weniger komplexen Projekts auf einem Arduino oder Raspberry Pi interessiert sein. Sie können sich beispielsweise auf die gängigste CAN-Schnittstelle (Controller Area Network) beschränken. Der von Bosch vorgeschlagene
CAN- Standard machte einst erhebliche Fortschritte bei der Entwicklung von Systemen für die Automobilelektronik. Wenn ein Auto erst kürzlich im Internet aufgetaucht ist, gibt es das Konzept eines Netzwerks innerhalb eines Autos seit Mitte der 80er Jahre. Die Idee ist sehr einfach und als Ethernet einen Durchbruch in Computernetzwerken erzielte, wurde CAN zur Grundlage für zuverlässige Kommunikation im Auto.
Ein Arduino-basiertes CAN-Bus-Netzwerk - Henry's BenchBisher flossen in einem Auto in der Regel Busse und Kabel verschiedener angeschlossener Module und Geräte zum zentralen Motorsteuergerät. Der serielle Zweidraht-CAN-Bus ermöglichte die Implementierung bereits unabhängiger intelligenter Module. So wurde beispielsweise die zentrale Steuereinheit nur eines der Module, die tatsächlich über das Netzwerkprotokoll miteinander „kommunizieren“. Dies reduziert den Verkabelungsaufwand im Auto erheblich.
Im Gegensatz zu Ethernet ist das CAN-Netzwerk viel zuverlässiger, was nicht nur in der Automobilindustrie, sondern auch in industriellen Automatisierungssystemen, Smart-Home-Lösungen usw. zum Einsatz kam. Auf der physischen Ebene verwendet CAN eine Zweidrahtleitung, CAN Lo und CAN Hi, die die in einem Paket gepackten Daten bitweise überträgt. An den Enden des Busses befinden sich passende Widerstände von 120 Ohm, und zur Unterdrückung von Störungen sollte auch ein Kabelbaum verwendet werden. Die Datenübertragungsrate kann 1 Mbit / s erreichen.
Ein Controller Area Network (CAN-Bus)Die Datenübertragung zum CAN-Bus erinnert etwas an das Publisher-Subscriber-Modell, bei dem jedes Gerät am Bus eine eindeutige Kennung hat. Wenn ein Gerät Daten überträgt, hören alle anderen zu und treffen eine Entscheidung auf der Grundlage dieser Kennung - benötigen sie diese speziell? Daten zu empfangen und zu verarbeiten oder nicht. Im Allgemeinen ist das Protokoll ziemlich kompliziert, aber für einen Mikrocontroller oder Mikroprozessor ist es unwahrscheinlich, dass er eine CAN-Implementierung schreiben und über die Merkmale des physischen Datenübertragungsmediums nachdenken muss. Um diese Probleme zu lösen, gibt es bereits vorgefertigte Hardware-Bus-Controller, und für die Pegelanpassung werden häufig integrierte Konverter verwendet. Zum Beispiel der MCP2515-Controller mit SPI und der Transceiver (Matching Level Chip) MCP2551. Auf der Grundlage dieser Mikroschaltungen wurde das auf der
Instructable- Plattform veröffentlichte Arduino OBD2 Simulator-Projekt vorgeschlagen. Zur Implementierung benötigen Sie nur das Arduino UNO-Board und CAN-BUS Shield, z. B. Seeed Technology.
Experimente mit dem Arduino OBD2 SimulatorGrundsätzlich schadet bei der Entwicklung eines OBD-II-Datenemulators eine 12-V-Gleichstromversorgung für das ELM327-Modul sowie ein OBD-II-Anschluss nicht. Der No-Name-Wandler DC-DC-USB-TO-12V kann das Problem jedoch durchaus lösen, da Möglicherweise stehen jedem Entwickler für das Internet der Dinge und nicht nur für 5 V mehrere Netzteile zur Verfügung. Für den Anschluss an OBD-II sind zwei Informationsdrähte CAN_H und CAN_L sowie das Vorhandensein von 12 V erforderlich. Wie bereits erwähnt, sind 12 V nur erforderlich, um die Funktionsfähigkeit des ELM327-Moduls sicherzustellen.
CAN-BUS Shield V1.2 - Seeed Development Limited WikiAuf der CAN-BUS Shield-Erweiterungskarte ist es sehr praktisch, nicht den D-SUB-Anschluss, sondern lediglich einen Klemmenblock fĂĽr zwei Kontakte (CAN_H, CAN_L) zu verwenden. Unter dem Gesichtspunkt der Entwicklung von Software-Code sollte beachtet werden, dass die Prototyp-Enthusiasten auf
GitHub gepostet haben. Jetzt haben sich die Seeed-Boards geändert, und für den MCP2515-Controller ist es auf jeden Fall besser, neue Treiber aus demselben
Seeed-Studio zu verwenden . Natürlich muss das ursprüngliche Programm für die neuen Treiber leicht geändert werden, aber dies sind einige Minuten.
Arbeiten mit CAN-BUS in einer Arduino IDE basierend auf dem kostengünstigen OBD2 ECU SimulatorDas betrachtete Beispiel ist jedoch sehr primitiv, da alle über das OBD-II-Protokoll gesendeten Parameter einfach zufällig generiert werden, keine Verbindung zwischen den Motorbetriebsparametern usw. besteht. Als Fortsetzung des Projekts ist die Entwicklung einer Anwendung ähnlich der Freematics OBD-II Emulator GUI offensichtlich. Dies ist eine Open Source-
Grafikshell , die in der
Freematics OBD-II Emulator- Hardwarelösung verwendet wird.
Freematik OBD-II Emulator GUI - FreematikNachdem ein auf Arduino basierendes Modul zusammengestellt wurde, das die Arbeit mit CAN ermöglicht, ist es durchaus möglich, einen OBD-II-Emulator zu erstellen, da das Diagnoseprotokoll gut beschrieben ist und es nicht schwierig ist, es zu implementieren. Es ist zu beachten, dass die Interaktion zwischen dem Mikrocontroller und dem integrierten CAN-Bus eine völlig andere Aufgabe ist und Sie verstehen müssen, dass die internen High-Level-Protokolle dieses Busses nicht von den Automobilherstellern dokumentiert werden und andererseits nicht in das interne Gerät der Automobilelektronik eingebettet werden sollten, so dass in keiner Weise die Sicherheit von Fahrzeugen verringern. Wenn wir allgemein über CAN sprechen, ist es durchaus möglich, das übergeordnete offene CANopen-Protokoll zu verwenden, um Ihre Geräte basierend auf diesem Bus zu entwickeln.
Es bleibt der Fall für kleine - ein wenig Freizeit und Vergnügen, um die Entwicklung Ihres Codes durchzuführen. Stimmt, wo ist diese Zeit am Ende des Jahres zu finden? Aber wir werden optimistisch sein. In Bezug auf die Verwendung eines solchen OBD-II-Emulators ist die direkteste Richtung die Entwicklung eines eigenen Moduls für den Diagnosestecker. Sie können beispielsweise das offene Carloop-Projekt als Ausgangspunkt nehmen, mit dem ein Modul zum Verbinden des Autos mit der Cloud mithilfe von 3G-, Wi-Fi- oder Bluetooth-Technologien erstellt werden soll.
Carloop BluetoothDas Carloop-Projekt basiert auf der Verwendung von Karten: Particle Photon (basierend auf dem Cypress BCM43362 Wi-Fi-Modul, das 802.11b / g / n unterstützt; die ARM Cortex M3-Controller-Familie - STM32F205 mit einer Frequenz von 120 MHz; 1 MB Flash-Speicher; 128 KB RAM) und Electron (Karten mit Unterstützung für die Verbindung mit einem 3G / 2G-Mobilfunknetz). Die Partikelplattform selbst ist sehr interessant, da sie auf dem Cloud-basierten IoT-Geräteverbindungsdienst basiert, einer Cloud-basierten IDE für die Entwicklung, die beispielsweise auf Photon-Boards basiert, die eine ähnliche Sprache wie C / C ++ für Arduino verwenden. Tatsächlich ist Partikel ein separates Thema für die Veröffentlichung, und das Carloop-Projekt verdient definitiv besondere Aufmerksamkeit von den Enthusiasten des Autos als verbundenes IoT-Gerät.
Indem Sie das Auto mit dem Internet und den IoT-Diensten verbinden, können Sie viele Szenarien implementieren, die zweifellos zur Benutzerfreundlichkeit von Fahrzeugen beitragen, den Komfort erhöhen und einfach eine effektive Lösung für alltägliche Probleme bieten, einschließlich der Lösung von Transportmitteln. Beispielsweise können Daten zum Fahrstil, zur Zuverlässigkeit der Motor- und Fahrzeugkomponenten von Versicherungsunternehmen bereits berücksichtigt werden. Der aktuelle Standort des Autos ist für Taxidienste und Mietwagen relevant. IoT, , , - .
, – OBD-II, , . . , Connected Car, « » , , , IoT . .
:
—
Car Hacking: ? –—
- 25 ! – Computerworld—
T‑Mobile SyncUP DRIVE – T-MOBILE—
ZTE Mojio – ZTE Corporation—
Samsung Knox – SAMSUNG—
CAN – «»—
— – IBM developerWorks—
Vehicle telematics analytics using Watson IoT Platform Cloud Analytics – IBM developerWorks Recipes—
CAN CANopen –—
CANopen –—
Arduino – Geektimes—
Wiring the MCP2515 Controller Area Network CAN BUS Diagnostics – 14CORE—
Arduino OBD2 ELM327 I2C-LCD HC05 Bluetooth – Instructables—
Android OBDII –