let’s dev GmbH & Co. KG - Die Marke für wegweisende Individualsoftware

Blog

Top!

let’s dev | Scroll to top
let’s dev | Scroll to next content item

Hello

let’s dev | Scroll to previous content item
let’s dev Blog | CAN2BLE
by Raphael
24. September 2020

CAN2BLE

Im folgenden Blogbeitrag soll es um die CAN2BLE Schnittstelle und speziell ihrer Anwendung in der App Entwicklung gehen. Hierfür wird zunächst ein grober Überblick über das CAN-Protokoll und Bluetooth Low Energy gegeben werden. Anschließend sollen beispielhaft zwei Anwendungsfälle für die CAN2BLE Technologie angerissen werden, die auf Erfahrungen beruhen, die wir bei der Entwicklung von Projekten mit CAN2BLE gewonnen haben.

CAN

Das Controller Area Network (CAN) ist eines der gängigsten Bus-Protokolle in der Kraftfahrzeugindustrie. Es wurde 1986 von Bosch vorgestellt. Der Hauptantrieb für die Entwicklung war die Reduzierung von Kabeln in Kraftfahrzeugen und die damit verbundene Kostensenkung bei der Herstellung. Seit 1993 wird CAN in der ISO 11898 standardisiert und regelmäßig an die neuen technischen Gegebenheiten angepasst. Die CiA (CAN in Automation) kümmert sich um die Weiterentwicklung des CAN-Standards. Heute verwenden viele Kraftfahrzeuge und Industriegeräte den CAN-Standard.

Das CAN-Protokoll definiert die Datenübertragung auf der Bitübertragungsschicht und der Sicherungsschicht des OSI 7 Schichten-Modells. Im Folgenden soll ein grober Überblick über die Funktion von CAN gegeben werden.

Da CAN hauptsächlich dafür verwendet wird, mehrere elektronische Steuereinheiten zu verbinden, die alle Daten senden und empfangen müssen, wird eine Multi-Master-Bus Architektur verwendet. Das bedeutet, dass alle Knoten (z. B. eine Steuereinheit) auf dem Bus lesen und schreiben können. Um Kollisionen aufzulösen, die durch den gleichzeitigen Zugriff mehrerer Knoten auf den Bus entstehen können, wird das CSMA/CR Verfahren verwendet. Es sorgt dafür, dass nur der Knoten mit der höchsten Nachrichtenpriorität auf den Bus zugreift.

Eine CAN-Nachricht, auch Frame genannt, besteht aus sieben Feldern:

CAN-Telegramm

BLE

Bluetooth Low Energy (BLE), ist ein ursprünglich von Nokia entwickelter Bluetooth Standard, welcher den hohen Stromverbrauch herkömmlicher Bluetooth Module reduzieren sollte. Hierfür werden in größeren Abständen geringere Datenmengen ausgetauscht. BLE ist Teil der Bluetooth 4.0 Spezifikation von 2010. Inzwischen hat sich der Standard durchgesetzt und viele Smartphones sowie andere Geräte, wie z. B. Fitnesstracker verwenden BLE zur Datenübertragung.

Im BLE-Standard können Geräte verschiedene Rollen annehmen. In unserem Anwendungsfall würde es ein Gerät geben, welches die Peripheral Rolle einnimmt und Connectable Advertiser Events schickt, welche ein anderes Gerät dafür nutzen kann, um sich mit dem Gerät zu verbinden und die Datenübertragung zu starten.

CAN2BLE

Um CAN-Nachrichten über BLE zu übertragen ist eine Hardware Schnittstelle notwendig, welche entweder fest in ein Gerät verbaut wird oder an einen freien CAN-Stecker gesteckt werden kann. Diese Schnittstelle würde die Peripheral Rolle einnehmen. Je nach Konfiguration kann die Schnittstelle auf Wunsch eine Connection anbieten. Ein anderes Gerät kann sich nun mit der Schnittstelle verbinden und Daten können übertragen werden.

Hierbei sind zwei weitere Dinge zu beachten:

Die Aufbereitung der Daten kann vielfältig aussehen. Da viele Informationen im Frame einer CAN-Nachricht für die Verarbeitung uninteressant sind, macht es Sinn, die Daten aus dem Datenfeld in ein eigenes Protokoll zu verpacken und damit zu senden. Sollte Verschlüsselung nötig sein, muss die Schnittstelle diese ebenfalls implementieren.

Anwendungsfälle

Im folgenden sollen zwei hypothetische Anwendungsfälle für die beschriebene Technologie vorgestellt werden.

1.) CAN2BLE in einer Fertigungsmaschine für Wartungsdaten
In unserem konkreten Fall möchte ein Unternehmen seinen Wartungsprozess verbessern. Bisher musste ein Mitarbeiter mit einem dedizierten CAN-Diagnose-Gerät zu jeder Maschine gehen, ein Kabel einstecken und die Daten auslesen. Anschließend entscheidet er, ob die Maschine nachjustiert oder anderweitig gewartet werden muss.

Alternativ könnten die Maschinen mit einem CAN2BLE Modul ausgerüstet werden. Statt eines dedizierten Gerätes könnte der Mitarbeiter ein Smartphone verwenden mit dem schon andere Prozesse des Unternehmens optimiert wurden. Nun verbindet er sich über BLE mit einer Maschine und erhält die Daten auf seinem Smartphone. Je nach Wunsch kann hier eine App entwickelt werden, welche die Daten anzeigt, auswertet, visualisiert und an ein zentrales System schickt. Die Entscheidung für die Wartung könnte direkt vom System getroffen werden, z. B. wenn gewisse Werte über der akzeptablen Grenze liegen.


2.) CAN2BLE in einem Bagger zur Arbeitsdokumentation und Performance Evaluation
In unserem konkreten Fall will ein Baggerhersteller seinem Kunden einen Mehrwert für ihre Bagger bieten und die Daten, die von den internen Systemen des Baggers erhoben werden, nutzen.
Hierfür baut er ein CAN2BLE Modul in seine neuen Bagger ein und rüstet alte Bagger nach. Zusätzlich lässt er eine Applikation entwickeln, welche, wenn sich das Smartphone mit der Schnittstelle des Baggers verbindet, erlaubt, die Daten (z. B. Gewicht auf der Schaufel) während eines Arbeitsschritts zu tracken. Die App bietet dem Baggerführer während der Arbeit eine visuelle Aufbereitung der Daten. Nach der Arbeit bietet die App dem Baggerführer die Möglichkeit, sich die kompletten Daten aufbereitet nochmals anzusehen, um zu überprüfen, ob alle Werte in Ordnung sind. Zusätzlich bietet ihm die App an, einen Bericht mit den Daten zu erstellen und zu verschicken. So kann ein Bauunternehmen, welches mehrere Maschinen besitzt, alle Daten zentral sammeln. Außerdem kann so auch überprüft werden, ob Arbeiten ordnungsgemäß ausgeführt wurden. Ein weiterer Mehrwert kann das Sammeln der Daten für eine Maschine sein, um ihre Leistung zu messen und so festzustellen, ob eine Wartung nötig ist.

In der Zukunft könnte man sich vorstellen, dass durch das Auslesen von Daten von allen Maschinen auf einer Baustelle genau getrackt werden kann, wie, wo und wann was gemacht wurde, um eine bessere Planung und effizienteres Arbeiten zu ermöglichen. Außerdem wäre theoretisch auch eine Kommunikation zwischen den Geräten über die Smartphones denkbar, um Prozesse weiter zu optimieren, dokumentieren oder zu automatisieren.

Weitere Artikel aus unserem Blog

let’s dev Blog | Der World Usability Day 2023

Corporate

Der World Usability Day 2023

by Sina

2023-11-10

Weiterlesen
let’s dev Blog | Adobe Max 2023

Corporate

Adobe Max 2023

by Julia

2023-10-13

Weiterlesen
let’s dev Blog | Barrierefreiheit in der Webentwicklung

Technical

Barrierefreiheit in der Webentwicklung

by Sarah

2023-10-31

Weiterlesen
let’s dev Blog | Digitale Wallet-Karten: Stärkung von Kundenbindung im digitalen Zeitalter

Corporate

Digitale Wallet-Karten: Stärkung von Kundenbindung im digitalen Zeitalter

by Julian

2023-07-07

Weiterlesen
let’s dev Blog | Kortpress auf dem OMR Festival 2023 in Hamburg

Corporate

Kortpress auf dem OMR Festival 2023 in Hamburg

by Julian

2023-05-31

Weiterlesen
let’s dev Blog | Recap 2022: Smart Devices, digitale Plattformen und innovative Forschungsprojekte

Corporate

Recap 2022: Smart Devices, digitale Plattformen und innovative Forschungsprojekte

by Julian

2023-01-31

Weiterlesen
let’s dev Blog | Mit LottieFiles Animationen für das Web erstellen

Corporate

Mit LottieFiles Animationen für das Web erstellen

by Julian

2022-12-15

Weiterlesen
let’s dev Blog | Lean in der Softwareentwicklung

Technical

Lean in der Softwareentwicklung

by Sabrina

2022-12-08

Weiterlesen
let’s dev Blog | Adobe Max - Live aus LA

Corporate

Adobe Max - Live aus LA

by Jessica

2022-10-28

Weiterlesen
let’s dev Blog | Mensch und Computer 2022 - Facing Realities

Corporate

Mensch und Computer 2022 - Facing Realities

by Kerstin

2022-09-12

Weiterlesen
let’s dev Blog | EUREKA Innovation Award

Corporate

EUREKA Innovation Award

by Karl

2022-06-23

Weiterlesen
let’s dev Blog | Die WWDC 2022: Unser Update zu Apples neuen Betriebssystemen

Technical

Die WWDC 2022: Unser Update zu Apples neuen Betriebssystemen

by Julian

2022-06-08

Weiterlesen
let’s dev Blog | Docker und die versteckte Sicherheitslücke

Technical

Docker und die versteckte Sicherheitslücke

by Martin

2022-02-17

Weiterlesen
let’s dev Blog | Die Weihnachtsfeiertage stehen wieder vor der Tür – Wir blicken gespannt auf das nächste Jahr 2022!

Corporate

Die Weihnachtsfeiertage stehen wieder vor der Tür – Wir blicken gespannt auf das nächste Jahr 2022!

by Julian

2021-12-22

Weiterlesen
let’s dev Blog | Fertigung und Montage von Stacks und Elektro­lyseuren für die Wasser­stoff­herstellung

Corporate

Fertigung und Montage von Stacks und Elektro­lyseuren für die Wasser­stoff­herstellung

by Anton

2021-12-21

Weiterlesen
let’s dev Blog | Adobe Max 2021 - Ein Fest der Kreativität

Corporate

Adobe Max 2021 - Ein Fest der Kreativität

by Julia

2021-11-02

Weiterlesen
let’s dev Blog | Relationale Datenbanken im Vergleich zu objektorientierten Datenbanken

Technical

Relationale Datenbanken im Vergleich zu objektorientierten Datenbanken

by Julian

2021-10-14

Weiterlesen
let’s dev Blog | Apple Developer Program: Wofür wird es benötigt und welche Inhalte bieten mir eine Mitgliedschaft?

Corporate

Apple Developer Program: Wofür wird es benötigt und welche Inhalte bieten mir eine Mitgliedschaft?

by Julian

2021-09-30

Weiterlesen
let’s dev Blog | Sketch, Figma & Co - Wir werfen einen Blick auf die beliebtesten UI und Prototyping Tools 2021

Corporate

Sketch, Figma & Co - Wir werfen einen Blick auf die beliebtesten UI und Prototyping Tools 2021

by Ellen

2021-07-15

Weiterlesen
let’s dev Blog | Rückenwind: Ein innovatives Projekt für den Weiterbetrieb von alten Windkraftanlagen

Corporate

Rückenwind: Ein innovatives Projekt für den Weiterbetrieb von alten Windkraftanlagen

by Karl

2021-06-24

Weiterlesen
let’s dev Blog | Features, Fixes und Funktionen - Ein Sumup der WWDC 2021

Corporate

Features, Fixes und Funktionen - Ein Sumup der WWDC 2021

by Julian

2021-06-10

Weiterlesen
let’s dev Blog | Smart Prognosis of Energy with Allocation of Resources

Corporate

Smart Prognosis of Energy with Allocation of Resources

by Karl

2021-02-18

Weiterlesen
let’s dev Blog | Dasoman - Daten-Souveränitäts-Manager

Corporate

Dasoman - Daten-Souveränitäts-Manager

by Karl

2021-01-11

Weiterlesen
let’s dev Blog | Wir blicken auf die vergangenen Monate zurück – Und wünschen alles Gute für das kommende Jahr 2021!

Corporate

Wir blicken auf die vergangenen Monate zurück – Und wünschen alles Gute für das kommende Jahr 2021!

by Julian

2020-12-17

Weiterlesen
let’s dev Blog | iOS User Interface Tests

Technical

iOS User Interface Tests

by Nicolas

2020-11-12

Weiterlesen
let’s dev Blog | Adobe Max - Zum ersten Mal online

Corporate

Adobe Max - Zum ersten Mal online

by Julia

2020-10-29

Weiterlesen
let’s dev Blog | Mensch und Computer 2020 - Digitaler Wandel im Fluss der Zeit

Corporate

Mensch und Computer 2020 - Digitaler Wandel im Fluss der Zeit

by UX Team

2020-09-18

Weiterlesen
let’s dev Blog | Neumorphism – Eine neue Ära des User Interface Design?

Technical

Neumorphism – Eine neue Ära des User Interface Design?

by Julian

2020-08-13

Weiterlesen
let’s dev Blog | UX Research Teil 3 – UX Methoden

Technical

UX Research Teil 3 – UX Methoden

by Elena

2020-05-28

Weiterlesen
let’s dev Blog | UX Research Teil 2 - Was ist UCD und was hat User Research damit zu tun?

Technical

UX Research Teil 2 - Was ist UCD und was hat User Research damit zu tun?

by Elena

2020-04-23

Weiterlesen
let’s dev Blog | go-digital fördert Einrichtung von Home Office Arbeitsplätzen

Corporate

go-digital fördert Einrichtung von Home Office Arbeitsplätzen

by Karl

2020-03-19

Weiterlesen
let’s dev Blog | Google Passes - Karten­verwaltung auf  Android-Geräten

Technical

Google Passes - Karten­verwaltung auf Android-Geräten

by Michelle

2020-03-12

Weiterlesen
let’s dev Blog | 100% Code-Coverage bei Software Tests – eine sinnvolle Zielsetzung?

Technical

100% Code-Coverage bei Software Tests – eine sinnvolle Zielsetzung?

by Raphael

2020-03-06

Weiterlesen
let’s dev Blog | Swift UI - Einfache und schnelle Umsetzung von User Interfaces

Technical

Swift UI - Einfache und schnelle Umsetzung von User Interfaces

by Tobias

2020-03-02

Weiterlesen
let’s dev Blog | Im Dialog mit den Wirtschafts­junioren – Spannende Einblicke in die Unternehmens­gründung und die digitale Trans­formation

Corporate

Im Dialog mit den Wirtschafts­junioren – Spannende Einblicke in die Unternehmens­gründung und die digitale Trans­formation

by Julian

2020-02-27

Weiterlesen
let’s dev Blog | Vereinfachtes Testen von iOS Push Notifications im Simulator mit Xcode 11.4

Technical

Vereinfachtes Testen von iOS Push Notifications im Simulator mit Xcode 11.4

by Manuel

2020-02-26

Weiterlesen
let’s dev Blog | Nationales Meeting des Konsortiums des SPEAR Forschungs­projektes bei let’s dev in Karlsruhe

Corporate

Nationales Meeting des Konsortiums des SPEAR Forschungs­projektes bei let’s dev in Karlsruhe

by Karl

2020-01-27

Weiterlesen
let’s dev Blog | UX Research Teil 1 – Warum User Research so wichtig ist

Technical

UX Research Teil 1 – Warum User Research so wichtig ist

by Elena

2020-01-23

Weiterlesen
let’s dev Blog | Dark Mode

Technical

Dark Mode

by Elisa

2020-01-09

Weiterlesen
let’s dev Blog | Wir wünschen frohe Weihnachten – Und einen guten Start ins neue Jahr!

Corporate

Wir wünschen frohe Weihnachten – Und einen guten Start ins neue Jahr!

by Julian

2019-12-20

Weiterlesen
let’s dev Blog | Austausch zum Thema Digitalisierung mit dem Business Club Luxemburg in der Botschaft von Luxemburg in Berlin

Corporate

Austausch zum Thema Digitalisierung mit dem Business Club Luxemburg in der Botschaft von Luxemburg in Berlin

by Karl

2019-12-17

Weiterlesen
let’s dev Blog | DaSoMan auf der Internet+ Expo in Foshan (China)

Corporate

DaSoMan auf der Internet+ Expo in Foshan (China)

by Karl

2019-12-13

Weiterlesen
let’s dev Blog | Google Play Console: Pre-Launch Berichte

Technical

Google Play Console: Pre-Launch Berichte

by Fabian

2019-12-11

Weiterlesen
let’s dev Blog | DevFest 2019 in Hamburg

Technical

DevFest 2019 in Hamburg

by Julian

2019-12-05

Weiterlesen
let’s dev Blog | Vernissage digitale Kunst im Medientheater der Humboldt Universität Berlin

Corporate

Vernissage digitale Kunst im Medientheater der Humboldt Universität Berlin

by Karl

2019-11-21

Weiterlesen
let’s dev Blog | World Usability Day 2019 in Karlsruhe – let’s dev unterstützt als Hauptsponsor

Corporate

World Usability Day 2019 in Karlsruhe – let’s dev unterstützt als Hauptsponsor

by Aileen

2019-11-11

Weiterlesen
let’s dev Blog | Ausgeschlachtet - Tag der offenen Türen auf dem Alten Schlachthof Karlsruhe 2019

Corporate

Ausgeschlachtet - Tag der offenen Türen auf dem Alten Schlachthof Karlsruhe 2019

by Julian

2019-09-26

Weiterlesen
let’s dev Blog | Mensch und Computer 2019 - Konferenz zu User Experience und Usability in Hamburg

Corporate

Mensch und Computer 2019 - Konferenz zu User Experience und Usability in Hamburg

by Elena

2019-09-17

Weiterlesen
let’s dev Blog | Business und Enterprise App Verteilung unter iOS

Technical

Business und Enterprise App Verteilung unter iOS

by Aileen

2019-08-05

Weiterlesen
let’s dev Blog | Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

Corporate

Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

by Karl

2019-07-17

Weiterlesen
let’s dev Blog | let’s dev unterstützt Läuferinnen und Läufer bei der 7. KIT Meisterschaft

Corporate

let’s dev unterstützt Läuferinnen und Läufer bei der 7. KIT Meisterschaft

by Karl

2019-07-05

Weiterlesen
let’s dev Blog | Automatisiertes Testing von C++ Code mit Google Test und Google Mock – Teil 2

Technical

Automatisiertes Testing von C++ Code mit Google Test und Google Mock – Teil 2

by Arne

2019-06-13

Weiterlesen
let’s dev Blog | Apple WWDC 2019: Das sind die Highlights der Keynote

Technical

Apple WWDC 2019: Das sind die Highlights der Keynote

by Nicolas

2019-06-05

Weiterlesen
let’s dev Blog | App Builders 2019

Technical

App Builders 2019

by Nicolas

2019-05-23

Weiterlesen
let’s dev Blog | Offizielle Eröffnung des Festigungs- und Expansionszentrums (FUX)

Corporate

Offizielle Eröffnung des Festigungs- und Expansionszentrums (FUX)

by Helena

2019-04-15

Weiterlesen
let’s dev Blog | Delegation aus Nottingham zu Besuch auf dem Alten Schlachthof in Karlsruhe

Corporate

Delegation aus Nottingham zu Besuch auf dem Alten Schlachthof in Karlsruhe

by Helena

2019-04-14

Weiterlesen
let’s dev Blog | Es ist soweit: Wir ziehen um!

Corporate

Es ist soweit: Wir ziehen um!

by Helena

2019-03-26

Weiterlesen
let’s dev Blog | Automatisiertes Testing von C++ Code mit Frameworks – Teil 1

Technical

Automatisiertes Testing von C++ Code mit Frameworks – Teil 1

by Arne

2019-02-20

Weiterlesen
let’s dev Blog | Die App im Google Play Store

Technical

Die App im Google Play Store

by Elisa

2019-01-24

Weiterlesen
let’s dev Blog | „UX Day“ 2018

Corporate

„UX Day“ 2018

by Aileen

2018-12-17

Weiterlesen
let’s dev Blog | let’s dev unterstützt SG Siemens Volleyballer aus Karlsruhe

Corporate

let’s dev unterstützt SG Siemens Volleyballer aus Karlsruhe

by Helena

2018-12-04

Weiterlesen
let’s dev Blog | KMU gestalten die Digitalisierung – Mittelstandskonferenz 2018

Corporate

KMU gestalten die Digitalisierung – Mittelstandskonferenz 2018

by Helena

2018-11-12

Weiterlesen
let’s dev Blog | Apple Wallet

Technical

Apple Wallet

by Maik

2018-10-26

Weiterlesen
let’s dev Blog | „Mensch und Computer“ 2018

Corporate

„Mensch und Computer“ 2018

by Judith

2018-09-24

Weiterlesen
let’s dev Blog | State Design Pattern in Android

Technical

State Design Pattern in Android

by Thomas

2018-09-17

Weiterlesen
let’s dev Blog | let’s dev ist autorisiertes Beraterunternehmen im Förderprogramm „go-digital“

Corporate

let’s dev ist autorisiertes Beraterunternehmen im Förderprogramm „go-digital“

by Helena

2018-09-01

Weiterlesen
let’s dev Blog | App Design & Development Conference 2018

Corporate

App Design & Development Conference 2018

by Helena

2018-08-14

Weiterlesen
let’s dev Blog | iOS 12: Die Top-Neuerungen im Überblick

Technical

iOS 12: Die Top-Neuerungen im Überblick

by Nicolas

2018-07-17

Weiterlesen
let’s dev Blog | let’s dev auf der CEBIT

Corporate

let’s dev auf der CEBIT

by Karl

2018-06-11

Weiterlesen
let’s dev Blog | Einführung in User Interface (UI) Tests mit Espresso

Technical

Einführung in User Interface (UI) Tests mit Espresso

by Raphael

2018-06-07

Weiterlesen
let’s dev Blog | Die App im Apple App Store: welche Informationen werden benötigt?

Technical

Die App im Apple App Store: welche Informationen werden benötigt?

by Aileen

2018-04-27

Weiterlesen
let’s dev Blog | Smart Pointer in C++

Technical

Smart Pointer in C++

by Matthias

2018-04-01

Weiterlesen
let’s dev Blog | User Interface Design für das iPhone X: alle Neuerungen auf einen Blick

Technical

User Interface Design für das iPhone X: alle Neuerungen auf einen Blick

by Helena

2018-02-07

Weiterlesen
let’s dev Blog | WebVR – Virtual Reality Experience im Browser mit dem A-Frame Framework

Technical

WebVR – Virtual Reality Experience im Browser mit dem A-Frame Framework

by Judith

2018-01-10

Weiterlesen
let’s dev Blog | Open Data Hackathon der Deutschen Bahn

Corporate

Open Data Hackathon der Deutschen Bahn

by Karl

2015-03-31

Weiterlesen
let’s dev Blog | Blur-Effekte unter iOS 7

Technical

Blur-Effekte unter iOS 7

by Katja

2014-04-24

Weiterlesen
let’s dev Blog | Beyond App Store – Distribution von iOS-Anwendungen

Technical

Beyond App Store – Distribution von iOS-Anwendungen

by Karl

2012-08-27

Weiterlesen
let’s dev Blog | Frontend-Architektur – Model View Presenter und Message Bus

Technical

Frontend-Architektur – Model View Presenter und Message Bus

by Karl

2011-03-08

Weiterlesen