Difference between revisions of "User Manual"

From LinuxMCE
Jump to: navigation, search
(The LinuxMCE system)
(How to get started with LinuxMCE)
 
(41 intermediate revisions by 2 users not shown)
Line 11: Line 11:
  
 
== What is LinuxMCE? ==
 
== What is LinuxMCE? ==
Built on the solid foundation laid down by Debian and Ubuntu, LinuxMCE (Linux Media Center Edition) is a free and open source '''media centered Linux distribution''' designed to allow a computer to act as:  
+
Though this distribution is called Linux Media Center Edition ({{l}}), it is not just a media center. It was so named because its main component was a replacement for other Operating Systems that at the time were called Media Center Editions. LinuxMCE's primary functions are integration and automation. It is much more than a media powerhouse. With LinuxMCE, you can integrate most automation technologies and enable them to inter-operate using their native [[automation | automation protocols]] because at its core, LinuxMCE is a multi-protocol automation gateway.
 +
 
 +
Built on the solid foundation laid down by Debian and Ubuntu, LinuxMCE is a free and open source Linux distribution designed to allow a computer to act as:  
 +
:* a home automation, lighting, and climate control system
 
:* a home theater PC (HTPC) for the living-room TV
 
:* a home theater PC (HTPC) for the living-room TV
 
:* a personal video recorder (PVR)
 
:* a personal video recorder (PVR)
:* a home automation, lighting, and climate control system
 
 
:* a surveillance and security system
 
:* a surveillance and security system
 
:* a VoIP phone system  
 
:* a VoIP phone system  
  
LinuxMCE is loaded with all kinds of goodies for the home of the future because it is designed to control the environment in which you enjoy your media. Additionally to recording and playback of audio and video, it is capable of enhancing your media enjoyment by setting the desired room temperature and luminosity (controlling the blinds, curtains, lights, and thermostat), silencing the phone, setting the alarm, locking the doors, and turning off anything else you need for the amount of time you desire. With that level of automation, you can control your home at will and use LinuxMCE as the telephone switching hub, internal intercom system, security system monitor, A/V gear controller... <br>
+
 
 +
LinuxMCE is loaded with all kinds of features for the home of the future.  It is designed to completely control the environment both inside and outside your home. Along with media features including the ability to record and playback audio and video, LinuxMCE is capable of enhancing your home environment by setting the desired room temperature and luminosity (controlling the blinds, curtains, lights, and thermostat), silencing the phone (or pausing the media while you're on the phone), setting the alarm, locking the doors, and switching devices on (and off) at any time you desire. With the level of integration that LinuxMCE provides, you can control your home, and, enjoy the added benefit of the use of the included telephone and intercom system, security system monitor, media controller, etc... <br>
 +
 
 
LinuxMCE ties them all together using an advanced messaging infrastructure that enables it to act as your whole home automation controller.  
 
LinuxMCE ties them all together using an advanced messaging infrastructure that enables it to act as your whole home automation controller.  
 
   
 
   
Line 26: Line 30:
 
==== LinuxMCE software components ====
 
==== LinuxMCE software components ====
 
LinuxMCE brings together a number of software components in an integrated environment. It is a collection of many pieces of open source software. <br>
 
LinuxMCE brings together a number of software components in an integrated environment. It is a collection of many pieces of open source software. <br>
Each LinuxMCE installation is a custom mix made of a selection of devices, plug-ins, and other modules. LinuxMCE's primary documentation aims to explain how LinuxMCE works, how to install it, set it up, and use it.  Many devices have been tested for easy setup, many are Plug 'n' Play, check the ever growing [[hardware|HCL]].  If you are new to LinuxMCE?, try to start with devices that are known to work with LinuxMCE, then move on to more advanced things.  If you are unsure, please ask on the [http://forum.linuxmce.org/ forums] or in [[IRC Chat]].<br>
+
Each LinuxMCE installation is a custom mix made of a selection of devices, plug-ins, and other modules. LinuxMCE's primary documentation aims to explain how LinuxMCE works, how to install it, set it up, and use it.  Many devices have already been tested for easy setup and are Plug 'n' Play. Feel free to consult the ever growing [[hardware|HCL]].  If you are new to LinuxMCE, try to start with devices that are known to work with LinuxMCE, then move on to more advanced things.  If you are unsure, please ask on the [http://forum.linuxmce.org/ forums] or in [[IRC Chat]].<br>
  
 
Here is a list of some of the software components that make LinuxMCE run:
 
Here is a list of some of the software components that make LinuxMCE run:
Line 59: Line 63:
 
Each software module has a detailed section which explains how to use, configure, and program it. The [[Software components#LinuxMCE Home Software Sections|LinuxMCE Home Software Sections]] is a menu that lists all the software modules included in LinuxMCE. You can use it to explore each of the software components that are part of LinuxMCE.
 
Each software module has a detailed section which explains how to use, configure, and program it. The [[Software components#LinuxMCE Home Software Sections|LinuxMCE Home Software Sections]] is a menu that lists all the software modules included in LinuxMCE. You can use it to explore each of the software components that are part of LinuxMCE.
  
Since each of the software components have their own websites and development communities, you will find yourself at home with the ones that are familiar to you. Feel free to expand on what the community has already done by [[Contributing to LMCE|adding your contributions]] to this community effort.
+
Since each of the software components have their own websites and development communities, you will find yourself at home with the ones that are familiar to you. Feel free to expand on what the community has already done by [[Contributing to LMCE|adding your contributions]] to the {{l}} community effort.
 +
{{p}}
  
 
=== Open Source and licensing ===
 
=== Open Source and licensing ===
Line 67: Line 72:
 
:* What to do if you're an [http://LinuxMCE.com/index.php?section=developer Open Source developer]
 
:* What to do if you're an [http://LinuxMCE.com/index.php?section=developer Open Source developer]
 
:* LinuxMCE's [http://LinuxMCE.com/index.php?section=letter Open Source strategy]
 
:* LinuxMCE's [http://LinuxMCE.com/index.php?section=letter Open Source strategy]
 +
 +
{{p}}
  
 
== The LinuxMCE system ==
 
== The LinuxMCE system ==
 
This section introduces you to the components of the LinuxMCE system and explains what each system component's role is. Once familiar with the system as a whole, you'll be able proceed to the tutorials section to learn how to choose your hardware, then install, configure, and use each of the system components.
 
This section introduces you to the components of the LinuxMCE system and explains what each system component's role is. Once familiar with the system as a whole, you'll be able proceed to the tutorials section to learn how to choose your hardware, then install, configure, and use each of the system components.
 +
{{p}}
 +
 +
====LinuxMCE terminology====
 +
{{l}} uses a planetary system terminology to refer to its components. The original project, [[pluto|PlutoHome]], used the celestial body Pluto and its orbiting moons as an analogy, and named its components after them. {{l}} grew from it and kept the terminology. <br>
 +
This section introduces you to the terminology used when refering to {{l}} components. For a brief definition of the names of celestial objects, see [[Astronomical bodies defined]] 
 +
{{p}}
  
 
==== Composition of a LinuxMCE system ====
 
==== Composition of a LinuxMCE system ====
Line 88: Line 101:
  
 
===== Personal Computing with the Core =====
 
===== Personal Computing with the Core =====
LinuxMCE is running Kubuntu Linux, complete with Office suites and all the programs you would need for everyday Personal Computing. See details on [[Personal Computing]] with LinuxMCE.
+
LinuxMCE is running Kubuntu Linux, complete with Office suites and all the programs you would need for everyday Personal Computing. See details on [[Personal Computing|Personal Computing with LinuxMCE]].
  
 
==== Media Directors ====
 
==== Media Directors ====
Line 96: Line 109:
  
 
==== Orbiters ====
 
==== Orbiters ====
'''Orbiters''' are remote controls. An [[Orbiter]] is a LinuxMCE interface device. This can be as simple as an Infrared Remote Control or as sophisticated as a device that displays the LinuxMCE User Interface. The purpose of an orbiter is to send commands to devices in the LinuxMCE system.<br>
+
'''Orbiters''' are remote controls. An [[Orbiter]] is a LinuxMCE interface device running our intelligent control software. It can run on a variety of devices ranging from mobile phones (Android/iOS/Symbian), to PCs, including PDAs, tablet PCs, laptops, and any web browser enabled device. <br>
LinuxMCE allows a wide variety of devices to function as Orbiters including: Laptops, tablet PCs, PDAs, mobile phones (Android/iOS/Symbian), or any web browser device that is able to connect to your LinuxMCE LAN. Devices that can be used as an Orbiter are numerous.
+
The purpose of an orbiter is to send commands to devices in the LinuxMCE system. <br>
 
+
 
To learn all about it, read [[Orbiters]].
 
To learn all about it, read [[Orbiters]].
  
Line 118: Line 130:
  
 
When you connect a NAS to the network LinuxMCE will automatically recognize it and ask you how to integrate it into the system. See [[Network Attached Storage]]
 
When you connect a NAS to the network LinuxMCE will automatically recognize it and ask you how to integrate it into the system. See [[Network Attached Storage]]
 +
 +
{{p}}
  
 
== Understanding LinuxMCE operation ==
 
== Understanding LinuxMCE operation ==
LinuxMCE's main concepts are [[Devices]], Commands (aka [[Scenarios]], or, Activities), and [[Events]].  
+
At its core, LinuxMCE is a router connected to a bus, running with a communication protocol called DCE. You can think of a LinuxMCE installation as a stack of devices that connect to the bus to communicate to the DCE Router using the DCE protocol.
 +
{{p}}
  
This section explains the roles of Devices, Scenarios, and Events in the operation of the LinuxMCE system, and their interactions that constitute the operation of LinuxMCE.
+
===The DCE protocol===
 +
DCE is the protocol used by {{l}} system components to interact. With DCE, hardware and software of different native protocols can:
 +
* communicate with each other using a set of well defined and accepted commands (On, Off, Volume Up, Volume Down, Mute, Press 0 through 9, etc.)
 +
* emit events to notify that something happened
 +
* hold configuration (this light switch is ON, it connects to port B on the interface, etc.)
  
=== Devices ===
 
Every item in LinxMCE is a device.  A device is generally a piece of hardware or software, like the Xine Media Player, a light switch, or a mobile phone.  All devices have three sets of features known as "DCE" (Data, Commands, Events):
 
  
# Set/Retrieve configuration '''data'''
+
The acronym DCE comes from the three major operations performed using the protocol: Data, Commands, and Events. <br>
# Perform a '''command''' (turn on, turn off, fast forward, etc.)
+
 
# Send/Report '''events''' (e.g. 'motion detected', 'playback started', etc.)
+
A DCE device can:
 +
:# Set/Retrieve configuration which we call device ''''''<big>D</big>'''ata'''
 +
:# Perform a ''''''<big>C</big>'''ommand''' (turn on, turn off, fast forward, etc.)
 +
:# Send/Report ''''''<big>E</big>'''vents''' (e.g. 'motion detected', 'playback started', etc.)
 +
 
 +
For a list of the protocols {{l}} supports, see [[Automation#Automation protocols|Automation protocols]]
 +
{{p}}
 +
 
 +
=== Devices ===
 +
{{#lsth:Devices|What is a Device?}}
  
 
=== Scenarios ===
 
=== Scenarios ===
 
{{#lsth:Scenarios|What is a Scenario?}}
 
{{#lsth:Scenarios|What is a Scenario?}}
 
 
=== Events ===
 
=== Events ===
 
Devices report events, such as 'Playback started' and 'Motion Sensor tripped'. If you want something to happen automatically in LinuxMCE, you can create Event Handlers that react to these events. For example, you can create an event handler that listens for the 'Motion Sensor tripped' event from a motion detector and turns on the lights in response. An event handler might listen for the 'Sunrise' event, which could then prompt the sprinklers to come on.  
 
Devices report events, such as 'Playback started' and 'Motion Sensor tripped'. If you want something to happen automatically in LinuxMCE, you can create Event Handlers that react to these events. For example, you can create an event handler that listens for the 'Motion Sensor tripped' event from a motion detector and turns on the lights in response. An event handler might listen for the 'Sunrise' event, which could then prompt the sprinklers to come on.  
  
 
LinuxMCE will create several default event handlers. In rooms which you have a TV and lights an event handler is created that listens for the 'Watching Media' event sent by a media player and , when detected, the Showtime scenario (which dims the lights) is executed in response.  So when you start a movie the Showtime Scenario will be executed and the lights will be dimmed.  LinuxMCE also includes other default event handlers that monitor for events like 'Security Breach' and 'Fire Alarm' (from connected sensors or security systems).
 
LinuxMCE will create several default event handlers. In rooms which you have a TV and lights an event handler is created that listens for the 'Watching Media' event sent by a media player and , when detected, the Showtime scenario (which dims the lights) is executed in response.  So when you start a movie the Showtime Scenario will be executed and the lights will be dimmed.  LinuxMCE also includes other default event handlers that monitor for events like 'Security Breach' and 'Fire Alarm' (from connected sensors or security systems).
 +
{{p}}
  
 
=== Interactions ===
 
=== Interactions ===
Commands (usually groups of commands) are arranged in Scenarios that control devices in the home when activated. Orbiters ("remote controls") load user interfaces that have buttons (Scenarios) used to send commands to the system. Devices will report events to the Core, which will then uses the information to send predefined commands (Scenarios) and setup the state of the system through the house. The Core coordinates interaction between devices. Each device responds to commands based on its' intent and the magic of automation happens.  
+
Commands (usually groups of commands) are arranged in Scenarios that control devices in the home when activated. Orbiters ("remote controls") load user interfaces that have buttons (Scenarios) used to send commands to the system. Devices will report events to the Core, which will then uses the information to send predefined commands (Scenarios) and setup the state of the system through the house. The Core coordinates interaction between devices. Each device responds to commands based on its intent and the magic of automation happens.
 +
 
 +
{{p}}
  
 
== How to get started with LinuxMCE ==
 
== How to get started with LinuxMCE ==
 
Next, go to the [[How to get started with LinuxMCE]] to learn how to install, and start using the system.
 
Next, go to the [[How to get started with LinuxMCE]] to learn how to install, and start using the system.
 +
 +
{{p}}

Latest revision as of 02:59, 22 March 2016

Welcome to LinuxMCE,
home of the home of the future.

What is LinuxMCE?

Though this distribution is called Linux Media Center Edition (LinuxMCE), it is not just a media center. It was so named because its main component was a replacement for other Operating Systems that at the time were called Media Center Editions. LinuxMCE's primary functions are integration and automation. It is much more than a media powerhouse. With LinuxMCE, you can integrate most automation technologies and enable them to inter-operate using their native automation protocols because at its core, LinuxMCE is a multi-protocol automation gateway.

Built on the solid foundation laid down by Debian and Ubuntu, LinuxMCE is a free and open source Linux distribution designed to allow a computer to act as:

  • a home automation, lighting, and climate control system
  • a home theater PC (HTPC) for the living-room TV
  • a personal video recorder (PVR)
  • a surveillance and security system
  • a VoIP phone system


LinuxMCE is loaded with all kinds of features for the home of the future. It is designed to completely control the environment both inside and outside your home. Along with media features including the ability to record and playback audio and video, LinuxMCE is capable of enhancing your home environment by setting the desired room temperature and luminosity (controlling the blinds, curtains, lights, and thermostat), silencing the phone (or pausing the media while you're on the phone), setting the alarm, locking the doors, and switching devices on (and off) at any time you desire. With the level of integration that LinuxMCE provides, you can control your home, and, enjoy the added benefit of the use of the included telephone and intercom system, security system monitor, media controller, etc...

LinuxMCE ties them all together using an advanced messaging infrastructure that enables it to act as your whole home automation controller.


You can read more about it on the LinuxMCE site and on Wikipedia.

LinuxMCE software components

LinuxMCE brings together a number of software components in an integrated environment. It is a collection of many pieces of open source software.
Each LinuxMCE installation is a custom mix made of a selection of devices, plug-ins, and other modules. LinuxMCE's primary documentation aims to explain how LinuxMCE works, how to install it, set it up, and use it. Many devices have already been tested for easy setup and are Plug 'n' Play. Feel free to consult the ever growing HCL. If you are new to LinuxMCE, try to start with devices that are known to work with LinuxMCE, then move on to more advanced things. If you are unsure, please ask on the forums or in IRC Chat.

Here is a list of some of the software components that make LinuxMCE run:

Functionality Platform/software used
Operating system Kubuntu, Raspbian
TV & video recording MythTV / VDR
Telephony . . . Asterisk
Home automation Pluto
Surveillance camera recording Motion
Video plaback Xine, omxplayer, VLC

Each software module has a detailed section which explains how to use, configure, and program it. The LinuxMCE Home Software Sections is a menu that lists all the software modules included in LinuxMCE. You can use it to explore each of the software components that are part of LinuxMCE.

Since each of the software components have their own websites and development communities, you will find yourself at home with the ones that are familiar to you. Feel free to expand on what the community has already done by adding your contributions to the LinuxMCE community effort.

Open Source and licensing

More information regarding LinuxMCE's relationship to Open Source can be found on the following pages:



The LinuxMCE system

This section introduces you to the components of the LinuxMCE system and explains what each system component's role is. Once familiar with the system as a whole, you'll be able proceed to the tutorials section to learn how to choose your hardware, then install, configure, and use each of the system components.

LinuxMCE terminology

LinuxMCE uses a planetary system terminology to refer to its components. The original project, PlutoHome, used the celestial body Pluto and its orbiting moons as an analogy, and named its components after them. LinuxMCE grew from it and kept the terminology.
This section introduces you to the terminology used when refering to LinuxMCE components. For a brief definition of the names of celestial objects, see Astronomical bodies defined

Composition of a LinuxMCE system

LinuxMCE enables various hardware devices to operate together as a system. At the heart of the system lies a server called the Core, which coordinates the interactions of all the hardware components that make up the system.

A LinuxMCE system is made of the following components:

Diagram1.jpg
  1. The Core
  2. Media Directors
  3. Orbiters
  4. Security
  5. Home Automation
  6. Telecom
  7. Network Attached Storage (NAS)

The Core

A Core is a single dedicated PC acting as a server that interacts with all the components of the system. It is the heart and brain of the LinuxMCE system. You can read more about it on the Core page.

Personal Computing with the Core

LinuxMCE is running Kubuntu Linux, complete with Office suites and all the programs you would need for everyday Personal Computing. See details on Personal Computing with LinuxMCE.

Media Directors

A Media Director (also known as a Media Station or Media Manager) is a system running LinuxMCE that is connected to a TV or sound system to deliver music and video. In your entertainment area, it serves as the player for media that you watch on your TV, or listen to on your sound system. The Media Director in a LinuxMCE system is hooked up to a TV or stereo, and becomes an integrated media player, PVR, video conferencing station, intercom, and, a monitoring and control portal for everything in the home. All Media Directors work together seamlessly as a whole-house solution offering the same convenience throughout the house.

To learn more, read Media Director.

Orbiters

Orbiters are remote controls. An Orbiter is a LinuxMCE interface device running our intelligent control software. It can run on a variety of devices ranging from mobile phones (Android/iOS/Symbian), to PCs, including PDAs, tablet PCs, laptops, and any web browser enabled device.
The purpose of an orbiter is to send commands to devices in the LinuxMCE system.
To learn all about it, read Orbiters.

Security

Security is an integral part of LinuxMCE. Security functions include light control, surveillance camera monitoring, and motion detection. Events can be triggered based on detected motion or various sensors. LinuxMCE can send alerts to your mobile phone, set your alarm based on different schedules and scenarios, and even automatically lock the door when you leave your home. Find out more on the Security page.

Home Automation

The Home Automation features of LinuxMCE attempt to be as convenient as possible and energy-efficient. With Home Automation you can control lights, climate and even the whereabouts of music or video played in your home. Many devices, including mobile phones, can be turned into remote controls for your entire house.

More about Home Automation

Telecom

Telecom is integrated into LinuxMCE in a sophisticated fashion. The VoIP system provides great flexibility. Each member of your family may have his/her own personal voice mailbox. You can permit the system to keep track of where you are in the house and route incoming calls to the nearest phone in your home, or to your mobile phone if you're not at home. Incoming calls will automatically pause any playing media, in the area you are in, allowing you to take calls without you missing a moment of your media experience.

More about Telecom

Network Attached Storage (NAS)

You can extend your LinuxMCE system's storage with a NAS device for your music and video collection. LinuxMCE can automatically use designated devices for storage requirements including PVR functions and general media storage for audio/video/photos.

When you connect a NAS to the network LinuxMCE will automatically recognize it and ask you how to integrate it into the system. See Network Attached Storage



Understanding LinuxMCE operation

At its core, LinuxMCE is a router connected to a bus, running with a communication protocol called DCE. You can think of a LinuxMCE installation as a stack of devices that connect to the bus to communicate to the DCE Router using the DCE protocol.

The DCE protocol

DCE is the protocol used by LinuxMCE system components to interact. With DCE, hardware and software of different native protocols can:

  • communicate with each other using a set of well defined and accepted commands (On, Off, Volume Up, Volume Down, Mute, Press 0 through 9, etc.)
  • emit events to notify that something happened
  • hold configuration (this light switch is ON, it connects to port B on the interface, etc.)


The acronym DCE comes from the three major operations performed using the protocol: Data, Commands, and Events.

A DCE device can:

  1. Set/Retrieve configuration which we call device 'D'ata
  2. Perform a 'C'ommand (turn on, turn off, fast forward, etc.)
  3. Send/Report 'E'vents (e.g. 'motion detected', 'playback started', etc.)

For a list of the protocols LinuxMCE supports, see Automation protocols

Devices

For the purpose of consistency throughout this documentation, hardware equipment will be called "hardware device". The generic term "device" is used to refer to the software object in LinuxMCE that enables DCE communication between hardware and software components in the LinuxMCE system.

The LinuxMCE Core is a router that LinuxMCE system components use to communicate using the DCE protocol. Hardware devices and software without DCE capability can not send and receive communications over the DCE bus. LinuxMCE solves the problem by creating software "devices" that connect to the DCE bus for the purpose of translating hardware and software native communications into DCE. At the moment, no hardware is manufactured specifically with the DCE protocol. To control a hardware device with LinuxMCE, a corresponding software device is created. Each LinuxMCE system component has a corresponding "device" that it uses to communicate in DCE with the other LinuxMCE system components.

A device is a software object in LinuxMCE that connects a software or hardware component to the DCE bus to enable it communicate with the other LinuxMCE system components using the DCE protocol, translating various hardware and software communications into DCE when necessary.




Scenarios

"Scenarios", "Activities", and "Command Groups" are interchangeable terms -- they mean the same thing.
A scenario is a group of commands that can be sent to a device (or series of devices).
To perform an action in LinuxMCE, a scenario is chosen from the ones created by the user, or from one of the categories that are created by default during installation (located on the main menu of an Orbiter).

Each scenario is a group of commands, or tasks, that appears on the Orbiter as a button.



Events

Devices report events, such as 'Playback started' and 'Motion Sensor tripped'. If you want something to happen automatically in LinuxMCE, you can create Event Handlers that react to these events. For example, you can create an event handler that listens for the 'Motion Sensor tripped' event from a motion detector and turns on the lights in response. An event handler might listen for the 'Sunrise' event, which could then prompt the sprinklers to come on.

LinuxMCE will create several default event handlers. In rooms which you have a TV and lights an event handler is created that listens for the 'Watching Media' event sent by a media player and , when detected, the Showtime scenario (which dims the lights) is executed in response. So when you start a movie the Showtime Scenario will be executed and the lights will be dimmed. LinuxMCE also includes other default event handlers that monitor for events like 'Security Breach' and 'Fire Alarm' (from connected sensors or security systems).

Interactions

Commands (usually groups of commands) are arranged in Scenarios that control devices in the home when activated. Orbiters ("remote controls") load user interfaces that have buttons (Scenarios) used to send commands to the system. Devices will report events to the Core, which will then uses the information to send predefined commands (Scenarios) and setup the state of the system through the house. The Core coordinates interaction between devices. Each device responds to commands based on its intent and the magic of automation happens.



How to get started with LinuxMCE

Next, go to the How to get started with LinuxMCE to learn how to install, and start using the system.