The present disclosure generally relates to the field of communication over an interface, and more specifically to a method and apparatus to communicate, over a first interface, information associated with a device connected via a second interface.
A digital addressable lighting interface (DALI) is used to connect a Networked Lighting Controller (NLC) to LED Driver(s) to control and monitor the luminaire and to access Asset Data. The DALI Standard has evolved to support various lighting-related sensors, such as push-buttons, occupancy sensors, and light sensors. However, there is currently no sensor support for a general sensor, for example, for a commercially available off-the-shelf (COTS) sensor that uses non-DALI, such as wired (e.g., RS485, RS232, etc.) and/or wireless (e.g., WiFi, Zigbee, Bluetooth, etc.), communications.
The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items or features.
The processors 216 may be further configured to provide the configuration table 220 to the second device 212 in response to receiving a query 228 from the second device 212 upon the second interface module 208 being coupled to the standardized interface 210, cause the second device 212 to register the configuration table 220, and cause the second device 212 to add the capabilities of the first device 206 to capabilities of the second device 212. For example, the NLC 108 utilizing the DALI 106, as the second device 212, may normally include lighting related capabilities, such as turning on and off or dimming an LED array 112 with an LED driver 110 as shown in
Additionally, in response to receiving the query 228 from the second device 212, i.e., the NLC 108, for each data variable, or configuration available within the first device, i.e., the RS232 sensor 104, the interface adapter 102 may make the following information available to the NLC 108: 1) a variable identifier, such as a lightweight machine to machine (LwM2M) resource link, an identifier as per ANSI C137.10, and/or proprietary reference number; 2) location of the data within a DALI device memory or the RS232 sensor 104; 3) a length of the data (in bytes); and 4) data type, for example, whether signed or unsigned integer, or string or byte list, and whether data is writeable. LwM2M is a protocol from the Open Mobile Alliance (OMA), and standard LwM2M Object 3428 may be used to represent data available in an air quality sensor, which is an example of the first device 206, for example, a resource link “3428/0/15” may represent a level of nitrogen dioxide measured by the air quality sensor. By utilizing the configuration table 220, the interface adapter 102 enables a standardized way to access the data from the first device 206, such as the RS232 sensor 104, over the standardized interface 210, such as the DALI 106.
Based on the configuration table 220, a request from the second device 212 to access the one or more data variables of the first device may be automatically routed to the interface adapter 102 via the standardized interface 210, and the processors 216 may then access one or more locations associated with the one or more data variables based on the configuration table 220. For example, the processors 216 may access the one or more data variables at the one or more locations of the device memory 226 via the first interface module 202, and provide the one or more data variables to the second device 212 via the second interface module 208. Based on the request from the second device 212 via the standardized interface 210 and the second interface module 208, the processors 216 may read the one or more data variables at the one or more locations of the device memory 226 via the first interface module 202 and/or write data to the one or more locations of the device memory 226 via the first interface module 202. The first interface module 202 is compatible with at least one of a wired line communication interface, such as the RS232 interface, an RS485 interface, or the like, or a wireless communication interface, such as a WiFi interface, a Zigbee interface, a Bluetooth interface, a near-field communication (NFC) interface, or the like. The second interface module 208 is compatible with at least a digital addressable lighting interface (DALI).
The first interface module 202 may comprise a first interface 230 for coupling with the native interface 204 wirelessly or via a wire, and a first logic circuit 232 for managing data between the processors 216 and the first device 206. The first interface module 202 may further comprise a first transceiver 234 if the first interface 230 is a wireless unit. The second interface module 208 may comprise a second interface 236 for coupling with the standardized interface 210 wirelessly or via a wire, and a second logic circuit 238 for managing data between the processors 216 and the second device 212. The second interface module 208 may further comprise a second transceiver 240 if the second interface 236 is a wireless unit.
At block 302, the processors 216 may store the configuration table 220 associated with the first device 206 utilizing the native interface 204 of the first device 206 at the specific memory location, or address 218, of the adapter memory 214. The configuration table 220 may include the information 222 indicative of: capabilities of the first device 206, data variables 224 supported by the first device 206, locations of the data variables 224 within the device memory 226 of the first device 206, sizes of the data variables 224, and types of the data variables 224. At block 304, the processors 216 of the interface adapter 102 provide the second device with access, via the second interface module 208, to one or more data variables of the data variables based on the configuration table 220. In other words, by utilizing the configuration table 220, the processors 216 of the interface adapter 102 enable a standardized way for the second device 212, such as the NLC 108, to access the data from the first device 206, such as the RS232 sensor 104, over the standardized interface 210, such as the DALI 106.
As described above with reference to
At block 408, based on the configuration table 220, a request from the second device 212 to access the one or more data variables 224 may be automatically routed via the standardized interface 210 to the interface adapter 102. The processors 216 may access one or more locations associated with the one or more data variables 224 based on the configuration table 220 at block 410, access the one or more data variables 224 at the one or more locations of the device memory 226 via the first interface module 202 at block 412, and provide the one or more data variables 224 to the second device 212 via the second interface module 208 through the standardized interface 210 at block 414. For example, the processors 216 may read the one or more data variables 224 at the one or more locations of the device memory 226 via the first interface module 202 and/or write data to the one or more locations of the device memory 226 via the first interface module 202. The first interface module 202 is compatible with at least one of a wired line communication interface, such as the RS232 interface, the RS485 interface, and the like, or a wireless communication interface, such as the WiFi interface, the Zigbee interface, the Bluetooth interface, the near-field communication (NFC) interface, and the like. The second interface module 208 is compatible with at least a digital addressable lighting interface (DALI).
Some or all operations of the methods described above can be performed by execution of computer-readable instructions stored on a computer-readable storage medium, as defined below. The terms “computer-readable medium,” “computer-readable instructions,” and “computer executable instructions” as used in the description and claims, include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like. Computer-readable and -executable instructions can be implemented on various system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based, programmable consumer electronics, combinations thereof, and the like.
The computer-readable storage media may include volatile memory (such as random-access memory (RAM)) and/or non-volatile memory (such as read-only memory (ROM), flash memory, etc.). The computer-readable storage media may also include additional removable storage and/or non-removable storage including, but not limited to, flash memory, magnetic storage, optical storage, and/or tape storage that may provide non-volatile storage of computer-readable instructions, data structures, program modules, and the like.
A non-transitory computer-readable storage medium is an example of computer-readable media. Computer-readable media includes at least two types of computer-readable media, namely computer-readable storage media and communications media. Computer-readable storage media includes volatile and non-volatile, removable and non-removable media implemented in any process or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media includes, but is not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer-readable storage media do not include communication media.
The computer-readable instructions stored on one or more non-transitory computer-readable storage media, when executed by one or more processors, may perform operations described above with reference to
A. An interface adapter includes a first interface module configured to couple to a native interface of a first device, a second interface module configured to couple to a standardized interface of a second device, an adapter memory, and one or more processors coupled to the first interface module, the second interface module, and the adapter memory, where the standardized interface is different from the native interface. The one or more processors are configured to store a configuration table associated with the first device at a specific memory location of the adapter memory. The configuration table is indicative of capabilities of the first device, data variables supported by the first device, locations of the data variables within a device memory of the first device, sizes of the data variables, and types of the data variables. The one or more processors are configured to provide the second device with access, via the second interface module, to one or more data variables of the data variables based on the configuration table.
B. The interface adapter of example A, wherein the one or more processors are further configured to provide the configuration table to the second device in response to receiving a query from the second device upon the second interface module being coupled to the standardized interface.
C. The interface adapter of example B, wherein the one or more processors are further configured to cause the second device to register the configuration table, and cause the second device to add the capabilities of the first device to capabilities of the second device.
D. The interface adapter of example A, wherein, based on the configuration table, a request from the second device to access the one or more data variables is routed via the standardized interface to the interface adapter, and the one or more processors are further configured to access one or more locations associated with the one or more data variables based on the configuration table.
E. The interface adapter of example D, wherein the one or more processors are further configured to access the one or more data variables at the one or more locations via the first interface module, and provide the one or more data variables to the second device via the second interface module.
F. The interface adapter of example E, wherein the one or more processors are further configured to read the one or more data variables at the one or more locations via the first interface module based on the request.
G. The interface adapter of example E, wherein the one or more processors are further configured to write data to the one or more locations via the first interface module based on the request.
H. The interface adapter of example A, wherein the first interface module is compatible with at least one of a wired line communication interface, or a wireless communication interface.
I. The interface adapter of example A, wherein the second interface module is compatible with a digital addressable lighting interface (DALI).
J. A method includes storing a configuration table associated with a first device utilizing a native interface at a specific memory location of an adapter memory of an interface adapter where the first device is coupled to a first interface module of the interface adapter. The configuration table is indicative of capabilities of the first device, data variables supported by the first device, locations of the data variables within a device memory of the first device, sizes of the data variables, and types of the data variables. The method additionally includes providing a second device with access, by utilizing a standardized interface, to one or more data variables of the data variables based on the configuration table via a second interface module of the interface adapter, where the standardized interface is different from the native interface.
K. The method of example J further includes, in response to receiving a query from the second device upon a second interface module of the interface adapter being coupled to the standardized interface, providing the configuration table to the second device, causing the second device to register the configuration table, and causing the second device to add the capabilities of the first device to capabilities of the second device.
L. The method of example J further includes, based on the configuration table, routing, via the standardized interface to the interface adapter, a request to access the one or more data variables from the second device, and accessing one or more locations associated with the one or more data variables based on the configuration table.
M. The method of example L further includes accessing the one or more data variables at the one or more locations via the first interface module, and providing the one or more data variables to the second device via the second interface module.
N. The method of example M, wherein accessing the one or more data variables includes at least one of reading the one or more data variables at the one or more locations via the first interface module based on the request, or writing data to the one or more locations via the first interface module based on the request.
O. The method of claim J, wherein the first interface module is compatible with at least one of a wired line communication interface, or a wireless communication interface, and the second interface module is compatible with a digital addressable lighting interface (DALI).
P. A non-transitory computer-readable storage medium stores thereon computer executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The operations include storing a configuration table associated with a first device utilizing a native interface at a specific memory location of an adapter memory of an interface adapter where the first device is coupled to a first interface module of the interface adapter. The configuration table is indicative of capabilities of the first device, data variables supported by the first device, locations of the data variables within a device memory of the first device, sizes of the data variables, and types of the data variables. The operations additionally include, by utilizing a standardized interface, providing a second device with access to one or more data variables of the data variables based on the configuration table, where the standardized interface is different from the native interface.
Q. The non-transitory computer-readable storage medium of example P, wherein the operations additionally include, in response to receiving a query from the second device upon a second interface module of the interface adapter being coupled to the standardized interface, providing the configuration table to the second device, causing the second device to register the configuration table, and causing the second device to add the capabilities of the first device to capabilities of the second device.
R. The non-transitory computer-readable storage medium of example P, wherein the operations additionally include routing, based on the configuration table, a request from the second device to access the one or more data variables via the standardized interface to the interface adapter, and accessing one or more locations associated with the one or more data variables based on the configuration table.
S. The non-transitory computer-readable storage medium of example R, wherein accessing the one or more locations associated with the one or more data variables based on the configuration table includes at least one of reading the one or more data variables at the one or more locations via the first interface module based on the request, or writing data to the one or more locations via the first interface module based on the request.
T. The non-transitory computer-readable storage medium of example Q, wherein the first interface module is compatible with at least one of a wired line communication interface or a wireless communication interface, and the second interface module is compatible with a digital addressable lighting interface (DALI).
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claims.