WO2002033496A1 - Universal remote control - Google Patents

Universal remote control Download PDF

Info

Publication number
WO2002033496A1
WO2002033496A1 PCT/RU2001/000415 RU0100415W WO0233496A1 WO 2002033496 A1 WO2002033496 A1 WO 2002033496A1 RU 0100415 W RU0100415 W RU 0100415W WO 0233496 A1 WO0233496 A1 WO 0233496A1
Authority
WO
WIPO (PCT)
Prior art keywords
remote control
data
commands
protocol
controlled device
Prior art date
Application number
PCT/RU2001/000415
Other languages
French (fr)
Inventor
Dmitry Vyacheslavovich Zhurin
Original Assignee
Dmitry Vyacheslavovich Zhurin
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dmitry Vyacheslavovich Zhurin filed Critical Dmitry Vyacheslavovich Zhurin
Priority to AU2002214426A priority Critical patent/AU2002214426A1/en
Publication of WO2002033496A1 publication Critical patent/WO2002033496A1/en

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • G08C19/16Electric signal transmission systems in which transmission is by pulses
    • G08C19/28Electric signal transmission systems in which transmission is by pulses using pulse code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23051Remote control, enter program remote, detachable programmer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23077Reconfigurable remote programmer, learn control signals for different devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23363Barcode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25251Real time clock

Definitions

  • the present invention relates to remote control devices and more particularly to universal remote control devices.
  • a bigger part of existing home and office appliances is equipped with remote control units.
  • these appliances there are such remotely-controlled devices as TV sets, video cassette recorders (VCRs), optical disk players (including CD-audio, DVDs, laser videodisks), tuners, amplifiers,
  • VCRs video cassette recorders
  • optical disk players including CD-audio, DVDs, laser videodisks
  • tuners amplifiers
  • a remote control device is a small hand-held object.
  • the user manipulates the device hereof to distantly send various commands to the 0 remotely-controlled device.
  • Infrared wireless remote control units are most widely spread. These units emit infrared light pulses, that are coded commands to be recognized and executed by remotely-controlled devices. Also, there are devices and corresponding to them remote control units using other signal types, like sound or radiowaves, for transmission and reception 5 of control commands.
  • Universal remote control (URC) devices are capable to control several remotely- controlled devices instead of one remotely-controlled device, as it is in case with a usual remote control unit.
  • the need for universal remote control devices has appeared due to the following reasons: 0 a) It is convenient and ergonomic to control several devices by means of a single command centre (URC unit); b) The universal remote control unit can be used to replace a broken original remote control unit of a device, because the original remote control unit is no longer supported by the manufacturer or just absent in a store by 5 the moment, when such a replacement is needed.
  • the prior art provides several approaches to developing a universal remote control device.
  • the first approach is based on pre-recording into the memory of the universal remote control unit of remote control command codes for a big amount of televisions, VCRs, and other devices and the choice of a required set of commands to control the certain device.
  • This approach relates to a universal remote control unit disclosed in U.S.Pat. No. 4774511, 1988.
  • the memory of this device comprises command sets for control of a big number of devices produced by different manufacturers.
  • the appropriate commands set is selected by the way of dialing a code of the controlled device with the help of the keys or buttons on the remote control device.
  • this approach results in selling this type of remote control units with a manual.
  • Such manual comprises the list of different models of TV sets, VCRs, satellite TV set-top-boxes, and CD players of many manufacturers.
  • the code is provided for every model. To control the device, this code has to be dialed with the help of buttons on the remote control unit.
  • the first disadvantage of the above-mentioned approach is that a big amount of paper is wasted each time such device is sold, while the amount of useful information required by the user to program the remote control device for using with his/her appliances, even if the user has several appliances, is very small.
  • the second disadvantage of this approach is that the search for a particular model of the appliance the remote control device will be programmed to work with can take much time. Besides, the user might not know the exact model of the device he/she owns as the front panel of the device often carries just the name of the manufacturer and not the exact alphanumeric of the model. The manual of an old appliance can as well be lost.
  • the third disadvantage of this approach is that the remote control unit has to hold commands for all the devices it can control. Though, as a rule, devices of one manufacturer have identical or just slightly different sets of commands, the memory volume required for storing all the multitude of command sets is big, and consequently, the internal nonvolatile memory of the universal remote control device has to be large enough. This results in higher power consumption and a higher cost of the universal remote control device.
  • the fourth limitation of this approach is that the user cannot use the universal remote control unit bought half a year ago to control a device bought just a month ago, as the changes in the commands system of the new device could not be reflected in the memory of the universal remote control device.
  • the new model does not happen to be in the list of devices of the universal remote control unit.
  • the fifth disadvantage of this approach is that the manufacturer of the universal remote control devices cannot produce such devices in big quantities, as their life cycle is limited by the period of time, during which a sufficient number of new devices appears on the market with commands codes not in the memory of the already produced universal remote control units. Then all universal remote control units that are produced but not sold have to be modified.
  • the first limitation of the above-mentioned system is that the memory of the universal remote control unit has to hold commands codes for a big amount of controlled devices, that is this has to be a large volume memory.
  • the second disadvantage is that such universal 'remote control unit can be used only for controlling devices the command codes of which are recorded in its memory. There is no possibility to program them to control new devices, the commands codes of which are not recorded in its memory. It follows that all limitations in production and sales of these units are the same as for the universal remote control unit described above.
  • the third disadvantage of this system is that the receiving of a command from the original universal remote control unit is only possible, if there is such device and it is in working order. In the opposite case, it is impossible to set up the universal remote control unit.
  • the other approach to implementing the universal remote control unit is based on creating learning devices that receive and remember commands sent in the teaching process from the original remote control unit.
  • PCT Application WO 98/33332 discloses a universal remote control unit with infrared identification.
  • the memory of this device comprises several recorded protocols for transmitting commands of the remote control unit.
  • the universal remote control unit receives commands from the original remote control unit and determines the transmission protocol in use. Then, using the precise parameter of this protocol prerecorded in its memory, the remote control device determines commands codes herein and stores them. To determine the code for each command, it is necessary to send this command from the original remote control unit and receive it by the universal remote control unit.
  • the first limitation of the system is that the teaching of the universal remote control unit requires the implementation of a big number of operations with two remote control devices. For many users this procedure proves to be too complicated.
  • the second disadvantage of this system is that not all exploitable command sets can be adequately reprogrammed by this method.
  • the original remote control device may require the user to confirm the command by repeating the pressure on this key or on another key together simultaneously with RECORD key.
  • This specific procedure cannot be reproduced when the universal remote control unit is being programmed, as the commands transmitted by the original remote control unit do not contain information about it.
  • the third disadvantage of this system is that the universal remote control unit can only be programmed when the original remote control unit is in working order. In the opposite case, it is impossible to fulfil this operation and the user has to turn to the service center.
  • the service center has to have either remote control units from all or in any case, of a big number of devices, or a universal programmer. Such programmer would be rather complex and expensive. Not every service center can afford such a device and professionals to work on it.
  • This approach is used in the remotely upgradable universal remote control unit exposed in U.S. Pat. No.5228077.
  • This unit can receive from external computer and store in its memory command code sets for controlling various devices.
  • the connection to an external computer can be direct and with the help of the telephone line modem.
  • the possibilities of programming the unit to control various devices are unlimited.
  • this system also has its disadvantages.
  • the first disadvantage of the system is that for programming the device a computer link to the computer containing all the related information is required. Computers with all the necessary information can only be in special service centers. Only big companies can afford setting up of a service network covering most of the countries.
  • the second disadvantage of the system is that not every user can establish the connection to the service center over the phone and fulfil all the operations required for programming the universal remote control unit.
  • U.S. Pat. No.5552837, 1996 discloses a remote controller for scanning data and controlling a video system.
  • This device comprises means for reading from cards with machine-readable data codes about TV programs on various TV channels on various subjects and means for programming the viewing of selected programs or their recording on the VCR.
  • this device can not be programmed to control different home and office appliances, that is it cannot be used as a universal remote control.
  • U.S.Pat. No. 5382776 1995, exposes a combination of an optical-disk and barcode memory medium.
  • the optical disc is provided with a document with a printed barcode comprising a menu, commands and other data that make the search for needed information on the optical disk and fulfilling of the program recorded on the disk easier.
  • This patent provides an univocal correspondence of a barcode to a code on the optical disk.
  • this invention does not allow program the universal remote control to control various devices.
  • U.S.Pat. No. 5905251 shows a hand-held portable WWW access terminal with visual display panel and GUI-based WWW browser program integrated with bar code symbol reader in a hand-supportable housing.
  • This device allows to read a barcoded URL printed on various objects and to distantly control a computer connected to the Internet to provide an access to Internet sites according to the above-mentioned URLs. But this invention also does not allow to program the universal remote control unit to control various devices.
  • U.S. Patent No.5962839, 1999 demonstrates an apparatus programmable to perform a user defined sequence of actions. This device can remember a sequence of instructions received when the sequence of bar codes is read and then reproduce this sequence of instructions controlling for example the electric engine in a toy car. However, this device is capable of remembering only one sequence of instructions, while it is necessary to fulfil many commands to control various appliances, and each command is carried out by pressing a corresponding button.
  • the universal remote control device can be programmed to control a selected device with the help of information printed on paper or other appropriate material with the use of a machine- readable code, for example a barcode.
  • the above-mentioned printed information comprises in a direct or in indirect form parameters of protocol of commands transmission from the universal remote control unit to the controlled device and commands codes sent to the controlled device, when certain buttons of universal control keyboard are activated.
  • the universal remote control unit comprises an optical scanner for reading machine- readable codes, means for storing the read data, means for forming commands codes when keys are pressed by the user, and means for transmitting the above-mentioned codes to the controlled device.
  • Fig.1 shows an overview of a system comprising a universal remote control device, a set of code-bearing objects, and a set of remotely-controlled devices;
  • Fig.2 shows a universal remote control unit block diagram according to the preferred embodiment
  • Fig.3 shows a general outlook of the universal remote control device
  • Figs.4A...4F show examples of objects bearing barcodes to be scanned with the present invention universal remote control device
  • Figs.5 A...5 C show a barcoded program for the universal remote control device in case when it is programmed to implement one of standard transmission protocols
  • Figs.6A...6D show a barcoded program for the universal remote control device in case when it is programmed for transmitting an arbitrary transmission protocol
  • Fig.7 shows a logic division of the universal remote control device memory into functional areas
  • Fig.8 shows data structure in Button Tables area in the memory of the universal remote control device
  • Fig.9 shows data structure in Device Table area in the memory of the universal remote control unit
  • Fig.10 shows a flowchart of a program run in the universal remote control device
  • Fig.11 shows a flowchart of a subroutine of scanning of a barcoded program
  • Fig.12 shows a flowchart of a subroutine of a command execution
  • Fig.13 shows a flowchart of a subroutine of transmitting the starting part of the command
  • Fig.14 shows a flowchart of a subroutine of transmitting the main part of the command
  • Fig.15 shows a flowchart of a subroutine of transmitting the tail part of the command
  • Fig.16 shows a flowchart of a subroutine of impulse forming
  • Figs.l7A, 17B, 17C show a flowchart of a process of user's teaching of his/her universal remote control unit.
  • Fig. 1 shows universal remote control (URC) device 200 of the present invention, which remotely controls a set of remotely-controlled devices 300.
  • URC universal remote control
  • a user scans by means of scanner 210 embedded into URC device 200 codes 110 born by code bearing objects 100.
  • the scanned information is transferred into information in a form of a program or/and data which are stored in memory 220 of URC device 200.
  • the stored information is used then to transmit control commands or/and data by means of transmitting device 260 to remotely-controlled devices 300.
  • Command/data transmissions are initiated either by the user activating touch input device 240 or automatically due to the execution of a control program stored in memory 220 of URC device 200.
  • Each of remotely-controlled devices 300 comprises at least one controlling device 310, a number of input devices 320, a number of output devices 330, at least one remote control interface 340, and connection means 350.
  • the following commonly spread remotely-controlled devices correspond to such structure: TV sets, video cassette recorders (VCR), compact-disc audios (CD-audio), radiofrequency tuners, tape recorders, door locks, light switches, children's toys, laser video-disc players, DVD players, air-conditioners, remotely- controlled microwaves, and many other home and office appliances.
  • controlling device 310 is usually represented as a number of control circuits intended to control all the operation of the tape recorder. Often controlling device 310 may comprise a microprocessor or microcontroller and a controlling program.
  • Output devices 330 in atypical tape recorder are: recording heads, motors to drive tape, solenoids (electromagnets) to lock and eject cassettes, light emitting diodes (LEDs) or/and lamps for various modes indication, pointer indicators for signal level indication, controlled amplifiers for signal amplification.
  • Input devices 320 in a typical tape recorders are: tape reading heads, user controlled buttons for immediate mode control, such as Play, Stop, Fast Forward, Rewind, Record, Pause and others; buttons for mode selection, such as type of tape selection, reverse mode, filters control and others; tape velocity sensor and cassette presence sensor, some others.
  • a remote control interface 340 is represented by an infrared code receiver.
  • Connection means 350 are represented by elements dependent on a certain implementation of the tape recorder and can include glue logic, wiring, connectors, printed circuit boards, and other parts.
  • any remote control interface is either an input device or an input-output device.
  • an infrared remote control interface of a VCR is an input device
  • IrDA serial computer port is an input-output device, since it is capable of transmitting data in both directions.
  • the remote control interface 340 is shown separately on a block diagram of remotely-controlled device 300 in Fig. 1 to emphasize its'connection with the present invention URC device 200.
  • Fig.2 shows a block diagram of URC device 200 according to the preferred embodiment of the present invention.
  • URC device 200 comprises microcontroller 202.
  • microcontroller mPD78F4216GC by NEC Electronics Inc.
  • Microcontroller 202 comprises central processor 204 and memory 220.
  • Memory 220 consists of Random Access Memory (RAM) 222 and Electrically-Programmable Read Only Memory (EPROM) 226, that for the indicated type of microcontroller have volumes of 8 Kbytes and 128 Kbytes accordingly. If the power is switched off, the information stored in EPROM 226 is saved. It is also possible to use separate integrated circuits of- RAM 222 and EPROM 226.
  • RAM Random Access Memory
  • EPROM Electrically-Programmable Read Only Memory
  • URC device 200 contains scanning device 210, transmitting device 230, touch input device 240, display device 250, sound device 255, and real-time clock 260 connected to microcontroller 202 by interface means 270.
  • URC device 200 also contains power supply 280.
  • Scanning device 210 herein can be provided as a laser scanner or CCD scanner allowing to read code 110 from object 100 surface under the control of microcontroller 202.
  • the examples of scanners are given in U.S.Pat.
  • Transmitting device 230 comprises an IR light-emitting diode (LED) and an electronic circuit transforming signals arriving from microcontroller
  • Transmitting device 230 as in the presently known manufactured remote control devices can be used.
  • Touch input device 240 comprises keys or buttons that can be connected to microcontroller 202 inputs/outputs.
  • the implementation of touch input device 240 is not different from similar devices in the known remote control devices.
  • Display device 250 can be any suitable liquid crystal display (LCD), such as HDM128GS12Y, a product of Hantronix, Inc.
  • Sound device 255 comprises miniature loudspeaker and all the necessary elements. These schemes are well known in the art.
  • Real-time clock 260 can be provided as an integrated circuit DS1305 by Dallas Semiconductor Corp.
  • Microcontroller 202 can set and read the current time and date.
  • Power supply 280 comprises two power elements of AA type. If necessary, power supply 280herein can comprise a voltage converter, for example MAX856CSA by Maxim Integrated Circuits, Inc. As shown in Fig.3, remote control 200 has housing 201 having window 212 in the upper end surface. Light rays come through this window 212 in both directions. Behind window 212 there is scanning device 210, not visible in Fig.3. Beside there is exit window 232 of transmitting device 230. Display device 250 and sound device 255 are embedded into the upper surface of housing 201.
  • a voltage converter for example MAX856CSA by Maxim Integrated Circuits, Inc.
  • remote control 200 has housing 201 having window 212 in the upper end surface. Light rays come through this window 212 in both directions. Behind window 212 there is scanning device 210, not visible in Fig.3. Beside there is exit window 232 of transmitting device 230. Display device 250 and sound device 255 are embedded into the upper surface of housing 201.
  • Touch input device 240 comprises buttons disposed in housing 201. Among these buttons there is button 241 for turning the power of controlled device 300 on/off, button “Fn” 242 for turning special functions mode on, button “Prog” 243 for turning on programming fulfilling mode, button “Mute” 244 for turning the sound in controlled device 300 off, two sets of functional buttons 245.1 and 245.2, the functions of which are determined along with programming URC device 200, buttons set 246 for selecting controlled device 300, buttons set 247 for inputting digits, for example TV channels numbers, buttons 248 for volumetuning and for choosing in lists and menus, buttons set 249 for controlling various recording and reproducing devices.
  • Figs.4A...4F show examples of objects 100 bearing barcodes 110 to be scanned with programmable URC device 200 according to the preferred embodiment.
  • Fig.4A shows page 120 from a TV-set manual, where there is a picture of TV-set 122, TV-set model title 124, text 126 and barcode bars 128.
  • the user can identify his/her TV-set from others by the picture of TV-set 122 and by the model title 124.
  • Text 126 indicates that this page comprises commands system of the depicted model.
  • Enumerated barcode bars 128 comprise command system of the above-mentioned TV-set for programming URC device 200.
  • Fig.4B shows TV-set 130 bearing two barcodes.
  • First barcode 132 is applied on back panel 133.
  • Barcode 132 is Universal Product Code (UPC) and id designed for identifying TV-set 130 as a product by barcode-readers in points of sales and also for reading by URC device 200 to identify the model of the TV-set.
  • URC Universal Product Code
  • Fig.4C shows book 140 containing a variety of bar-coded command sets related to various home appliances.
  • Such book can be located at points of sales or points of service of the present invention URC units or/and remotely-controlled devices and can be used to download a number of specific command sets and other information needed into the user's remote control unit.
  • Book 140 consists of manual pages of various devices photocopied, faxed, downloaded from a computer network and printed out. It makes it possible to accumulate the programming information as long as new remotely-controlled devices 300 appear on the market.
  • Each page 142 comprises therein the same information as page 120 shown in Fig.4A.
  • Loose-leave binder 144 is used to fasten pages 142 together.
  • Fig.4D shows periodical 150, wherein a bar-coded command set related to remotely-controlled device 300 for URC device 200 is published.
  • the periodical therein contains an explanatory text 152 and the command set itself coded in barcode 154 bars.
  • Fig.4E shows article of manufacture 160 that is a course of Italian Geography.
  • Article of manufacture 160 comprises box 162 with detachably fastened CD ROM 163 and description 164.
  • Box 162 and disk 163 bear UPC 165.
  • Description 164 comprises a text explaining how to use the course (not shown in Fig.4E), the title and designation 166, and barcoded command set 168 for URC device 200.
  • Fig.4F shows packaging 170 from a children's toy that is a remotely-controlled device.
  • the packaging surfaces herein bear UPC 172 and barcoded toy command sets 174 and 176.
  • the code 110 to be input into URC device 200 to control a device with a standard transmission protocol of remote control commands is recorded in the form of several barcode bars 401...404.
  • the number of bars equal to 4 is shown as an example only and can be both more and less depending on the size of program, represented by code 110.
  • the barcode of "Code 128" type is used, which is capable of encoding all 128 ASCII characters, plus all 128 extended ASCII characters and 4 non-data function characters.
  • the additional advantage of "Code 128" is that it allows numeric data to be represented in a compact, double-density mode, two data digits for every barcode symbol.
  • each barcode bar 401...404 there is its number 405 printed in a form of a regular digit.
  • Each barcode bar 401...404 begins from starting field 406 comprising according to the rules of "Code 128" a quiet zone, which is spaces preceding the start pattern and special start pattern marking the beginning of a barcode record.
  • Each barcode bar 401...404 completes by tailing field 407 comprising a check character that serves to control the correct reading of barcode record, special stop pattern marking the end of barcode record, and a quiet zone following the stop pattern.
  • First barcode bar 401 comprises field 408 wherein the full number of barcode bars is indicated in a form of a two-digit number (in the given case number 04).
  • field 409 wherein the type of the device is recorded in the form of a two-digit number further denoted as DT.
  • Table 1 there are values of DT for various types of remotely-controlled devices including combined devices (TV+VCR, Tuner+Tape+CD, etc.).
  • Table 1 also provides values of DT for non-standard devices, for example remotely- controlled door locks, devices to control the lights, remotely-controlled toys, etc.
  • barcode bar 401 there is field 410, comprising recorded with Code 128 symbols 11 -digit UPC of the device to control which the given program is designed. Then come fields 411 and 412, wherein the name of manufacturer and device model title are recorded accordingly. As the number of symbols in these areas is not know in advance, an additional symbol is put between them as a separator, for example "%".
  • Second barcode bar 402 begins from field 413, wherein the type of program further denoted as ProgType is recorded in the form of a two-digit number.
  • ProgType the type of program further denoted as ProgType is recorded in the form of a two-digit number.
  • Table 2 values of ProgType are given for various program types. Values of ProgType from 01 to 80 are assigned to the programs for remote control devices with standard protocol of commands transmission. Such programs determine, as it will be shown below, commands codes sent to remotely-controlled device at pressing certain buttons on touch input device 240. Variants of standard transmission protocols that differ by parameter values are recorded in separate lines of Table 2 and receive different values ProgType in the range from 01 to 80.
  • ProgType 81 is given to programs for remotely-controlled devices with non-standard commands transmission protocols. Such programs firstly describe the protocol of commands transmission, secondly determine commands codes corresponding to various buttons of touch input device 240. In Table 2 there also can be other types of programs with their ProgType values.
  • Field 415 comprises a button table, that is a table of commands codes sent to controlled device by pressing certain buttons when activating certain buttons on touch input device 240.
  • field 415 takes two barcode bars 402 and 403, but if required it can take more barcode bars.
  • Button table is recorded in the form of a sequence of symbols with regard to the following rules:
  • buttons in the URC device get assigned numbers. Numbers order can be arbitrary. For example, button 241 (Fig.3) gets number “01", button 242 - number "02" and so on till number "44" is assigned to the button of transferring to the last recording. The numeration is constant for the given embodiment of URC device 200. In the list of buttons there are also “virtual” buttons which correspond to combinations of real buttons pressed simultaneously. “Virtual” buttons get numbers starting with "45”. The maximal possible number for the buttons is "99”.
  • commands have mnemonic codes (mnemocodes) that are the same for the same commands in different remotely-controlled devices and do not depend on commands transmission protocol. For example, the command of turning the first channel on always have mnemonic code "Chi", though a digital code of this command sent to the TV-set can be different for different TV-sets models.
  • commands mnemocodes may comprise 2 or 3 symbols, and the first symbol always has to be a letter.
  • buttons of touch input device 240 by default.
  • mnemonic codes of "TV”, “VCR”, “TUN”, etc. correspond to buttons of buttons set 246.
  • Mnemocodes "Chl”""Ch9” correspond to the buttons of buttons set 247.
  • Mnemocodes "Up” (an arrow looking up), “Dn” (an arrow looking down), “VUp” (to increase loudness), “VDn” (to decrease loudness), "OK” correspond to the buttons of the buttons set 248.
  • Mnemonic codes "PAS”, “STP” correspond to the buttons of buttons set 249, and so on. There are no mnemonic codes corresponding to the buttons of buttons sets 245.1 and 245.2 by default.
  • Field 415 (Fig.5B) consists of commands codes records for separate buttons with separators 426 therebetween - symbol "%". Field 415 finishes with a symbol of the end of field 432. For these purposes symbol "#" is used. 5. The record for each button starts with a two-digit number indicating a button number. In Fig.5B, this number for the first button is 421, for the second button is number 427, and for the last button - number 429. If a button has a one-digit number, then this number is recorded with leading zero, for example "04". Field 415 has recordings not for all buttons but only for those used to control the given remotely-controlled device.
  • the record for every button therein has mnemonic and digital codes of commands fulfilled, when the button is activated in different operation modes.
  • the switching of the URC device from one mode into another is done by the way of activating certain buttons that will be described later.
  • separator 433 Between a mnemonic and a digital code of every command there is separator 433 - symbol "
  • the mnemonic code and separator 433 are optional elements. The absence of both the mnemonic code and separator 433 indicate that the command has a mnemonic code corresponding to this button by default. The absence of the mnemonic code and the presence of separator 433 indicate that this command does not have a mnemonic code at all.
  • field 415 is empty and comprises only the symbol of the end of the field "#".
  • Fig.5B has several variants of recording commands in field 415.
  • button with number 421 in the main operation mode there are no command mnemocode and separator 433.
  • command digital code 422 comprising two decimal digits and recorded in the form of a decimal number without leading zeros.
  • This variant of record shows that in the main mode the activation of the button with number 421 results in fulfilling the command with the mnemocode corresponding to this button by default. Then follows separator 423 provided as symbol "/”. After separator 423 there goes the code of the command fulfilled when the button with number 421 is activated in the second operation mode.
  • the command does not have a mnemonic code, but has separator 433.
  • digital code 424 comprising three decimal digits.
  • This variant of record shows that in the second operation mode the command called by the button with number 421 does not have a mnemonic code, but only a digital code.
  • mnemonic code 425 is "BUp" and corresponds to the command of increasing brightness. After mnemonic code 425 there is digital code 428 of this command. It is followed by separator 426.
  • the last button in this example has number 429.
  • the command fulfilled in the main mode has the mnemonic code corresponding to this button by default and digital code 430.
  • the button with number 429 calls the command without a mnemonic code and with digital code 431.
  • field 416 there are text records that are displayed on display device 250. As shown in Fig.5C, field 416 consists of separate messages divided by separators 435. Symbol “%" is used as a separator. Messages 436...439 show the user the functions of programmable buttons 245.1 and 245.2 (Fig.3). Field 416 may occupy several barcode bars, not one barcode bar 404, as in the example under consideration. As field 416 is the last field, a special sign of the end of field is not required. If text messages for this program are not required, then there is no field 416.
  • each of fields 415 and 416 consists of several parts equal to the number of parts in the combination device.
  • Each part of field 415 comprises commands codes for one of the parts of the combination device, for example for a TV-set, or for a VCR. Between the parts of field 415 there are special separators. For example, symbol “ ⁇ " can be used as a separator. In the end of field 415, as it was noted before, there is symbol "#" indicating the end of the field.
  • each part of field 416 comprises text messages related to one of the parts of the combination device. Between the parts of field 416 there are separators " ⁇ ".
  • the code 110 to be input into URC device 200 to control a device with non-standard transmission protocol of remote control commands is recorded in the form of several barcode bars 441...445.
  • the number of these bars in the given example is equal to five.
  • Reference numbers 405, 406, 407, 408, 409, 410, 411, 412, 413, 415, 416 show the same parts or fields of barcoded program, as Fig.5A. The rules for forming these parts were described earlier.
  • field 450 comprising information that characterize commands transmission protocol to be programmed.
  • field 450 consists of subfields divided by separators 451 (symbol "%"), and ends by the symbol of the end of field 454 (symbol "#").
  • the elements of information inside subfields are divided by separators 452 (symbol "/") and 453 (symbol ",”).
  • the first subfield comprises record 460 containing the value of the period of repeating of commands transmission in milliseconds, record 461 containing the value of carrier impulses period in milliseconds, and record 462 containing the value of carrier impulses length in milliseconds.
  • the last two numbers are necessary, if carrier modulation is used for transmission.
  • record 461 and 462 comprise values equal to zero.
  • the second subfield comprises records of the length of impulses of the transmitted commands code in milliseconds. If in this remote control protocol impulses of only one length are used, then in the second subfield there will be only one record 463 comprising the length value. In the program description below, this value will be denoted by the letter "A”. If impulses of two different lengths are used, then in the second subfield there will be two records 463 and 464. The length values in these records are denoted by letters "A" and "B” accordingly. If impulses of three different lengths are used, then in the second subfield there will be three records and the length values they comprise are denoted by letters "A", "B", and "C” accordingly, and so on.
  • the third subfield has records of interval lengths between the impulses of the transmitted command code in milliseconds. If in the remote control protocol the intervals between impulses of only one length are used, then in the third subfield there will be only one record 465 comprising interval value, further in the program recording denoted by the letter "K". If intervals between impulses used are of two different lengths, then in the third subfield there are two records 465 and 466. These records comprise interval length values denoted by letters "K” and "L” accordingly, and so on. In the third subfield up to ten various interval lengths can be recorded.
  • sequence 468 the starting part of sending the remote control command in the form of letter sequence 468 is described.
  • sequence 468 the following letters alternate - the letters showing the length of signal impulses, that is letters “A”, “B”, and so on, and the letters showing the length of intervals between impulses, that is letters "K”, "L”, and so on. If in transmission protocol to be programmed the starting part of sending is not required, the sequence 468 contains only symbol "%”.
  • impulse lengths and intervals between impulses are recorded during the transmission of the commands code and the control bit. The length of impulses is represented by letters "A", "B"!J", and the interval length between impulses is represented by letters "K", "L”!T".
  • the sixth subfield comprises two letter pairs 469 and 470 with separator 452 therebetween.
  • the first pair of letters 469 indicates the impulse length and the length of the interval between the impulses, if the value of the transmitted bit is equal to "0".
  • the second pair of letters 470 indicates the impulse length and the length of the interval between impulses, if the value of the transmitted bit is equal to " 1 ".
  • the impulse of high level signal is formed, and then the interval between the impulses.
  • the last seventh subfield comprises letters sequence 473 describing the trailing part of the sending.
  • the rules of forming sequence 473 are the same as for sequence 468.
  • Fig.6C shows an example of recording the program for the URC device that must fulfill RC-5 commands transmission protocol used, for example in remote control devices based on integrated circuits SAA3010 by Philips.
  • the period of sendings equals to 114 ms.
  • the period of the carrier frequency impulses is 28 microseconds (us).
  • the length of the carrier frequency impulses is 14 us.
  • the length of signal impulses and of intervals between them is 889 us.
  • the number of bits in the commands code is 12.
  • the starting part of the sending consists of two impulses with an interval between them.
  • the bit with zero value is transmitted as a sequence of high and low signal levels (the impulse and the interval).
  • the bit with the value of "1" is transmitted as a sequence of low and high signal levels (the interval and the impulse).
  • the trailing part of the sending is not required.
  • Fig.6D shows an example of recording the program for the URC device that has to fulfill the same commands transmission protocol as remote control devices based on integrated circuits M709L by SGS -Thomson Microelectronics.
  • the period of sendings is 121 MS.
  • the modulation of the carrier frequency is not used (Flash mode).
  • the length of impulse signal is 10 us. Intervals between impulses can be 100 us, 200 us, 300 us and 400 us long.
  • the number of bits in the command is 11.
  • the starting part of the sending consists of three impulses with the interval of 400 us and 100 us between them. For odd bits zero value is transmitted as an interval of 100 us and an impulse, the value of " 1 " is transmitted as the interval of 200 us and an impulse. For odd bits, zero value is transmitted as the interval of 100 us and an impulse, the value of one is transmitted as the interval of 300 us and an impulse.
  • the trailing part of the sending comprises the interval of 400 us and an impulse.
  • RAM 222 contains Scanning Buffer 510, Global Variables area 511 and Stack 512.
  • Global Variables area 511 contains various global data structures and variables needed for proper operation of the computation process, such as: current time and date, intermediate data for LCD control, keyboard scanning results and other necessary information.
  • Stack 512 is used for placing local data and parameters for procedures and subroutines.
  • EPROM 226 contains the following areas: Operational System 513, Protocols 515, Button Tables 516, Texts 517, Device Table 518. Besides, EPROM 226 comprises areas not shown in Fig.7, wherein data from Table 1 and Table 2 described before, various constants and other necessary information are stored.
  • Operating System 513 comprises the main control program, drivers for scanning device 210, touch input device 240, display device 250 and sound device 255, subroutines of fulfilling standard functions including commands transmission to controlled devices 300 in accordance with some standard transmission protocols. Operating System 513 further comprises the program of commands transmission in accordance with an arbitrary protocol recorded as shown in Fig.6B. Operating System 513 is recorded during the production of URC device 200.
  • Protocols 515 commands transmission protocols are stored. Each commands transmission protocol, both standard and non-standard, is recorded in the form shown in Fig.6B. All standard and some non-standard protocols are recorded into Protocols 515 during the production of URC device 200. Other non-standard protocols are recorded by scanning of barcoded programs. During the scanning, the content of field 450 is recorded into Protocols 515 (Fig.6A). The record of each commands transmission protocol begins with a certain address, which is stored in Device Table 518, and ends by the symbol of the end of field, that is by symbol "#”.
  • Button Tables 516 consists of several sectors. Each sector comprises a button table for one remotely-controlled device 300.
  • Button Tables 516 Some sectors of Button Tables 516 are filled during the production of URC device 200, and the rest sectors are filled with the data from field 415 of the barcoded programs when these programs are scanned. As shown in Fig.8, each line of table, stored in one of the sectors of Button Tables 516, contains information about one command, that may be executed by URC device 200. In column “Mode” 531 the numbers of the mode are recorded in which this command is fulfilled. Zero value in column “Mode” 531 corresponds to the main mode, and values different from zero correspond to additional modes. The switch from the main mode into additional ones is done by activating of certain buttons.
  • button 532 the number of the button is recorded, activating of which results in fulfilling the given command. As it was noted before, there can be real button numbers and virtual button numbers indicating the simultaneous activation of two or more buttons.
  • button numbers the mnemonic code of the command is recorded.
  • code the digital command code transmitted to remotely-controlled device is recorded.
  • Texts 517 comprises text messages output on display device 250 during the control of devices, the fulfilling of the utility programs, and in other cases.
  • Texts 517 consist of sectors each having the record of text messages set for one remotely-controlled device or for one utility program. Some of these sectors are filled during the production of URC device 200.
  • In other sector of Texts 517 during the scanning text messages stored in area 416 of control programs and area 486 of utility programs are recorded. The format of recording text messages was shown in Fig.5C. Text messages in every sector are divided by symbol "%". Each sector in Texts 517 ends by the symbol of sector ending, for example, symbol "#".
  • Device Table 518 (Fig.9) data about the devices that URC device 200 can control is recorded.
  • Device Table 518 comprises column "Manufacturer” 541, wherein the name of the device manufacturer is recorded, column “Model” 542, wherein the name of the device model is recorded, column “Device Type” 543, wherein the type of the device DT is recorded, and column "UPC” 544.
  • Manufacturer 541, wherein the name of the device manufacturer is recorded
  • Model the name of the device model is recorded
  • column “Device Type” 543 wherein the type of the device DT is recorded
  • UPC User Planar Code
  • buttons are indicated with the help of which URC device 200 is switched over into the mode of controlling of one of devices. These buttons are set in the mode of editing the device list that will be described later.
  • URC device 200 has eight buttons in buttons group 246 for selecting controlled devices. It follows that out of all controlled devices recorded in Device Table 518, the user can select up to eight devices and the switch to control each of them is done by a signal pressing on a button in column "Select Button" 545. If no button in buttons group 247 is set to correspond the given device, then there is no record in Device Table 518 in the line corresponding the given device in column "Select Button" 545.
  • buttons 547 in every line there is an initial address of button table of the given device in Button Tables 516 in EPROM 226. For combination devices, there are initial addresses of button tables for each part of the combination device.
  • Text In column “Text” 548 in every line there is the address in Texts 517, starting with which text messages for controlling of this remotely-controlled device 300 are recorded.
  • microcontroller 202 starts running the main program after turning on the power in URC device 200 and continues till the power is switched off. The power switch on and off can be done by putting in and taking out batteries accordingly.
  • microcontroller 202 runs subroutine of inquiring touch input device 602. The result of running this subroutine is the number of the activated button. As it was pointed out before, this number can determine not only a separate button, but also a permissible combination of several simultaneously pressed buttons.
  • microcontroller 202 checks if any of the following buttons is pressed: the button initiating the scanning of a barcoded program (block 605), or one of buttons 246 for selecting a controlled device (block 607), or one of buttons for activating the command that is being fulfilled (block 609), or the button initiating editing of the device list (block 611).
  • Receiving of the positive answer in one of block 605, 607, 609, 611 results in fulfilling of one of the following subroutines accordingly: subroutine of barcoded program scanning 606, subroutine of selecting a remotely-controlled device 608, subroutine of fulfilling the command 610, and subroutine of editing the device list 612. All these subroutines will be described below. After fulfilling each of the above-mentioned subroutines microcontroller 202 returns to subroutine 602.
  • microcontroller 202 continues to blocks 607, 609, 611 accordingly. If the negative answer is received in block 611, then microcontroller 202 continues to fulfilling auxiliary functions 615.
  • Auxiliary functions include in particular deleting of unnecessary records in EPROM 226: records about devices in Device Table 518 together with the protocols related to these devices, button tables, etc. Also, auxiliary functions include setting of the current date and time and some other auxiliary operations.
  • the program for fulfilling the auxiliary functions can be written by anyone skilled in the art with the use of well known programming rules and techniques. That is why the detailed description of subroutine 615 is not provided herein.
  • microcontroller 202 in subroutine 622 fulfills the scanning of the first bar of code 110 and storing of the scanned information in Scanning Buffer 510 in RAM 222.
  • display device 250 can reproduce text messages showing the user the sequence of actions. There is no need to describe the procedure of reading and decoding of barcoded information, as these operations are well known in the art.
  • microcontroller 202 compares UPC read from area 410 of the barcoded program to all UPCs 5 recorded in Device Table 518 and in Program Table 519. If among programs of different types stored in EPROM 226 there is a program with the same UPC as in the program being scanned, the user gets the message about it in the form of text on display device 250 and/or in the form of a audible signal via sound device 255. Further, the user can be offered a choice: not to lo continue the scanning and recording of barcoded program or continue scanning and in result renew the barcoded program in EPROM 226. These details of subroutine 623 are not shown in Fig.l 1.
  • microcontroller 202 stores in variable NBars the number of bars of the barcode in the program being scanned, received from
  • microcontroller 202 in block 627 gives variable ProgType the value of program type received from area 413 of the barcoded program.
  • microcontroller 202 continues to subroutine 632.
  • data about the controlled device from areas 409, 410, 41 1, 412 is stored in device table 518.
  • value ProgType received in block 627 is checked. If value ProgType corresponds to a non-standard protocol, as it was explained when Table 2 was considered, then subroutine
  • 35 634 is fulfilled.
  • the description of commands transmission protocol from field 450 of the barcoded program is stored in Protocols 515 beginning with the address that is stored in column "Protocol” 546 in Device Table 518. If in block 633 it is found out that value ProgType corresponds to one of the standard commands transmission protocols, then subroutine 634 is skipped and subroutine 635 is run immediately.
  • button table from area 415 is stored in Button Tables 516, beginning with the address stored in column "Buttons" 547 in Device Table 518.
  • subroutine 636 is run, wherein text messages from area 416 of the barcoded program are stored in Text Area 517 beginning with the address stored in column "Text” 548 in Device Table 518. Finally, subroutine 606 terminates in block 637. If area 415 of the barcoded program does not comprise any data, then subroutine 635 records zero in column “Buttons" 547 in Device Table 518.
  • subroutine 636 records zero in column "Text" 548 in Device Table 518.
  • Subroutine of selecting a remotely-controlled device 608 is fulfilled when one of the buttons in buttons group 246 is pressed.
  • the substance of the operations in subroutine 608 is clear from the description given below, that is why the flowchart of this subroutine is not required.
  • Fulfilling subroutine 608, microcontroller 202 finds in Device Table 518 a line, in which in column "Select button” 545 the button corresponding to the pressed one is indicated, and stores in corresponding variables the address of the description of command transmission protocol from column "Protocol” 546, the address of button table from column “Buttons” 547, and the address of text messages from column "Text" 548.
  • the address of button table is equal to zero, then in the corresponding variable the address of the standard button table for devices of selected type is stored. Similarly, if the address of text messages is equal to zero, then the address of the standard set of text messages for devices of the selected type is stored in the corresponding variable.
  • microprocessor determines and stores in Global Variables 511 in RAM 222 the values of variables that can be used in subroutines fulfilling the transmission of commands to remotely-controlled devices.
  • variables used in flowcharts and descriptions of the above-mentioned subroutines. It is also explained how the values of these variables are connected with data in field 450 of the barcoded program shown in Fig.6B.
  • Code[NB] is a digital code of the command being sent represented in the form of bits array, wherein NB is the number of bits in this digital code. Value NB is received from record 467. TT is a period of command sendings to the remotely-controlled device measured in an integer number of milliseconds and received from record 460.
  • TP is an array of impulse lengths for the given transmission protocol.
  • TI is an array of values of the lengths of intervals between impulses for the given transmission protocol.
  • the number of elements in this array denoted as NTI is equal to the number of possible lengths of intervals between impulses in the given transmission protocol, that is the number of recordings in the third subfileld in field 450.
  • NS is a total number of impulses and intervals between impulses in the starting part of the sending during the command transmission. NS is equal to the full number of symbols in subfield 468.
  • SS is an NS-bits array describing the sequence of impulses and intervals between impulses in the starting part of the sending.
  • Array element SS[k], k 1...NS, receives the value of 1, if k-st letter in subfield 468 corresponds to the length of impulses (letter "A...J"), or receives the value of 0, if k-st letter in subfield 468 corresponds to the length of intervals between impulses (letter "K...T”).
  • TS is NS-number array describing the sequence of values of lengths of impulses or intervals between impulses in the starting part of the sending.
  • NM is a number of records divided by commas in the sixth subfield of field 450. Value NM can be determined as the number of commas in the above-mentioned subfield plus one.
  • SM is a two-dimensional array out of NM*2 bits describing the order of transmitting impulses and intervals between impulses in the main part of the sending.
  • this array element receives the value of one, and in the sending first comes an impulse and then an interval between impulses.
  • this array element receives the value of one and in the sending first comes an impulse and then an interval between impulses.
  • MP is a two-dimensional NM*2-number array determining impulse lengths for all bits in the sending.
  • MI is a two-dimensional NM*2-number array determining the length of intervals between impulses for every bit determined in the sixth subfield of field 450.
  • NF is a total number of impulses and interval between impulses in the tail part of the sending. NF is equal to the total number of symbols in recording 473.
  • SF is an array of NF bits describing the sequence of impulses and intervals between impulses in the tail part of the sending.
  • TF is an NF-number array describing the sequence of lengths of impulses or intervals between impulses in the tail part of sending.
  • subroutine 608 is finished in block 608 after determining and storing of all above enumerated variables. As shown in Fig.12, after entering subroutine of fulfilling commands
  • microcontroller 202 looks in the button table of the selected remotely-controlled device the button with the number coinciding with the button pressed (block 642). If the button of the required number is not found in button table, then in block 647 a text or sound message about the mistake is formed, and subroutine terminates in block 648. If the button with required number is found, then in block 643 microcontroller 202 reads from column "Code" 534 in Button Tables 516 (Fig.8) the digit code of the command and stores it in variable Code. After this the transmission of the command to remotely-controlled device takes place.
  • Fig.13 shows the flowchart of subroutine of transmitting start part of command 644.
  • index variable K receives the value of 1. (block 652).
  • the cycle consisting of blocks 653...658 is run NS times.
  • subroutine 644 terminates in block 659.
  • variable M receives the value of the number of the impulse length or the length of the interval between impulses read from array TS.
  • the value of index variable K increases by 1.
  • Fig.14 shows the flowchart of subroutine of transmitting the main part of the command 645.
  • enumerative variables K and N receive the value of 1 (block 662). Then the cycle consisting of blocks 663...674 is fulfilled NB times. In each run of this cycle, one bit out of the command code is transmitted. Variable K, the value of which shows the number of the bit being transmitted, is the counter of this cycle. After this, subroutine 645 terminates in block 676.
  • the nested cycle having counter N and comprising blocks 664..674 is executed.
  • the value of N shows the number of the record in the sixth subfield of field 450 of the barcoded program.
  • the number of this cycle passes is equal to NM.
  • NM ⁇ NB that is why during one full execution of cycle with counter K, the nested cycle is fulfilled several times.
  • variable N receives the value of 1 in block 635.
  • the value of this bit equal to Code[K] is checked.
  • variable M gets the value of MP[K][1]
  • variable L gets the value of MI[K][1].
  • variable M comprises the number the impulse length
  • variable L comprises the number of the length of the interval between impulses.
  • bit SM[K][1] or bit SM[K][2] accordingly is checked. As it was explained before, these bits indicate what should be transmitted next - an impulse or an interval between impulses. If the bit checked is equal to 1, first the impulse TP[M] long is transmitted by fulfilling subroutine 670, and then the interval between impulses is transmitted by the way forming a pause with duration TI[L] in block 671. In the opposite case, the interval between impulses is transmitted first by the way of forming a pause equal to TI[L] in block 672, and then subroutine 673 of transmitting the impulse with duration TP[M] is called. After sending bit Code[K] values of counters K and N increase by 1 in 5 block 674, and the program returns to the beginning of the cycle in block 663.
  • Fig.15 shows a flowchart of subroutine of transmitting the tail part of the command 646. After entering the subroutine in block 681, count variable K receives the value of 1 (block 682). Then the cycle consisting of blocks
  • variable M gets the number of the value of the impulse length or the length of the interval between impulses read from array TF. Then in block 685, the current element of array SF is
  • TI[M] is made, that is the interval of this length between impulses is formed.
  • Fig.16 shows the flowchart of subroutine 656 of transmitting the 0 impulse of the given length.
  • Subroutines 670, 673, and 686 are in fact the same subroutine 656 but called from different points.
  • TT is a period of sendings of the command to the remotely-controlled device
  • TC is a period of the carrier
  • TCI is the length of the carrier impulse.
  • T is a given impulse length
  • NC is a number of the carrier impulses to be transmitted during time T
  • TR is a remainder of time T after transmitting of NC carrier periods
  • N is a count variable
  • Trunk(x) is a mathematical function returning an integer part of number x
  • SH(t) is a subroutine of forming a positive impulse with length
  • Subroutine SH(t) comprises operations of the setting of the bit of one of microcontroller 202 input/output ports connected to transmitting device 230 to 1, forming the delay with duration equal to t, and setting the above-mentioned bit to 0.
  • variable N gets the value of 0 (block 706), and microcontroller 202 continues to the cycle consisting of blocks 707, 708, 709, 710. In each run of this cycle one carrier impulse with length TCI is transmitted (block 708). After this the interval between carrier impulses with length equal to (TC - TCI) is formed (block 709).
  • microcontroller 202 in block 711 compares the value of time TR remainder to carrier impulse length TCI. If it turns out that TR is bigger or equal to TCI, then in block 712 one more carrier impulse with length TCI is formed. In the opposite case, the subroutine skips block 712 and terminates in block 713.
  • display device 250 When subroutine of editing the device list 612 is being fulfilled, display device 250 displays device table 518.
  • the user gets the possibility with the help of touch input device 240 assign selection buttons for the devices in device table 518. As it was pointed out before, in the preferred embodiment of the present invention there are eight selection buttons that make up buttons group 246. One of the devices in device table 518 can be assigned to one of these buttons. The user can also replace a device assigned to a certain button by another device or free up any of the buttons.
  • Subroutine of editing the device list 612 comprises well known to all skilled in the art functions of information output to display device 250, data input from touch input device 240, data recording and deleting into EPROM 226. The detailed description of this subroutine is not required.
  • Figs.l7A, 172B, 17C show flowchart of the process whereby the user is teaching his/her URC device 200 to work with a new appliance, which is remotely-controlled device 300.
  • the user confronts with such a need when he/she buys the present invention URC device 200 to replace a lost or broken remote control unit for the device the user already has.
  • the user buys a new device and wants to control it with the URC device 200 he/she already has.
  • the user starts the process of teaching URC device 200 to work with a new device (block 802).
  • the user tries to find a UPC related to new appliance 300, which is to be controlled by remote control 200. While looking for the UPC, the user analyzes surface of remotely-controlled device 300 itself, the manual of remotely-controlled device 300 (if the manual is still in place), the packaging of the device and tries to find the standard UPC on these objects. If the user does not find the UPC (block 806), he/she continues to block 814. If in block 806 the user finds the UPC, then he/she scans this UPC in block 808.
  • universal URC device 200 in block 810 compares the scanned UPC to the values of UPC recorded in Device Table 518 in column "UPC". If a previously recorded UPC identical to the scanned one is found, URC device 200 informs about it by a sound and/or visual signal, and the teaching process terminates in block 812. In this case, the teaching is not required, because the commands set for this remotely-controlled device 300 were recorded in EPROM 226 earlier.
  • URC device 200 informs about it by a corresponding sound and/or light signal, and the user continues to block 814.
  • the user tries to find on the device, in the manual to the device, or on the packaging of the device the barcoded program for the controlled device. If the barcoded program is found (block 816), then the user continues to block 838 (Fig.l7C), wherein the barcoded program is scanned.
  • block 816 If in block 816 the user does not find a source of the barcoded program, the process continues to block 818. If the user has an access to the Internet, the user continues to block 820, wherein he/she finds a WEB-site. The address of the site can be provided in the remote control 200 manual or on the remote control unit 200 itself. Then the user finds on the WEB-site the model of his/her remotely-controlled device 300, loads from the Internet and prints out on the printer the barcoded program. After this the process continues to block 838.
  • the user If the user is in the area, wherein post office service is not operating (block 828), then he/she has to go to the Service Center (block 840), where he/she can find and get the copy of the barcoded program (block 842). After this, the user continues to block 838. If the user is in the area, where the post office service does operate (block 828), then depending on the fact whether the user has a telephone (block 830), the user either calls (block 832), or by mail (block 834) sends a request to the Service Center to provide the barcoded program for his/her remotely-controlled device 300. Having received by mail the requested barcoded program, the user continues to block 838.
  • the present invention o provides many advantages over the remote control units known before.
  • Universal remote control device can be programmed to control practically all remotely-controlled devices, both presently manufactured and taken off the production line long ago, as well as any devices to be produced in the future. That is why the universal remote 5 control unit can successfully replace lost or broken remote control units of various home and office appliances, unite in one device the control of several remotely-controlled devices, be used as a original remote control unit with new remotely-controlled devices, including those manufactured in small quantities.
  • the universal remote control device according to the present invention is easy to use. Any user can easily program the universal remote control device with the help of the barcoded program. An important advantage is that the user can receive the barcoded program from various sources: the manual of the remotely-controlled device, printed editions, the Internet, 5 regular mail, etc.
  • the universal remote control device does not comprise complicated, expensive or non-standard units.
  • the required volume of memory is much less than memory ' volume of universal remote control units holding command sets for all remotely-controlled devices.
  • Production costs for the 0 present invention universal remote control device are not high. Producers can manufacture these remote control units in big parties as their universality ensures high demand for them.
  • the rules for describing the commands transmission protocols of the universal remote control device in the barcoded program were provided as an example only.
  • the use of any appropriate method of barcoded presentation for commands transmission protocol is possible, for example with the help of Java byte code.
  • the same is true for the example of describing the utility program.
  • Different types of barcodes can be used to record programs including two-dimensional barcodes.
  • the programming functions of the universal remote control device can be not limited only by reading of a barcode. Receiving of command sets via IR port, computer wired interface, microphone, etc. can be implemented together with barcode programming.
  • the description above was based on the universal remote control device transmitting data by means of IR interface, other types of interface for transmitting information from the universal remote control unit to the remotely-controlled device can be used, for example visible light, radio-waves, sound including ultrasound, electronic inductive coupling, etc.
  • various types of display devices CRT, LED matrix, plasma screen etc.
  • sound device and touch input device can be used in the universal remote control unit.
  • the display device can be monochrome or color.
  • the interaction of the user with the universal remote control device can proceed differently with the use of various variants of displaying information on the display device.
  • Real-time clock can be implemented not as a separate integrated circuit, but be a part of the microcontroller or as receiving of radio-frequency signal of exact time.

Abstract

The method of remote control comprises the preparation of information carrier with recorded, for example with a bar code, data about commands system and/or about transmission protocols of remote control commands for a designated remotely controlled device. Said data is read by the remotely controlled device and stored in its memory block. During the remote control process, the data hereof is read from the memory block and used to form the codes of remote control commands and/or to send these command codes to the remotely controlled device. Data about commands systems and/or transmission protocols of remote control commands for many remotely controlled devices can be transferred from information carriers into the memory block. The selection of said data for a certain remotely controlled device is done with the help the keyboard and display of the remote control device or by the way inputting the identification number of the controlled device (UPC for example).

Description

UNIVERSAL REMOTE CONTROL
FIELD OF THE INVENTION
5 The present invention relates to remote control devices and more particularly to universal remote control devices.
BACKGROUND OF THE INVENTION
i o Description of the Prior Art
A bigger part of existing home and office appliances is equipped with remote control units. Among these appliances there are such remotely- controlled devices as TV sets, video cassette recorders (VCRs), optical disk players (including CD-audio, DVDs, laser videodisks), tuners, amplifiers,
15 tape recorders, doors and door locks, light switches, children's toys, air- conditioners, remotely-controlled microwaves and washing machines, and many others.
Typically, a remote control device is a small hand-held object. The user manipulates the device hereof to distantly send various commands to the 0 remotely-controlled device. Infrared wireless remote control units are most widely spread. These units emit infrared light pulses, that are coded commands to be recognized and executed by remotely-controlled devices. Also, there are devices and corresponding to them remote control units using other signal types, like sound or radiowaves, for transmission and reception 5 of control commands.
Universal remote control (URC) devices are capable to control several remotely- controlled devices instead of one remotely-controlled device, as it is in case with a usual remote control unit. The need for universal remote control devices has appeared due to the following reasons: 0 a) It is convenient and ergonomic to control several devices by means of a single command centre (URC unit); b) The universal remote control unit can be used to replace a broken original remote control unit of a device, because the original remote control unit is no longer supported by the manufacturer or just absent in a store by 5 the moment, when such a replacement is needed.
The prior art provides several approaches to developing a universal remote control device. The first approach is based on pre-recording into the memory of the universal remote control unit of remote control command codes for a big amount of televisions, VCRs, and other devices and the choice of a required set of commands to control the certain device.
This approach relates to a universal remote control unit disclosed in U.S.Pat. No. 4774511, 1988. The memory of this device comprises command sets for control of a big number of devices produced by different manufacturers. The appropriate commands set is selected by the way of dialing a code of the controlled device with the help of the keys or buttons on the remote control device. In practice, this approach results in selling this type of remote control units with a manual. Such manual comprises the list of different models of TV sets, VCRs, satellite TV set-top-boxes, and CD players of many manufacturers. The code is provided for every model. To control the device, this code has to be dialed with the help of buttons on the remote control unit.
The first disadvantage of the above-mentioned approach is that a big amount of paper is wasted each time such device is sold, while the amount of useful information required by the user to program the remote control device for using with his/her appliances, even if the user has several appliances, is very small.
The second disadvantage of this approach is that the search for a particular model of the appliance the remote control device will be programmed to work with can take much time. Besides, the user might not know the exact model of the device he/she owns as the front panel of the device often carries just the name of the manufacturer and not the exact alphanumeric of the model. The manual of an old appliance can as well be lost.
The third disadvantage of this approach is that the remote control unit has to hold commands for all the devices it can control. Though, as a rule, devices of one manufacturer have identical or just slightly different sets of commands, the memory volume required for storing all the multitude of command sets is big, and consequently, the internal nonvolatile memory of the universal remote control device has to be large enough. This results in higher power consumption and a higher cost of the universal remote control device.
The fourth limitation of this approach is that the user cannot use the universal remote control unit bought half a year ago to control a device bought just a month ago, as the changes in the commands system of the new device could not be reflected in the memory of the universal remote control device. The new model does not happen to be in the list of devices of the universal remote control unit. The fifth disadvantage of this approach is that the manufacturer of the universal remote control devices cannot produce such devices in big quantities, as their life cycle is limited by the period of time, during which a sufficient number of new devices appears on the market with commands codes not in the memory of the already produced universal remote control units. Then all universal remote control units that are produced but not sold have to be modified.
The sixth disadvantage of this approach is that for the same reason as above retailers, especially in remote areas, cannot take for realization a big party of these devices.
The last two disadvantages lead to the fact that the devices are produced and sold in smaller quantities, therefore transportation and components costs as well as production costs increase.
The similar approach is employed in remote control device disclosed in PCT application WO 98/00933, 1998. The memory of this device comprises the recorded commands codes for many controlled devices. The choice of the correct commands set is made by the way of receiving by universal remote control unit of a command from the original remote control unit of the selected controlled device. This method helps to simplify and accelerate the configuration procedure of the universal remote control unit. However, this system suffers from several limitations.
The first limitation of the above-mentioned system is that the memory of the universal remote control unit has to hold commands codes for a big amount of controlled devices, that is this has to be a large volume memory. The second disadvantage is that such universal 'remote control unit can be used only for controlling devices the command codes of which are recorded in its memory. There is no possibility to program them to control new devices, the commands codes of which are not recorded in its memory. It follows that all limitations in production and sales of these units are the same as for the universal remote control unit described above.
The third disadvantage of this system is that the receiving of a command from the original universal remote control unit is only possible, if there is such device and it is in working order. In the opposite case, it is impossible to set up the universal remote control unit. The other approach to implementing the universal remote control unit is based on creating learning devices that receive and remember commands sent in the teaching process from the original remote control unit.
PCT Application WO 98/33332, 1998, discloses a universal remote control unit with infrared identification. The memory of this device comprises several recorded protocols for transmitting commands of the remote control unit. In the beginning of the teaching process the universal remote control unit receives commands from the original remote control unit and determines the transmission protocol in use. Then, using the precise parameter of this protocol prerecorded in its memory, the remote control device determines commands codes herein and stores them. To determine the code for each command, it is necessary to send this command from the original remote control unit and receive it by the universal remote control unit. The first limitation of the system is that the teaching of the universal remote control unit requires the implementation of a big number of operations with two remote control devices. For many users this procedure proves to be too complicated.
The second disadvantage of this system is that not all exploitable command sets can be adequately reprogrammed by this method. For example, when the user activates the record mode with the help of RECORD key, the original remote control device may require the user to confirm the command by repeating the pressure on this key or on another key together simultaneously with RECORD key. This specific procedure cannot be reproduced when the universal remote control unit is being programmed, as the commands transmitted by the original remote control unit do not contain information about it.
The third disadvantage of this system is that the universal remote control unit can only be programmed when the original remote control unit is in working order. In the opposite case, it is impossible to fulfil this operation and the user has to turn to the service center.
When addressing the service center the fourth disadvantage of the system becomes apparent. The service center has to have either remote control units from all or in any case, of a big number of devices, or a universal programmer. Such programmer would be rather complex and expensive. Not every service center can afford such a device and professionals to work on it.
Another approach lies in the possibility of recording into the memory of the universal remote control device commands codes of various devices during the life cycle of the remote control unit.
This approach is used in the remotely upgradable universal remote control unit exposed in U.S. Pat. No.5228077. This unit can receive from external computer and store in its memory command code sets for controlling various devices. The connection to an external computer can be direct and with the help of the telephone line modem. The possibilities of programming the unit to control various devices are unlimited. However, this system also has its disadvantages.
The first disadvantage of the system is that for programming the device a computer link to the computer containing all the related information is required. Computers with all the necessary information can only be in special service centers. Only big companies can afford setting up of a service network covering most of the countries.
The second disadvantage of the system is that not every user can establish the connection to the service center over the phone and fulfil all the operations required for programming the universal remote control unit.
An easy way to transmit data for programming of home appliances, including the remote control device, available for all the users is the use of machine-readable codes, for example barcodes printed on paper and other similar materials.
U.S. Pat. No.5552837, 1996, discloses a remote controller for scanning data and controlling a video system. This device comprises means for reading from cards with machine-readable data codes about TV programs on various TV channels on various subjects and means for programming the viewing of selected programs or their recording on the VCR. However, this device can not be programmed to control different home and office appliances, that is it cannot be used as a universal remote control.
U.S.Pat. No. 5382776, 1995, exposes a combination of an optical-disk and barcode memory medium. According to this invention, the optical disc is provided with a document with a printed barcode comprising a menu, commands and other data that make the search for needed information on the optical disk and fulfilling of the program recorded on the disk easier. As a result, the use of optical discs gets wider functionality. This patent provides an univocal correspondence of a barcode to a code on the optical disk. However, this invention does not allow program the universal remote control to control various devices.
U.S.Pat. No. 5905251, 1999, shows a hand-held portable WWW access terminal with visual display panel and GUI-based WWW browser program integrated with bar code symbol reader in a hand-supportable housing. This device allows to read a barcoded URL printed on various objects and to distantly control a computer connected to the Internet to provide an access to Internet sites according to the above-mentioned URLs. But this invention also does not allow to program the universal remote control unit to control various devices. U.S. Patent No.5962839, 1999, demonstrates an apparatus programmable to perform a user defined sequence of actions. This device can remember a sequence of instructions received when the sequence of bar codes is read and then reproduce this sequence of instructions controlling for example the electric engine in a toy car. However, this device is capable of remembering only one sequence of instructions, while it is necessary to fulfil many commands to control various appliances, and each command is carried out by pressing a corresponding button.
OBJECTS AND SUMMARY OF THE INVENTION
Accordingly, besides the objects and advantages of the universal remote control units described above, several objects and advantages of the present invention are: (a) to provide a universal remote control device, the use of which would not be restricted by newly designed devices according to some exclusive technology and would be applicable to control any remotely-controlled devices both no longer produced and presently manufactured, as well as the ones to be created in the future; (b) to provide a universal remote control device, a manual to which would be short, simple and understandable by any user;
(c) to provide a universal remote control unit not requiring the knowledge of the exact designation of the controlled device model, to be programmed to control this device; (d) to provide a universal remote control device with the required memory volume lower than the memory volume required to store all commands tables of all manufactured devices that would allow to reduce cost and consumed power;
(e) to provide a universal remote control device which can be used by the user to control any novice remotely-controlled appliance, even if the user bought the unit long time ago;
(f) to provide a universal remote control device that a manufacturer can produce in big quantities counting on selling these devices during a long period of time; (g) to provide a universal remote control device that retailers could buy and sell during a long period of time without fear that the device will get out- of-date because new remotely-controlled models appear on the market; (h) to provide a universal remote control device having a simple programming procedure that any user can fulfil quickly and without mistakes;
(i) to provide a universal remote control device, information to program which would arrive to the user along with devices that are to be controlled, through regular mail, printed manuals and other printed media, via Internet, fax, and many other sources, so that any user could get required information from a source most convenient to him/her;
(j) to provide a universal remote control device that can be used instead of any remote control device, even if the unit to be displaced is lost or broken, without going to a service center;
(k) to provide a universal remote control device that if the user does not want to program the device himself/herself, could be programmed in any store or service center without the use of any special equipment, other remote control devices or participation of qualified personnel.
According to the present invention, the universal remote control device can be programmed to control a selected device with the help of information printed on paper or other appropriate material with the use of a machine- readable code, for example a barcode. The above-mentioned printed information comprises in a direct or in indirect form parameters of protocol of commands transmission from the universal remote control unit to the controlled device and commands codes sent to the controlled device, when certain buttons of universal control keyboard are activated. The universal remote control unit comprises an optical scanner for reading machine- readable codes, means for storing the read data, means for forming commands codes when keys are pressed by the user, and means for transmitting the above-mentioned codes to the controlled device.
Further objects and advantages will become apparent from a consideration of the ensuing description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig.1 shows an overview of a system comprising a universal remote control device, a set of code-bearing objects, and a set of remotely-controlled devices;
Fig.2 shows a universal remote control unit block diagram according to the preferred embodiment;
Fig.3 shows a general outlook of the universal remote control device; Figs.4A...4F show examples of objects bearing barcodes to be scanned with the present invention universal remote control device;
Figs.5 A...5 C show a barcoded program for the universal remote control device in case when it is programmed to implement one of standard transmission protocols;
Figs.6A...6D show a barcoded program for the universal remote control device in case when it is programmed for transmitting an arbitrary transmission protocol;
Fig.7 shows a logic division of the universal remote control device memory into functional areas;
Fig.8 shows data structure in Button Tables area in the memory of the universal remote control device;
Fig.9 shows data structure in Device Table area in the memory of the universal remote control unit; Fig.10 shows a flowchart of a program run in the universal remote control device;
Fig.11 shows a flowchart of a subroutine of scanning of a barcoded program;
Fig.12 shows a flowchart of a subroutine of a command execution; Fig.13 shows a flowchart of a subroutine of transmitting the starting part of the command;
Fig.14 shows a flowchart of a subroutine of transmitting the main part of the command;
Fig.15 shows a flowchart of a subroutine of transmitting the tail part of the command;
Fig.16 shows a flowchart of a subroutine of impulse forming;
Figs.l7A, 17B, 17C show a flowchart of a process of user's teaching of his/her universal remote control unit.
DETAILED DESCRIPTION OF THE INVENTION
As a general overview, Fig. 1 shows universal remote control (URC) device 200 of the present invention, which remotely controls a set of remotely-controlled devices 300. A user scans by means of scanner 210 embedded into URC device 200 codes 110 born by code bearing objects 100. The scanned information is transferred into information in a form of a program or/and data which are stored in memory 220 of URC device 200. The stored information is used then to transmit control commands or/and data by means of transmitting device 260 to remotely-controlled devices 300. Command/data transmissions are initiated either by the user activating touch input device 240 or automatically due to the execution of a control program stored in memory 220 of URC device 200.
Each of remotely-controlled devices 300 comprises at least one controlling device 310, a number of input devices 320, a number of output devices 330, at least one remote control interface 340, and connection means 350. The following commonly spread remotely- controlled devices correspond to such structure: TV sets, video cassette recorders (VCR), compact-disc audios (CD-audio), radiofrequency tuners, tape recorders, door locks, light switches, children's toys, laser video-disc players, DVD players, air-conditioners, remotely- controlled microwaves, and many other home and office appliances.
For better understanding of remotely-controlled device 300 structure, we will use a typical remotely-controlled cassette tape recorder as an example. In the tape recorder, controlling device 310 is usually represented as a number of control circuits intended to control all the operation of the tape recorder. Often controlling device 310 may comprise a microprocessor or microcontroller and a controlling program. Output devices 330 in atypical tape recorder are: recording heads, motors to drive tape, solenoids (electromagnets) to lock and eject cassettes, light emitting diodes (LEDs) or/and lamps for various modes indication, pointer indicators for signal level indication, controlled amplifiers for signal amplification. Input devices 320 in a typical tape recorders are: tape reading heads, user controlled buttons for immediate mode control, such as Play, Stop, Fast Forward, Rewind, Record, Pause and others; buttons for mode selection, such as type of tape selection, reverse mode, filters control and others; tape velocity sensor and cassette presence sensor, some others. Usually, in modern tape recorders a remote control interface 340 is represented by an infrared code receiver. Connection means 350 are represented by elements dependent on a certain implementation of the tape recorder and can include glue logic, wiring, connectors, printed circuit boards, and other parts.
It is important to notice that any remote control interface is either an input device or an input-output device. For example, an infrared remote control interface of a VCR is an input device, while IrDA serial computer port is an input-output device, since it is capable of transmitting data in both directions. Nevertheless, the remote control interface 340 is shown separately on a block diagram of remotely-controlled device 300 in Fig. 1 to emphasize its'connection with the present invention URC device 200. Fig.2 shows a block diagram of URC device 200 according to the preferred embodiment of the present invention. URC device 200 comprises microcontroller 202. For example, microcontroller mPD78F4216GC, by NEC Electronics Inc., can be used as a microcontroller in the present invention device. Microcontroller 202 comprises central processor 204 and memory 220. Memory 220 consists of Random Access Memory (RAM) 222 and Electrically-Programmable Read Only Memory (EPROM) 226, that for the indicated type of microcontroller have volumes of 8 Kbytes and 128 Kbytes accordingly. If the power is switched off, the information stored in EPROM 226 is saved. It is also possible to use separate integrated circuits of- RAM 222 and EPROM 226.
URC device 200 contains scanning device 210, transmitting device 230, touch input device 240, display device 250, sound device 255, and real-time clock 260 connected to microcontroller 202 by interface means 270. URC device 200 also contains power supply 280.
Scanning device 210 herein can be provided as a laser scanner or CCD scanner allowing to read code 110 from object 100 surface under the control of microcontroller 202. The examples of scanners are given in U.S.Pat.
No.5126544, 1992, U.S.Pat. No.5914477, 1999, and many other publications.
Transmitting device 230 comprises an IR light-emitting diode (LED) and an electronic circuit transforming signals arriving from microcontroller
202 into current impulses via the above-mentioned LED. Transmitting device 230 as in the presently known manufactured remote control devices can be used.
Touch input device 240 comprises keys or buttons that can be connected to microcontroller 202 inputs/outputs. The implementation of touch input device 240 is not different from similar devices in the known remote control devices. Display device 250 can be any suitable liquid crystal display (LCD), such as HDM128GS12Y, a product of Hantronix, Inc. Sound device 255 comprises miniature loudspeaker and all the necessary elements. These schemes are well known in the art.
Real-time clock 260 can be provided as an integrated circuit DS1305 by Dallas Semiconductor Corp. Microcontroller 202 can set and read the current time and date.
Power supply 280 comprises two power elements of AA type. If necessary, power supply 280herein can comprise a voltage converter, for example MAX856CSA by Maxim Integrated Circuits, Inc. As shown in Fig.3, remote control 200 has housing 201 having window 212 in the upper end surface. Light rays come through this window 212 in both directions. Behind window 212 there is scanning device 210, not visible in Fig.3. Beside there is exit window 232 of transmitting device 230. Display device 250 and sound device 255 are embedded into the upper surface of housing 201.
Touch input device 240 comprises buttons disposed in housing 201. Among these buttons there is button 241 for turning the power of controlled device 300 on/off, button "Fn" 242 for turning special functions mode on, button "Prog" 243 for turning on programming fulfilling mode, button "Mute" 244 for turning the sound in controlled device 300 off, two sets of functional buttons 245.1 and 245.2, the functions of which are determined along with programming URC device 200, buttons set 246 for selecting controlled device 300, buttons set 247 for inputting digits, for example TV channels numbers, buttons 248 for volumetuning and for choosing in lists and menus, buttons set 249 for controlling various recording and reproducing devices.
Figs.4A...4F show examples of objects 100 bearing barcodes 110 to be scanned with programmable URC device 200 according to the preferred embodiment.
More detailed, Fig.4A shows page 120 from a TV-set manual, where there is a picture of TV-set 122, TV-set model title 124, text 126 and barcode bars 128. The user can identify his/her TV-set from others by the picture of TV-set 122 and by the model title 124. Text 126 indicates that this page comprises commands system of the depicted model. Enumerated barcode bars 128 comprise command system of the above-mentioned TV-set for programming URC device 200.
Fig.4B shows TV-set 130 bearing two barcodes. First barcode 132 is applied on back panel 133. Barcode 132 is Universal Product Code (UPC) and id designed for identifying TV-set 130 as a product by barcode-readers in points of sales and also for reading by URC device 200 to identify the model of the TV-set. On another segment 134 of TV-set 130 surface there are text 136 denoting the model of TV-set 130 and barcode bars 138 comprising command system to be read by URC device 200. Fig.4C shows book 140 containing a variety of bar-coded command sets related to various home appliances. Such book can be located at points of sales or points of service of the present invention URC units or/and remotely-controlled devices and can be used to download a number of specific command sets and other information needed into the user's remote control unit. Book 140 consists of manual pages of various devices photocopied, faxed, downloaded from a computer network and printed out. It makes it possible to accumulate the programming information as long as new remotely-controlled devices 300 appear on the market. Each page 142 comprises therein the same information as page 120 shown in Fig.4A. Loose-leave binder 144 is used to fasten pages 142 together.
Fig.4D shows periodical 150, wherein a bar-coded command set related to remotely- controlled device 300 for URC device 200 is published. The periodical therein contains an explanatory text 152 and the command set itself coded in barcode 154 bars.
Fig.4E shows article of manufacture 160 that is a course of Italian Geography. Article of manufacture 160 comprises box 162 with detachably fastened CD ROM 163 and description 164. Box 162 and disk 163 bear UPC 165. Description 164 comprises a text explaining how to use the course (not shown in Fig.4E), the title and designation 166, and barcoded command set 168 for URC device 200.
Fig.4F shows packaging 170 from a children's toy that is a remotely- controlled device. The packaging surfaces herein bear UPC 172 and barcoded toy command sets 174 and 176. As shown in Fig. 5A, the code 110 to be input into URC device 200 to control a device with a standard transmission protocol of remote control commands is recorded in the form of several barcode bars 401...404. The number of bars equal to 4 is shown as an example only and can be both more and less depending on the size of program, represented by code 110. In the preferred embodiment of the present invention, the barcode of "Code 128" type is used, which is capable of encoding all 128 ASCII characters, plus all 128 extended ASCII characters and 4 non-data function characters. The additional advantage of "Code 128" is that it allows numeric data to be represented in a compact, double-density mode, two data digits for every barcode symbol.
In front of each barcode bar 401...404 there is its number 405 printed in a form of a regular digit. Each barcode bar 401...404 begins from starting field 406 comprising according to the rules of "Code 128" a quiet zone, which is spaces preceding the start pattern and special start pattern marking the beginning of a barcode record. Each barcode bar 401...404 completes by tailing field 407 comprising a check character that serves to control the correct reading of barcode record, special stop pattern marking the end of barcode record, and a quiet zone following the stop pattern. First barcode bar 401 comprises field 408 wherein the full number of barcode bars is indicated in a form of a two-digit number (in the given case number 04). Then there is field 409 wherein the type of the device is recorded in the form of a two-digit number further denoted as DT. In Table 1 there are values of DT for various types of remotely-controlled devices including combined devices (TV+VCR, Tuner+Tape+CD, etc.). Table 1 also provides values of DT for non-standard devices, for example remotely- controlled door locks, devices to control the lights, remotely-controlled toys, etc.
Table 1
Figure imgf000015_0001
Further, in barcode bar 401 there is field 410, comprising recorded with Code 128 symbols 11 -digit UPC of the device to control which the given program is designed. Then come fields 411 and 412, wherein the name of manufacturer and device model title are recorded accordingly. As the number of symbols in these areas is not know in advance, an additional symbol is put between them as a separator, for example "%".
Second barcode bar 402 begins from field 413, wherein the type of program further denoted as ProgType is recorded in the form of a two-digit number. In Table 2 values of ProgType are given for various program types. Values of ProgType from 01 to 80 are assigned to the programs for remote control devices with standard protocol of commands transmission. Such programs determine, as it will be shown below, commands codes sent to remotely-controlled device at pressing certain buttons on touch input device 240. Variants of standard transmission protocols that differ by parameter values are recorded in separate lines of Table 2 and receive different values ProgType in the range from 01 to 80.
Value ProgType 81 is given to programs for remotely-controlled devices with non-standard commands transmission protocols. Such programs firstly describe the protocol of commands transmission, secondly determine commands codes corresponding to various buttons of touch input device 240. In Table 2 there also can be other types of programs with their ProgType values.
Table 2
Figure imgf000016_0001
Field 415 comprises a button table, that is a table of commands codes sent to controlled device by pressing certain buttons when activating certain buttons on touch input device 240. In the example shown in Fig.5A, field 415 takes two barcode bars 402 and 403, but if required it can take more barcode bars. Button table is recorded in the form of a sequence of symbols with regard to the following rules:
1. All buttons in the URC device get assigned numbers. Numbers order can be arbitrary. For example, button 241 (Fig.3) gets number "01", button 242 - number "02" and so on till number "44" is assigned to the button of transferring to the last recording. The numeration is constant for the given embodiment of URC device 200. In the list of buttons there are also "virtual" buttons which correspond to combinations of real buttons pressed simultaneously. "Virtual" buttons get numbers starting with "45". The maximal possible number for the buttons is "99".
2. Some of commands have mnemonic codes (mnemocodes) that are the same for the same commands in different remotely-controlled devices and do not depend on commands transmission protocol. For example, the command of turning the first channel on always have mnemonic code "Chi", though a digital code of this command sent to the TV-set can be different for different TV-sets models. In the preferred embodiment of the present invention, commands mnemocodes may comprise 2 or 3 symbols, and the first symbol always has to be a letter.
3. Some commands mnemocodes correspond to buttons of touch input device 240 by default. In the preferred embodiment of the present invention, mnemonic codes of "TV", "VCR", "TUN", etc. correspond to buttons of buttons set 246. Mnemocodes "Chl"..."Ch9" correspond to the buttons of buttons set 247. Mnemocodes "Up" (an arrow looking up), "Dn" (an arrow looking down), "VUp" (to increase loudness), "VDn" (to decrease loudness), "OK" correspond to the buttons of the buttons set 248. Mnemonic codes "PAS", "STP" correspond to the buttons of buttons set 249, and so on. There are no mnemonic codes corresponding to the buttons of buttons sets 245.1 and 245.2 by default.
4. Field 415 (Fig.5B) consists of commands codes records for separate buttons with separators 426 therebetween - symbol "%". Field 415 finishes with a symbol of the end of field 432. For these purposes symbol "#" is used. 5. The record for each button starts with a two-digit number indicating a button number. In Fig.5B, this number for the first button is 421, for the second button is number 427, and for the last button - number 429. If a button has a one-digit number, then this number is recorded with leading zero, for example "04". Field 415 has recordings not for all buttons but only for those used to control the given remotely-controlled device.
6. Further, the record for every button therein has mnemonic and digital codes of commands fulfilled, when the button is activated in different operation modes. The switching of the URC device from one mode into another is done by the way of activating certain buttons that will be described later. Between a mnemonic and a digital code of every command there is separator 433 - symbol "|". The mnemonic code and separator 433 are optional elements. The absence of both the mnemonic code and separator 433 indicate that the command has a mnemonic code corresponding to this button by default. The absence of the mnemonic code and the presence of separator 433 indicate that this command does not have a mnemonic code at all.
7. If the given program does not need a Button Table, that can be in case when the program uses one of standard button tables, pre-recorded in EPROM 226, then field 415 is empty and comprises only the symbol of the end of the field "#".
The example in Fig.5B has several variants of recording commands in field 415. For button with number 421 in the main operation mode there are no command mnemocode and separator 433. Right after button number 421 there is command digital code 422 comprising two decimal digits and recorded in the form of a decimal number without leading zeros. This variant of record shows that in the main mode the activation of the button with number 421 results in fulfilling the command with the mnemocode corresponding to this button by default. Then follows separator 423 provided as symbol "/". After separator 423 there goes the code of the command fulfilled when the button with number 421 is activated in the second operation mode. The command does not have a mnemonic code, but has separator 433. After it goes digital code 424 comprising three decimal digits. This variant of record shows that in the second operation mode the command called by the button with number 421 does not have a mnemonic code, but only a digital code.
Then goes separator 426 followed by the next button number 427. The command fulfilled when this button is activated has mnemonic code 425. In the given example mnemonic code 425 is "BUp" and corresponds to the command of increasing brightness. After mnemonic code 425 there is digital code 428 of this command. It is followed by separator 426.
The last button in this example has number 429. For this button the command fulfilled in the main mode has the mnemonic code corresponding to this button by default and digital code 430. In the second mode, the button with number 429 calls the command without a mnemonic code and with digital code 431.
In field 416 there are text records that are displayed on display device 250. As shown in Fig.5C, field 416 consists of separate messages divided by separators 435. Symbol "%" is used as a separator. Messages 436...439 show the user the functions of programmable buttons 245.1 and 245.2 (Fig.3). Field 416 may occupy several barcode bars, not one barcode bar 404, as in the example under consideration. As field 416 is the last field, a special sign of the end of field is not required. If text messages for this program are not required, then there is no field 416. If the device to control which the program is designed is a combination one, for example a TV-set and a VCR in one housing, then each of fields 415 and 416 consists of several parts equal to the number of parts in the combination device. Each part of field 415 comprises commands codes for one of the parts of the combination device, for example for a TV-set, or for a VCR. Between the parts of field 415 there are special separators. For example, symbol "\" can be used as a separator. In the end of field 415, as it was noted before, there is symbol "#" indicating the end of the field. Similarly, each part of field 416 comprises text messages related to one of the parts of the combination device. Between the parts of field 416 there are separators "\".
As shown in Fig.6A, the code 110 to be input into URC device 200 to control a device with non-standard transmission protocol of remote control commands is recorded in the form of several barcode bars 441...445. The number of these bars in the given example is equal to five. Reference numbers 405, 406, 407, 408, 409, 410, 411, 412, 413, 415, 416 show the same parts or fields of barcoded program, as Fig.5A. The rules for forming these parts were described earlier.
After field 413 comprising number 81 (Table 2), there is field 450 comprising information that characterize commands transmission protocol to be programmed. As shown in Fig.6B, field 450 consists of subfields divided by separators 451 (symbol "%"), and ends by the symbol of the end of field 454 (symbol "#"). The elements of information inside subfields are divided by separators 452 (symbol "/") and 453 (symbol ","). The first subfield comprises record 460 containing the value of the period of repeating of commands transmission in milliseconds, record 461 containing the value of carrier impulses period in milliseconds, and record 462 containing the value of carrier impulses length in milliseconds. The last two numbers are necessary, if carrier modulation is used for transmission. In the opposite case, record 461 and 462 comprise values equal to zero.
The second subfield comprises records of the length of impulses of the transmitted commands code in milliseconds. If in this remote control protocol impulses of only one length are used, then in the second subfield there will be only one record 463 comprising the length value. In the program description below, this value will be denoted by the letter "A". If impulses of two different lengths are used, then in the second subfield there will be two records 463 and 464. The length values in these records are denoted by letters "A" and "B" accordingly. If impulses of three different lengths are used, then in the second subfield there will be three records and the length values they comprise are denoted by letters "A", "B", and "C" accordingly, and so on. In the second subfield up to ten various impulse lengths can be recorded. The letters from "A" to "J" can be used to denote these values. The third subfield has records of interval lengths between the impulses of the transmitted command code in milliseconds. If in the remote control protocol the intervals between impulses of only one length are used, then in the third subfield there will be only one record 465 comprising interval value, further in the program recording denoted by the letter "K". If intervals between impulses used are of two different lengths, then in the third subfield there are two records 465 and 466. These records comprise interval length values denoted by letters "K" and "L" accordingly, and so on. In the third subfield up to ten various interval lengths can be recorded. Letters from "K" to "T" can be used to denote these values . The possibility of setting ten various random impulse length values, ten various random values of the length between impulses, and ten random values of carrier impulses period and length provide the implementation in the URC device 200 of any transmission protocol of remote control commands used in practice. In the fourth subfield there is one record 467 comprising a number indicating the number of bits in the code of remote control command including the control bit, if there is any.
In the fifth subfield, the starting part of sending the remote control command in the form of letter sequence 468 is described. In sequence 468 the following letters alternate - the letters showing the length of signal impulses, that is letters "A", "B", and so on, and the letters showing the length of intervals between impulses, that is letters "K", "L", and so on. If in transmission protocol to be programmed the starting part of sending is not required, the sequence 468 contains only symbol "%". In the sixth subfield, impulse lengths and intervals between impulses are recorded during the transmission of the commands code and the control bit. The length of impulses is represented by letters "A", "B"..."J", and the interval length between impulses is represented by letters "K", "L"..."T". If all bits of the command code are transferred into impulse length and pauses by the same method, then the sixth subfield comprises two letter pairs 469 and 470 with separator 452 therebetween. The first pair of letters 469 indicates the impulse length and the length of the interval between the impulses, if the value of the transmitted bit is equal to "0". The second pair of letters 470 indicates the impulse length and the length of the interval between impulses, if the value of the transmitted bit is equal to " 1 ". In the given pair of letters there is one of letters from "A" to " J" and then there is one of letters from "K" to "T". Then first the impulse of high level signal is formed, and then the interval between the impulses. In the opposite case, there is the opposite order of forming an impulse and the interval between impulses.
If odd and even bits of the command code are transformed into impulse lengths and intervals between impulses according to different rules, then there is separator 453 (symbol ",") after letters pairs 469 and 470. After the separator, there are two more pair of letters 471 and 472. Pairs of letters 469, 470 determine the impulse lengths and the lengths of the intervals between impulses for odd bits of commands codes, and pairs of letters 471, 472 - for even bits. The rules for the recording of pairs of letters are the same as described above. If all bits of the commands code are transformed into impulse lengths and lengths of intervals according to different rules, then the sixth subfield will comprise as many recordings consisting of two pairs of letters and divided by commas 453 as the number of bits in the commands code.
The last seventh subfield comprises letters sequence 473 describing the trailing part of the sending. The rules of forming sequence 473 are the same as for sequence 468.
Fig.6C shows an example of recording the program for the URC device that must fulfill RC-5 commands transmission protocol used, for example in remote control devices based on integrated circuits SAA3010 by Philips. The period of sendings equals to 114 ms. The period of the carrier frequency impulses is 28 microseconds (us). The length of the carrier frequency impulses is 14 us. The length of signal impulses and of intervals between them is 889 us. The number of bits in the commands code is 12. The starting part of the sending consists of two impulses with an interval between them. The bit with zero value is transmitted as a sequence of high and low signal levels (the impulse and the interval). The bit with the value of "1" is transmitted as a sequence of low and high signal levels (the interval and the impulse). The trailing part of the sending is not required.
Fig.6D shows an example of recording the program for the URC device that has to fulfill the same commands transmission protocol as remote control devices based on integrated circuits M709L by SGS -Thomson Microelectronics. The period of sendings is 121 MS. The modulation of the carrier frequency is not used (Flash mode). The length of impulse signal is 10 us. Intervals between impulses can be 100 us, 200 us, 300 us and 400 us long. The number of bits in the command is 11. The starting part of the sending consists of three impulses with the interval of 400 us and 100 us between them. For odd bits zero value is transmitted as an interval of 100 us and an impulse, the value of " 1 " is transmitted as the interval of 200 us and an impulse. For odd bits, zero value is transmitted as the interval of 100 us and an impulse, the value of one is transmitted as the interval of 300 us and an impulse. The trailing part of the sending comprises the interval of 400 us and an impulse.
Transmission protocols of remote control commands in other devices and devices not yet developed can de described in the similar way.
As shown in Fig.7, RAM 222 contains Scanning Buffer 510, Global Variables area 511 and Stack 512. Global Variables area 511 contains various global data structures and variables needed for proper operation of the computation process, such as: current time and date, intermediate data for LCD control, keyboard scanning results and other necessary information. Stack 512 is used for placing local data and parameters for procedures and subroutines.
EPROM 226 contains the following areas: Operational System 513, Protocols 515, Button Tables 516, Texts 517, Device Table 518. Besides, EPROM 226 comprises areas not shown in Fig.7, wherein data from Table 1 and Table 2 described before, various constants and other necessary information are stored.
Operating System 513 comprises the main control program, drivers for scanning device 210, touch input device 240, display device 250 and sound device 255, subroutines of fulfilling standard functions including commands transmission to controlled devices 300 in accordance with some standard transmission protocols. Operating System 513 further comprises the program of commands transmission in accordance with an arbitrary protocol recorded as shown in Fig.6B. Operating System 513 is recorded during the production of URC device 200.
In Protocols 515 commands transmission protocols are stored. Each commands transmission protocol, both standard and non-standard, is recorded in the form shown in Fig.6B. All standard and some non-standard protocols are recorded into Protocols 515 during the production of URC device 200. Other non-standard protocols are recorded by scanning of barcoded programs. During the scanning, the content of field 450 is recorded into Protocols 515 (Fig.6A). The record of each commands transmission protocol begins with a certain address, which is stored in Device Table 518, and ends by the symbol of the end of field, that is by symbol "#". Button Tables 516 consists of several sectors. Each sector comprises a button table for one remotely-controlled device 300. Some sectors of Button Tables 516 are filled during the production of URC device 200, and the rest sectors are filled with the data from field 415 of the barcoded programs when these programs are scanned. As shown in Fig.8, each line of table, stored in one of the sectors of Button Tables 516, contains information about one command, that may be executed by URC device 200. In column "Mode" 531 the numbers of the mode are recorded in which this command is fulfilled. Zero value in column "Mode" 531 corresponds to the main mode, and values different from zero correspond to additional modes. The switch from the main mode into additional ones is done by activating of certain buttons.
In column "Button" 532 the number of the button is recorded, activating of which results in fulfilling the given command. As it was noted before, there can be real button numbers and virtual button numbers indicating the simultaneous activation of two or more buttons. In column "Mnemo" 533 the mnemonic code of the command is recorded. In column "Code" 534 the digital command code transmitted to remotely-controlled device is recorded.
Texts 517 comprises text messages output on display device 250 during the control of devices, the fulfilling of the utility programs, and in other cases. Texts 517 consist of sectors each having the record of text messages set for one remotely-controlled device or for one utility program. Some of these sectors are filled during the production of URC device 200. In other sector of Texts 517, during the scanning text messages stored in area 416 of control programs and area 486 of utility programs are recorded. The format of recording text messages was shown in Fig.5C. Text messages in every sector are divided by symbol "%". Each sector in Texts 517 ends by the symbol of sector ending, for example, symbol "#".
In Device Table 518 (Fig.9) data about the devices that URC device 200 can control is recorded. Device Table 518 comprises column "Manufacturer" 541, wherein the name of the device manufacturer is recorded, column "Model" 542, wherein the name of the device model is recorded, column "Device Type" 543, wherein the type of the device DT is recorded, and column "UPC" 544. In the enumerated columns data from the corresponding barcoded program fields is recorded during the scanning of this data. Values DT for various device types were given in Table 1. Each remotely-controlled device occupy one line in Device Table 518. A combination device occupies as many lines in Device Table 518 as many separate units make up this combination device. In column "Select Button" 545, buttons are indicated with the help of which URC device 200 is switched over into the mode of controlling of one of devices. These buttons are set in the mode of editing the device list that will be described later. In the preferred embodiment of the present invention, URC device 200 has eight buttons in buttons group 246 for selecting controlled devices. It follows that out of all controlled devices recorded in Device Table 518, the user can select up to eight devices and the switch to control each of them is done by a signal pressing on a button in column "Select Button" 545. If no button in buttons group 247 is set to correspond the given device, then there is no record in Device Table 518 in the line corresponding the given device in column "Select Button" 545. For a combination device, in column "Select Button" 545 all buttons are indicated with the help of which URC device 200 is switched into the mode of controlling one of the parts of the combination device. In column "Protocol" 546, every line has an initial address of describing the commands transmission protocol in remotely-controlled device 300 described in this line. All protocol descriptions are stored in Protocols 515 in EPROM 226, as it was said before. For combination devices, a separate address of commands transmission protocol description can be provided for every part of such device. However, as a rule, all parts of the combination device have the same protocol of remote control commands transmission.
In column "Buttons" 547 in every line there is an initial address of button table of the given device in Button Tables 516 in EPROM 226. For combination devices, there are initial addresses of button tables for each part of the combination device. In column "Text" 548 in every line there is the address in Texts 517, starting with which text messages for controlling of this remotely-controlled device 300 are recorded.
Further we will provide the description of programs run by microcontroller 202 in URC device 200. Microcontroller 202 starts running the main program after turning on the power in URC device 200 and continues till the power is switched off. The power switch on and off can be done by putting in and taking out batteries accordingly. As shown in Fig.10, when the main program starts in block 601, microcontroller 202 runs subroutine of inquiring touch input device 602. The result of running this subroutine is the number of the activated button. As it was pointed out before, this number can determine not only a separate button, but also a permissible combination of several simultaneously pressed buttons. If no button is pressed or two and more buttons are pressed simultaneously forming a impermissible combination, then the number of the button pressed is set equal to zero. The programs of inquiring the keyboard for remote control devices are well know in the art and there is no need to describe subroutine 602 in detail.
In block 603, the received number of pressed button is checked. If this number is equal to 0, that is no button is pressed or a permissible combination of buttons is pressed, then microcontroller 202 returns to subroutine 602 of inquiring of touch input device 240. If the number of the button pressed is not equal to zero, the actions determined by the pressed button begin. Microcontroller 202 checks if any of the following buttons is pressed: the button initiating the scanning of a barcoded program (block 605), or one of buttons 246 for selecting a controlled device (block 607), or one of buttons for activating the command that is being fulfilled (block 609), or the button initiating editing of the device list (block 611). Receiving of the positive answer in one of block 605, 607, 609, 611 results in fulfilling of one of the following subroutines accordingly: subroutine of barcoded program scanning 606, subroutine of selecting a remotely-controlled device 608, subroutine of fulfilling the command 610, and subroutine of editing the device list 612. All these subroutines will be described below. After fulfilling each of the above-mentioned subroutines microcontroller 202 returns to subroutine 602.
If the negative answer is received in one of blocks 605, 607, 609, microcontroller 202 continues to blocks 607, 609, 611 accordingly. If the negative answer is received in block 611, then microcontroller 202 continues to fulfilling auxiliary functions 615.
Auxiliary functions include in particular deleting of unnecessary records in EPROM 226: records about devices in Device Table 518 together with the protocols related to these devices, button tables, etc. Also, auxiliary functions include setting of the current date and time and some other auxiliary operations. The program for fulfilling the auxiliary functions can be written by anyone skilled in the art with the use of well known programming rules and techniques. That is why the detailed description of subroutine 615 is not provided herein.
As shown in Fig.l 1, after entering in block 621 subroutine of barcoded program scanning 606, microcontroller 202 in subroutine 622 fulfills the scanning of the first bar of code 110 and storing of the scanned information in Scanning Buffer 510 in RAM 222. At this time, display device 250 can reproduce text messages showing the user the sequence of actions. There is no need to describe the procedure of reading and decoding of barcoded information, as these operations are well known in the art.
Further subroutine 623 is run. In this subroutine, microcontroller 202 compares UPC read from area 410 of the barcoded program to all UPCs 5 recorded in Device Table 518 and in Program Table 519. If among programs of different types stored in EPROM 226 there is a program with the same UPC as in the program being scanned, the user gets the message about it in the form of text on display device 250 and/or in the form of a audible signal via sound device 255. Further, the user can be offered a choice: not to lo continue the scanning and recording of barcoded program or continue scanning and in result renew the barcoded program in EPROM 226. These details of subroutine 623 are not shown in Fig.l 1.
Then in block 624, microcontroller 202 stores in variable NBars the number of bars of the barcode in the program being scanned, received from
15 area 408 in the first bar of the barcoded program. After this, other bars of barcoded program are scanned one after one, while microcontroller 202 is checking if all the bars are counted and outputs to display device 250 messages prompting the user, if one more bar should be scanned or the scanning is terminated (blocks 625 and 626). During the scanning it is also
20 checked that the bars are scanned in the correct order. For this purpose, the numbers in areas 406 in the beginning of each bar of the barcoded program are used (Fig.5). If an error in the scanning order occurs, the user receives a text or sound message about the error. After the scanning of each bar of the barcode it is also checked that the scanning was completed correctly. It is
25 done with the help of control code 407 at the end every bar.
After all bars of the barcoded program are scanned and the data received is stored in scanning buffer 510, microcontroller 202 in block 627 gives variable ProgType the value of program type received from area 413 of the barcoded program.
30 Then microcontroller 202 continues to subroutine 632. In this subroutine, data about the controlled device from areas 409, 410, 41 1, 412 is stored in device table 518. Then in block 633, value ProgType received in block 627 is checked. If value ProgType corresponds to a non-standard protocol, as it was explained when Table 2 was considered, then subroutine
35 634 is fulfilled. In this subroutine, the description of commands transmission protocol from field 450 of the barcoded program is stored in Protocols 515 beginning with the address that is stored in column "Protocol" 546 in Device Table 518. If in block 633 it is found out that value ProgType corresponds to one of the standard commands transmission protocols, then subroutine 634 is skipped and subroutine 635 is run immediately. In this subroutine, button table from area 415 is stored in Button Tables 516, beginning with the address stored in column "Buttons" 547 in Device Table 518. Then, subroutine 636 is run, wherein text messages from area 416 of the barcoded program are stored in Text Area 517 beginning with the address stored in column "Text" 548 in Device Table 518. Finally, subroutine 606 terminates in block 637. If area 415 of the barcoded program does not comprise any data, then subroutine 635 records zero in column "Buttons" 547 in Device Table 518.
Similarly, if area 416 of the barcoded program does not comprise any data, then subroutine 636 records zero in column "Text" 548 in Device Table 518.
Subroutine of selecting a remotely-controlled device 608 is fulfilled when one of the buttons in buttons group 246 is pressed. The substance of the operations in subroutine 608 is clear from the description given below, that is why the flowchart of this subroutine is not required. Fulfilling subroutine 608, microcontroller 202 finds in Device Table 518 a line, in which in column "Select button" 545 the button corresponding to the pressed one is indicated, and stores in corresponding variables the address of the description of command transmission protocol from column "Protocol" 546, the address of button table from column "Buttons" 547, and the address of text messages from column "Text" 548. If the address of button table is equal to zero, then in the corresponding variable the address of the standard button table for devices of selected type is stored. Similarly, if the address of text messages is equal to zero, then the address of the standard set of text messages for devices of the selected type is stored in the corresponding variable.
Then microprocessor determines and stores in Global Variables 511 in RAM 222 the values of variables that can be used in subroutines fulfilling the transmission of commands to remotely-controlled devices. Below we provide designations of variables used in flowcharts and descriptions of the above-mentioned subroutines. It is also explained how the values of these variables are connected with data in field 450 of the barcoded program shown in Fig.6B.
Code[NB] is a digital code of the command being sent represented in the form of bits array, wherein NB is the number of bits in this digital code. Value NB is received from record 467. TT is a period of command sendings to the remotely-controlled device measured in an integer number of milliseconds and received from record 460.
TC is a period of a carrier measured in milliseconds and received from record 461. If TC = 0, then modulation of the carrier is not used in the given transmission protocol.
TCI is a length of the carrier impulse measured in milliseconds and received from subfield 462. TCI = 0, if the modulation of the carrier is not used in the given transmission protocol. TP is an array of impulse lengths for the given transmission protocol.
The numbers of elements in this array designated as NTP is equal to the number of possible impulses lengths in the given transmission protocol, that is the number of records in the second sμbfield of field 450. Values of TP[k], k = 1...NTP, are received from separate records in the second subfield of field 450, that is records 463, 464, and so on.
TI is an array of values of the lengths of intervals between impulses for the given transmission protocol. The number of elements in this array denoted as NTI is equal to the number of possible lengths of intervals between impulses in the given transmission protocol, that is the number of recordings in the third subfileld in field 450. Values of TI[k], k = 1...NTI, are received from separate records in the second subfield of field 450, that is records 465, 466 and so on.
NS is a total number of impulses and intervals between impulses in the starting part of the sending during the command transmission. NS is equal to the full number of symbols in subfield 468.
SS is an NS-bits array describing the sequence of impulses and intervals between impulses in the starting part of the sending. Array element SS[k], k = 1...NS, receives the value of 1, if k-st letter in subfield 468 corresponds to the length of impulses (letter "A...J"), or receives the value of 0, if k-st letter in subfield 468 corresponds to the length of intervals between impulses (letter "K...T").
TS is NS-number array describing the sequence of values of lengths of impulses or intervals between impulses in the starting part of the sending.
The value of array element TS[k], k = 1...NS is determined depending on what letter is in the k-st position in subfield 468. If this letter is "A" or "K", then TS[k] = 1; if this letter is "B" or "L", then TS[k] = 2, and so on.
NM is a number of records divided by commas in the sixth subfield of field 450. Value NM can be determined as the number of commas in the above-mentioned subfield plus one. SM is a two-dimensional array out of NM*2 bits describing the order of transmitting impulses and intervals between impulses in the main part of the sending. Array element SM[i][l], where i = 1...NM, receives the value of 0, if in the i-st recording in the sixth subfield of field 450 in the first pair of letters first goes one of letters "K...T", and then one of letters "A...J", that means that in sending the bit with the value of zero, first comes the interval between impulses, and then an impulse. In the opposite case, this array element receives the value of one, and in the sending first comes an impulse and then an interval between impulses. Similarly, array element SM[i][2], where i = 1...NM, receives the value of zero, if in the i-st recording in the sixth subfield of field 450 in the second pair of letters first comes one of letters "K...T", and then one of letters "A...J", that means that in sending the bit with the value of one first comes an interval between impulses and then an impulse. In the opposite case, this array element receives the value of one and in the sending first comes an impulse and then an interval between impulses.
MP is a two-dimensional NM*2-number array determining impulse lengths for all bits in the sending. The value of array element MP[i][l], where i = 1...NM, is determined depending on which of letters "A...J" is in the first pair of letters in the i-st recording in the sixth subfield of field 450. If this letter is "A", then MP[i][l] = 1; if this letter is "B", then MP[i][l] = 2 and so on. By this it is determined how long the formed impulse is, if the command code bit being transmitted is equal to zero. Similarly, the value of array element MP[i][2], where i = 1...NM, is determined depending on which of letters "A...J" is in the second pair of letters in the i-st recording in the sixth subfield of field 450. If this letter is "A", then MP[i][2] = 1; if this letter is "B", then MP[i][2] = 2, and so on. By this it is determined how long the formed impulse is, if the command code bit being transmitted is equal to one.
MI is a two-dimensional NM*2-number array determining the length of intervals between impulses for every bit determined in the sixth subfield of field 450. The value of array element MI[i][l], wherein i = l...NM, is determined depending on which of letters "K...T" is in the first pair of letters in the i-st recording in the sixth subfield of field 450. If this letter is "K", then MI[i][l] = 1; if this letter is "L", then MI[i][l] = 2, and so on. By this it is determined how long the interval between impulses formed is, if the command code bit being transmitted is equal to zero. Similarly, the value of array element MI[i][2], where i = 1...NM, is determined depending which of letters "K...T" is in the second pair of letters in the i-st record in the sixth subfield of field 450. If this letter is "K", then MI[i][2] = 1; if this letter is "L", then MI[i][2] — 2, and so on. By this it is determined how long the interval between impulses formed is, if the command code bit being transmitted is equal to one.
NF is a total number of impulses and interval between impulses in the tail part of the sending. NF is equal to the total number of symbols in recording 473.
SF is an array of NF bits describing the sequence of impulses and intervals between impulses in the tail part of the sending. Array element SF[k], k = 1...NF, receives the value of one, if the k-st letter in subfield 473 corresponds to impulse length (letter "A...J"), or receives the value of zero, if the k-st letter in subfield 473 corresponds to the length of intervals between impulses (letters "K...T").
TF is an NF-number array describing the sequence of lengths of impulses or intervals between impulses in the tail part of sending. Array element TF[k], k = 1...NF receives the value of 1, if there is letter "A" or "K" in the k-th position in subfield 473, the value of 2, if there is letter "B" or "L" in the k-th position in subfield 473, etc.
The execution of subroutine 608 is finished in block 608 after determining and storing of all above enumerated variables. As shown in Fig.12, after entering subroutine of fulfilling commands
610 in block 641 microcontroller 202 looks in the button table of the selected remotely-controlled device the button with the number coinciding with the button pressed (block 642). If the button of the required number is not found in button table, then in block 647 a text or sound message about the mistake is formed, and subroutine terminates in block 648. If the button with required number is found, then in block 643 microcontroller 202 reads from column "Code" 534 in Button Tables 516 (Fig.8) the digit code of the command and stores it in variable Code. After this the transmission of the command to remotely-controlled device takes place. For more convenience, in the description to follow this operation will be is shown as a sequence of three subroutines in Fig.12: Transmit the starting part of the command 644, Transmit the main part of the command 645, and Transmit the tail part of the command 646. Then subroutine 610 terminates in block 648.
In the flowchart of subroutines 644, 645, 646 described below, besides variables the designations of which were introduced, when considering subroutine 608, there are auxiliary integer-valued variables K,L,M,N,' used as counters and indexes.
Fig.13 shows the flowchart of subroutine of transmitting start part of command 644. After entering the subroutine in block 651, index variable K receives the value of 1. (block 652). Then the cycle consisting of blocks 653...658 is run NS times. After this, subroutine 644 terminates in block 659. In every run of the cycle in block 654 variable M receives the value of the number of the impulse length or the length of the interval between impulses read from array TS. Then in block 655, another element array SS is checked. If SS[K] = 0, then in block 656 the pause equal to TI[M] is made, that is an interval between impulses with such length is formed. If SS[K] = 1, then subroutine 657 of forming an impulse with the length equal to TP[M] is fulfilled. This subroutine is described below. In block 658, the value of index variable K increases by 1.
Fig.14 shows the flowchart of subroutine of transmitting the main part of the command 645. After entering the subroutine in block 661, enumerative variables K and N receive the value of 1 (block 662). Then the cycle consisting of blocks 663...674 is fulfilled NB times. In each run of this cycle, one bit out of the command code is transmitted. Variable K, the value of which shows the number of the bit being transmitted, is the counter of this cycle. After this, subroutine 645 terminates in block 676.
Inside the above-mentioned cycle the nested cycle having counter N and comprising blocks 664..674 is executed. The value of N shows the number of the record in the sixth subfield of field 450 of the barcoded program. The number of this cycle passes is equal to NM. As a rule, NM < NB, that is why during one full execution of cycle with counter K, the nested cycle is fulfilled several times. After each execution of the nested cycle, variable N receives the value of 1 in block 635. We will continue by considering the process of transmitting the K-st bit of the command code. In block 665 the value of this bit equal to Code[K] is checked. If Code[K] = 0, then in block 666 variable M gets the value of MP[K][1], and variable L gets the value of MI[K][1]. If Code[K] = 1, then in block 668 variable M gets the value of MP[K][2], and variable L gets the value of MI[K][2]. In both cases, variable M comprises the number the impulse length, and variable L comprises the number of the length of the interval between impulses. These numbers can be different in cases of transmitting bits equal to 0 or 1.
Further in block 667 or in block 669, the value of bit SM[K][1] or bit SM[K][2] accordingly is checked. As it was explained before, these bits indicate what should be transmitted next - an impulse or an interval between impulses. If the bit checked is equal to 1, first the impulse TP[M] long is transmitted by fulfilling subroutine 670, and then the interval between impulses is transmitted by the way forming a pause with duration TI[L] in block 671. In the opposite case, the interval between impulses is transmitted first by the way of forming a pause equal to TI[L] in block 672, and then subroutine 673 of transmitting the impulse with duration TP[M] is called. After sending bit Code[K] values of counters K and N increase by 1 in 5 block 674, and the program returns to the beginning of the cycle in block 663.
Fig.15 shows a flowchart of subroutine of transmitting the tail part of the command 646. After entering the subroutine in block 681, count variable K receives the value of 1 (block 682). Then the cycle consisting of blocks
10 683...688 is fulfilled NF times. After this subroutine 646 terminates in block 689.
In each pass of the cycle in block 684 variable M gets the number of the value of the impulse length or the length of the interval between impulses read from array TF. Then in block 685, the current element of array SF is
15 checked. If SF[K] = 0, then in block 656 the pause with the length equal to
TI[M] is made, that is the interval of this length between impulses is formed.
If SF[K] = 1, then subroutine 657 of forming an impulse with the length equal TP[M] is fulfilled. In block 658 the value of counter K increases by 1.
Fig.16 shows the flowchart of subroutine 656 of transmitting the 0 impulse of the given length. Subroutines 670, 673, and 686 are in fact the same subroutine 656 but called from different points. In the flowchart and in the description of the subroutine 656 the designations introduced earlier are: TT is a period of sendings of the command to the remotely-controlled device, TC is a period of the carrier, TCI is the length of the carrier impulse. 5 Besides, new designations are used: T is a given impulse length, NC is a number of the carrier impulses to be transmitted during time T, TR is a remainder of time T after transmitting of NC carrier periods, N is a count variable, Trunk(x) is a mathematical function returning an integer part of number x, SH(t) is a subroutine of forming a positive impulse with length
30 equal to t. Subroutine SH(t) comprises operations of the setting of the bit of one of microcontroller 202 input/output ports connected to transmitting device 230 to 1, forming the delay with duration equal to t, and setting the above-mentioned bit to 0.
Subroutine 656 is entered in block 701. Then in block 702 it is checked 5 if carrier modulation is used in the set transmission protocol. As it was explained before, if the modulation is not used, the value of the carrier period is TC = 0. In this case, in block 703 the impulse with length T is formed, and subroutine 656 terminates in block 713. If the modulation is used, then TC > 0, and microcontroller 202 continues to block 704. In this block value NC is computed. This value equals to the integer number of carrier periods during the given length of impulse T. Then in block 705 value TR is found out - TR = T - NC*TC. After this, variable N gets the value of 0 (block 706), and microcontroller 202 continues to the cycle consisting of blocks 707, 708, 709, 710. In each run of this cycle one carrier impulse with length TCI is transmitted (block 708). After this the interval between carrier impulses with length equal to (TC - TCI) is formed (block 709). When the above- mentioned cycle is fulfilled, microcontroller 202 in block 711 compares the value of time TR remainder to carrier impulse length TCI. If it turns out that TR is bigger or equal to TCI, then in block 712 one more carrier impulse with length TCI is formed. In the opposite case, the subroutine skips block 712 and terminates in block 713. When subroutine of editing the device list 612 is being fulfilled, display device 250 displays device table 518. The user gets the possibility with the help of touch input device 240 assign selection buttons for the devices in device table 518. As it was pointed out before, in the preferred embodiment of the present invention there are eight selection buttons that make up buttons group 246. One of the devices in device table 518 can be assigned to one of these buttons. The user can also replace a device assigned to a certain button by another device or free up any of the buttons.
Subroutine of editing the device list 612 comprises well known to all skilled in the art functions of information output to display device 250, data input from touch input device 240, data recording and deleting into EPROM 226. The detailed description of this subroutine is not required.
Figs.l7A, 172B, 17C show flowchart of the process whereby the user is teaching his/her URC device 200 to work with a new appliance, which is remotely-controlled device 300. In the first case, the user confronts with such a need when he/she buys the present invention URC device 200 to replace a lost or broken remote control unit for the device the user already has. In the second case, the user buys a new device and wants to control it with the URC device 200 he/she already has.
The user starts the process of teaching URC device 200 to work with a new device (block 802). In block 804, the user tries to find a UPC related to new appliance 300, which is to be controlled by remote control 200. While looking for the UPC, the user analyzes surface of remotely-controlled device 300 itself, the manual of remotely-controlled device 300 (if the manual is still in place), the packaging of the device and tries to find the standard UPC on these objects. If the user does not find the UPC (block 806), he/she continues to block 814. If in block 806 the user finds the UPC, then he/she scans this UPC in block 808.
Then, universal URC device 200 in block 810 compares the scanned UPC to the values of UPC recorded in Device Table 518 in column "UPC". If a previously recorded UPC identical to the scanned one is found, URC device 200 informs about it by a sound and/or visual signal, and the teaching process terminates in block 812. In this case, the teaching is not required, because the commands set for this remotely-controlled device 300 were recorded in EPROM 226 earlier.
If the UPC identical to the scanned one is not found, URC device 200 informs about it by a corresponding sound and/or light signal, and the user continues to block 814. In this block the user tries to find on the device, in the manual to the device, or on the packaging of the device the barcoded program for the controlled device. If the barcoded program is found (block 816), then the user continues to block 838 (Fig.l7C), wherein the barcoded program is scanned.
If in block 816 the user does not find a source of the barcoded program, the process continues to block 818. If the user has an access to the Internet, the user continues to block 820, wherein he/she finds a WEB-site. The address of the site can be provided in the remote control 200 manual or on the remote control unit 200 itself. Then the user finds on the WEB-site the model of his/her remotely-controlled device 300, loads from the Internet and prints out on the printer the barcoded program. After this the process continues to block 838.
If the user does not have an access to the Internet (block 818), then depending on whether the user has a fax (block 822 - Fig.l7B), he/she either calls a Service Center and asks for the barcoded program to be faxed to him/her (block 824), receives the barcoded program (block 826) and continues to block 838; or if he/she does not have a fax (block 822), continues to block 828.
If the user is in the area, wherein post office service is not operating (block 828), then he/she has to go to the Service Center (block 840), where he/she can find and get the copy of the barcoded program (block 842). After this, the user continues to block 838. If the user is in the area, where the post office service does operate (block 828), then depending on the fact whether the user has a telephone (block 830), the user either calls (block 832), or by mail (block 834) sends a request to the Service Center to provide the barcoded program for his/her remotely-controlled device 300. Having received by mail the requested barcoded program, the user continues to block 838.
In block 838, the user scans the barcoded program. By this the teaching process of URC device 200 to work with the new remotely-controlled device 5 300 completes (block 812).
CONCLUSION, RAMIFICATIONS AND SCOPE
As can be seen from the above description, the present invention o provides many advantages over the remote control units known before.
Universal remote control device according to the present invention can be programmed to control practically all remotely-controlled devices, both presently manufactured and taken off the production line long ago, as well as any devices to be produced in the future. That is why the universal remote 5 control unit can successfully replace lost or broken remote control units of various home and office appliances, unite in one device the control of several remotely-controlled devices, be used as a original remote control unit with new remotely- controlled devices, including those manufactured in small quantities. 0 The universal remote control device according to the present invention . is easy to use. Any user can easily program the universal remote control device with the help of the barcoded program. An important advantage is that the user can receive the barcoded program from various sources: the manual of the remotely-controlled device, printed editions, the Internet, 5 regular mail, etc.
The universal remote control device does not comprise complicated, expensive or non-standard units. The required volume of memory is much less than memory ' volume of universal remote control units holding command sets for all remotely-controlled devices. Production costs for the 0 present invention universal remote control device are not high. Producers can manufacture these remote control units in big parties as their universality ensures high demand for them.
Although the description above contains many specifities, these should not be construed as limiting the scope of the invention but as merely 5 providing illustrations of some of the presently preferred embodiment of this invention. Many other variants are possible. Some of these variants are briefly discussed below.
The rules for describing the commands transmission protocols of the universal remote control device in the barcoded program were provided as an example only. The use of any appropriate method of barcoded presentation for commands transmission protocol is possible, for example with the help of Java byte code. The same is true for the example of describing the utility program. Different types of barcodes can be used to record programs including two-dimensional barcodes. The programming functions of the universal remote control device can be not limited only by reading of a barcode. Receiving of command sets via IR port, computer wired interface, microphone, etc. can be implemented together with barcode programming. Though the description above was based on the universal remote control device transmitting data by means of IR interface, other types of interface for transmitting information from the universal remote control unit to the remotely-controlled device can be used, for example visible light, radio-waves, sound including ultrasound, electronic inductive coupling, etc. Further, various types of display devices (CRT, LED matrix, plasma screen etc.), sound device and touch input device can be used in the universal remote control unit. The display device can be monochrome or color. The interaction of the user with the universal remote control device can proceed differently with the use of various variants of displaying information on the display device. Real-time clock can be implemented not as a separate integrated circuit, but be a part of the microcontroller or as receiving of radio-frequency signal of exact time.
Having described the preferred embodiment of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to this precise embodiment, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.
INDUSTRIAL APPLICABILITY
The advantages of the present invention methods and remote control device can be widely used in designing and manufacturing of universal remote control units for remotely-controlled devices. Namely, the present invention makes it possible:
(a) to manufacture a universal remote control device, the use of which would not be restricted by newly designed devices according to some exclusive technology and would be applicable to control any remotely- controlled devices, both no longer produced and presently manufactured, as well as the ones to be created in the future;
(b) to manufacture a universal remote control device, a manual to which would be short, simple and understandable by any user; (c) to manufacture a universal remote control unit not requiring the knowledge of the exact designation of the controlled device model, to be programmed to control this device;
(d) to manufacture a universal remote control device with the required memory volume lower than the memory volume required to store all commands tables of all manufactured devices that would allow to reduce cost and consumed power;
() to manufacture a universal remote control device that a manufacturer can produce in big quantities counting on selling these devices during a long period of time; (g) to manufacture a universal remote control device that retailers could buy and sell during a long period of time without fear that the device will get out-of-date because new remotely-controlled models appear on the market;
(h) to manufacture a universal remote control device having a simple programming procedure that any user can fulfil quickly and without mistakes;
(i) to manufacture a universal remote control device, information to program which would arrive to the user along with devices that are to be controlled, through regular mail, printed manuals and other printed media, via Internet, fax, and many other sources, so that any user could get required information from a source most convenient to him/her;
(j) to manufacture a universal remote control device that can be used instead of any remote control device, even if the unit to be displaced is lost or broken, without going to a service center; (k) to manufacture a universal remote control device that, if the user does not want to program the device himself/herself, could be programmed in any store or service center without the use of any special equipment, other remote control devices or participation of qualified personnel.

Claims

CLAIMSWe claim
1. A method of remote control, comprising steps of: (a) providing of a remote control device, comprising receptive means for reception of user actions, transmitting means for transmission of a remote control command to a controlled device, reading means for reading of data from an information medium, storage means and processing means connected to said receptive means, said transmitting means, said reading means, and said storage means;
(b) providing of information medium, comprising remote control data about at least one of a remote control commands set or a protocol of remote control commands transmission;
(c) reading of said remote control data by said reading means from said information medium;
(d) storing of said remote control data into said storage means;
(e) forming of at least one remote control command in response to user's action on said receptive means; and
(f) transmitting said at least one remote control command by means of said transmitting means to the controlled device;
. wherein said forming of at least one remote control command and said transmitting of at least one remote control command are fulfilled according to said remote control data.
2. The method of remote control of Claim 1, further comprising a step of selecting of a piece of previously stored remote control data in said storage means, wherein said forming of at least one remote control command and said transmitting of at least one remote control command are fulfilled according to the selected previously stored remote control data.
3. The method of remote control of Claim 2, further comprising a step of receiving device data about the remotely controlled device from said receptive means, wherein said selecting of a piece of the previously stored remote control data in said storage means is fulfilled according to said device data about the remote controlled device.
4. The method of remote control of Claim 2, further comprising steps of (a) providing of a second information medium, comprising device data about the remotely controlled device; and
(b) reading said device data from said second information medium by means of said receptive means; wherein said selecting of a piece of the previously stored remote control data in said storage means is fulfilled according to said device data.
5. A method of remote control, comprising steps of:
(a) providing of a remote control device, comprising receptive means for reception of user actions, transmitting means for transmission of remote control commands to a controlled device, reading means for reading of data from an information medium, storage means and processing means connected to said receptive means, said transmitting means, said reading means, and said storage means; (b) storing of at least one piece of remote control data about at least one of a remote control commands set or a protocol of remote control command transmission in said storage means;
(c) providing of information medium, comprising device data about the remotely controlled device; (d) reading of said device data about the remotely controlled device from said information medium;
(e) selecting of a piece of the stored remote control data in said storage means according to said device data;
(f) forming of at least one remote control command in response to an user's action on said receptive means; and
(i) transmitting said at least one remote control command to the controlled device; wherein said forming of at least one remote control command and said transmitting of at least one remote control command are fulfilled according to the selected remote control data.
6. A remote control device, comprising:
(a) receptive means for reception of user actions;
(b) transmitting means for transmission of remote control commands to a controlled device;
(c) reading means for reading of data from an information medium;
(d) storage means, comprising a protocol storage area for protocols of remote control command transmission and a commands storage area for sets of remote control commands; (e) processing means connected to said receptive means, said transmitting means, said reading means, and said storage means and capable:
(a) to receive from said reading means at least one protocol data about protocol of remote control command transmission to controlled device and to write the protocol data into said protocol storage area;
(b) to receive from said reading means at least one commands data about set of remote control commands, transmitted to the controlled device, and to write the commands data into said commands storage area;
(c) in response to a user action on said receptive means to form at least one remote control command according to said command data set and to send said at least one remote control command to said transmitting means according to said protocol data set.
7. The remote control device of Claim 6, further comprising a display connected to said processing means; wherein said storage means further comprise text storage area for messages; and wherein said processing means are further capable:
(a) to receive from said reading means at least one message and to write said at least one message into said text storage area;
(b) to read said at least one message from said text storage area and to send said at least one message to said display.
8. The remote control device of Claim 6, wherein said reading means are capable to read an optical-readable code.
9. The remote control device of Claim 8, wherein said optical-readable code is a barcode.
10. The remote control device of Claim 6, wherein said processing means are further capable
(a) to receive from said reading means device data about the controlled device;
(b) according to said device data to select one of the previously stored protocol data in said protocol storage area and one of the previously stored commands data in said commands storage area, thereby forming remote control commands according to the selected commands data and sending remote control commands to said transmitting means according to the selected protocol data.
11. An information medium, comprising:
- at least one surface adapted for allocation of machine-readable code symbols thereon; - at least one field on said at least one surface, comprising at least one machine-readable code symbol; wherein said at least one symbol represents at least one of device data about a remote-controllable device or commands data about a remote control command set or protocol data about a protocol of remote control command transmission.
12. The information medium of Claim 11, wherein said at least one field comprises:
(a) a device field comprising machine-readable code symbols, repre- senting the device data about a remotely controlled device;
(b) a commands field, comprising machine-readable code symbols, representing commands data about a remote control commands set;
(c) a protocol field, comprising machine-readable code symbols, representing data about a protocol of remote control command transmission.
13. The information medium of Claim 12, wherein there is at least one separator between at least two field from said device field, said commands field, and said protocol field.
14. The information medium of Claim 13, wherein said at least one separator comprises at least one machine-readable code symbol.
15. The information medium of Claim 13, wherein said at least one separator comprises at least one area of said at least one surface without ma- chine-readable code symbols.
16. The information medium of Claim 11, wherein said machine- readable code is a barcode.
17. The information medium of Claim 11, wherein said at least one surface is a part of the surface of a remotely controlled device housing.
18. The information medium of Claim 1 1, wherein said at least one surface is a part of the surface of a remotely controlled device package
19. The information medium of Claim 11, wherein said at least one surface is a part of the surface of at least one sheet of a remotely controlled device manual.
PCT/RU2001/000415 2000-10-20 2001-10-16 Universal remote control WO2002033496A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002214426A AU2002214426A1 (en) 2000-10-20 2001-10-16 Universal remote control

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2000126340/09A RU2182349C1 (en) 2000-10-20 2000-10-20 Method and device for carrying out remote control
RU2000126340 2000-10-20

Publications (1)

Publication Number Publication Date
WO2002033496A1 true WO2002033496A1 (en) 2002-04-25

Family

ID=20241189

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2001/000415 WO2002033496A1 (en) 2000-10-20 2001-10-16 Universal remote control

Country Status (3)

Country Link
AU (1) AU2002214426A1 (en)
RU (1) RU2182349C1 (en)
WO (1) WO2002033496A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2419446A (en) * 2004-10-25 2006-04-26 Zootech Ltd A programmable remote control which is programmed through an audio/visual signal.
FR2912821A1 (en) * 2007-02-20 2008-08-22 Somfy Sas METHOD FOR CONFIGURING A DOMOTIC INSTALLATION AND TOOL FOR IMPLEMENTING SUCH A METHOD
US8612636B2 (en) 2009-08-21 2013-12-17 Samsung Electronics Co., Ltd. Method and apparatus for generating or using interaction activity information
CN103914000A (en) * 2013-01-04 2014-07-09 广东美的制冷设备有限公司 Radio frequency household appliance control method based on equipment barcode
EP2466909A3 (en) * 2010-12-20 2014-08-20 Ricoh Company, Ltd. Generic remote controller
CN104330996A (en) * 2014-11-24 2015-02-04 小米科技有限责任公司 Remote control method and device
CN104503335A (en) * 2014-12-31 2015-04-08 重庆广建装饰股份有限公司 WIFI (wireless fidelity) electricity control box
US9024733B2 (en) 2005-11-30 2015-05-05 Koninklijke Philips N.V. Programming of a universal remote control device
CN105278402A (en) * 2014-06-27 2016-01-27 欧姆龙株式会社 Information processing apparatus, information processing method and program
US9514395B2 (en) 2009-08-21 2016-12-06 Samsung Electronics Co., Ltd Method and apparatus for generating or using interaction activity information
US9871958B2 (en) 2011-01-20 2018-01-16 Samsung Electronics Co., Ltd Method and apparatus for controlling a device identified from a screen input by a camera

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007024423B4 (en) * 2007-05-25 2019-09-12 Cooper Crouse-Hinds Gmbh Recording device and method for monitoring device parameters

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2101556A (en) * 1981-06-29 1983-01-19 John Alan Howard Frieda Assembly of pre-printed labels
US4540856A (en) * 1982-05-31 1985-09-10 Hitachi, Ltd. Remote control system
US5552837A (en) * 1995-03-01 1996-09-03 Gemstar Development Corporation Remote controller for scanning data and controlling a video system
WO1998030941A1 (en) * 1997-01-13 1998-07-16 Merloni Elettrodomestici S.P.A. Control system for a household appliance
US6082776A (en) * 1997-05-07 2000-07-04 Feinberg; Lawrence E. Storing personal medical information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2101556A (en) * 1981-06-29 1983-01-19 John Alan Howard Frieda Assembly of pre-printed labels
US4540856A (en) * 1982-05-31 1985-09-10 Hitachi, Ltd. Remote control system
US5552837A (en) * 1995-03-01 1996-09-03 Gemstar Development Corporation Remote controller for scanning data and controlling a video system
WO1998030941A1 (en) * 1997-01-13 1998-07-16 Merloni Elettrodomestici S.P.A. Control system for a household appliance
US6082776A (en) * 1997-05-07 2000-07-04 Feinberg; Lawrence E. Storing personal medical information

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2419446A (en) * 2004-10-25 2006-04-26 Zootech Ltd A programmable remote control which is programmed through an audio/visual signal.
US9024733B2 (en) 2005-11-30 2015-05-05 Koninklijke Philips N.V. Programming of a universal remote control device
US9665082B2 (en) 2007-02-20 2017-05-30 Somfy Sas Method for configuring a home automation installation and tool for implementing same
FR2912821A1 (en) * 2007-02-20 2008-08-22 Somfy Sas METHOD FOR CONFIGURING A DOMOTIC INSTALLATION AND TOOL FOR IMPLEMENTING SUCH A METHOD
US20100097238A1 (en) * 2007-02-20 2010-04-22 Somfy Sas Method for configuring a home automation installation and tool for implementing same
CN101657764B (en) * 2007-02-20 2012-07-04 Somfy两合公司 Method for configuring a home automation installation and tool for implementing same
WO2008102306A3 (en) * 2007-02-20 2009-03-12 Somfy Sas Method for configuring a home automation installation and tool for implementing same
WO2008102306A2 (en) * 2007-02-20 2008-08-28 Somfy Sas Method for configuring a home automation installation and tool for implementing same
US9514395B2 (en) 2009-08-21 2016-12-06 Samsung Electronics Co., Ltd Method and apparatus for generating or using interaction activity information
US10353561B2 (en) 2009-08-21 2019-07-16 Samsung Electronics Co., Ltd Method and apparatus for generating or using interaction activity information
US9857963B2 (en) 2009-08-21 2018-01-02 Samsung Electronics Co., Ltd Method and apparatus for generating or using interaction activity information
US8612636B2 (en) 2009-08-21 2013-12-17 Samsung Electronics Co., Ltd. Method and apparatus for generating or using interaction activity information
EP2466909A3 (en) * 2010-12-20 2014-08-20 Ricoh Company, Ltd. Generic remote controller
US9451311B2 (en) 2010-12-20 2016-09-20 Ricoh Company, Ltd. Generic remote controller
US9871958B2 (en) 2011-01-20 2018-01-16 Samsung Electronics Co., Ltd Method and apparatus for controlling a device identified from a screen input by a camera
US10362208B2 (en) 2011-01-20 2019-07-23 Samsung Electronics Co., Ltd Method and apparatus for controlling a device identified from a screen input by a camera
US10855899B2 (en) 2011-01-20 2020-12-01 Samsung Electronics Co., Ltd. Method and apparatus for identifying a device from a camera input
CN103914000A (en) * 2013-01-04 2014-07-09 广东美的制冷设备有限公司 Radio frequency household appliance control method based on equipment barcode
CN105278402A (en) * 2014-06-27 2016-01-27 欧姆龙株式会社 Information processing apparatus, information processing method and program
CN104330996A (en) * 2014-11-24 2015-02-04 小米科技有限责任公司 Remote control method and device
CN104503335A (en) * 2014-12-31 2015-04-08 重庆广建装饰股份有限公司 WIFI (wireless fidelity) electricity control box

Also Published As

Publication number Publication date
AU2002214426A1 (en) 2002-04-29
RU2182349C1 (en) 2002-05-10

Similar Documents

Publication Publication Date Title
JPH0785597B2 (en) Remote control device
US5475835A (en) Audio-visual inventory and play-back control system
US7298311B2 (en) Controller apparatus for controlling an electronic apparatus
EP0124331B2 (en) Remote control transmitter arrangement for one or more television devices
KR100705307B1 (en) Automatic configuration mechanism for universal remote
CN1334937B (en) Method for remotely controlling electronic devices
US4626848A (en) Programmable functions for reconfigurable remote control
US5228077A (en) Remotely upgradable universal remote control
WO2002033496A1 (en) Universal remote control
EP0262954B2 (en) Remote control transmission apparatus
EP0265167A2 (en) Disk player with disk magazine
EP1843342B1 (en) Consumer electronic navigation system and method related thereto
US5819039A (en) System for and method of interactive dialog between a user and a telematic server
US20060087445A1 (en) Programmable remote controller adapted to be programmed by playback of audiovisual content
US20050151886A1 (en) Remote controller
JP2002345050A (en) Remote controller
JP3474565B2 (en) Apparatus and method for using compressed code for scheduling broadcast information recording
WO2002035301A1 (en) Universal remote control
CN100416619C (en) Method for controlling several apparatuses with the aid of a link attached device and said link attached device for carrying out said method
US20080204269A1 (en) Programmable remote control apparatus and method thereof
WO2006052074A1 (en) Remote control system using digital codes and the method thereof
EP0355742A2 (en) A commander apparatus
JP2959718B2 (en) Remote control device with bar code reader
GB2419448A (en) Programmable remote controller using playback of audiovisual content
EP0860764B1 (en) System for controlling information available on video and/or audio equipment by graphical display

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP