All Projects β†’ smartdevicelink β†’ Sdl_core

smartdevicelink / Sdl_core

Licence: bsd-3-clause
SmartDeviceLink In-Vehicle Software and Sample HMI

Projects that are alternatives of or similar to Sdl core

Sdl ios
Get your app connected to the πŸš™, make your users feel like a 🌟
Stars: ✭ 147 (-28.99%)
Mutual labels:  sdl, car, connectivity
car-logos-dataset
Collection of 374 car logos images with few variations of sizes and JSON file for better usability.
Stars: ✭ 47 (-77.29%)
Mutual labels:  car, vehicle
ELMduino
Arduino OBD-II Bluetooth Scanner Interface Library for Car Hacking Projects
Stars: ✭ 274 (+32.37%)
Mutual labels:  car, vehicle
carmechanic
Car Mechanic Simulator mechanics in Unity
Stars: ✭ 39 (-81.16%)
Mutual labels:  car, vehicle
Googlemap
Google Map to use create path on map and play vehicle on path like Uber and Ola
Stars: ✭ 112 (-45.89%)
Mutual labels:  car, vehicle
savagewheels
🏁 2D car crashing game armageddon
Stars: ✭ 21 (-89.86%)
Mutual labels:  car, sdl
Stuntrally
The main repository containing Stunt Rally sources and game data. A 3D racing game based on VDrift and OGRE with track editor.
Stars: ✭ 314 (+51.69%)
Mutual labels:  car, vehicle
Carrecognition
This is one of the best vehicle recognition applications. It can determine the car's license plate number, color, model, brand and year.
Stars: ✭ 34 (-83.57%)
Mutual labels:  car, vehicle
Node Bmw Client
A node.js powered interface for E38/E39/E53 + E6x/E9x BMW vehicles (Client side)
Stars: ✭ 68 (-67.15%)
Mutual labels:  car, vehicle
Esp32 Obd2 Emulator
Open-source OBD-II emulator based on an ESP32 + CAN transceiver IC, controllable via WiFi through a simple web UI (or via API)
Stars: ✭ 207 (+0%)
Mutual labels:  car, vehicle
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-28.02%)
Mutual labels:  sdl
Gwork
Skinnable GUI with useful widget collection. Fork of GWEN.
Stars: ✭ 179 (-13.53%)
Mutual labels:  sdl
Visbrain
A multi-purpose GPU-accelerated open-source suite for brain data visualization
Stars: ✭ 172 (-16.91%)
Mutual labels:  connectivity
Serpent
Cross-platform gaming kit in the D programming language
Stars: ✭ 140 (-32.37%)
Mutual labels:  sdl
Roadapplepi
An elegent "Black Box" solution that can be retrofitted into any car with an OBD(II) port for minimal cost.
Stars: ✭ 140 (-32.37%)
Mutual labels:  car
Dustracing2d
Dust Racing 2D is a traditional top-down car racing game including a level editor.
Stars: ✭ 199 (-3.86%)
Mutual labels:  car
Arcarmovement
This is navigation example on google map. Here Marker move as vehicles moves with turns as uber does in their app. Using old and new coordinates animating bearing value the markers are moving.
Stars: ✭ 137 (-33.82%)
Mutual labels:  car
Openvehiclediag
A rust based cross-platform ECU diagnostics and car hacking application, utilizing the passthru protocol
Stars: ✭ 135 (-34.78%)
Mutual labels:  vehicle
Opensteer
OpenSteer is a C++ library to help build steering behaviors for autonomous characters in games and animation.
Stars: ✭ 202 (-2.42%)
Mutual labels:  vehicle
Failsafe.js
A jQuery Plugin to make your App Robust
Stars: ✭ 190 (-8.21%)
Mutual labels:  connectivity

Slack Status Build Status Build Status Build Status

SmartDeviceLink (SDL)

SmartDeviceLink (SDL) is a standard set of protocols and messages that connect applications on a smartphone to a vehicle head unit. This messaging enables a consumer to interact with their application using common in-vehicle interfaces such as a touch screen display, embedded voice recognition, steering wheel controls and various vehicle knobs and buttons. There are three main components that make up the SDL ecosystem.

  • The Core component is the software which Vehicle Manufacturers (OEMs) include in their vehicle head units. Integrating this component into their head unit and HMI based on a set of guidelines and templates enables access to various smartphone applications.
  • The optional SDL Server can be used by Vehicle OEMs to update application policies and gather usage information for connected applications.
  • The iOS and Android libraries are implemented by app developers into their applications to enable command and control via the connected head unit.

SDL Core

The Core component of SDL runs on a vehicle's computing system (head unit). Core’s primary responsibility is to route messages between connected smartphone applications and the vehicle HMI. It can connect a smartphone to a vehicle's head unit via a variety of transport protocols such as Bluetooth, USB, Android AOA, and TCP. Once a connection is established, Core discovers compatible applications and displays them to the driver for interaction via voice or display. The Core component is configured to follow a set of policies defined in its local policy database and updated by a policy server. The messaging between a connected application and SDL Core is defined by the Mobile API and the messaging between SDL Core and the vehicle is defined by the HMI API.

Pull Requests Welcome!

Environment

Currently supported:

  • Ubuntu Linux 16.04 with GCC 5.4.x
  • Ubuntu Linux 18.04 with GCC 7.5.x
  • C++11 standard

Getting Started

See the Getting Started guide in the developer portal for instructions on how to build and start SDL Core.

Connect a Web HMI

After setting up SDL Core, you will need to connect it to an external HMI. The HMI component of SDL needs to be developed separately from this project, and should be tailored to your specific head unit. Several sample browser-based HMIs are available for testing purposes:

  1. The Generic HMI (preferred) is a reference implementation for an SDL-connected HMI, including examples of many of the UI elements and templates available to SDL applications.
  2. The SDL HMI emulates a full infotainment system which includes a simplified SDL component.

See the HMI Development Guide for more information on building your own HMI.

Manticore

If you are just developing an SDL-connected application and simply want an environment to test it in, it is not necessary to build SDL Core from scratch. You can use our Manticore project first, which creates a testing environment in the cloud using SDL Core and the Generic HMI.

Frequently Asked Questions

If you have any questions regarding the setup of SDL Core or regarding the integration of SDL into a head unit, first visit our SDL Core FAQ. If you still have questions, you can post a question in the core-help channel of our Slack group (sign up here).

Additional References

Contributions

Conversation regarding the design and development of SmartDeviceLink technology is managed via the SDL Evolution Process. We also encourage interested parties to write issues and submit pull requests right here in the GitHub repository. If you choose to do so, please read our Contributing Guide beforehand.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].