Difference between revisions of "User:Posde"
(→Designing screens and objects) |
(Added information about orbiter generation) |
||
Line 1: | Line 1: | ||
=Links= | =Links= | ||
Modeline generator for X.org [http://xtiming.sourceforge.net/cgi-bin/xtiming.pl] | Modeline generator for X.org [http://xtiming.sourceforge.net/cgi-bin/xtiming.pl] | ||
+ | =Notes On The Orbiter Generation= | ||
+ | ==Scenario Buttons On The Main Menu== | ||
+ | All scenarios are in the table CommandGroup. | ||
+ | |||
+ | The list of scenarios displayed on the main menu is derived from | ||
+ | * CommandGroup_Entertain | ||
+ | ** Media | ||
+ | * CommandGroup_Room | ||
+ | ** Lighting | ||
+ | ** Security | ||
+ | ** Telecom | ||
+ | ** Climate | ||
+ | |||
+ | ==Menu Items Which NEED Graphics== | ||
+ | * Media Remote | ||
+ | * DVD Menue support | ||
+ | * Security Cameras | ||
+ | * Floorplan support | ||
+ | * Application Desktop objects (only for On-Screen orbiters) | ||
+ | |||
+ | ==User Status== | ||
+ | The UserMode table has a list of all available modus of a user. | ||
=PythonMO= | =PythonMO= |
Revision as of 12:46, 2 October 2008
Contents
Links
Modeline generator for X.org [1]
Notes On The Orbiter Generation
Scenario Buttons On The Main Menu
All scenarios are in the table CommandGroup.
The list of scenarios displayed on the main menu is derived from
- CommandGroup_Entertain
- Media
- CommandGroup_Room
- Lighting
- Security
- Telecom
- Climate
Menu Items Which NEED Graphics
- Media Remote
- DVD Menue support
- Security Cameras
- Floorplan support
- Application Desktop objects (only for On-Screen orbiters)
User Status
The UserMode table has a list of all available modus of a user.
PythonMO
The PythonMO is going to work on all Nokia Symbian S60v2 and S60v3 phones. S60v1 won't be supported, as one of the main objects (graphics.Image) is not supported on it. As Python is supported on a lot of other devices as well, it should be easy to move it to other devices as well. The PythonMO is a Bluetooth server talking to the BD service running on the LinuxMCE Media Director.
Flow
- All conversation work the same way. The server and the client talk using the following syntax.
4-byte long CommandID 4-byte long length of CommandText 0x00 delimited CommandText
- It provides a service names "Pluto"
- Upon connecting from a client, it sends out
- A 4 byte version of a long BD_PC_REPORT_MY_VERSION
- A 4 byte length definition of the BD_VERSION string
- The BD_VERSION string, delimited with a NULL
- The client sends back
- A 4 byte version of a long BD_CP_....*
- A 4 byte length definition of the command text
- The word OKAY ended with a NULL
- The server sends BD_PC_WHAT_DO_YOU_HAVE
- The client tells the server, what the server should display or send back.
Personal Goals for 0804
EPG and channel list on orbiter
The average user expects the electronic program guide to be viewable on the orbiter, and not only the on-screen orbiter. (Maemo Orbiter, Web Orbiter, Flash Orbiter [maybe Mobile Orbiter])
Working VDR
VDR integration as promised for 0710. LiveTV on all media directors, without an ugly hack.
Python Orbiter
As mentioned on top of this page, I want an orbiter realised in Python, especially for the Symbian S60 phones. But it can also be the basis, for a mobile orbiter runnning under Maemo.
LVM and RAID
Partition The First Disk
Currently, the installer does not work with previously created software RAID devices. Therefor, one of the three disks is used to create the boot device. DVD Install and Custom Partitions
Create a RAID 1
As the boot partition we will create a raid 0 array. First create partitions on two of the disks using fdisk
fdisk /dev/sda n - new partition 1 - start of partition +80000M - we take about 80GB of space. Enough for the initial / of LinuxMCE and a couple of MDs t - change type of partition fd - to a raid array w - write changes to disk.
same for /dev/sdb.
Now we create the raid devices
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
If you receive an error, device /dev/md0 not found, make sure, the kernel module md is loaded, do
modprobe md
and try mdadm --create again.
Now, wait for the array creation to finish. Watch it with
cat /proc/mdstat
Now we have the initial device for LinuxMCE. Look at the wiki page [[2]] regarding custom partitioning, and create the three relevant partitions within the device /dev/md0 instead of /dev/sda and the relevant file and dir.
Now it is time to install LinuxMCE as outlined in the above wiki. When done, come back here.
Create a RAID-5 MD with LVM2 on top
LinuxMCE is installed and Sarah did his show and dance, and most of the stuff is configured. Now we will setup the array for the media. This array will be the foundation for an LVM2. Ontop of LVM2 will be an xfs file system. This will ensure ease in growing our media repository.
Install LVM2
aptitude install lvm2
takes of care of installing the needed programs
Create LVM2
A logical volume consists of physical volume groups and logical volume groups. First we mark our big RAID 5 array as a physical volume.
pvcreate /dev/md1
Next we need to create a volume group consisting of our array
vgcreate mediapv /dev/md1
The name 'mediagroup' is purely out of the blue. Name it pamela if you like. Next, after assigning the RAID array to the volume group, we add a logical volume group ontop of that volume group of physical volumes
lvcreate --name medialv --size 1700G mediapv
If you get an error during the above command, make sure the module dm_mod is loaded.
Format The LVM2 Partition
Now we have an LVM2 partition, that we can format. As we will put mostly large files ontop the drive, and use lots of disk space, we choose xfs
mkfs.xfs /dev/mediapv/medialv
If you get an error during the above command, saying command not found, install the xfsprogs using aptitude install Compared to formatting an ext2 or ext3 file system, the creation of the filesystem with xfs is very fast, as only a little bit of information is written to the disk.
Door bell and security camera
<simn_bx> TSCHAK, all... what does it mean in WIzard-Reaction to sensors, if i set for Generic analog camera under "disarmed" as "as Security?? <TSCHAK> simon_b, that only works if the camera is a child of the motion wrapper <TSCHAK> simon_b, but if you do that, then motion will watch the camera and try to extrapolate motion, and send security events, that you can trigger off of. <simon_bx> yes, the camera is a child of motion wrapper <TSCHAK> okay, sooo <TSCHAK> that means any time that camera detects motion, you can for example, trigger a security event <simon_bx> hmmm, ok... trying to uderstand that...
[..]
<simon_bx>[..]i'm trying to add camera notivifacation on the orbiter, when doorbell button is triggered
[..]
<TSCHAK> since I have a supported mobile orbiter <TSCHAK> all I did was drop a cam outside, and hook a door phone to an analog telephone adaptor, and set the ATA up to be extension 996 <TSCHAK> it shows it on my phone, but i also added a respond to events "someone rings doorbell" which triggers my door cam scenario under security. <simon_bx> aha... ok, will play a little bit... <TSCHAK> I used DCERouter Execute Command Group command, and gave it the scenario # of the panasonic IP camera scenario button <simon_bx> well, that is already too deep for me... " DCERouter Execute Command Group command" (sorry for asking) <TSCHAK> if you look at the list of commands <TSCHAK> under DCERouter, there is a command, called execute command group <TSCHAK> a command group, is the internal name for a scenario <TSCHAK> it takes one parameter, the scenario number to run... <TSCHAK> which you get by looking at a scenario, it will say, "Scenario #8: Sleep" etc... <TSCHAK> you get the # ,and put it in that fiel. <TSCHAK> d. <simon_bx> guys, is this possible: Scenario, Device (OnScreenOrbiter) -- Command (Goto Screen) -- and then set a path to the camera frame? <TSCHAK> try it. <simon_bx> hmmm, but where to put the path in? #10 ID (string) -- #159 PK_Screen (int), nothing seems logical atm <simon_bx> add. Question: MD in room 1... can i set two commands for it for the same time? (like: 1- play sound ring.wav and 2. show picture(object) xy.jpg)?? or should i use for 1. xine and 2. mplayer?
Designing screens and objects
The following is some additional information, that might get handy, if you are working with HADesigner (or the upcoming JAVA-based QuickDesigner) (directly from a chat session with Tschak)
- MediaType_DesignObj .. that specifies designobjs and screens for a media type
- Screen .. for specifying screens.. changes to this table require running ScreenGen
- Screen_DesignObj which specifies what designobj to use for a screen...
- and there is DeviceTemplate_MediaType_DesignObj which allows you to override a designobj/screen mapping for a specific type of device.
What media type is MythTV and/or VDR
There are two TV media types. The built in TV is pluto_TV. The other media type np_LiveTV is used for external receivers that bypass the LinuxMCE system and directly connect to a TV set.
Changing Channels
<TSCHAKeee> changing channels isn't that difficult <TSCHAKeee> command, tune to channel, destination -106, the program parameter is I believe <%=35%> ... the exact variable is in the onActivate for the instance of the datagrid on the ui2 screen.
Assigning Screens To MediaTypes
If you want a specific screen to be shown for example for TV, the relevant place is MediaType_DesignObj. That table links a media type to a corresponding screen. FK_SCREEN for UI1, and FK_DesignObj_Popup for UI2.