User Tools

Site Tools


agl-demonstrator:smart_device_link_sdl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
agl-demonstrator:smart_device_link_sdl [2022/07/26 23:40]
waltminer Obsolete - delete page
— (current)
Line 1: Line 1:
-FIXME - This page is out of date.  
- 
-====== Smart Device Link (SDL) ====== 
- 
-===== Summary ===== 
- 
-Smart Device Link is a project which intends to standardize and wrap the many in-vehicle interfaces which may exist in the automotive context. The end goal is to provide an expandable software framework to both mobile application developers and automotive head unit creators for the creation of brought-in applications that appear integrated onto a head unit.  ​ 
- 
- 
- 
-Many in-vehicle HMI’s use different colors, templates, icons, fonts, voice systems and input methods for their infotainment systems. With Smart Device Link, a template-based approach is provided by the automotive head unit and allows for different HMI frameworks to follow a specific set of guidelines ensuring a consistent experience to a developer. By leveraging this common %%API%% and a brought-in device, automotive head units leverage the complete power of the brought-in device using the APIs being executed on the mobile device. 
- 
- 
- 
-A SDL Application will connect to a device over Wifi or Bluetooth. ​ Allow sharing media and control of the device from the car.  Sending messages and control settings might be other options as well. 
- 
- 
- 
-Feature detail: "SDL application integrates Smart Device Link sample %%HTML%% frontend into Tizen IVI theme. Application requires smartphone to have been enabled to be seen by all Bluetooth devices. For testing purposes, Android or iOS can be used in the following applications. 
- 
- 
- 
-Application also relies on existing connection to smartphone via WiFi or Bluetooth. Such connection can be made using the Settings module from each Tizen IVI application. When connection is working and devices can see each, the Settings module will send a pairing request to the desired device, which must be confirmed the user. Intel Tizen IVI system image contains system service which starts SDL Core component during boot sequence; status of service can be checked using command: 
- 
-   ​systemctl status sdl 
- 
- 
- 
-After service and smartphone app is running, click on Change Devices button to discover SDL applications and then choose desired application to control. 
- 
- 
- 
-===== Resources ​ ===== 
- 
- 
-Watch [[https://​download.automotivelinux.org/​POC/​PoC_Videos/​SDL%20PoC.mp4|Smart Device Link Video]]. 
- 
-Access the [[https://​download.automotivelinux.org/​POC/​PoC_DRDs/​DRD_Smart_Device_Link_v1-7.xlsx|Design Requirements Document (DRD)]]. 
- 
-Access the [[https://​gerrit.automotivelinux.org/​gerrit/​gitweb?​p=POC-HTML5-UI/​SmartDeviceLink.git;​a=summary|Sources]]. 
- 
-Download the [[https://​download.automotivelinux.org/​POC/​PoC_WGT/​SmartDeviceLink_AGL_03SEP2014.wgt|Application WGT]]. 
-===== What the app does ===== 
- 
-Smart Device Link (SDL) is an application that allows a device, such as a phone or tablet, to connect to the platform via a Bluetooth or WiFi connection allowing the sharing and control of media from the connected device. 
- 
-After a device has been connected via Bluetooth or WiFi, SDL can be started and the screen will show available devices for connection. 
- 
-{{ :​wiki:​wiki:​sdl_whatappdoes.png |}} 
- 
- 
-===== Technical Details ===== 
- 
-The sections below are taken from directions for what is known as the Tizen IVI 3.0-M2-EOY (commonly called 'the Jan. 15 image'​. ​ The current Tizen release is dated 2014.01.14, and may require some adjustment. 
- 
- 
- 
-===== Installation Prerequisites ===== 
- 
-The following installation directions take the base Tizen image and install needed supporting software 
- 
-===== Instructions for debugging WRT Apps on Tizen IVI (installation,​ removal, and deployment) ===== 
- 
-Tizen IVI WRT applications are built into widget ('​.wgt'​) files for deployment (a format based on the %%W3C%% widget specification,​ see <​nowiki>​http://​www.w3.org/​TR/​widgets/</​nowiki>​ for more information). Once you have built or received the widget files for one or more applications that you wish to deploy and run, the next step is to copy them onto the target device. Common options for this would be tools like scp/sftp (in a Linux/Unix environment),​ FileZilla (Windows and Mac) or Cyberduck (Mac). 
- 
-Once the .wgt files have been transferred to the target machine, they may be installed, launched and uninstalled. 
- 
-To get a list of currently installed applications,​ use the following command from a terminal (or remote shell/ssh session) on the target hardware (log in as root with the password tizen): 
- 
-  root:​~&​gt;​ wrt-launcher -l 
- 
-This will produce output similar to the following: 
- 
-^ No  ^ Name         ​^ ​  ​Version ​   ^   ​GUID ​                             ^ Package ID      ^ App ID              | 
-| 1   | saythis ​     | 1.0.0        | %%http://​yourdomain/​sayThis%% ​      | lYjFlj49Q4 ​     | lYjFlj49Q4.saythis ​     | 
-| 2   | Settings ​    | 1.0.0        | %%http://​yourdomain/​Settings%% ​     | ODBQpKvkS1 ​     | ODBQpKvkS1.Settings ​    | 
-| 3   | MediaPlayer ​ | 1.0.0        | %%http://​yourdomain/​MediaPlayer %%  | t8j6HTRpuz ​     | t8j6HTRpuz.MediaPlayer ​ | 
-| 4   | Store        | 8.2.4401 ​    | %%http://​com.intel.tizen/​store%% ​   | intelPoc13 ​     | intelPoc13.Store ​       | 
-| 5   | Phone        | 8.2.4401 ​    | %%http://​com.intel.tizen/​phone%% ​   | intelPoc15 ​     | intelPoc15.phone ​       | 
- 
-If the application you wish to install is not already installed, simply enter (using intelPoc16.HVAC.wgt as an example): 
- 
-  root:~> wrt-installer -i intelPoc17.SDL.wgt 
- 
-If successful, you should see output such as the following: 
- 
-  =========================================================== 
-     # wrt-installer # 
-     # argc [3] 
-     # argv[0] = [wrt-installer] 
-     # argv[1] = [-i] 
-     # argv[2] = [intelPoc17.SDL.wgt] 
-     ## wrt-installer : intelPoc17.SDL.wgt installation was successful. 
-     ​=========================================================== 
- 
-If unsuccessful,​ you may see errors such as '​invalid widget package',​ '​privilege level violation'​ or, if the application is already installed (and its widget file was built with a different signature than the one you wish to install), '​invalid signature'​. The first two errors are out of scope for this document. 
- 
-If you see '​invalid signature',​ and the widget file has to your knowledge been created with a valid signature, the likely cause is a conflict between the signature of the currently installed version and that of the new version. Though both signatures may be valid, the system treats the upgrade of an existing package with a different signature as a security violation. To work around this issue, simply uninstall the application and subsequently install the new version: 
- 
-  root:~> wrt-installer -un intelPoc17.SDL.wgt ​     <-- note: use the App ID when  
-  un-installing and the full widget filename when installing 
- 
-If the uninstall is successful, you should see output like the following: 
- 
-  =========================================================== 
-     # wrt-installer # 
-     # argc [3] 
-     # argv[0] = [wrt-installer] 
-     # argv[1] = [-un] 
-     # argv[2] = [intelPoc17.SDL.wgt] 
-     ​=========================================================== 
-     ## wrt-installer : intelPoc16.HVAC uninstallation was successful. 
- 
-Refer to installation instructions above for the subsequent installation steps. 
- 
-In order to launch and run an installed application,​ issue the following command with the application'​s App ID as an argument: 
- 
-  root:~> wrt-launcher -s intelPoc17.SDL.wgt 
- 
-You should see the application start and run on the target device. 
- 
-To launch the application in debug mode, add the '​-d'​ flag: 
- 
-  root:~> wrt-launcher -d -s intelPoc17.SDL.wgt 
- 
-This will produce output like the following: 
- 
-  root:​~/​wgt>​ wrt-launcher -d -s intelPoc17.SDL.wgt 
-     port: 36070 
-     ​result:​ launched 
- 
-The port number referenced is a random high port which allows one to connect to the target device with a web browser using a %%URL%% of the form: 
- 
-  http://&​lt;​ip address or name of target device>:<​port #> 
- 
-**For example:** 
- 
-  http://​192.168.1.223:​36070 
- 
-Once connected, you should see a single link in the upper right of the resulting web page, e.g.: 
- 
-  file:///​opt/​usr/​apps/​intelPoc17/​res/​wgt/​index.html 
- 
-Clicking that link will launch Webkit Web Inspector, a set of web development tools that should look familiar to users of Firefox Firebug or Chrome Dev Tools. Click the '​Console'​ icon in the toolbar to go to the Javascript console. Press ctrl-R, or type: 
- 
-  window.location.reload();​ 
- 
-...to reload the application in order to display the startup/​initialization functions associated with the app (since the app has already started by the time the debug interface is available). 
- 
-To exit a running application,​ issue the following command with the application'​s App ID as an argument: 
- 
-  root:~> wrt-launcher -k intelPoc17.SDL 
- 
-**Instruction to the console:** 
- 
-Assumptions these are all running from the Tizen platform and can access the console by SSH command or Control ALT F4 for a terminal. Tizen instructions are at Tizen.org 
- 
-Install 
- 
-  wrt-installer -i intelPoc17.SDL.wgt 
- 
-Launch 
- 
-  wrt-installer -i intelPoc17.SDL.wgt 
- 
- 
-===== Known Bugs  ===== 
- 
-^ Issue Type  ^ Key              ^ Summary ​                                                                                                       ^ 
-| Bug         ​| ​  | Due to a known Tizen bug, pairing sessions cannot occur in parallel with other running apps. SDL uses a low-level pairing method to discover various Bluetooth services running on the device. Because of this, you should never attempt to pair with the phone using the usual Bluetooth settings on the upper right hand corner of the widget. To initiate pairing, press the Change Devices button on the Smart Device Link home screen. ​                                            | 
-| Bug         ​| ​  | If you have more than 2 SDL services running on your phone, SDL will only find the first two in no particular order. ​                                        | 
-| Bug         ​| ​  | If device discovery fails, you should exit the widget and run the following command from the command line: systemctl restart sdl.                    | 
- 
- 
-===== Release History ​ ===== 
- 
-==== Features ​ ==== 
- 
-  * Smart Device Link (SDL) is an application that allows a device, such as a phone or tablet, to connect to the platform via a Bluetooth or WiFi connection allowing the sharing of media and control of the device from the car. 
- 
- 
-=== Bug Fixes  === 
- 
-^ Issue Type  ^ Key              ^ Summary ​                                                                                                       ^ 
-| Bug         ​| ​                 | Fixed Bluetooth pairing issues introduced by the Bluez 5 BT stack                                              | 
-| Bug         | INTIVIPOCII-302 ​ | SRS - launch_sdl and launch_simulator does not launch the applications ​                                        | 
-| Bug         | INTIVIPOCII-133 ​ | Integrate SDL application into head unit interface with indication of connected SDL device ​                    | 
-| Bug         | INTIVIPOCII-134 ​ | New application named Smart Device Link will be created using sample HTML application from SDL Git repository ​ | 
  
agl-demonstrator/smart_device_link_sdl.1658878807.txt.gz · Last modified: 2022/07/26 23:40 by waltminer