-
Notifications
You must be signed in to change notification settings - Fork 243
SmartDeviceLink
Welcome to the SmartDeviceLink (SDL) Open Source Project!
To quickly find the documentation you are looking for please select one of these options:
- I want to implement SDL in my Infotainment System
- I want to add SDL to my App
- I want to use an SDL enabled App in my Car
Integrating SmartDeviceLink in the vehicle is necessary for an Automaker to take advantage of the App Ecosystem provided by SmartDeviceLink. To get started with the implementation of SmartDeviceLink as an automaker these repositories are vital:
SDL core is the main process of SmartDeviceLink. It handles the mobile side and manages the connection of SDL enabled Apps. It's also responsible for connecting to the HMI aspect and the SDL Manager, which has to be written for adapted for every integration to handle the connection to the local software environment (Different UI Layer, different OS, etc)
Enables you to run the SDL core instance in Docker
The SDL Server enables the backend security functionality. This is a reference implementation of an online service that manages the Apps that are enabled to work with your system. If a new app connects to SDL Core it will reach out to SDL Server to get information about the connected app.
SDL_hmi includes a sample SDL HMI written in html5. The SDL consortium is currently working on an updated reference HMI. As an automaker, when first investigating the value of SDL, we recommend using this HMI on your target hardware to sample the capabilities of SDL with some production applications.
This document contains all possible interactions between the Mobile App and the SDL core. All functions, enums and structs are defined here. The specification for each branch of SDL Core, such as master
and develop
can be found in the repositories src/interfaces/
folder.
The protocol spec includes the byte layer specification for the communication between Mobile Apps and SDL core.
sdl_atf_test_scripts sdl_atf TODO
This is an iOS app. Use this app to connect to SDL core and validate your implementation. The Builder App can build any remote procedure call and send it out to the SDL core over TCP or iAP.
sdl_mobileweather_tutorial_android sdl_mobileweather_tutorial_ios
The mobile weather tutorials are working SDL enabled weather apps for iOS and Android. They will guide you step by step through the process of adding SDL into your existing Application.
Please find the tutorial in the wiki (Android iOS)
hello_sdl_android hello_sdl_ios
This is an empty project with an iOS skeleton that can be used for quickly creating an SDL enabled app from scratch.
This repository will get you access to the source code of SDL library for mobile Apps. You can install the iOS library using Cocoapods and not use this repository.
The Relay App was specifically designed for iOS developers. The current SDL implementations use a USB connection, making it impossible to connect the app to the debugger during runtime. The relay app will enable you to run you app in the simulator and connect to SDL core via an second iPhone running the Relay App server.
You can use the RPC Builder App to quickly try out different function calls. Connect the App to the emulator or real hardware.
Please find more information on how to use SDL enabled apps at the manufacturer's website. For Ford's implementation you can go to your local Ford website. The link for the US page is here
You can go to Ford's developer site to get more specific information on how to get your application approved for use in Ford vehicles.