From LinuxMCE
Revision as of 19:10, 13 March 2019 by Marie.o (Talk | contribs) (Add note about screen / graphics size which are used as a base for Orbiter objects.)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search
Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Unknown N/A N/A
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information
Orbiters Page Admin Website

LinuxMCE Orbiters

Orbiters are high-tech remote controls. In a LinuxMCE system, they are the devices that users use to communicate/interface with LinuxMCE. Users control all user-aspects and functionalities of LinuxMCE through a standardized Orbiter User Interface (UI) that is displayed on the Orbiters.

LinuxMCE allows a wide variety of devices to function as Orbiters. Any device that is able to connect to your LinuxMCE LAN with a web interface can be used as an Orbiter. This means that ordinary laptops or PCs, smart phones (Android and IOS), wireless tablets (ARM or PC), PDAs, mobile phones (Symbian or Microsoft Mobile) and even Bluetooth enabled smart phones can be used as Orbiters. For a comprehensive list of devices that have been used by LinuxMCE users as Orbiters, consult the orbiter hardware list.

LinuxMCE Media Directors can also be used as Orbiters. Each Media Director has an on-screen Orbiter UI that can be controlled via a touch-screen interface, a handheld remote control (such as a Windows MCE remote control), or a universal infrared remote control connected by USB-UIRT.

You can administer the LinuxMCE system through any connected Orbiter device. Obiters can operate when connected within your LinuxMCE network, or configured to access the system from the Internet (the web interface requires user authentication, and additional security measures are advised).

Web Orbiter

The term Web Orbiter refers to any laptop, PC, or other device on the LinuxMCE system which uses a standard web browser interface to display the Orbiter User Interface.
Any Linux, Windows, Windows CE, webpad or PDA device which loads the UI becomes a virtual remote control for the entire LinuxMCE system.

Media Director Web Orbiter

Web Orbiter / Main Orbiter Screen (UI1)

All Media Directors run an on-screen Orbiter, like the one to the right. This on-screen Orbiter can be controlled by using the keyboard/mouse attached to the Media Director. It is possible however to remotely control the Media Director's on-screen Orbiter by connecting an infrared, USB, or Bluetooth remote control, and using the remote control while sitting away from the Media Director.

For the on-screen Orbiter on a Media Director, you can either use the number keys or the up/down/left/right/enter keys on the keyboard. More usage information is in the section "Large displays: the UI2 interface" below.

Web Orbiters for Windows (Laptops and CE Webpads)

Download Page for Admin Site

Any windows based device (laptop or device with a web browser) can be set up to work as an Orbiter by following the setup instructions here. For a comprehensive list of devices that have been used by LinuxMCE users as Orbiters, consult the orbiter hardware list.

Mobile Orbiters

This is a very simple software that runs on Bluetooth capable mobile phones and communicates using RFCOMM. It receives images of fully rendered screens from the core, sends back screen touches, key-presses, and location information.
It is the same program as the other Orbiters in the house, but with a different user interface created using the Designer. With it, the mobile phones become Orbiters just like any other.

The mobile orbiter works pretty much like a regular orbiter, except for the "who" and "where" buttons.

  • The "who" is determined when you chose to install the software. The family member who installs it is assumed to always be the user.
  • The "where" is automatic - whenever you come within range of a Media Director that can recognize the mobile orbiter, it will automatically select itself as the correct location.
    You are always able to manually select a different location when you want to control a location other than the one you are in.

Mobile Orbiters Follow Me

You can toggle the option for 'follow-me' mode, indicated with a red F. If you hold down the 2 button, a red F will appear for media. As you move around the house, your media will follow you. All 5 categories have follow-me.

Unless you have turned off the "Auto Detect new Bluetooth Phones" option on the Media Director, compatible Bluetooth Mobile phones will automatically be detected whenever they are within range of a Media Director. Be sure you have added the family member to whom the phone belongs on the LinuxMCE Admin Website first.

A message will appear on all Orbiters (you may need to turn on the TV to see the Media Director's on-screen Orbiter) asking if there is a new mobile phone and, if so, to whom it belongs. If you choose to install the software, the phone will beep. Just hit 'yes' to accept the software and accept the default prompts.

Mobile Orbiter phones

Several mobile phones can be made to work as mobile orbiters.

How to Setup an Orbiter

Connect the Orbiter to the LinuxMCE system

You can use one of two methods to connect an Orbiter:

  • a connection to a Media Director input port
  • a wireless connection to the home automation/multimedia LAN through an access point (or wireless router with the DHCP turned off). The Wireless Access Point/Router must obviously be connected to the Core server.

Setup the Orbiter in LinuxMCE from the administration screen

The LinuxMCE administration screen is where you add all the Orbiters you want to use in your house, no matter what type, whether Mobile Orbiters (e.g. mobile phones), regular Orbiters (e.g. wireless webpads and tablet PCs), Orbiters you want to run on a normal PC, or the on-screen Orbiters that every Media Director displays on its screen. All Orbiters connected to the system will appear on this page.

You can configure the following options for each orbiter:

  • Room: this is the room where the orbiter is normally kept. For mobile orbiters this selection isn't important since you carry them everywhere. For regular orbiters, the room is choosen by manual selection.
  • Leave Monitor on for OSD: OSD (On-screen display) refers to the state of the Orbiter running on the Media Director. This option is used to keep the TV ON when media is finished playing. Instead of shutting down, the TV remains ON and the Orbiter UI is displayed.
    The TV is turned off when the screen saver starts, or when you manually select Power-->Turn off display.
If you always control the Media Director using an Orbiter such as a web pad or mobile phone, leave this option unchecked and the TV will turn on when you're watching TV or playing media, and automatically turn off when you're not.
  • This device uses a Wi-Fi connection: This option is useful for webpads and PDAs with a Wi-Fi signal. Since Wi-Fi is somewhat unreliable, the Core and Orbiter will constantly 'ping' each other to make sure the connection is strong enough. The Orbiter software will exit whenever the Orbiter goes out of range.
  • No Effects: Many screens have special effects, such as animated buttons, fades, and so on. If the Orbiter has a slow processor, this may slow down response time. This option will disable any special effects on the Orbiter so it will run as fast as possible.
  • Language: All the text on the screen will appear in the selected language (as much as possible).
NOTE: You can create your own menus and translate screens into other languages using Designer.
  • Size: Choose the screen size you want. If this is an on-screen Orbiter on a Media Director, this will also set the Media Director's screen resolution.
  • Skin: There are several skins (motifs) from which to choose: 'Wood', 'Marble', etc. This option determines the skin that will be used.
  • User: This is the person who normally uses this Orbiter.
  • Quick Regen: To make the orbiters respond quickly, all images are pre-rendered. The User interface is "built" by the Orbiter Generator program. This option triggers the Orbiter Generator to re-generate the user interface for this Orbiter. It will only regenerate screens that appear to have changed.
  • Full Regen: This will cause Orbiter Generator to re-generate every screen on the Orbiter.
  • Reduce image size by %: This will cause Orbiter Generator to add some padding to the screens. This is useful if the screen margins are being displayed outside of the TV screen.
Developer info: although it may sound intuitive that the corresponding DeviceData is also called "Reduce image size by %", it is in fact called "Spacing". The PK_DeviceData for it is 150. The text "Reduce image size by %" comes from the DeviceTemplate_DeviceData table and it's the meaning of the device data in that specific device context
  • Offset: This causes the Orbiter to do backflips while reciting a poem backwards. (Just kidding. If you know what it does, please edit this section).

Change the look and feel of the Orbiter (optional)

Orbiters can be skinned in a variety of different ways. There is a dark version called Slate, and, a default skin, Titanium, which has multiple variations for data grid color. To explore your options, look at Orbiter Skins.

You can change the look and feel of the Orbiters in several ways on the LinuxMCE Admin Website-->Wizard-->Devices-->Orbiters page. You can also Create your own skin or user interface.

Orbiters graphics regeneration

Changes of scenarios, devices, floor-plans, or skins aren't immediately reflected on the Orbiter because they are regenerated before being reloaded and displayed.

An Orbiter's role is to send requests to the LinuxMCE Core. This activity requires very little resources and can be performed by devices with relatively slow processors (like PDA's and mobile phones) while running on a slow Wi-Fi connection. Since using the full-size graphics UI that is available directly to Media Directors would be too processor-intensive (requires scaling the graphics, redrawing the text, and re-rendering on the fly on each Orbiter), all the graphics are pre-scaled and pre-rendered by the OrbiterGen software module on the Core before being sent to the Orbiters that display them.

When changes are made, the LinuxMCE Admin Website-->Advanced-->Regenerate this Orbiter option is run and the OrbiterGen renders new graphics appropriate for the Orbiter that is being reloaded. This process takes about 60 seconds. Once completed, new buttons reflecting your changes will be displayed on the Orbiter.

The Orbiter User Interface

To control the system, you use an Orbiter, which is the LinuxMCE term for a remote control.

All Orbiters have the same basic function: display the scenarios in the room you're in and let you select one. Regardless of the type of orbiter in use, the Core sends the same list of scenarios. How and what is displayed depends on not only the type of device, but also the skin, the Main Menu, and the User. Whatever the orbiter, you will have the same options available, including a home button which takes you to the main menu, but how it is displayed may vary.

Variations in Orbiter UI menus

The skin

From the LinuxMCE Admin Website-->Wizard-->Devices-->Orbiters page, you can select a 'Skin'. This is the aesthetics (or motif): Wood, Marble, Modern, Classic, etc. What you see depends of the aesthetics (skin) you chose.

The Main Menu

From the LinuxMCE Admin Website-->Wizard-->Devices-->Orbiters page, you can also select the 'Main Menu', which determines how the user interface behaves.
If you change the 'Main Menu' interface, your Orbiter may look different from other Orbiters, and it may not display all the scenarios on the screen at the same time. In this case you may first have to choose a category, like you do with the mobile phones.

The 'User' settings

Every Orbiter has a User button on the main menu, except mobile phones. With a mobile phone Orbiter, you don't need to tell LinuxMCE who is using the Orbiter. The owner of the mobile phone is initially specified on the LinuxMCE Admin Website's Orbiter page and does not change. But with other Orbiters, which may be shared by the whole family, there will be a 'user' button that lets you select who is currently using the Orbiter.

The user selected determines what's available. When browsing media, only the current user's private media is shown. Other personal settings such as speed dials and phone books are also user based. What's displayed on the Orbiter depends on the current User.

Navigating the Orbiter displays

Based on their their screen size, the different Orbiters may display the User Interface slightly differently to make them more readable, and easier to use.

Small displays: the UI1 interface for Mobile Orbiters

On smaller displays, as on mobile phones or desktop phones, there's not enough room to show the scenarios themselves. To make them readable, the menus are displayed based on hierarchy levels, and only selected scenarios are shown. The top level menu shows only the categories: Lights, Media, Climate, Security and Telecom. Selecting a category displays the scenarios in that category. You must choose the scenario category from the main menu, such as "lighting", and then choose the specific scenario from the sub menu that appears.

The "UI1" interface is used on webpads and PDAs. It displays the scenarios in horizontal rows, and adds a "more" button when the list of scenarios does not fit on a row. It is the ideal interface for small screens.

Large displays: the UI2 interface for Web Orbiters

"UI2" is the preferred User Interface for Media Stations as it is easier to navigate using a traditional IR remote, much like any other Media Center PC with remote.
The menu button brings up the main menu, and you use the left/right/up/down/enter buttons to navigate it. The fast forward/rewind/skip +/skip - keys are used for media playback.

If you have a pointing device like a mouse or gyro air mouse, the UI2 interface also supports a unique control architecture that lets you do everything with 3 (programmable) buttons (plus ok and cancel). The 3 buttons are "MEDIA", "MENU", "AMBIANCE".

On a mouse with 3 programmable buttons (such as the gyration), these functions correspond to the buttons from left to right. If you are using a traditional 3 button mouse, you can use the F6, F7 and F8 keys on the keyboard for the three programmable functions instead. In both cases, the left mouse button is "ok", and the right mouse button is "cancel/go back".

Mouse button behavior is "absolute" when you press and hold the media/menu/ambiance button and "relative" when you tap and release.

The "absolute" behavior is generally more efficient. For example, in the case of the middle button (F7), "absolute" behavior means the action is executed without having to additionally click "ok". If you press and hold the middle button (F7) while moving your mouse pointer to the option, then let go, that option is executed. If you instead tap and release the menu button ("relative" behavior), you will only highlight the menu option. You must then press ok (the left mouse button) to execute the option.

Categories appear along the bottom of the screen, and the scenarios in each category popup vertically (like a pull-down menu in a PC, except upside down). If the main menu isn't already visible, bring it up by pressing the "start" button on a Windows IR remote, or the "menu" button on a 3-button mouse. To exit a menu, use the back button on the IR remote, the cancel button (right mouse button on a 3-button mouse), or the ESC key on a keyboard.

In UI2, the media is always full screen. If you're not playing your own media, the background media (i.e. screensaver images) is gallery art from the Internet (using flickr) or pictures you select. If only the screensaver images are displayed on the Media Station, press the menu/middle/F7 button to bring up the menu. Right click/ESC to get rid of it. (This works even if your own media is playing.)

If you're using UI2's 3-button navigation model, the normal media control options on a traditional remote are replaced with a single button: "media" (left soft button or F6). Press this and move the pointer up and down for your skip functions (ch+, ch-, skip fwd, skip back). Move the pointer left and right for speed control (rewind, fast forward). The further you move, the faster the media playback changes. If you hold the button down (the left soft button or F6), your movement will be "absolute". Instead of the traditional "jog shuttle-type" control, movement to the right skips to the end of your media, and movement to the left skips to the beginning. Once you get used to it, you will find that navigating media is orders of magnitude faster and easier with this model than with a traditional remote. You can find a spot in a 2 hour movie in only a couple seconds with a click of a single button (compared to a slew of button clicks required using a traditional remote).

Also, in UI2 you can press the "ambiance" button (right soft button or F8). Move up/down to adjust the lights, and left/right to adjust the volume. As with the media playback, if you hold the F8/right soft button down while you move left and right, your volume control is in "absolute" mode (not "relative"). Moving hard right turns up the volume full blast; hard left is mute. This requires you have a TV or receiver that is serial-controlled, however. LinuxMCE can then directly and instantly set the volume position in sync with your hand movements. (Few TVs and receivers have this feature, unfortunately.)

There are other media control functions besides the most commonly used fast fwd/rewind/skip up/skip down. You can, for example, choose 'subtitles' while watching a DVD, 'guide' while watching TV, and 'random' while listening to an audio CD. In the UI2 3 button model, these functions appear on the main menu (on the left-most pad, entitled 'now playing') and changes according to the type of media you're playing. Press the menu button (middle button/F7) to select these options.

This 3 button model is a new concept and very different from traditional navigation. Most people find it much faster once they become accustomed to it.

Controlling the system with an Orbiter

An Orbiter is used to execute scenarios

A scenario is a preset of configuration settings for LinuxMCE system components. Just like a music playlist sets a list of songs to be played, a scenario sets a list of states and actions to be applied.
In LinuxMCE, you create a scenario to define the state of the things controlled by the Core. You can create a Lighting Scenario to set the brightness of the light to a level appropriate for your TV viewing, and call it "Watch TV". When you to want to watch a movie on your TV, you can execute the "Watch TV" scenario, and the lights will dim at the level that corresponds to the settings configured in the "Watch TV" scenario. You could use the same scenario to close the binds, dim the lights, turn on the TV, and start playing the movie of your choice.
You could also create a lighting scenario called "entertaining guests" that would set the light levels, play some background music, unlock the door, etc.
What happens is determined by what scenario you choose to execute, and what you choose to see happening in a given scenario.

Using LinuxMCE basically consists of selecting scenarios that you have previously created. The tool used to select scenarios is the Orbiter.

Selecting what to control

Selecting the room where the device is

Web Orbiter / Main Orbiter Screen (UI1)

Since the scenarios are grouped by room, the Orbiter needs to know what room you are in.

Depending on what Orbiter you use, the room set as default varies.

  • For a Media Director, the room in which it is located is always displayed by default on the on-screen Orbiter.
  • For mobile phones the Orbiter is set to "follow you": whenever you enter a room with a Media Director that has a Bluetooth dongle, your phone will detect it and will switch to that room, showing you that room's scenarios.

You can manually specify the default room of an Orbiter through a setting on the "Orbiters" page in the LinuxMCE Admin Website.

Regardless of the default room set, or the default behavior of the type of Orbiter you use, there will always be a "rooms" button on the main menu showing the room, which can always be changed.

The menu items you see on the Orbiter are pertaining to the currently selected room. If you want to control devices in a different room that the one you are physically located in, you need to change the Orbiter to that room in order to access the scenarios that control the devices that are located in it.

Since each device normally stays in the location where it is used, the location for a Media Director's on-screen Orbiter does not need to be changed. However, when using a wireless web pad or PDA, you might need to change locations frequently as you move around and decide to "localize" your orbiter.
However, your Orbiter "location" need not be your actual physical location because you can manually select your desired location (and user) at any time. While using the on-screen Orbiter for the Media Director in the Living Room, you can change your "location" to the Bedroom, and control the devices that are in the Bedroom. The same principle applies throughout the system, to all orbiters, locations and users.

In the lower right corner of the main Orbiter screen, you will find the 'who' and 'where' buttons. They indicate the current user of the Orbiter and which room he or she currently is in (or wishes to control). Use this information to verify that you are looking at the right room.

To change rooms, click on the name of the room that is currently displayed on the Orbiter, and a menu of the rooms will be displayed. Select the room you want to control from the menu.

Selecting a device from the room

In LinuxMCE, devices are not selected directly, but as part of a set of actions configured in a scenario. Once a room has been selected, the default "main" UI screen is displayed where you can select one of several device categories. Pick the category you would like to explore, and select the scenario that represents what you would like the device to do.

Activating devices

Web Orbiter / Main Orbiter Screen (UI1)
Lighting Scenario Page LinuxMCE Admin Website

The icons on the left all lead to maps or floor-plans of your house. They show the lighting, media, climate, telecom and security scenario categories for each room. Next to each floor-plan icon, the existing scenarios for that category and room are listed. This is where you select what you would like to do.

From a phone

On the mobile phones, the screen is quite small, so rather than showing you all the scenarios for a room, the phone normally just shows the categories of scenarios: 'Lighting', 'Media', 'Climate', 'Security', 'Telecom', 'Other'. Select a category, then select the scenario underneath it. The 'c' button always takes you back to the main menu. The red 'off' button stops whatever media is playing. And the 'menu' button hides Orbiter so you can use the phone as a normal phone again. To show the Orbiter again, hold the menu button until a strip of currently running programs appears, and chose 'LinuxMCE MO'. If the Orbiter isn't running, press the menu button and choose 'LinuxMCE MO' from the menu. When you do, the Orbiter won't appear instantly --- it will only appear when a Media Director is in proximity and is able to connect to the phone and talk to the LinuxMCE MO software. This can take around 15 seconds. While using the Orbiter, all the other keys have different functions, depending on what you're doing. A brief legend is usually shown on the screen and you can hold down the 'c' button for help.

Quick tip

No matter what the user interface looks like, and no matter whether you use the phone, keyboard, or infrared remote, the categories are always numbered as follows:

  • 1=Lighting
  • 2=Media
  • 3=Climate
  • 4=Telecom
  • 5=Security
  • 6=Misc

Within each category, the scenarios are numbered the same, and in the same order, for all Orbiters.
For example, the 2nd media scenario is nearly always TV. Whether from a mobile phone, or using an infrared remote or keyboard for an on-screen Orbiter, 22 turns on the TV (2 for Media, 2 for TV).

When creating lighting scenarios, LinuxMCE encourages you to make the first lighting scenario the 'default on' and the second the 'default off'. In any room you can normally can hit 11 on any remote to turn the lights on, and 12 to turn them off. If you are consistent in setting up all rooms like this, you will find that you remember the number shortcuts quickly.

System concepts for Orbiter Implementation

Here's a simplified UML for Orbiter (pocketfrog implementation).

All graphics are rendered based on a 2844px by 1600px sized canvas.

Integrating custom controls in Orbiter

Orbiter refactoring - the new design

Devel notes: