The present invention generally relates to interoperability of wireless communicating devices, in particular ZigBee devices.
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section. Furthermore, all embodiments of the invention need not solve all (or even any) of the problems brought forward in this section.
The ZigBee Alliance defines the “ZigBee PRO stack” and the “ZigBee RF4CE stack” as wireless networking protocols running over the IEEE 802.15.4 MAC and PHY layers. The former is notably used for the home automation (HA) profile and commercial building automation (CBA) profile, and the latter for consumer electronic (CE) devices, such as a remote control (RC) controlling a television (TV).
The two stacks have incompatible command sets, both at the networking layers and the application layer, so devices implementing one generally cannot work with devices implementing the other.
It may be desirable that all ZigBee protocol stacks have some way of working together. For example it would be desirable that an RF4CE remote control to be able to turn on/off ZigBee PRO HA lights. Users sitting at home watching the TV may be pleased to have this functionality.
The two stacks are incompatible but are able to interwork because “ZigBee End Devices” (leaf nodes) from each are identical. A device can work on the other network by becoming a “ZigBee End Device”.
The ZigBee/ZigBee PRO stacks have various protocol layers:
The ZigBee RF4CE stack has various protocol layers:
The protocol interactions to control a ZigBee PRO HA light fall into two categories—commands for joining the device to the ZigBee PRO network (joining) and configuring it to talk to the right target(s) (binding), and the HA commands themselves used for turning on/off the lights (application commands).
A problem is that to implement the ZigBee PRO stack and HA profile is a complex task, and takes a lot of code space and RAM. It is desired to find a way to make an ultra-low resource mechanism by which, for example, an RF4CE remote control can control ZigBee PRO HA lights.
Hence, there is a need for providing some interoperability between ZigBee PRO and ZigBee RF4CE devices.
Therefore, a first aspect of the invention relates to a method of commanding a first wireless communicating device from a second wireless communicating device, wherein each of the first and second wireless communicating devices operate with respective networking protocol stacks comprising same MAC and PHY protocol layers and having different command sets. The second wireless communicating device has a main portion and a remote control portion, the method comprises the following steps performed by the main portion of the second wireless communicating device:
joining a wireless communication network to which the first communicating device is connected, using procedures of the protocol stack of the first wireless communicating device, thereby obtaining network information for constructing commands for the second wireless communicating device, and
making the network information available for the remote control portion,
the method further comprises the following steps performed by the remote control portion of the second wireless communicating device:
retrieving the network information from the main portion of the second wireless communicating device,
constructing a command message for the first wireless communicating device using a format of the command messages of the protocol stack of the first wireless communicating device and using the retrieved network information, and
sending the command message to the first wireless communicating device, using the MAC and PHY layers.
Thus, according to embodiments, the burden of implementation is split across more than one portion of the device. Specifically, the different implementation roles are split between the main portion and the remote control portion.
Hence, the remote control portion has an extremely small additional code space. Because it already has MAC and PHY layers, the additional software to send the command is small.
Also, the overhead added to the main portion is acceptable since memory requirements are likely to be less restrictive in this portion of the device.
For example, according to embodiments wherein the second device is a system comprising a TV set and a remote controller RC, the overhead added at the TV set should be less than a full ZigBee PRO+HA implementation, as there is no need for it to implement the HA profile, as that is done on the RC. Indeed in this way the TV set could work with further application profiles with no further modifications, as it wouldn't know or care what application profiles are implemented (or partially implemented) by the RC.
On the other hand, the TV set will need to store the ZigBee PRO network settings in a table somewhere, and then have these be sent to the RC at some point using the RF4CE stack and some suitable RF4CE application profile.
The two devices together could potentially achieve ZigBee PRO/HA certification, even though they are actually implemented on two radios, which can be physically separated.
Embodiments of the invention are recited in the dependent claims attached hereto.
A second aspect of the present invention relates to computer program products comprising one or more stored sequences of instructions that are accessible to a processor and which, when executed by the processor, cause the processor to carry out the steps of the method of the first aspect of the present invention.
A third aspect of the present invention relates to a system for implementing methods according to the first aspect of the invention.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements and in which:
The first device operates according to a first protocol stack, for example the ZigBee PRO protocol stack. The second device operates according to another protocol stack, for example the ZigBee RF4CE protocol stack. The first and second protocol stack share same PHY and MAC protocol layers.
In order to enable the second device to command the first device, the additional mechanisms to support are shared between the main portion and the remote control portion of the second device.
Schematically, command process has the following structure:
1—the main portion connects to the network and binds to the first device,
2—the main portion receives networking information for use in the communications with the first device,
3—the remote control portion requests the networking information to the main portion,
4—the remote control portion constructs a command message based on the networking information, and
5—the remote control portion sends the command message to the first device.
With reference to
The lamp and the switch have ZigBee PRO stacks with a Home Automation (HA) profile, IEEE 802.15.4 MAC and IEEE 802.15.4 PHY (used at 2.4 GHz) layers.
The TV set has both ZigBee PRO and ZigBee RF4CE IEEE 802.15.4 MAC and IEEE 802.15.4 PHY (used at 2.4 GHz) layers and one CERC (Consumer Electronics Remote Control) application profile.
The remote controller which can also operate as a switch for the lamp has both HA and CERC application profiles but only has one ZigBee RF4CE IEEE 802.15.4 MAC and IEEE 802.15.4 PHY (used at 2.4 GHz) layers.
Steps to make an example implementation are described with reference to
The main portion of the second device enters a ZigBee PRO mode in a step S300 and transmits a request for joining the ZigBee network 11 as described in the ZigBee PRO specifications during a step S301. For example, the request is sent on user demand (e.g.: button press/menu item select/etc).
Then, the main portion of the second device receives networking information (such as channel, network, device, group information) during step S302 and stores them during step S303 in a table.
The main portion of the second device then establishes a binding (S304) to the ZigBee PRO target device 10 or to groups of devices as described in the ZigBee PRO specifications, for example by involving the user (e.g.: button presses or by selecting the target from a menu, etc).
After that, during step S305, the main portion of the second device stops operating on the ZigBee PRO network (without necessarily sending a leave command).
It continues with starting operating as a ZigBee RF4CE device during step S306, as described in the RF4CE/Consumer Electronics Remote Control (CERC) specifications. Also, the main portion of the second device makes the networking information available to the remote control portion during step S307 by additionally supporting a mechanism (e.g.: simple profile) by which the remote controller portion can retrieve the stored networking information
The remote control portion operates as a ZigBee RF4CE RC device, as described in the RF4CE/Consumer Electronics Remote Control (CERC) specifications, additionally supporting a mechanism (e.g.: simple profile) by which it can retrieve networking information from a TV.
On request from the remote control portion in step S308, the main portion sends it during step S309 the stored channel/network/device/group/etc. networking information from the table. For example, the request is sent on user demand (e.g.: pressing a Configuration button) request the TV to send networking information.
On receipt of this information, the remote controller portion stores it in a table during step S310.
Then, during step S311, the remote control portion constructs a ZigBee PRO/HA profile command, for example, using a template [e.g.: predefined sequence of bytes] of a typical HA command (e.g.: On or Off). For example the command is constructed on user demand (e.g.: pressing an On or Off button for an On/Off command) The remote control portion replaces the network/device/group/etc. networking field values with values stored in the local table.
According to embodiments, the remote control portion keeps a record of all required counters (many layers have one or more counters), and increments them, and sets their updated values into the frame. It also performs any modifications required to the frame to operate correctly with these updated counter fields.
Back to
In order to handle the changes of the networking information, the main portion of the second device may track these changes and report them to the remote controller portion. Alternatively, the remote controller portion may request poll for changes.
Information stored in the tables may include:
a MAC header that can store the PAN ID information received by the main portion of the second device,
a network (NWK) header that can store the short address allocated to the main portion,
an application (APS) header for storing the function supported,
a ZigBee cluster library (ZCL) header for defining the frame structure,
a ZigBee cluster library (ZCL) payload for storing the command ID (for example an ON/OFF command).
According to embodiments, the main portion keeps a record of counter values the remote control portion is using, and synchronises them from time to time. This might permit a second remote control portion to also send messages as if from the main portion, without running into difficulties with counter values being reused or going backwards.
One possibility would be that the main portion would attempt to join a ZigBee PRO network on request from a remote control portion, this request being received from the remote control portion using an RF4CE application command of some kind.
According to embodiments, the main portion of the second device joins the ZigBee PRO network using the IEEE address of the remote control portion. In such a case, the short address allocated to the remote control portion is unique to that remote control portion, and the main portion can join again on behalf of a second remote control portion and gets a different short address allocated, or the main portion can join the ZigBee PRO network itself and also implement one or more ZigBee PRO application profiles.
Referring to
Embodiments of the present invention can be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in an information processing system—is able to carry out these methods. Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after a conversion to another language. Such a computer program can be designed based on the flowchart of
Expressions such as “comprise”, “include”, “incorporate”, “contain”, “is” and “have” are to be construed in a non-exclusive manner when interpreting the description and its associated claims, namely construed to allow for other items or components which are not explicitly defined also to be present. Reference to the singular is also to be construed in be a reference to the plural and vice versa.
While there has been illustrated and described what are presently considered to be the preferred embodiments of the present invention, it will be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the present invention. Additionally, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein. Furthermore, an embodiment of the present invention may not include all of the features described above. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the appended claims.
A person skilled in the art will readily appreciate that various parameters disclosed in the description may be modified and that various embodiments disclosed may be combined without departing from the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10306406.9 | Dec 2010 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB11/55306 | 11/25/2011 | WO | 00 | 6/10/2013 |