WO2010146174A2 - System for accessing, controlling and managing heterogeneous communicating objects - Google Patents

System for accessing, controlling and managing heterogeneous communicating objects Download PDF

Info

Publication number
WO2010146174A2
WO2010146174A2 PCT/EP2010/058670 EP2010058670W WO2010146174A2 WO 2010146174 A2 WO2010146174 A2 WO 2010146174A2 EP 2010058670 W EP2010058670 W EP 2010058670W WO 2010146174 A2 WO2010146174 A2 WO 2010146174A2
Authority
WO
WIPO (PCT)
Prior art keywords
objects
protocol
protocols
ipv6
metalanguage
Prior art date
Application number
PCT/EP2010/058670
Other languages
French (fr)
Other versions
WO2010146174A3 (en
Inventor
Sébastien ZIEGLER
Original Assignee
Archimede Solutions Sarl
Mandat International
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 Archimede Solutions Sarl, Mandat International filed Critical Archimede Solutions Sarl
Publication of WO2010146174A2 publication Critical patent/WO2010146174A2/en
Publication of WO2010146174A3 publication Critical patent/WO2010146174A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/18Network protocols supporting networked applications, e.g. including control of end-device applications over a network

Definitions

  • Some communication protocols are particularly adapted to certain contexts.
  • wireless protocols for example, wireless sensors require energy efficient protocols such as ZigBee or 6LoWPAN; while wireless video cameras will need other protocols better suited to the fast transfer of larger data streams, such as WiFi for example.
  • energy efficient protocols such as ZigBee or 6LoWPAN
  • wireless video cameras will need other protocols better suited to the fast transfer of larger data streams, such as WiFi for example.
  • To want to use the same communication protocol for both cases would be sub-optimal.
  • some communication protocols are subject to limited communication ranges. However, it would be useful to be able to use these protocols while emancipating scope constraints.
  • the fragmentation of communicating objects also limits the possibilities of managing them in an integrated and holistic way.
  • a system allowing to integrate all the communicating objects and to manage complementary parameters would certainly make it possible to improve the automation of the buildings. This would notably reduce the energy consumption of buildings by taking into account different relevant parameters from different sources (for example: temperature and presence sensors, space utilization planning, actuators of different types, information on the price of electricity, etc.). energy, etc.). This is to make possible a holistic management of smart objects.
  • the integration of all the communicating objects in a common management system can make their manipulation difficult with conventional graphical user interfaces based on a tree. It is therefore desirable to provide new forms of graphical interface adapted to the complexity and heterogeneity of the objects that can be managed by such a system.
  • the present invention proposes to solve the problems of the state of the art mentioned above by means of a system for accessing, controlling and managing communicating objects, characterized in that: the system comprises at least one connected server at least one data memory; the system comprises at least one multi-protocol interface connected to the server that allows connectivity with heterogeneous communicating objects that can use different protocols, - this or these interfaces can be physically dissociated from the server or servers while remaining connected to the servers through 'a main protocol; the server can use a main protocol, such as IPv ⁇ , to address and communicate remotely with the multi-protocol interface (s) and / or directly with objects comprising the main protocol; the system uses a metalanguage which makes it possible to bring back the specific information and instructions transmitted by the various communication protocols in a generic language, thus allowing a form of abstraction of the heterogeneous objects using different protocols by bringing them back into a common reference frame, - thus making possible form of interoperability between objects as well as the definition and application of rules or algorithms applicable by the system transversally to heterogen
  • FIG. 5 Protocolal metalanguage
  • FIG. 6 Metallic metalanguage
  • Protocol We mean by protocol, a communication protocol used by devices to communicate with each other.
  • Metalanguage We mean by metalanguage, an abstract language used by the system and whose instructions, variables and commands can be translated into instructions, variables and equivalent commands in different communications protocols. Conversely, metalanguage brings together instructions, variables and commands that make it possible to abstract the instructions, variables and specific commands of the different communication protocols into a common language.
  • Protocol module By protocol module we mean a piece of code that makes it possible to process all or part of a data stream of a particular communication protocol.
  • Application module By application module, we mean a piece of code that makes it possible to translate the instructions and commands contained in the application layer of a communication protocol into the metalanguage and vice versa.
  • Multi-protocol interface is a card or component that can support multiple physical interfaces to provide physical connectivity to objects that can use different communication protocols; the interface having at least a protocol physical interface, but most often multiple protocol physical interfaces.
  • Objects We generally mean the term objects, in the sense of communicating objects, which may be of different natures, such as sensors, actuators, devices or any other object able to transmit and / or receive data.
  • Heterogeneous objects By heterogeneous objects we mean a set of objects as defined above that can contain objects that use a variable number of different communication protocols, from one to several.
  • Main protocol We mean by main protocol, the protocol used by the server or servers to communicate with the multi-protocol interfaces.
  • the present invention relates to a multi-protocol access, control and management device for interacting with heterogeneous objects using different communication protocols.
  • Our invention makes it possible to integrate these heterogeneous objects in a common platform and to manage them in a homogeneous and coordinated way.
  • Our invention allows to:
  • Our invention consists of several innovative elements that together constitute a powerful and efficient control and management system. Some of the elements of the system can however be used independently.
  • the present description constitutes a first embodiment, it being understood that the invention may be embodied in different ways and in different combinations of the innovative elements.
  • Our global system is notably a system for access, control and management of communicating objects (devices, sensors, actuators, etc.) characterized by the fact that it can manage in an integrated way heterogeneous information and objects that use different communication protocols, - thus facilitating the deployment, integration, monitoring, control, access, manipulation, interoperability, definition and application of rules, scalability, management and energy saving or the integration of various objects in an IPv6 addressing system; and especially the ability to integrate and interact with all kinds of communicating objects as they are, without requiring special adaptation on the object side, including allowing the objects themselves to interact with each other. others through the system.
  • FIG. 1 is a block diagram of our multi-protocol system of control and management of communicating objects.
  • Figure 1 is a block diagram of our multi-protocol system of control and management of communicating objects.
  • FIG. 1 is a block diagram of our multi-protocol system of control and management of communicating objects.
  • A indicates the central control system
  • B indicates the network connection (eg IPv6 type) between the control system and the multi-protocol cards and / or objects connected to this network.
  • G indicates an external server
  • the central control system serves several functions, including:
  • the central control system can be installed on any computer or embedded system.
  • FIG. 2 shows the block diagram of an example of a central control system. This example is illustrated with a particular development environment (OSGi, Apache, etc.), but could be developed in other environments.
  • OSGi development environment
  • Apache Apache, etc.
  • A indicates the central control system
  • GUI - graphical user interface This interface allows the user to configure his system and to control it.
  • the interface is generated via a web server, which allows its display and use from various devices with an Internet browser. This part can be decoupled from the central kernel and installed on another machine in order to lighten the server load and reduce its latency. Access to the GUI can benefit from standard authentication and security mechanisms.
  • the GUI makes it possible to:
  • the database stores all persistent elements of the system. It contains the information concerning: recognized devices recognized cards protocol modules installed application modules installed service modules installed system nomenclature (device families, actions allowed on these devices) list of rules (behavior of the system in front of an event of a device, as well as the criteria of their triggering) the elements of spatial localization (building, floor, room, type of room) the system logs
  • a reserved part of the database makes it possible to store information specific to the service modules. For security reasons, this area is separate from the main area.
  • Protocol Modules are OSGI bundles that all have the same standardized interface. They allow to use a specific communication protocol.
  • Application modules are OSGI bundles that all have the same standardized interface. They allow you to control and interpret the events of a device or device group of a manufacturer. They are based on a protocol module for low-level communication.
  • Kernel The kernel is an OSGI bundle. He is the conductor of the different elements of high level. He actively uses the metalanguage of the system. Its role is notably to:
  • Service Modules are OSGI bundles that all have the same standardized interface. They are used as function libraries. These can be called in rules..They thus make it possible to extend very easily the capacities of the system, without needing to touch the heart of the latter.
  • Embedded web server (H): The embedded web mini server exposes a number of web services that allow an external entity (such as the GUI) to interact with the central control system.
  • the offered API makes it possible to: execute a scenario perform an action on one or more devices inform the server of an external modification in the database
  • multi-protocol card that allows to ensure physical connectivity with heterogeneous objects using different protocols and communication interfaces, such as ZigBee, X10, WiFi, RS232, USB, RFID, KNX, Bluetooth.
  • the card makes it possible to separate the physical connectivity from the central system with the communicating objects, the multi-protocol card being able to be installed anywhere on the network to which the central control system is connected. It also allows remote control of objects that have a reduced communication range.
  • Figure 3 shows the hardware architecture of an example of a multi-protocol card that can be used by the system.
  • Figure 3 shows the hardware architecture of an example of a multi-protocol card that can be used by the system.
  • FIG. 3 shows the hardware architecture of an example of a multi-protocol card that can be used by the system.
  • FIG. 3 shows the hardware architecture of an example of a multi-protocol card that can be used by the system.
  • A indicates the central control system.
  • B indicates the network connection between the control system and the multi-protocol card.
  • C indicates the multi-protocol card.
  • D indicates the physical network connection module that can use different physical media (Ethernet, WiFi, PLC, optical fiber, etc.).
  • E indicates the processing unit of the card, including a CPU on which an embedded OS (type Windows CE or EmDebian for example) can run, RAM and a FLASH memory for non-volatile data storage (eg firewalling filter configuration parameters) and software.
  • an embedded OS type Windows CE or EmDebian for example
  • RAM random access memory
  • FLASH memory for non-volatile data storage (eg firewalling filter configuration parameters) and software.
  • G indicates physical interfaces of different protocols.
  • H indicates one or more USB ports for adding dongles with USB interface to easily scale the board and expand the number of managed protocols.
  • J indicates a protocol dongle with USB interface.
  • L indicates sensors or connectors for sensors.
  • M indicates actuators or connectors for actuators.
  • N indicates the power supply of the card which can be of several natures: a power supply via an external AC / DC converter (an AC adapter) or a 230V power supply with an on-board AC / DC converter (eg if it this is to inject the PLC signal directly on the electrical network).
  • the multi-protocol card has its own IPv6 address. It connects to one or more central control systems that each have their own IPv6 address.
  • the card - central system relationship is by default a client - server relationship, in order to facilitate the declaration and integration of the cards in the central control system.
  • the card can also respond to requests for connections from an external control system to the card via an embedded web service. This allows, for example, the maintenance and configuration of the cards from an address different from that of the central control system. This also makes it possible, when the connection needs are very episodic, to open these connections when the central control system deems it useful. If necessary, and to avoid abusive connections, the multi-protocol card is able to filter incoming connections against a list of IP addresses and ports registered in its configuration file saved on the card.
  • FIG. 4 shows the software architecture of the multi-protocol card used for the demonstrator.
  • Figure 4 shows the software architecture of the multi-protocol card used for the demonstrator.
  • FIG. 4 shows the software architecture of the multi-protocol card used for the demonstrator.
  • A indicates the drivers needed to use the hardware of the card.
  • B indicates the embedded operating system which abstracts from the hardware part and which includes the low-level protocol pagers required for communication with the peripherals such as the connected objects and the central control system (eg TCP / IPv6, UART, USB, HCI, ).
  • the central control system eg TCP / IPv6, UART, USB, HCI, .
  • C indicates the library that disregards the communication management between the central control system and the multi-protocol card. This library provides a reliable bidirectional connection for each Daemon protocol to the central control system.
  • D indicates the "Service Discovery” library that abstracts from the detection mechanism of the central control system.
  • E indicates the master daemon whose responsibility is to: o Use the "Service Discovery" library to find and advertise with a central control system. o Allow remote configuration of the multi-protocol card. o Detect the presence and / or activation of new physical interfaces on the multi-protocol card (eg the connection of a KNX dongle) and launch the corresponding protocol daemon). o Detect the absence and / or deactivation of physical interfaces on the multi-protocol card and stop the corresponding protocol daemon. o Detect the inactivity of a daemon (eg due to a malfunction) and restart it
  • F indicates one or more "protocol daemons". For each driver used on the multiprotocol board (UART, KNX, Bluetooth, ...) corresponds a daemon. In this way, a malfunction of a daemon does not disturb other daemons.
  • the responsibility of a protocol daemon is to: o Transfer the data sent by an object connected to the multi-protocol card, and available through the corresponding driver, to the central control system using the "Data Exchange Library". o Transmit to an object connected to the multi-protocol card the data sent by the control system via the corresponding driver. o Optionally incorporate the lower layers of a given protocol stack. o Announce the availability of an interface on the multi-protocol card to the central system.
  • Our system makes it possible to use the services of an external server to share and retrieve information, protocol modules or programmed elements. It can facilitate the identification and download of appropriate and authenticated protocol modules when the system finds new objects.
  • This metalanguage can be developed in an ad hoc way starting from the targeted protocols, with the possibility of an incremental development with the integration of new protocols and / or the appearance of new functions in the already integrated protocols. Unlike a standardized language, it allows a great evolution of the system to take into account new variables or instructions of integrated protocols. This metalanguage can also be dynamically and incrementally standardized by system users, or customized by a particular user.
  • FIG. 5 shows the principle of the metalanguage layer.
  • A indicates the different particular protocols.
  • C indicates the metalanguage used by the control system.
  • D indicates the control system that uses the metalanguage.
  • KNX instruction “DTP_Switch” given to light a device will be translated by the "KNX application module” in metalanguage with the equivalent instruction “Set_0n0ff [1]”. This same instruction can also be retranslated by the "application module X10" in language X10 with the binary instruction for "On”: "00101".
  • our metalanguage is equivalent to developing an architecture with an additional layer of abstraction using standardized metadata that comes at the top of the "application layer” of the OSI model. This makes it possible to bring all the communication protocols back into a common repository used by the kernel. This allows you to manipulate data and objects in a standardized way, regardless of the communication protocol used by the objects. This facilitates the development of the system and the extension to new protocols, by focusing the development on the application modules responsible for translating the instructions between the protocol (application layer) and the metalanguage.
  • Figure 6 shows the dislocation of the low and high layers. In this figure:
  • A indicates the classical layers of the OSI model
  • Our system makes it possible to fragment the processing of the different layers (in the sense of the OSI model) of a communication protocol into several relatively independent and complementary modules that can be combined, including: i. physical interfaces allowing connectivity with communicating objects; ii. protocol modules responsible for processing in the server the data streams of the communication protocols originating from or intended for the physical interfaces; iii. application modules responsible for ensuring the translation of the data strings contained in the application layers of the different communication protocols into a common reference frame (metalanguage) and vice versa, taking into account the specificities of particular application layers that can be linked to particular communicating objects ; iv.
  • an UPnP application module may be connected to a specific application module corresponding to the communicating object concerned. This allows:
  • Figure 7 shows the modular structure of the demonstrator middleware.
  • Figure 7 shows the modular structure of the demonstrator middleware.
  • A indicates an application module whose purpose is to allow the abstraction towards metalanguage functions and data of one or more types of objects connected to different multi-protocol cards.
  • An application module exposes to the kernel a list of methods (eg heatOn, turnLightOn, ...) representing the functionalities of a concrete object (eg KNX solenoid valve, X10 lamp, ..).
  • An application module can directly communicate with a protocol daemon of a multi-protocol card (using the Data Exchange library) or call methods exposed by the various protocol modules (B) available. Method calls can be implemented synchronously (return method) as well as asynchronously (calling a procedure with the return of one or more values as events).
  • a protocol module Indicates a protocol module whose purpose is to abstract a given protocol layer.
  • a protocol module exposes to the application modules a list of primitives (methods) necessary for the operation of the protocol.
  • An application module can directly communicate with a protocol daemon of a multi-protocol card (using the Data Exchange library) or call methods exposed by other protocol modules (B).
  • the application and protocol modules work identically, they are distinguished only by their level of abstraction.
  • the application and protocol modules can also communicate directly with objects on the network to which the central control system is connected as well as multi-protocol cards.
  • C indicates the "Data Exchange” library which abstracts the communication between the central control system and the multi-protocol cards. It is the counterpart of the same library on the card side multi-protocol.
  • D indicates the "Service Discovery" library that abstracts from the detection mechanism of the central control system. It is the counterpart of the same library on the multi-protocol card side.
  • E indicates the network layer (ie IPv6) to which the central control system and the multi-protocol cards are connected.
  • F denotes the kernel, which (through rules and scenarios) calls the different methods exposed by the application or protocol modules
  • G indicates an event handler with a publish / subscribe mechanism.
  • the data sent by the objects are transferred to this manager (publish) and annotated with a corresponding tag (p.e. RS232).
  • the events are redirected to all the protocol and application modules that have subscribed to the corresponding tag (subscribe).
  • the module that recognizes the event deals with its processing (eg calls a method, sending new events to the manager, notification of the kernel for executing rules, ). If no module can handle the event (p.e. event of an unknown object), then the event handler informs the kernel of this unknown event. This one consults the external server and downloads / installs the application and protocol modules that are necessary for the treatment of the unknown event.
  • H indicates a service module, which gives the kernel access to additional tools (eg send SMS / Email, access to reservation software, ).
  • I indicates the framework (of the OSGI type in the given example) which allows loading, launching, updating and stopping of modules. In this way, the extensibility and evolution of the central control system is guaranteed.
  • FIG. 8 shows the modular protocol structure of the system.
  • A indicates communicating objects using different communication protocols
  • B indicates the "physical interfaces" to ensure connectivity with objects
  • C indicates the "protocol modules” for processing and formatting the data according to the protocol standard in question.
  • D indicates the "application modules” allowing to translate the instructions of the application layer towards the metalanguage and vice versa.
  • E indicates the control system that uses metalanguage Middleware operation
  • the server uses a middleware to convert the different instructions and specific data contained in the application layers of the different communication protocols into a common metalanguage used by the kernel of the device, and conversely from the kernel to the specific protocols. - thus enabling it to process data related to heterogeneous objects in a common, homogeneous and abstract repository, with: a metalanguage that can be considered as an additional layer compared to the OSI model by being superimposed on the so-called "application" layers of the protocols and which makes it possible to integrate the said application layers of the different protocols into a common reference frame; homogenization of the data format, instructions and variables at the metalanguage level; the possibility of freely evolving the metalanguage by adding new terms (or words) to take into account new variables or instructions related to one or other of the integrated protocols; the possibility of extending the metalanguage to all kinds of variables, protocols and ontologies beyond a particular application domain; the presence in the middleware of code modules that ensure the translation of data streams from the different protocols to the metalanguage and vice versa, allowing interaction and interoperability
  • an identifier of the object or objects (which may be by default the IPv6 address and possibly the port used to communicate with the one or more objects), ii. an action formulated in accordance with the metalanguage, iii. optionally one or more parameters; the use of the metalanguage in the device for: i. develop and apply generic kernel rules and algorithms that can be applied to all embedded objects, regardless of their specific communication protocols; ii. process and transfer events from one protocol to another protocol in real time; iii. facilitate the scalability of the system, each new protocol integrated meta plinth is actually able to interact through the metalanguage with the objects of other previously integrated protocols.
  • a central zone consisting of a homogeneous network using a main protocol, such as IPv6 or ⁇ LowPAN, used in particular by the system server (s) to communicate with objects or multi-protocol cards. It allows to individually address all elements of the system, to develop a decentralized network architecture by distributing processes and data processing between several points of the network, and it allows different servers to interact simultaneously with different sensors, actuators, devices and multi-protocol cards.
  • a main protocol such as IPv6 or ⁇ LowPAN
  • a peripheral and heterogeneous area consisting of one or more capillary subareas that can use different communication protocols to adapt to the constraints and specificities of communicating objects. This makes it possible to take into account the range (distance) of the communication protocols of the objects, which can be very limited.
  • the interface between the two spaces can be provided by the multi-protocol cards or by other devices allowing the integration of the data of sub-networks of capillary objects in the central network.
  • This architecture makes it possible to optimize the management of the central network. It also makes it possible to control objects having a limited communication range from any distance by using for example a multi-protocol card accessible to the objects in question.
  • Such an architecture also makes it possible to coexist several control systems with complementary tasks: i. with multiple servers with separate IP addresses in the central area; ii. with servers located in the peripheral zone and linked to particular subsystems or protocols;
  • the central system can then decide to intervene or not in the management of autonomous subsystem objects and can be used for the implementation of holonic type interactions between the various systems and / or subsystems.
  • FIG. 9 shows the dual network structure recommended for system deployment.
  • FIG. 9 shows the dual network structure recommended for system deployment.
  • A indicates the control system (s)
  • C indicates the multi-protocol interfaces (multi-protocol card or equivalent devices)
  • D denotes relatively heterogeneous peripheral networks that may consist of several protocols
  • our system makes it possible, where appropriate, to separate the processing sites from the low and high layers of a communication protocol.
  • the lower layers of a communication protocol physical connectivity
  • the upper layers in particular the application layer
  • the central control system This makes it possible to limit the size of processes and the need for updates at the periphery. This makes it possible to optimize the distribution of the computing load between the central control system and the multi-protocol cards.
  • Figure 10 shows the dislocation of the low and high layers. In this figure:
  • A indicates the central control system that manages the upper layers of the B protocols indicates the network connection between the control system and the multi-protocol card C indicates the multi-protocol card that manages the lower layers of the protocols D indicates the communicating objects
  • protocol multiplexing To facilitate the management of IP communication flows between the central control system and the multi-protocol cards, we used protocol multiplexing.
  • the lower layers of the object protocols are processed by the multi-protocol card, then strings are transmitted in IP packets to the server to handle the processing of the high layers of the protocol.
  • Each protocol is transmitted on a different and specific port. This optimizes the speed of communication processing, each packet can be directly routed to the protocol module or the corresponding deamon.
  • the device makes it possible to develop a decentralized architecture for distributing processes and data processing at several points of the central network, including at the periphery of the central network.
  • the multi-protocol cards make it possible to filter and process certain information flows at the level of the card itself.
  • the multi-protocol card can filter the information received from the temperature sensors and can decide to relay to the central control system only variables that have changed or to respect a minimum waiting time between the transmission of two variables of same type. This prevents superfluous information flows from flooding the network of the central control system.
  • the card can also support rules that do not require the intervention of the central control system. For example: if the temperature is above a certain threshold, the multi-protocol card could give the order for itself to automatically close a radiator valve.
  • a first central control system may be responsible for managing the energy consumption and temperatures of controlled buildings; while a second central control system can be responsible for managing access and building security.
  • This is all the more simple as each control system can have its own Internet address.
  • IPv ⁇ makes it possible to ensure direct connections between the control systems and the objects and multiprotocol cards concerned. This allows different servers to interact simultaneously with different sensors, actuators, devices and multi-protocol cards.
  • This network architecture makes it possible to deploy a network in a much more modular and flexible way with a very high scalability of the system. It also makes it possible to coexist the central control and management system with autonomous control and management sub-systems interacting with peripheral objects, the central system being able to decide whether or not to intervene in the management of the sub-object. -autonomous systems. It also makes it possible to coexist several control systems with complementary tasks by developing holonic-type interactions between the various systems.
  • GUIs are based on tree architecture and navigation.
  • a multidimensional navigation consisting of two or more axes that allows the user to navigate one or more axes simultaneously to select a variable number of targeted objects.
  • Each axis is composed of several levels of increasing precision. The more the user advances on an axis by adding more precise criteria of selection, the more he restricts the list of targeted objects.
  • Navigation in each of the axes can be compared to a multidimensional zooming process. This allows the user a much more intuitive and immediate apprehension of the objects he wants to control. This system makes it possible to better interact with a large and heterogeneous number of objects.
  • o a typological axis (what) to select families or categories more or less large objects, or even specific objects (for example: all electrical devices, only devices 'lighting, only bedside lamps, or a particular lamp); o a topographical axis (where) to define the location and to delimit the space containing the objects concerned (for example: a particular building, a floor of the building, a type of room of the building or a particular room);
  • the system makes it easy to add additional axes, such as for example a personal axis (which) to adapt the selection of objects according to the user or a time axis (when) to adapt the selecting the objects according to their state at a chosen moment.
  • additional axes such as for example a personal axis (which) to adapt the selection of objects according to the user or a time axis (when) to adapt the selecting the objects according to their state at a chosen moment.
  • Such a mechanism allows the user to use one of the axes of choice or combine different axes to select objects or groups of objects, thus facilitating access to said objects, especially when they are integrated into sets objects that can be bulky, heterogeneous and / or dispersed and that must be controllable through intuitive interfaces and small size as on portable devices (such as mobile phones, remote controls or PDAs).
  • FIG. 11 shows an example of application of our multi-dimensional graphical interface. In this figure:
  • A1 indicates the selection of a building
  • A2 indicates the selection of a floor
  • A3 indicates the selection of a type of part
  • A4 indicates the selection of a part
  • C indicates an optional area for displaying object information corresponding to the filter criteria
  • D indicates an optional area for displaying possible actions on the objects corresponding to the filter criteria
  • E indicates an optional graphical display area of the list of available options when one of the elements of a navigation axis is selected.
  • the selection of elements A and B can be done for example with drop-down lists or icons that appear in zone E when one of the elements (A1, A2, A3, A4, B1, B2, etc.) is clicked. and which correspond to the available options.
  • the elements when one of the elements is selected, it dynamically changes the list of options for other selection elements that depend on it. For example, the selection of an A1 building with only 2 floors will modify and limit the options available in A2 on these two particular floors, and in A3 and A4 on the rooms available in the selected building.
  • the user can also directly select choices in A2 or A3 without going through a selection in A1. It could thus act on all the bathrooms (A3) of all its buildings.
  • the various elements selected are as many filter criteria for selecting via queries the corresponding objects in the system database.
  • This selection mechanism is also used by the rules and the scenarios of the system to determine the range of an action on a set of given objects. For example: turn off all rooms at the 3rd floor. These criteria can also be saved as predefined "targets" that can be reused in rules or scenarios.
  • IPv6 uses IPv6 addressing (such as IPv ⁇ or 6LoWPAN) by default to facilitate interaction between the control system (s) and the other elements of the core network. This makes it possible to manage a virtually unlimited number of objects remotely in a secure manner and to facilitate the deployment of the system. IPv6 allows us to:
  • IPv ⁇ Benefit from the properties of IPv ⁇ for the mobility of objects, which make it possible to keep an accessible address regardless of the object's location.
  • PLC power line communication
  • Ethernet Ethernet
  • fiber optics fiber optics
  • RF radio frequency
  • IPsec Improve the authentication of objects and the protection of communication flows by avoiding the barrier of NATs and by using mechanisms associated with IPv6 such as IPsec.
  • our system also allows you to assign IPv6 addresses to objects that are not compatible with IPv6.
  • the system has four mechanisms: the addition of a web service on a server responding to a shared IPv6 address for several objects controlled by the system, the objects being instantiated by a specific port and / or by an identifier contained in the data packet; adding several web services to a server responding to different IPv6 addresses corresponding to different objects, based on the information stored in the system database; the use of an embedded web service on the multi-protocol card which interfaces with one or more communicating objects by the said card, the objects that can be instantiated by a specific port and / or by an identifier contained in the packet data; the use of several web services embedded on the multi-protocol card responding to different IPv6 addresses corresponding to different objects controlled by said card.
  • the database associates a free IPv6 address with the targeted object, or uses the IPv6 address of the multi-protocol card as a shared address, or a web service of the IPv6 control system.
  • This makes it possible to integrate heterogeneous objects not compatible with IPv6 into an IPv6 network.
  • Our system serves as an IPv6 proxy to allow applications to access, control, and communicate with these objects over IPv6. In fact, this allows us to directly extend the Internet to archaic or diverse objects that are not intended for the Internet.
  • Figure 12 shows an example of virtual IPv6 addressing.
  • this figure :
  • A indicates a source seeking to transmit information to object X in the form of an IPv6 packet.
  • a B indicates the webservice that will listen and receive the package from source
  • a C indicates the central system that will be responsible for determining how to route the information and through which protocol. In particular, the system will be responsible for converting the instructions according to the application layer of the targeted object.
  • D indicates the sending of an equivalent instruction either directly in the protocol of the object X, or via a multi-protocol card E.
  • E indicates a multi-protocol card
  • the modular architecture makes it possible to use protocols traditionally used on one type of physical medium on other types of physical media. It makes it possible to envisage new combinations, such as the use of application layers of a protocol on the lower layers of another protocol by combining the use of the respective protocol and application modules. .
  • a reference T1 temperature curve when the part is not supposed to be used is not supposed to be used
  • the second curve (T2) makes it possible to find a compromise between the energy-saving potential and the thermal inertia of the part, which requires not having a temperature too low to allow the part to reach a temperature relatively quickly. satisfactory (T3, comfort temperature required) when a person enters it. Such an approach reduces the energy consumption of the building.
  • S indicates one or more temperature sensors
  • P indicates one or more presence sensors
  • O indicates one or more door opening sensors
  • V indicates one or more temperature actuators, such as solenoid valves
  • R indicates the system management rules
  • E indicates additional sources of data on the status of the room, such as occupancy schedule, check in and check out.
  • the central control system will adjust the temperature of the controlled room, such as hotel rooms or offices, according to three statuses (S1: unoccupied, S2 expected occupancy, but no presence detected, S3 human presence detected) with for each status, a reference temperature curve (respectively T1: minimum temperature, T2: intermediate temperature and T3: comfort temperature).
  • the control system determines from the information source E (such as schedule of use, reservation system, etc.) whether the piece is supposed to be used (S2 or S3) or not (S1). If a presence sensor detects a human presence, the status changes from S2 to S3.
  • the system takes into consideration that the room may have been emptied and return the status to S2 until a presence is detected (if someone has remained in the room). the piece for example).
  • the check out of the client automatically sets the status to S1 if no arrival is planned in the short term.
  • the system knows the room temperature thanks to sensor S and can close actuator V if the temperature is higher than the reference temperature or open the valve if it is lower.
  • control system makes it possible to write rules in different ways, for example with the introduction of margins in the comparison of the reference temperatures (for example: to act only if the difference is greater than X 0 C), or proportionality mechanisms in the action on the valve (for example: opening of X% per degree of deviation), etc.
  • Our system also allows you to interact with external services. It allows, for example, to manage the energy consumption of a building according to the state of the demand or the price of the energy on the network. We can thus retrieve information on the price of energy in a given market, for example via a service module that questions a web service of an energy trading exchange, and use this information to adapt the energy management of energy markets. buildings controlled by the system.
  • the system can reduce consumption during periods of high demand on the network and consume more during periods of low demand. This makes it possible to optimize energy consumption in relation to the demand on the network, even if the energy supplier does not offer any services in this area. This also makes it possible to consider new dynamic billing models based on market demand, avoiding the influence of energy distributors and other intermediaries.
  • the system can optimize the energy bill compared to a dynamic billing calculated on a variable cost over time. It can also be used to optimize the selling price of energy from energy producers and positive buildings (with renewable energy sources). Finally, since the price of energy is generally strongly correlated with the state of demand, our system can help to solve the problem of demand peaks on the energy grid by generating counter-cyclical behavior in relation to the evolution of demand. on the network. Our system can thus help to mitigate the problem of demand peaks, without the need to adapt the electricity network.
  • Figure 14 shows a possible interaction scheme between a positive building managed by our control system and the power grid.
  • Figure 14 shows a possible interaction scheme between a positive building managed by our control system and the power grid.
  • FIG. 14 shows a possible interaction scheme between a positive building managed by our control system and the power grid.
  • R indicates the regional energy network
  • B indicates the building or buildings that consume and possibly produce energy
  • the price M indicates the market price of the energy on which the network depends and which is transmitted to the central control system.
  • the price M can for example be made available via a web service used by the central control system. It can also be transmitted directly to the central control system as soon as a change takes place on the market, in order to allow an update in real time.
  • C indicates the central control system that can adapt the behavior of the actuators in the building according to the market price. It suffices for it to write rules according to the price of energy.
  • the central control system may decide to reduce the energy consumption in the buildings under management (B). For example, it may interrupt some appliances that use the energy in question (heating, air conditioning, washing or drying machines, etc.). As soon as the temperature M falls below a certain threshold, it can reset the devices that had been stopped. If necessary, it may also decide to limit certain interruptions in time, even if the price remains high (for a cold room for example).
  • the system can also take into account past events to anticipate cyclical demand peaks and for example increase the heating or cooling of a room before the peak period.
  • Our control system can interact directly with sensors, actuators and IPv6 devices. It allows the use of switches controlled by a small IPv6 controller and can communicate with the system via PLC (power line communication) or other physical media (IEEE 802.15.4, Ethernet, etc.). In addition, these actuators can integrate sensors, such as temperature and presence sensors.
  • PLC power line communication
  • Ethernet Ethernet
  • sensors such as temperature and presence sensors.
  • the combination IPv6 with PLC facilitates the deployment of control elements in an existing building with a virtually unlimited number of objects.
  • FIG. 15 shows an example of an easily deployable IPv6 sensor actuator.
  • S indicates the central control system
  • L indicates the connection between the device and the central control system.
  • This connection can be by default the power line itself via IPv6 on PLC, but alternatively via other physical media such as 802.15.4 preferably with 6LoWPAN.
  • P indicates the physical interface of the device (PLC, 802.15.4 or other)
  • W indicates the IP module for managing IP packets between the device and the central control system. This module can also perform address filtering services and communication ports.
  • C indicates the controller which manages in particular the application level of the packets.
  • E indicates actuators, such as electrical relays.
  • This device makes it possible to easily deploy a home automation system in an existing building without requiring additional wiring.

Abstract

The invention relates to a multi-protocol access, control and management system suitable for interacting with heterogeneous objects using various communication protocols. The invention is capable of integrating said heterogeneous objects in a common platform and managing said objects in a homogeneous, coordinated fashion. The invention also enables the rollout, integration, monitoring, control, access, handling, interoperability, definition and application of rules, scalability, management and savings in energy, as well as the integration of miscellaneous objects in an IPv6 addressing system. The system makes it possible to integrate and interact with all types of communicating objects in the present form thereof, without requiring specific adaptation on the object side. In particular, the invention provides novel forms of interaction with communicating objects and optimisation of building energy management. The invention also makes it possible to develop a dual network architecture which is favourable for distributed intelligence.

Description

Système d'accès, de contrôle et de gestion d'objets communicants hétérogènes System of access, control and management of heterogeneous communicating objects
Etat de la technique et quelques problèmes à surmonter :State of the art and some problems to overcome:
Un nombre croissant d'objets intelligents sont présents dans notre environnement. Or, la plupart de ces objets utilisent des protocoles de communications différents et ne peuvent souvent pas communiquer les uns avec les autres. Il est donc difficile de les faire interagir les uns avec les autres, mais également de les gérer à partir d'un système de gestion commun. Selon l'Union Internationale des Télécommunications, le problème de l'interopérabilité est un des principaux obstacles au développement de l'Internet des objets. Il s'agit de trouver une solution pour intégrer des objets hétérogènes et fragmentés dans un système de gestion unifié et homogène pour en faciliter la gestion. En l'état actuel de la technique, la plupart des solutions développées requièrent soit de développer des passerelles entre deux protocoles (solution relativement lourde et rigide), soit d'adapter les objets eux-mêmes à un protocole de communication commun. Un enjeu est de rendre possible de façon facile et économique l'interopérabilité entre des objets communicants hétérogènes utilisant des protocoles de communications différents sans devoir modifier ces objets eux-mêmes.A growing number of smart objects are present in our environment. Most of these objects use different communication protocols and often can not communicate with each other. It is therefore difficult to make them interact with each other, but also to manage them from a common management system. According to the International Telecommunication Union, the problem of interoperability is one of the main obstacles to the development of the Internet of Things. It is a question of finding a solution to integrate heterogeneous and fragmented objects in a unified and homogeneous management system to facilitate the management. In the current state of the art, most of the solutions developed require either to develop bridges between two protocols (relatively heavy and rigid solution), or to adapt the objects themselves to a common communication protocol. An issue is to make interoperability between heterogeneous communicating objects using different communication protocols possible without having to modify these objects themselves in an easy and economical way.
Certains protocoles de communication sont particulièrement adaptés à certains contextes. Ainsi, dans le cadre des protocoles sans fil, les capteurs sans fil ont besoin de protocoles économes en consommation énergétique, tels que ZigBee ou 6LoWPAN ; alors que des caméras vidéos sans fil auront besoin d'autres protocoles mieux adaptés au transfert rapide de flux de données plus importants, tels que WiFi par exemple. Vouloir utiliser le même protocole de communication pour les deux cas de figure serait sub-optimal. Or, il serait utile de pouvoir permettre à ces différents appareils d'interagir les uns avec les autres. Par ailleurs, certains protocoles de communication sont soumis à des portées de communication limitées. Or, il serait utile de pouvoir utiliser ces protocoles tout en s'émancipant des contraintes de portée.Some communication protocols are particularly adapted to certain contexts. For wireless protocols, for example, wireless sensors require energy efficient protocols such as ZigBee or 6LoWPAN; while wireless video cameras will need other protocols better suited to the fast transfer of larger data streams, such as WiFi for example. To want to use the same communication protocol for both cases would be sub-optimal. However, it would be useful to allow these devices to interact with each other. In addition, some communication protocols are subject to limited communication ranges. However, it would be useful to be able to use these protocols while emancipating scope constraints.
L'émergence d'un nouvel Internet étendu aux objets communicants requiert de nouveaux modèles et de nouveaux moyens d'accès aux objets. Il s'agit dés lors d'exploiter la puissance d'IPvθ pour gérer un univers large et complexe d'objets communicants. L'émergence du nouveau protocole IPv6 permettra d'utiliser sa grande capacité d'adressage pour attribuer des adresses directement à des objets. Or, nombre de ces objets intelligents ne sont pas adapté à ce nouveau protocole. Il serait utile de pouvoir permettre à ces objets de bénéficier d'adresses IPv6 sans devoir modifier les objets en question. Il s'agit de permettre l'intégration d'objets non compatible avec IPv6 dans un univers d'objets IPv6.The emergence of a new Internet extended to communicating objects requires new models and new ways to access objects. It is therefore necessary to exploit the power of IPvθ to manage a large and complex universe of communicating objects. The emergence of the new IPv6 protocol will make it possible to use its large addressing capacity to assign addresses directly to objects. However, many of these smart objects are not adapted to this new protocol. It would be useful to allow these objects to benefit from IPv6 addresses without having to modify the objects in question. This is to allow the integration of objects not compatible with IPv6 in a universe of IPv6 objects.
La fragmentation des objets communicants limite également les possibilités de les gérer de façon intégrée et holistique. Or, un système permettant d'intégrer l'ensemble des objets communicants et de gérer des paramètres complémentaires permettrait certainement d'améliorer l'automation des bâtiments. Cela permettrait notamment de réduire la consommation énergétique des bâtiments en prenant en compte différents paramètres pertinents provenant de différentes sources (par exemple : capteurs de température et de présence, planification d'utilisation des espaces, actuateurs de différents types, information sur le prix de l'énergie, etc.). Il s'agit de rendre possible une gestion holistique des objets intelligents. Enfin, l'intégration de l'ensemble des objets communicants dans un système de gestion commun peut rendre leur manipulation difficile avec des interfaces graphiques d'utilisation classique basée sur une arborescence. Il est dés lors souhaitable de fournir de nouvelles formes d'interface graphique adaptées à la complexité et l'hétérogénéité des objets pouvant être gérés par un tel système.The fragmentation of communicating objects also limits the possibilities of managing them in an integrated and holistic way. However, a system allowing to integrate all the communicating objects and to manage complementary parameters would certainly make it possible to improve the automation of the buildings. This would notably reduce the energy consumption of buildings by taking into account different relevant parameters from different sources (for example: temperature and presence sensors, space utilization planning, actuators of different types, information on the price of electricity, etc.). energy, etc.). This is to make possible a holistic management of smart objects. Finally, the integration of all the communicating objects in a common management system can make their manipulation difficult with conventional graphical user interfaces based on a tree. It is therefore desirable to provide new forms of graphical interface adapted to the complexity and heterogeneity of the objects that can be managed by such a system.
Brève description de l'inventionBrief description of the invention
La présente invention propose de résoudre les problèmes de l'état de la technique cités ci-dessus grâce à un système d'accès, de contrôle et de gestion d'objets communicants caractérisé par le fait que : le système comprend au moins un serveur relié à au moins une mémoire de données; le système comprend au moins une interface multi-protocolaire connectée au serveur qui permet une connectivité avec des objets communicants hétérogènes pouvant utiliser différents protocoles,- cette ou ces interfaces pouvant être dissociées physiquement du ou des serveurs tout en restant connectées aux serveurs par le biais d'un protocole principal; le serveur peut utiliser un protocole principal, tel qu'IPvθ, pour adresser et communiquer à distance avec la ou les interfaces multi-protocolaires et/ou directement avec des objets comprenant le protocole principal; le système utilise un métalangage qui permet de ramener les informations et instructions spécifiques transmises par les différents protocoles de communication dans un langage générique, permettant ainsi une forme d'abstraction des objets hétérogènes utilisant différents protocoles en les ramenant dans un référentiel commun,- rendant ainsi possible une forme d'interopérabilité entre les objets ainsi que la définition et l'application de règles ou algorithmes applicables par le système de façon transversale à des objets hétérogènes; le système utilise une architecture modulaire et le métalangage pour faciliter l'intégration de nouveaux protocoles au système, chaque nouveau protocole pouvant dés lors interagir à travers le métalangage avec des objets de tous les autres protocoles déjà installés ; le système peut gérer de façon intégrée des informations et des objets hétérogènes qui utilisent différents protocoles de communication, y compris des protocoles archaïques, sans requérir d'adaptation particulière du côté des objets ; le système permet l'utilisation d'une interface graphique utilisateur commune pour l'ensemble des objets hétérogènes gérés par le dit système; le système permet une gestion holistique d'un environnement et des objets hétérogènes qui s'y trouvent, avec par exemple une meilleure gestion énergétique des espaces gérés par le dit système ; le système pouvant aussi contribuer par exemple à faciliter le déploiement, l'intégration, le monitoring, le contrôle, l'accès, la manipulation, l'interopérabilité, la scalabilité, la gestion et l'économie d'énergie ou encore l'intégration d'objets divers dans un système d'adressage de type IPv6.The present invention proposes to solve the problems of the state of the art mentioned above by means of a system for accessing, controlling and managing communicating objects, characterized in that: the system comprises at least one connected server at least one data memory; the system comprises at least one multi-protocol interface connected to the server that allows connectivity with heterogeneous communicating objects that can use different protocols, - this or these interfaces can be physically dissociated from the server or servers while remaining connected to the servers through 'a main protocol; the server can use a main protocol, such as IPvθ, to address and communicate remotely with the multi-protocol interface (s) and / or directly with objects comprising the main protocol; the system uses a metalanguage which makes it possible to bring back the specific information and instructions transmitted by the various communication protocols in a generic language, thus allowing a form of abstraction of the heterogeneous objects using different protocols by bringing them back into a common reference frame, - thus making possible form of interoperability between objects as well as the definition and application of rules or algorithms applicable by the system transversally to heterogeneous objects; the system uses a modular architecture and metalanguage to facilitate the integration of new protocols into the system, each new protocol can then interact through the metalanguage with objects from all the other protocols already installed; the system can seamlessly handle heterogeneous information and objects that use different communication protocols, including archaic protocols, without requiring special adaptation on the object side; the system allows the use of a common graphical user interface for the set of heterogeneous objects managed by the said system; the system allows a holistic management of an environment and heterogeneous objects that are there, with for example a better energy management of spaces managed by the said system; the system can also contribute, for example, to facilitate deployment, integration, monitoring, control, access, manipulation, interoperability, scalability, management and energy saving or integration. various objects in an IPv6 addressing system.
Liste des dessins L'invention va être exposée de manière plus détaillée à l'aide d'un exemple de réalisation représenté dans les dessins suivants :List of drawings The invention will be explained in more detail with the aid of an exemplary embodiment shown in the following drawings:
Fig. 1 - Système globalFig. 1 - Global system
Fig. 2 - Système de contrôle centralFig. 2 - Central Control System
Fig. 3 - Carte multi-protocolaireFig. 3 - Multi-protocol card
Fig. 4 - Architecture software carte multi-protocolaireFig. 4 - Software architecture multi-protocol card
Fig. 5 - Métalangage protocolaire Fig. 6 - Métacouche du métalangageFig. 5 - Protocolal metalanguage FIG. 6 - Metallic metalanguage
Fig. 7 - Structure modulaire du middleware Fig. 8 - Architecture protocolaire modulariséeFig. 7 - Modular structure of the middleware Fig. 8 - Modularized protocol architecture
Fig. 9 - Structure réseau dualeFig. 9 - Dual network structure
Fig. 10 - Dislocation des couches protocolaires basses et hautesFig. 10 - Dislocation of low and high protocol layers
Fig. 11 - GUI multidimensionnelleFig. 11 - Multidimensional GUI
Fig. 12 - Adresses IPv6 virtuelles (proxy IPv6 pour des objets non compatibles)Fig. 12 - Virtual IPv6 Addresses (IPv6 Proxy for Non-compatible Objects)
Fig. 13 - Optimisation de la gestion énergétique(système multi-courbes)Fig. 13 - Optimization of energy management (multi-curve system)
Fig. 14 - Interaction avec le réseau électriqueFig. 14 - Interaction with the electricity network
Fig. 15 - Actuateurs IPv6Fig. 15 - IPv6 Actuators
Glossaire - explication de certains termesGlossary - explanation of some terms
Protocole : Nous entendons par protocole, un protocole de communication utilisé par des appareils pour communiquer entre eux.Protocol: We mean by protocol, a communication protocol used by devices to communicate with each other.
Métalangage : Nous entendons par métalangage, un langage abstrait utilisé par le système et dont les instructions, variables et commandes peuvent être traduites en des instructions, variables et commandes équivalentes dans différents protocoles de communications. Inversement, le métalangage réunit les instructions, variabls et commandes qui permettent d'abstraire les instructions, variables et commandes spécifiques des différents protocoles de communication en un langage commun.Metalanguage: We mean by metalanguage, an abstract language used by the system and whose instructions, variables and commands can be translated into instructions, variables and equivalent commands in different communications protocols. Conversely, metalanguage brings together instructions, variables and commands that make it possible to abstract the instructions, variables and specific commands of the different communication protocols into a common language.
Module protocolaire : Nous entendons par module protocolaire un élément de code qui permet de traiter tout ou partie d'un flux de données d'un protocole de communication particulier.Protocol module: By protocol module we mean a piece of code that makes it possible to process all or part of a data stream of a particular communication protocol.
Module applicatif : Nous entendons par module applicatif, un élément de code qui permet de traduire les instructions et commandes contenues dans la couche applicative d'un protocole de communication vers le métalangage et vice-versa.Application module: By application module, we mean a piece of code that makes it possible to translate the instructions and commands contained in the application layer of a communication protocol into the metalanguage and vice versa.
Interface multi-protocolaire : Nous entendons par interface multi-protocolaire une carte ou un composant pouvant supporter plusieurs interfaces physiques pour assurer la connectivité physique avec des objets pouvant utilisant différents protocoles de communication ; l'interface ayant au minimum une interface physique protocolaire, mais le plus souvent plusieurs interfaces physiques protocolaires.Multi-protocol interface: A multi-protocol interface is a card or component that can support multiple physical interfaces to provide physical connectivity to objects that can use different communication protocols; the interface having at least a protocol physical interface, but most often multiple protocol physical interfaces.
Objets : Nous entendons généralement le terme objets, dans le sens d'objets communicants, pouvant être de différentes natures, tels que des capteurs, des actuateurs, des appareils ou tout autre objet à même de transmettre et/ou de recevoir des données. Objets hétérogènes : Nous entendons par objets hétérogènes, un ensemble d'objets tels que définis précédemment et pouvant contenir des objets qui utilisent un nombre variable de protocoles de communication différents, de un à plusieurs.Objects: We generally mean the term objects, in the sense of communicating objects, which may be of different natures, such as sensors, actuators, devices or any other object able to transmit and / or receive data. Heterogeneous objects: By heterogeneous objects we mean a set of objects as defined above that can contain objects that use a variable number of different communication protocols, from one to several.
Protocole principal : Nous entendons par protocole principal, le protocole utilisé par le ou les serveurs pour communiquer avec les interfaces multi-protocolaires.Main protocol: We mean by main protocol, the protocol used by the server or servers to communicate with the multi-protocol interfaces.
Description détaillée de l'inventionDetailed description of the invention
Comme indiqué dans les revendications, la présente invention concerne un dispositif d'accès, de contrôle et de gestion multi-protocolaire permettant d'interagir avec des objets hétérogènes utilisant différents protocoles de communication. Notre invention permet d'intégrer ces objets hétérogènes dans une plateforme commune et de les gérer de façon homogène et coordonnée. Notre invention permet notamment de :As indicated in the claims, the present invention relates to a multi-protocol access, control and management device for interacting with heterogeneous objects using different communication protocols. Our invention makes it possible to integrate these heterogeneous objects in a common platform and to manage them in a homogeneous and coordinated way. Our invention allows to:
Faciliter le déploiement et l'intégration d'objets communicants hétérogènes ;Facilitate the deployment and integration of heterogeneous communicating objects;
Résoudre le problème de l'interopérabilité entre des objets communicants utilisant des protocoles de communication incompatibles ;Solve the problem of interoperability between communicating objects using incompatible communication protocols;
Gérer de façon intégrée et quasiment holistique un ensemble d'objets, de paramètres et d'informations hétérogènes ;Manage in an integrated and almost holistic way a set of heterogeneous objects, parameters and information;
Intégrer des objets non compatibles avec IPv6 dans un environnement et un réseau de type IPv6 ;Integrate non-IPv6 compatible objects into an IPv6 environment and network;
Faciliter la gestion à distance des objets domotiques ;Facilitate the remote management of home automation objects;
Réduire et optimiser la consommation énergétique des espaces contrôlés par le système ;Reduce and optimize the energy consumption of spaces controlled by the system;
Disposer d'un métalangage qui permet d'interagir de façon homogène avec les différents protocoles de communication ;To have a metalanguage that allows to interact in a homogeneous way with the different communication protocols;
Editer et appliquer facilement des règles et des algorithmes qui transcendent les spécificités des différents protocoles de communication ;Easily edit and apply rules and algorithms that transcend the specifics of different communication protocols;
Associer librement différents protocoles de communication ;Freely associate different communication protocols;
Gérer des objets communicants existants en l'état, sans requérir la moindre adaptation du côté des objets en question ;Manage communicating objects existing in the state, without requiring any adaptation on the side of the objects in question;
Notre invention est constituée de plusieurs éléments novateurs qui constituent ensemble un système de contrôle et de gestion puissant et performant. Certains des éléments du système peuvent cependant être utilisés de façon indépendante. La présente description constitue un premier mode de réalisation, étant entendu que l'invention peut être matérialisée de différentes manières et selon différentes combinaisons des éléments novateurs.Our invention consists of several innovative elements that together constitute a powerful and efficient control and management system. Some of the elements of the system can however be used independently. The present description constitutes a first embodiment, it being understood that the invention may be embodied in different ways and in different combinations of the innovative elements.
Système globalGlobal system
Notre système global constitue notamment un système d'accès, de contrôle et de gestion d'objets communicants (appareils, capteurs, actuateurs, etc.) caractérisé par le fait qu'il peut gérer de façon intégrée des informations et des objets hétérogènes qui utilisent différents protocoles de communication,- permettant ainsi de faciliter le déploiement, l'intégration, le monitoring, le contrôle, l'accès, la manipulation, l'interopérabilité, la définition et l'application de règles, la scalabilité, la gestion et l'économie d'énergie ou encore l'intégration d'objets divers dans un système d'adressage de type IPv6 ; et surtout la possibilité d'intégrer et d'interagir avec toutes sortes d'objets communicants en l'état, sans requérir d'adaptation particulière du côté des objets, y compris en permettant aux objets eux-mêmes d'interagir les uns avec les autres à travers le système.Our global system is notably a system for access, control and management of communicating objects (devices, sensors, actuators, etc.) characterized by the fact that it can manage in an integrated way heterogeneous information and objects that use different communication protocols, - thus facilitating the deployment, integration, monitoring, control, access, manipulation, interoperability, definition and application of rules, scalability, management and energy saving or the integration of various objects in an IPv6 addressing system; and especially the ability to integrate and interact with all kinds of communicating objects as they are, without requiring special adaptation on the object side, including allowing the objects themselves to interact with each other. others through the system.
La figure 1 est un schéma de principe de notre système multi-protocolaire de contrôle et de gestion des objets communicants. Sur cette figure :Figure 1 is a block diagram of our multi-protocol system of control and management of communicating objects. In this figure:
A indique le système de contrôle centralA indicates the central control system
B indique la connexion réseau (p.e. de type IPv6) entre le système de contrôle et les cartes multi-protocolaires et/ou des objets connecté à ce réseau.B indicates the network connection (eg IPv6 type) between the control system and the multi-protocol cards and / or objects connected to this network.
C indique la ou les cartes multi-protocolairesC indicates the multi-protocol card (s)
D indique les objets communicants utilisant divers protocoles de communicationD indicates communicating objects using various communication protocols
E indique des objets communicants compatibles avec le réseau utilisé en BE indicates communicating objects compatible with the network used in B
F indique l'interface graphique utilisateurF indicates the graphical user interface
G indique un serveur externeG indicates an external server
H indique des informations externesH indicates external information
Système de contrôle centralCentral control system
Le système de contrôle central remplit plusieurs fonctions, et notamment :The central control system serves several functions, including:
Assurer l'interopérabilité entre les différents protocoles de communication et assurer la conversion des informations vers le métalangage.Ensure interoperability between the different communication protocols and ensure the conversion of information to metalanguage.
Gérer des règles et des algorithmes à appliquer aux objets et aux événementsManage rules and algorithms to apply to objects and events
Générer l'interface graphique utilisateurGenerate the graphical user interface
Permettre la maintenance et la configuration du systèmeAllow maintenance and configuration of the system
Gérer et stocker les informations pertinentes, notamment les informations qui remontent de la périphérieManage and store relevant information, including information from the periphery
Le système de contrôle central peut être installé sur un ordinateur quelconque ou dans un système embarqué.The central control system can be installed on any computer or embedded system.
La figure 2 présente le schéma de principe d'un exemple de système de contrôle central. Le présent exemple est illustré avec un environnement de développement particulier (OSGi, Apache, etc.), mais pourrait être développé dans d'autres environnements. Sur cette figure :Figure 2 shows the block diagram of an example of a central control system. This example is illustrated with a particular development environment (OSGi, Apache, etc.), but could be developed in other environments. In this figure:
A indique le système de contrôle centralA indicates the central control system
B indique la partie d'interface graphique utilisateurB indicates the GUI portion
C indique la base de donnéesC indicates the database
D indique les modules protocolaires (middleware)D indicates the protocol modules (middleware)
E indique les modules applicatifs (middleware)E indicates the application modules (middleware)
F indique le kernel G indique les modules de serviceF indicates the kernel G indicates the service modules
H indique le mini serveur web embarqué (web services)H indicates the embedded mini web server (web services)
GUI - interface graphique utilisateur (B) : Cette interface permet à l'utilisateur de configurer son système et de le piloter. Dans le cas présent, l'interface est générée via un serveur web, ce qui permet son affichage et son utilisation depuis divers appareils disposant d'un navigateur Internet. Cette partie peut être découplée du noyau central et être installée sur une autre machine afin d'alléger la charge du serveur et réduire son temps de latence. L'accès à la GUI peut bénéficier de mécanismes d'authentifications et de sécurisation standards. La GUI permet notamment de :GUI - graphical user interface (B): This interface allows the user to configure his system and to control it. In this case, the interface is generated via a web server, which allows its display and use from various devices with an Internet browser. This part can be decoupled from the central kernel and installed on another machine in order to lighten the server load and reduce its latency. Access to the GUI can benefit from standard authentication and security mechanisms. The GUI makes it possible to:
Gérer et configurer le système, y compris les cartes multi-protocolaires (voir et modifier leur paramétrage)Manage and configure the system, including multi-protocol cards (see and change their settings)
Naviguer dans les périphériques et les gérer (voir leurs caractéristiques, les modifier)Navigate and manage devices (see their features, edit them)
Exécuter des actions sur des périphériquesPerform actions on devices
Exécuter des scénariosRun scenarios
Gérer les règles et leurs critères de déclenchementsManage rules and their triggers
Gérer les logs systèmes et les alarmesManage system logs and alarms
Base de données (C) : La base de données stocke tous les éléments persistants du système. On y retrouve les informations concernant notamment: les périphériques reconnus les cartes reconnues les modules protocolaires installés les modules applicatifs installés les modules de services installés la nomenclature du système (les familles de périphériques, les actions permises sur ces périphériques) la liste des règles (comportement du système face à un événement d'un périphérique, ainsi que les critères de leur déclenchement) les éléments de localisation spatiale (bâtiment, étage, pièce, type de pièce) les logs systèmesDatabase (C): The database stores all persistent elements of the system. It contains the information concerning: recognized devices recognized cards protocol modules installed application modules installed service modules installed system nomenclature (device families, actions allowed on these devices) list of rules (behavior of the system in front of an event of a device, as well as the criteria of their triggering) the elements of spatial localization (building, floor, room, type of room) the system logs
Une partie réservée de la base de données permet de stocker des informations propres aux modules de service. Pour des raisons de sécurité, cette zone est distincte de la zone principale.A reserved part of the database makes it possible to store information specific to the service modules. For security reasons, this area is separate from the main area.
Modules protocolaires (D) : Les modules protocolaires sont des bundles OSGI qui ont tous la même interface standardisée. Ils permettent d'utiliser un protocole de communication spécifique.Protocol Modules (D): The protocol modules are OSGI bundles that all have the same standardized interface. They allow to use a specific communication protocol.
Modules applicatifs (E) : Les modules applicatifs sont des bundles OSGI qui ont tous la même interface standardisée. Ils permettent de piloter et d'interpréter les événements d'un périphérique ou d'un groupe de périphérique d'un constructeur. Ils reposent sur un module protocolaire pour la communication bas niveau. Kernel (F) : Le kernel est un bundle OSGI. Il est le chef d'orchestre des différents éléments de haut niveau. Il utilise activement le métalangage du système. Son rôle est notamment de :Application Modules (E): Application modules are OSGI bundles that all have the same standardized interface. They allow you to control and interpret the events of a device or device group of a manufacturer. They are based on a protocol module for low-level communication. Kernel (F): The kernel is an OSGI bundle. He is the conductor of the different elements of high level. He actively uses the metalanguage of the system. Its role is notably to:
Recevoir les événements des périphériques et de les traiter (chercher les règles associées, les ordonner et les exécuter selon différents critères).Receive events from devices and process them (search for associated rules, order them and execute them according to different criteria).
Assurer le bon déroulement des règles en fournissant le contexte d'exécution (paramètre du périphérique, moteur d'exécution, sdk pour faciliter l'écriture de règle).Ensure the smooth running of the rules by providing the execution context (device parameter, runtime engine, sdk for easy rule writing).
Recevoir les événements internes et les traiter (créer et gérer les nouveaux éléments - carte, périphérique, ...).Receive internal events and process them (create and manage new elements - map, device, ...).
Gérer les règles programmées (schedule).Manage scheduled rules.
Modules de service (G) : Les modules de service sont des bundles OSGI qui ont tous la même interface standardisée. Ils sont utilisés comme librairies de fonctions. Ces dernières peuvent être appelées dans des règles..Ils permettent donc d'étendre très facilement les capacités du système, sans avoir besoin de toucher le cœur de ce dernier.Service Modules (G): Service Modules are OSGI bundles that all have the same standardized interface. They are used as function libraries. These can be called in rules..They thus make it possible to extend very easily the capacities of the system, without needing to touch the heart of the latter.
Serveur web embarqué (H) : Le mini serveur web embarqué expose un certain nombre de web services permettant à une entité externe (telles que la GUI) d'interagir avec le système de contrôle central.Embedded web server (H): The embedded web mini server exposes a number of web services that allow an external entity (such as the GUI) to interact with the central control system.
L'API offerte permet notamment de : exécuter un scénario exécuter une action sur un ou plusieurs périphériques informer le serveur d'une modification externe dans la base de donnéesThe offered API makes it possible to: execute a scenario perform an action on one or more devices inform the server of an external modification in the database
Carte multi-protocolaireMulti-protocol card
Nous avons développé une carte multi-protocolaire qui permet d'assurer la connectivité physique avec des objets hétérogènes utilisant différents protocoles et interfaces de communication, tels que ZigBee, X10, WiFi, RS232, USB, RFID, KNX, Bluetooth. La carte permet de dissocier du système central la connectivité physique avec les objets communicants, la carte multi-protocolaire pouvant être installée n'importe où sur le réseau auque est connecté le système de contrôle central. Cela permet aussi de contrôler à distance des objets qui ont une portée de communication réduite.We have developed a multi-protocol card that allows to ensure physical connectivity with heterogeneous objects using different protocols and communication interfaces, such as ZigBee, X10, WiFi, RS232, USB, RFID, KNX, Bluetooth. The card makes it possible to separate the physical connectivity from the central system with the communicating objects, the multi-protocol card being able to be installed anywhere on the network to which the central control system is connected. It also allows remote control of objects that have a reduced communication range.
La figure 3 indique l'architecture hardware d'un exemple de carte multi-protocolaire pouvant être utilisée par le système. Sur cette figure :Figure 3 shows the hardware architecture of an example of a multi-protocol card that can be used by the system. In this figure:
A indique le système de contrôle central.A indicates the central control system.
B indique la connexion réseau entre le système de contrôle et la carte multi-protocolaire.B indicates the network connection between the control system and the multi-protocol card.
C indique la carte multi-protocolaire.C indicates the multi-protocol card.
D indique le module de connexion physique au réseau qui peut utiliser différents supports physiques (Ethernet, WiFi, PLC, fibre optique, etc.).D indicates the physical network connection module that can use different physical media (Ethernet, WiFi, PLC, optical fiber, etc.).
E indique l'unité de traitement de la carte, englobant une CPU sur laquelle peut tourner un OS embarqué (type Windows CE ou EmDebian par exemple), de la RAM et une mémoire FLASH pour le stockage non volatile de données (p.e. paramètres de configuration de filtrage de firewalling) et de logiciels.E indicates the processing unit of the card, including a CPU on which an embedded OS (type Windows CE or EmDebian for example) can run, RAM and a FLASH memory for non-volatile data storage (eg firewalling filter configuration parameters) and software.
G indique des interfaces physiques de différents protocoles.G indicates physical interfaces of different protocols.
H (optionnel) indique un ou plusieurs ports USB permettant d'ajouter des dongles avec interface USB afin de faire évoluer facilement la carte et d'élargir le nombre de protocoles gérés.H (optional) indicates one or more USB ports for adding dongles with USB interface to easily scale the board and expand the number of managed protocols.
J (optionnel) indique un dongle protocolaire avec interface USB.J (optional) indicates a protocol dongle with USB interface.
K indique les objets communicants.K indicates the communicating objects.
L (optionnels) indique des capteurs ou des connecteurs pour des capteurs.L (optional) indicates sensors or connectors for sensors.
M (optionnels) indique des actuateurs ou des connecteurs pour des actuateurs.M (optional) indicates actuators or connectors for actuators.
N indique l'alimentation de la carte qui peut être de plusieurs natures : une alimentation via un convertisseur AC/DC externe (un adaptateur secteur) ou une alimentation 230V avec un convertisseur AC/DC embarqué sur la carte (p.e. dans le cas ou il s'agit d'injecter le signal PLC directement sur le réseau électrique).N indicates the power supply of the card which can be of several natures: a power supply via an external AC / DC converter (an AC adapter) or a 230V power supply with an on-board AC / DC converter (eg if it this is to inject the PLC signal directly on the electrical network).
La carte multi-protocolaire dispose de sa propre adresse IPv6. Elle se connecte à un ou plusieurs systèmes centraux de contrôle qui disposent chacun de leur propre adresse IPv6. La relation carte - système central est par défaut une relation client - serveur, afin de faciliter la déclaration et l'intégration des cartes dans le système de contrôle central. Cependant, la carte peut aussi répondre à des demandes de connexions d'un système de contrôle externe vers la carte via un service web embarqué. Cela permet par exemple la maintenance et la configuration des cartes depuis une adresse différente de celle du système de contrôle central. Cela permet aussi, lorsque les besoins de connexions sont très épisodiques, d'ouvrir ces connexions lorsque le système de contrôle central le juge utile. Le cas échéant, et afin d'éviter les connexions abusives, la carte multi-protocolaire est capable de filtrer les connexions entrantes par rapport à une liste d'adresses IP et de ports inscrits dans son fichier de configuration enregistré sur la carte.The multi-protocol card has its own IPv6 address. It connects to one or more central control systems that each have their own IPv6 address. The card - central system relationship is by default a client - server relationship, in order to facilitate the declaration and integration of the cards in the central control system. However, the card can also respond to requests for connections from an external control system to the card via an embedded web service. This allows, for example, the maintenance and configuration of the cards from an address different from that of the central control system. This also makes it possible, when the connection needs are very episodic, to open these connections when the central control system deems it useful. If necessary, and to avoid abusive connections, the multi-protocol card is able to filter incoming connections against a list of IP addresses and ports registered in its configuration file saved on the card.
La figure 4 indique l'architecture software de la carte multi-protocolaire utilisée pour le démonstrateur. Sur cette figure :Figure 4 shows the software architecture of the multi-protocol card used for the demonstrator. In this figure:
A indique les pilotes nécessaires pour l'utilisation du hardware de la carte.A indicates the drivers needed to use the hardware of the card.
B indique le système d'exploitation embarqué qui fait abstraction de la partie hardware et qui comprends les pilles protocolaires de bas niveau nécessaires pour la communication avec les périphériques tels que les objets connecté et le système de contrôle central (p.e. TCP/IPv6, UART, USB, HCI, ...).B indicates the embedded operating system which abstracts from the hardware part and which includes the low-level protocol pagers required for communication with the peripherals such as the connected objects and the central control system (eg TCP / IPv6, UART, USB, HCI, ...).
C indique la librairie qui fait abstraction de la gestion de communication entre le système de contrôle central et la carte multi-protocolaire. Cette librairie permet une connexion fiable bidirectionnelle pour chaque « Daemon protocol » vers le système de contrôle central.C indicates the library that disregards the communication management between the central control system and the multi-protocol card. This library provides a reliable bidirectional connection for each Daemon protocol to the central control system.
D indique la librairie « Service Discovery » qui fait abstraction du mécanisme de détection du système de contrôle central.D indicates the "Service Discovery" library that abstracts from the detection mechanism of the central control system.
E indique le master daemon dont la responsabilité est de : o Utiliser la librairie de « Service Discovery » pour trouver un système de contrôle central et de s'annoncer auprès de celui-ci. o Permettre la configuration à distance de la carte multi-protocolaire. o Détecter la présence et/ou l'activation de nouvelles interfaces physiques sur la carte multi- protocolaire (p.e. le branchement d'un dongle KNX) et de lancer le daemon protocolaire correspondant). o Détecter l'absence et/ou la désactivation d'interfaces physiques sur la carte multi- protocolaire et de stopper le daemon protocolaire correspondant. o Détecter l'inactivité d'un daemon (p.e. du à un malfonctionnement) et de le redémarrerE indicates the master daemon whose responsibility is to: o Use the "Service Discovery" library to find and advertise with a central control system. o Allow remote configuration of the multi-protocol card. o Detect the presence and / or activation of new physical interfaces on the multi-protocol card (eg the connection of a KNX dongle) and launch the corresponding protocol daemon). o Detect the absence and / or deactivation of physical interfaces on the multi-protocol card and stop the corresponding protocol daemon. o Detect the inactivity of a daemon (eg due to a malfunction) and restart it
F indique un ou plusieurs « daemons protocolaires ». Pour chaque pilote utilisé sur la carte multiprotocolaire (UART, KNX, Bluetooth,...) correspond un daemon. De cette façon, un dysfonctionnement d'un daemon ne perturbe pas les autres daemons. La responsabilité d'un daemon protocolaire est de : o Transférer les données envoyées par un objet connecté à la carte multi-protocolaire, et disponibles à travers le pilote correspondant, vers le système de contrôle central en utilisant la « Data Exchange Library ». o Transmettre à un objet branché sur la carte multi-protocolaire les données envoyées par le système de contrôle via le pilote correspondant. o Eventuellement incorporer les couches basses d'une pile de protocole donnée. o Annoncer la disponibilité d'une interface sur la carte multi-protocolaire au système central.F indicates one or more "protocol daemons". For each driver used on the multiprotocol board (UART, KNX, Bluetooth, ...) corresponds a daemon. In this way, a malfunction of a daemon does not disturb other daemons. The responsibility of a protocol daemon is to: o Transfer the data sent by an object connected to the multi-protocol card, and available through the corresponding driver, to the central control system using the "Data Exchange Library". o Transmit to an object connected to the multi-protocol card the data sent by the control system via the corresponding driver. o Optionally incorporate the lower layers of a given protocol stack. o Announce the availability of an interface on the multi-protocol card to the central system.
Serveur externeExternal server
Notre système permet d'utiliser les services d'un serveur externe pour partager et récupérer des informations, des modules protocolaires ou des éléments programmés. Il peut faciliter l'identification et le téléchargement de modules protocolaires appropriés et authentifiés lors de la découverte de nouveaux objets par le système.Our system makes it possible to use the services of an external server to share and retrieve information, protocol modules or programmed elements. It can facilitate the identification and download of appropriate and authenticated protocol modules when the system finds new objects.
Métalanqaqe protocolaire génériqueGeneric protocol metalarge
Pour faciliter l'interopérabilité entre les objets, nous avons créé un langage générique qui couvre les différentes fonctions, variables et instructions des protocoles de communication que l'on souhaite intégrer. Faute de terme plus explicite, nous avons appelé ce langage générique : « métalangage ». Ce métalangage facilite la translation vers et entre les couches applicatives des différents protocoles utilisés. La traduction des instructions et commandes des protocoles de communication vers et depuis le métalangage est effectuées par le biais de « module applicatifs ». Ces modules applicatifs peuvent dans certains cas se résumer à une sorte de dictionnaire bilingue qui traduit les instructions et commandes spécifiques du protocole de communication vers et depuis les instructions équivalentes du métalangage du système. L'ajout de nouveau protocole devient dés lors aisé, puisqu'il suffit de développer le « module applicatif » qui traduit les instructions spécifiques d'un protocole de communication vers le métalangage et vice-versa. Cela permet au métalangage d'interagir avec tous les objets utilisant les protocoles de communication intégrés à l'aide des modules applicatifs. Cela permet également à des objets utilisant des protocoles différents d'interagir les uns avec les autres à travers le métalangage. Cela permet un gain de temps en termes de développement et d'extension à de nouveaux protocoles. Cela a de plus un effet exponentiel sur le nombre d'interactions inter-protocolaires possibles, puisque chaque nouveau protocole, peut en principe interagir avec tous les protocoles déjà intégrés via le métalangage. Ce métalangage peut être développé de façon ad hoc en partant des protocoles visés, avec la possibilité d'un développement incrémental avec l'intégration de nouveaux protocoles et/ou l'apparition de nouvelles fonctions dans les protocoles déjà intégrés. Contrairement à un langage standardisé, il permet une grande évolutivité du système pour prendre en compte de nouvelles variables ou instructions des protocoles intégrés. Ce métalangage peut aussi être standardisé de façon dynamique et incrémentale par les utilisateurs du système, ou être personnalisé par un utilisateur particulier.To facilitate interoperability between objects, we have created a generic language that covers the various functions, variables and instructions of the communication protocols that we want to integrate. For lack of a more explicit term, we have called this generic language "metalanguage". This metalanguage facilitates the translation to and between the application layers of the different protocols used. The translation of the instructions and commands of the communication protocols to and from the metalanguage is done through "application modules". In some cases, these application modules can be summarized as a kind of bilingual dictionary that translates the specific instructions and commands of the communication protocol to and from the equivalent instructions of the system metalanguage. The addition of a new protocol then becomes easy, since it suffices to develop the "application module" which translates the specific instructions of a communication protocol to the metalanguage and vice versa. This allows the metalanguage to interact with all the objects using the integrated communication protocols using the application modules. It also allows objects using different protocols to interact with one another through metalanguage. This saves time in terms of development and extension to new protocols. This also has an exponential effect on the number of possible inter-protocol interactions, since each new protocol can in principle interact with all protocols already integrated via metalanguage. This metalanguage can be developed in an ad hoc way starting from the targeted protocols, with the possibility of an incremental development with the integration of new protocols and / or the appearance of new functions in the already integrated protocols. Unlike a standardized language, it allows a great evolution of the system to take into account new variables or instructions of integrated protocols. This metalanguage can also be dynamically and incrementally standardized by system users, or customized by a particular user.
La figure 5 indique le principe de la couche de métalangage. Sur cette figure : A indique les différents protocoles particuliers.Figure 5 shows the principle of the metalanguage layer. In this figure: A indicates the different particular protocols.
B indique des modules applicatifs qui traduisent les instructions des protocoles particuliers en instructions standardisées du métalangage.B indicates application modules that translate the instructions of the particular protocols into standard metalanguage instructions.
C indique le métalangage utilisé par le système de contrôle. D indique le système de contrôle qui utilise le métalangage.C indicates the metalanguage used by the control system. D indicates the control system that uses the metalanguage.
Par exemple, une instruction KNX « DTP_Switch » données pour allumer un appareil sera traduite par le « module applicatif KNX » en métalangage avec l'instruction équivalente « Set_0n0ff[1] ». Cette même instruction pourra aussi être retraduite par le « module applicatif X10 » en langage X10 avec l'instruction binaire pour « On »: « 00101 ».For example, a KNX instruction "DTP_Switch" given to light a device will be translated by the "KNX application module" in metalanguage with the equivalent instruction "Set_0n0ff [1]". This same instruction can also be retranslated by the "application module X10" in language X10 with the binary instruction for "On": "00101".
Métacouche du métalanqaqe (Modèle OSI +1)Metallic MetaClayer (OSI Model +1)
Si l'on se réfère au modèle des couches OSI, notre métalangage équivaut à développer une architecture avec une couche supplémentaire d'abstraction utilisant des métadonnées standardisées et qui vient au dessus de la « couche applicative » du modèle OSI. Cela permet de ramener tous les protocoles de communication dans un référentiel commun utilisé par le kernel. Cela permet de manipuler des données et des objets de façon standardisée, quel que soit le protocole de communication utilisé par les objets. Cela facilite le développement du système et l'extension à de nouveaux protocoles, en focalisant le développement sur les modules applicatifs chargés de traduire les instructions entre le protocole (couche applicative) et le métalangage.If we refer to the OSI layer model, our metalanguage is equivalent to developing an architecture with an additional layer of abstraction using standardized metadata that comes at the top of the "application layer" of the OSI model. This makes it possible to bring all the communication protocols back into a common repository used by the kernel. This allows you to manipulate data and objects in a standardized way, regardless of the communication protocol used by the objects. This facilitates the development of the system and the extension to new protocols, by focusing the development on the application modules responsible for translating the instructions between the protocol (application layer) and the metalanguage.
La figure 6 indique la dislocation des couches basses et hautes. Sur cette figure :Figure 6 shows the dislocation of the low and high layers. In this figure:
A indique les couches classiques du modèle OSIA indicates the classical layers of the OSI model
B indique la nouvelle couche de métalangage qui vient se superposer à la couche applicative. Architecture protocolaire modulaireB indicates the new layer of metalanguage that is superimposed on the application layer. Modular protocol architecture
Notre système permet de fragmenter le traitement des différentes couches (au sens du modèle OSI) d'un protocole de communication en plusieurs modules relativement indépendants et complémentaires pouvant être combinés, dont : i. des interfaces physiques permettant la connectivité avec des objets communicants ; ii. des modules protocolaires chargés de traiter dans le serveur les flux de données des protocoles de communication provenant ou à destination des interfaces physiques ; iii. des modules applicatifs chargés d'assurer la traduction des chaînes de données contenues dans les couches applicatives des différents protocoles de communication dans un référentiel commun (métalangage) et inversement, en tenant compte des spécificités de couches applicatives particulières pouvant être liées à des objets communicants particuliers ; iv. un mécanisme permettant de combiner les interfaces physiques, les modules protocolaires et les modules applicatifs de façon adéquate pour les différents objets communicants,- un même module protocolaire pouvant interagir avec plusieurs modules applicatifs et plusieurs interfaces physiques, voire avec d'autres modules protocolaires,- et les diverses combinaisons pouvant être gardées en mémoire dans une base de donnée ; v. un mécanisme pour que les instructions supportées par les modules protocolaires ou applicatifs soient enregistrées et connues par le système et permettent au système de filtrer les instructions proposées à l'utilisateur et aux éléments du système lui-même.Our system makes it possible to fragment the processing of the different layers (in the sense of the OSI model) of a communication protocol into several relatively independent and complementary modules that can be combined, including: i. physical interfaces allowing connectivity with communicating objects; ii. protocol modules responsible for processing in the server the data streams of the communication protocols originating from or intended for the physical interfaces; iii. application modules responsible for ensuring the translation of the data strings contained in the application layers of the different communication protocols into a common reference frame (metalanguage) and vice versa, taking into account the specificities of particular application layers that can be linked to particular communicating objects ; iv. a mechanism for combining the physical interfaces, the protocol modules and the application modules appropriately for the different communicating objects, - the same protocol module that can interact with several application modules and several physical interfaces, or even with other protocol modules, - and the various combinations that can be stored in a database; v. a mechanism for the instructions supported by the protocol or application modules to be recorded and known by the system and allow the system to filter the proposed instructions to the user and to the elements of the system itself.
Certains modules applicatifs peuvent se superposer. Par exemple : un module applicatif UPnP peut être relié à un module applicatif spécifique correspondant à l'objet communicant concerné. Cela permet notamment de :Some application modules may overlap. For example: an UPnP application module may be connected to a specific application module corresponding to the communicating object concerned. This allows:
• Faciliter l'extension du système à de nouveaux protocoles par le simple ajout de nouveaux modules protocolaires.• Facilitate the extension of the system to new protocols by simply adding new protocol modules.
• Faciliter la gestion d'objets hétérogènes utilisant des protocoles de communication partiellement communs, mais avec des couches applicatives différentes,- en utilisant le même module protocolaire, mais avec des modules applicatifs spécifiques.• Facilitate the management of heterogeneous objects using partially common communication protocols, but with different application layers, - using the same protocol module, but with specific application modules.
• Gérer de façon optimale les différentes combinaisons de protocoles de communication (couches hautes) et de supports physiques (couches basses) ; un même protocole pouvant être utilisé sur différents supports physiques.• Optimally manage the different combinations of communication protocols (high layers) and physical media (low layers); the same protocol can be used on different physical media.
La figure 7 indique la structure modulaire du middleware du démonstrateur. Sur cette figure :Figure 7 shows the modular structure of the demonstrator middleware. In this figure:
A indique un module applicatif dont le but est de permettre l'abstraction vers le métalangage des fonctionnalités et des données d'un ou de plusieurs types objets connectés aux différent cartes multi-protocolaires. Un module applicatif expose au kernel une liste de méthodes (p.e. heatOn, turnLightOn,...) représentant les fonctionnalités d'un objet concret (p.e. Electrovanne KNX, Lampe X10,..). Un module applicatif peut directement communiquer avec un daemon protocole d'une carte multi-protocolaire (à l'aide de la librairie Data Exchange) ou appeler des méthodes exposé par les divers modules protocolaires (B) disponibles. Les appels des méthodes peuvent être implémentés de façon synchrone (méthode avec valeur de retour) comme de façon asynchrone (appel d'une procédure avec le retour d'une ou plusieurs valeurs sous forme d'événements).A indicates an application module whose purpose is to allow the abstraction towards metalanguage functions and data of one or more types of objects connected to different multi-protocol cards. An application module exposes to the kernel a list of methods (eg heatOn, turnLightOn, ...) representing the functionalities of a concrete object (eg KNX solenoid valve, X10 lamp, ..). An application module can directly communicate with a protocol daemon of a multi-protocol card (using the Data Exchange library) or call methods exposed by the various protocol modules (B) available. Method calls can be implemented synchronously (return method) as well as asynchronously (calling a procedure with the return of one or more values as events).
B Indique un module protocolaire, dont le but est de faire l'abstraction d'une couche protocolaire donnée. Un module protocolaire expose aux modules applicatifs une liste de primitives (méthodes) nécessaires à l'exploitation du protocole. Un module applicatif peut directement communiquer avec un daemon protocole d'une carte multi-protocolaire (à l'aide de la librairie Data Exchange) ou appeler des méthodes exposé par d'autres modules protocolaires (B).B Indicates a protocol module whose purpose is to abstract a given protocol layer. A protocol module exposes to the application modules a list of primitives (methods) necessary for the operation of the protocol. An application module can directly communicate with a protocol daemon of a multi-protocol card (using the Data Exchange library) or call methods exposed by other protocol modules (B).
Remarques : Les modules applicatifs et protocolaires fonctionnent de manière identique, ils se distinguent seulement par leur niveau d'abstraction. Les modules applicatifs et protocolaires peuvent aussi directement communiquer avec des objets qui se trouvent sur le réseau auquel est connecté le système de contrôle central ainsi que les cartes multi-protocolaires.Notes: The application and protocol modules work identically, they are distinguished only by their level of abstraction. The application and protocol modules can also communicate directly with objects on the network to which the central control system is connected as well as multi-protocol cards.
C indique la librairie « Data Exchange » qui fait l'abstraction de la communication entre le système de contrôle central et les cartes multi-protocolaires. Elle est la contrepartie de la même librairie du coté carte multi-protocolaire.C indicates the "Data Exchange" library which abstracts the communication between the central control system and the multi-protocol cards. It is the counterpart of the same library on the card side multi-protocol.
D indique la librairie « Service Discovery » qui fait l'abstraction du mécanisme de détection du système de contrôle central. Elle est la contrepartie de la même librairie du coté carte multi- protocolaire.D indicates the "Service Discovery" library that abstracts from the detection mechanism of the central control system. It is the counterpart of the same library on the multi-protocol card side.
E indique la couche réseau (p.e. IPv6) auquel sont connecté le système de contrôle central et les cartes multi-protocolaires.E indicates the network layer (ie IPv6) to which the central control system and the multi-protocol cards are connected.
F indique le kernel, qui (à travers de règles et de scénarios) appelle les différentes méthodes exposées par les modules applicatifs ou protocolairesF denotes the kernel, which (through rules and scenarios) calls the different methods exposed by the application or protocol modules
G indique un gestionnaire d'événements possédant un mécanisme de publish/subscribe. Les données envoyées par les objets sont transférées vers ce gestionnaire (publish) et annotées avec un tag correspondant (p.e. RS232). Les événements sont redirigés vers tous les modules protocolaires et applicatifs qui se sont inscrit au tag correspondant (subscribe). Le module qui reconnaît l'événement s'occupe de son traitement (p.e. appelle d'une méthode, émission de nouveaux événements vers le gestionnaire, notification du kernel pour exécution de règles, ...). Si aucun module ne peut traiter l'événement (p.e. événement d'un objet inconnu), alors le gestionnaire d'événements informe le kernel de cet événement inconnu. Celui-ci consulte le server externe et télécharge/installe les modules applicatifs et protocolaires qui sont nécessaires pour le traitement de l'événement inconnu.G indicates an event handler with a publish / subscribe mechanism. The data sent by the objects are transferred to this manager (publish) and annotated with a corresponding tag (p.e. RS232). The events are redirected to all the protocol and application modules that have subscribed to the corresponding tag (subscribe). The module that recognizes the event deals with its processing (eg calls a method, sending new events to the manager, notification of the kernel for executing rules, ...). If no module can handle the event (p.e. event of an unknown object), then the event handler informs the kernel of this unknown event. This one consults the external server and downloads / installs the application and protocol modules that are necessary for the treatment of the unknown event.
H indique un module service, qui donne au kernel accès à des outils supplémentaires (p.e. envoie de SMS/Email, accès à des logiciel de réservation,...).H indicates a service module, which gives the kernel access to additional tools (eg send SMS / Email, access to reservation software, ...).
I indique le framework (de type OSGI dans l'exemple donné) qui permet le chargement, le lancement, la mise à jour et l'arrêt de modules. De cette façon, l'extensibilité et l'évolution du système de contrôle central est garanti.I indicates the framework (of the OSGI type in the given example) which allows loading, launching, updating and stopping of modules. In this way, the extensibility and evolution of the central control system is guaranteed.
La figure 8 indique la structure protocolaire modulaire du système. Sur cette figure : A indique les objets communicants utilisant différents protocoles de communication B indique les « interfaces physiques » permettant d'assurer la connectivité avec les objetsFigure 8 shows the modular protocol structure of the system. In this figure: A indicates communicating objects using different communication protocols B indicates the "physical interfaces" to ensure connectivity with objects
C indique les « modules protocolaires » permettant de traiter et de mettre en forme les données selon le standard du protocole en question. D indique les « modules applicatifs » permettant de traduire les instructions de la couche applicative vers le métalangage et vice-versa.C indicates the "protocol modules" for processing and formatting the data according to the protocol standard in question. D indicates the "application modules" allowing to translate the instructions of the application layer towards the metalanguage and vice versa.
E indique le système de contrôle qui utilise le métalangage Fonctionnement du middlewareE indicates the control system that uses metalanguage Middleware operation
Le serveur utilise un middleware pour convertir les différentes instructions et données spécifiques contenues dans les couches applicatives des différents protocoles de communication dans un métalangage commun utilisé par le noyau du dispositif (kernel), et inversement du métalangage du noyau (kernel) vers les protocoles spécifiques,- lui permettant ainsi de traiter les données liées aux objets hétérogènes dans un référentiel commun, homogène et abstrait, avec : un métalangage pouvant être considéré comme une couche supplémentaire par rapport au modèle OSI en venant se superposer aux couches dites « applicatives » des protocoles et qui permet d'intégrer les dites couches applicatives des différents protocoles dans un référentiel commun ; l'homogénéisation du format des données, des instructions et des variables au niveau du métalangage; la possibilité de faire évoluer librement le métalangage par l'ajout de nouveaux termes (ou vocables) pour tenir compte de nouvelles variables ou instructions liées à l'un ou l'autre des protocoles intégrés ; la possibilité d'étendre le métalangage à toutes sortes de variables, de protocoles et d'ontologies, au-delà d'un domaine d'application particulier ; la présence dans le middleware de modules de code qui assurent la traduction des flux de données des différents protocoles vers le métalangage et inversement, permettant l'interaction et l'interopérabilité avec et entre des objets hétérogènes utilisant différents protocoles de communication ; la transmission des données, instructions et variables entre le middleware et le noyau (kernel) en temps réel sous forme d'événements pouvant être interprétés et traités directement par le noyau et comprenant généralement : i. un identifiant de l'objet ou des objets (qui peut être par défaut l'adresse IPv6 et éventuellement le port utilisés pour communiquer avec le ou les dits objets), ii. une action formulée conformément au métalangage, iii. optionnellement un ou plusieurs paramètres ; l'utilisation du métalangage dans le dispositif pour: i. développer et appliquer des règles et des algorithmes génériques au niveau du noyau (kernel) pouvant s'appliquer à tous les objets intégrés au dispositif, indépendamment de leurs protocoles de communication spécifiques ; ii. traiter et transférer en temps réel des événements provenant d'un protocole vers un autre protocole ; iii. faciliter l'évolutivité du système, chaque nouveau protocole intégré au métalangage étant de fait capable d'interagir à travers le métalangage avec les objets des autres protocoles précédemment intégrés.The server uses a middleware to convert the different instructions and specific data contained in the application layers of the different communication protocols into a common metalanguage used by the kernel of the device, and conversely from the kernel to the specific protocols. - thus enabling it to process data related to heterogeneous objects in a common, homogeneous and abstract repository, with: a metalanguage that can be considered as an additional layer compared to the OSI model by being superimposed on the so-called "application" layers of the protocols and which makes it possible to integrate the said application layers of the different protocols into a common reference frame; homogenization of the data format, instructions and variables at the metalanguage level; the possibility of freely evolving the metalanguage by adding new terms (or words) to take into account new variables or instructions related to one or other of the integrated protocols; the possibility of extending the metalanguage to all kinds of variables, protocols and ontologies beyond a particular application domain; the presence in the middleware of code modules that ensure the translation of data streams from the different protocols to the metalanguage and vice versa, allowing interaction and interoperability with and between heterogeneous objects using different communication protocols; transmitting data, instructions and variables between the middleware and the kernel in real time as events that can be interpreted and processed directly by the kernel and generally comprising: i. an identifier of the object or objects (which may be by default the IPv6 address and possibly the port used to communicate with the one or more objects), ii. an action formulated in accordance with the metalanguage, iii. optionally one or more parameters; the use of the metalanguage in the device for: i. develop and apply generic kernel rules and algorithms that can be applied to all embedded objects, regardless of their specific communication protocols; ii. process and transfer events from one protocol to another protocol in real time; iii. facilitate the scalability of the system, each new protocol integrated metalangage is actually able to interact through the metalanguage with the objects of other previously integrated protocols.
2. Structure réseau duale2. Dual network structure
Notre système permet de déployer une architecture réseau constituée de deux zones protocolaires avec :Our system allows to deploy a network architecture consisting of two protocol areas with:
- Une zone centrale, constituée d'un réseau homogène utilisant un protocole principal, tel que IPv6 ou ΘLowPAN, utilisé notamment par le ou les serveurs du système pour communiquer avec les objets ou les cartes multi-protocolaires. Il permet d'adresser individuellement tous les éléments du système, de développer une architecture réseau décentralisée en répartissant des processus et traitement de données entre plusieurs points du réseau, et il permet à différents serveurs d'interagir simultanément avec différents capteurs, actuateurs, appareils et cartes multi- protocolaires.- A central zone, consisting of a homogeneous network using a main protocol, such as IPv6 or ΘLowPAN, used in particular by the system server (s) to communicate with objects or multi-protocol cards. It allows to individually address all elements of the system, to develop a decentralized network architecture by distributing processes and data processing between several points of the network, and it allows different servers to interact simultaneously with different sensors, actuators, devices and multi-protocol cards.
- Une zone périphérique et hétérogène constituée d'un ou de plusieurs sous-réseaux capillaires pouvant utiliser différents protocoles de communication pour s'adapter aux contraintes et aux spécificités des objets communicants visés. Cela permet de tenir compte de la portée (distance) des protocoles de communication des objets qui peut être très limitée.- A peripheral and heterogeneous area consisting of one or more capillary subareas that can use different communication protocols to adapt to the constraints and specificities of communicating objects. This makes it possible to take into account the range (distance) of the communication protocols of the objects, which can be very limited.
L'interface entre les deux espaces peut être assuré par les cartes multi-protocolaires ou par d'autres appareils permettant l'intégration des données des sous-réseaux d'objets capillaires dans le réseau central. Cette architecture permet d'optimiser la gestion du réseau central. Elle permet également de contrôler des objets ayant une portée de communication limitée depuis n'importe quelle distance en utilisant par exemple une carte multi-protocolaire accessible aux objets en question. Une telle architecture permet en outre de faire coexister plusieurs systèmes de contrôle chargés de tâches complémentaires : i. avec plusieurs serveurs disposant d'adresses IP distinctes dans la zone centrale; ii. avec des serveurs situés dans la zone périphérique et liés à des sous-systèmes ou des protocoles particuliers ;The interface between the two spaces can be provided by the multi-protocol cards or by other devices allowing the integration of the data of sub-networks of capillary objects in the central network. This architecture makes it possible to optimize the management of the central network. It also makes it possible to control objects having a limited communication range from any distance by using for example a multi-protocol card accessible to the objects in question. Such an architecture also makes it possible to coexist several control systems with complementary tasks: i. with multiple servers with separate IP addresses in the central area; ii. with servers located in the peripheral zone and linked to particular subsystems or protocols;
Le système central peut alors décider d'intervenir ou non dans la gestion des objets des sous-systèmes autonomes et pouvant servir à la mise en place d'interactions de type holonique entre les divers systèmes et/ou sous-systèmes.The central system can then decide to intervene or not in the management of autonomous subsystem objects and can be used for the implementation of holonic type interactions between the various systems and / or subsystems.
La figure 9 indique la structure duale du réseau recommandée pour le déploiement du système. Sur cette figure :Figure 9 shows the dual network structure recommended for system deployment. In this figure:
A indique le ou les systèmes de contrôleA indicates the control system (s)
B indique le réseau central relativement homogèneB indicates the relatively homogeneous central network
C indique les interfaces multi-protocolaires (carte multi-protocolaire ou appareils équivalents)C indicates the multi-protocol interfaces (multi-protocol card or equivalent devices)
D indique les réseaux périphériques relativement hétérogènes pouvant être constitués de plusieurs protocolesD denotes relatively heterogeneous peripheral networks that may consist of several protocols
E indique les objets communicants Dislocation du traitement des couches basses et des couches hautes des protocoles de communicationE indicates communicating objects Dislocation of the treatment of the low layers and the high layers of the communication protocols
Notre système permet, lorsque cela est opportun, de dissocier les lieux de traitement des couches basses et des couches hautes d'un protocole de communication. Ainsi, les couches basses d'un protocole de communication (connectivité physique) peuvent être traitées par une carte multi- protocolaire ; alors que les couches hautes (en particulier la couche applicative) peuvent être traitées par le système de contrôle central. Cela permet de limiter la taille des processus et les besoins de mises à jour en périphérie. Cela permet de d'optimiser la répartition de la charge de calcul entre le système de contrôle central et les cartes multi-protocolaires.Our system makes it possible, where appropriate, to separate the processing sites from the low and high layers of a communication protocol. Thus, the lower layers of a communication protocol (physical connectivity) can be processed by a multi-protocol card; while the upper layers (in particular the application layer) can be processed by the central control system. This makes it possible to limit the size of processes and the need for updates at the periphery. This makes it possible to optimize the distribution of the computing load between the central control system and the multi-protocol cards.
La figure 10 indique la dislocation des couches basses et hautes. Sur cette figure :Figure 10 shows the dislocation of the low and high layers. In this figure:
A indique le système de contrôle central qui gère les couches hautes des protocoles B indique la connexion réseau entre le système de contrôle et la carte-multi-protocolaire C indique la carte multi-protocolaire qui gère les couches basses des protocoles D indique les objets communicantsA indicates the central control system that manages the upper layers of the B protocols indicates the network connection between the control system and the multi-protocol card C indicates the multi-protocol card that manages the lower layers of the protocols D indicates the communicating objects
Multiplexage protocolaire :Protocol multiplexing:
Pour faciliter la gestion des flux de communication IP entre le système de contrôle central et les cartes multi-protocolaires, nous avons utilisé un multiplexage protocolaire. Les couches basses des protocoles des objets sont traitées par la carte multi-protocolaire, puis des strings sont transmis dans des paquets IP au serveur pour qu'il gère le traitement des couches hautes du protocole. Chaque protocole est transmis sur un port différent et spécifique. Cela permet d'optimiser la rapidité de traitement des communications, chaque paquet pouvant être directement routé vers le module protocolaire ou le deamon correspondant.To facilitate the management of IP communication flows between the central control system and the multi-protocol cards, we used protocol multiplexing. The lower layers of the object protocols are processed by the multi-protocol card, then strings are transmitted in IP packets to the server to handle the processing of the high layers of the protocol. Each protocol is transmitted on a different and specific port. This optimizes the speed of communication processing, each packet can be directly routed to the protocol module or the corresponding deamon.
Architecture réseau décentraliséeDecentralized network architecture
Le dispositif permet de développer une architecture décentralisée permettant de répartir des processus et traitement de données en plusieurs points du réseau central, y compris à la périphérie du réseau central. Ainsi, les cartes multi-protocolaires permettent de filtrer et de traiter certains flux d'information au niveau de la carte elle-même. Par exemple, la carte multi-protocolaire peut filtrer les informations reçues des capteurs de températures et peut décider de ne relayer vers le système de contrôle central que des variables qui ont changé ou de respecter un délai d'attente minimal entre la transmission deux variables de même type. Cela permet d'éviter que des flux d'informations superflues inondent le réseau du système de contrôle central. La carte peut également prendre en charge des règles ne requérant pas l'intervention du système de contrôle central. Par exemple : si la température est supérieure à un certain seuil, la carte multi-protocolaire pourrait donner l'ordre d'elle-même de fermer automatiquement une vanne de radiateur.The device makes it possible to develop a decentralized architecture for distributing processes and data processing at several points of the central network, including at the periphery of the central network. Thus, the multi-protocol cards make it possible to filter and process certain information flows at the level of the card itself. For example, the multi-protocol card can filter the information received from the temperature sensors and can decide to relay to the central control system only variables that have changed or to respect a minimum waiting time between the transmission of two variables of same type. This prevents superfluous information flows from flooding the network of the central control system. The card can also support rules that do not require the intervention of the central control system. For example: if the temperature is above a certain threshold, the multi-protocol card could give the order for itself to automatically close a radiator valve.
Notre système permet également de faire coexister plusieurs systèmes de contrôle en parallèle. Par exemple : un premier système de contrôle central peut être chargé de gérer la consommation énergétique et les températures des bâtiments contrôlés ; alors qu'un deuxième système de contrôle central peut être chargé de gérer les accès et la sécurité des bâtiments. Cela est d'autant plus simple que chaque système de contrôle peut disposer de sa propre adresse Internet. Par ailleurs, l'utilisation d'IPvθ permet d'assurer des connexions directes entre les systèmes de contrôle et les objets et cartes- multiprotocolaires concernés. Cela permet à différents serveurs d'interagir simultanément avec différents capteurs, actuateurs, appareils et cartes multi-protocolaires.Our system also makes it possible to coexist several control systems in parallel. For example: a first central control system may be responsible for managing the energy consumption and temperatures of controlled buildings; while a second central control system can be responsible for managing access and building security. This is all the more simple as each control system can have its own Internet address. Moreover, the use IPvθ makes it possible to ensure direct connections between the control systems and the objects and multiprotocol cards concerned. This allows different servers to interact simultaneously with different sensors, actuators, devices and multi-protocol cards.
Cette architecture réseau permet de déployer un réseau de façon beaucoup plus modulaire et flexible avec une très grand scalabilité du système. Elle permet également de faire coexister le système de contrôle et de gestion central avec des sous systèmes de contrôle et de gestion autonomes interagissant avec les objets situés en périphérie,- le système central pouvant décider d'intervenir ou non dans la gestion des objets des sous-systèmes autonomes. Cela permet également de faire coexister plusieurs systèmes de contrôle chargés de tâches complémentaires en développant des interactions de type holoniques entre les divers systèmes.This network architecture makes it possible to deploy a network in a much more modular and flexible way with a very high scalability of the system. It also makes it possible to coexist the central control and management system with autonomous control and management sub-systems interacting with peripheral objects, the central system being able to decide whether or not to intervene in the management of the sub-object. -autonomous systems. It also makes it possible to coexist several control systems with complementary tasks by developing holonic-type interactions between the various systems.
Interface Graphique intuitive et multidimensionnelleIntuitive and multidimensional graphical interface
Nous avons inventé une interface graphique intuitive multidimensionnelle. La plupart des interfaces graphiques reposent sur une architecture et une navigation en arborescence. Nous avons développé une navigation multidimensionnelle constitué de deux axes ou plus et qui permet à l'utilisateur de naviguer selon un ou plusieurs axes simultanément pour sélectionner un nombre variable d'objets ciblés. Chaque axe est composé de plusieurs niveaux de précision croissante. Plus l'utilisateur avance sur un axe en ajoutant des critères plus précis de sélection, plus il restreint la liste des objets ciblés. La navigation dans chacun des axes peut être comparée à un processus de zoom multidimensionnel. Cela permet à l'utilisateur une appréhension beaucoup plus intuitive et immédiate des objets qu'il souhaite contrôler. Ce système permet de mieux interagir avec un nombre important et hétérogène d'objets. Dans notre démonstration nous avons développé deux axes de base : o un axe typologique (quoi) permettant de sélectionner des familles ou catégories plus ou moins larges d'objets, voire des objets particuliers (par exemple : tous les appareils électriques, seulement les appareils d'éclairage, seulement les lampes de chevets, ou une lampe particulière) ; o un axe topographique (où) permettant de définir la localisation et de délimiter l'espace contenant les objets visés (par exemple : un bâtiment particulier, un étage du bâtiment, un type de pièce du bâtiment ou une pièce en particulier) ;We invented an intuitive multidimensional graphical interface. Most GUIs are based on tree architecture and navigation. We have developed a multidimensional navigation consisting of two or more axes that allows the user to navigate one or more axes simultaneously to select a variable number of targeted objects. Each axis is composed of several levels of increasing precision. The more the user advances on an axis by adding more precise criteria of selection, the more he restricts the list of targeted objects. Navigation in each of the axes can be compared to a multidimensional zooming process. This allows the user a much more intuitive and immediate apprehension of the objects he wants to control. This system makes it possible to better interact with a large and heterogeneous number of objects. In our demonstration we have developed two basic axes: o a typological axis (what) to select families or categories more or less large objects, or even specific objects (for example: all electrical devices, only devices 'lighting, only bedside lamps, or a particular lamp); o a topographical axis (where) to define the location and to delimit the space containing the objects concerned (for example: a particular building, a floor of the building, a type of room of the building or a particular room);
Par ailleurs, le système permet d'ajouter facilement des axes supplémentaires, tels que par exemple un axe personnel (qui) permettant d'adapter la sélection des objets en fonction de l'utilisateur ou un axe temporel (quand) permettant d'adapter la sélection des objets en fonction de leur état à un instant choisi. Un tel mécanisme permet à l'utilisateur d'utiliser un des axes au choix ou de combiner différents axes pour sélectionner des objets ou des groupes d'objets, facilitant ainsi l'accès aux dits objets, notamment lorsqu'ils sont intégrés dans des ensembles d'objets pouvant être volumineux, hétérogènes et/ou dispersés et devant être contrôlables à travers des interfaces intuitives et de taille réduites comme sur des appareils portables (tels que téléphones portables, télécommandes ou PDA).Furthermore, the system makes it easy to add additional axes, such as for example a personal axis (which) to adapt the selection of objects according to the user or a time axis (when) to adapt the selecting the objects according to their state at a chosen moment. Such a mechanism allows the user to use one of the axes of choice or combine different axes to select objects or groups of objects, thus facilitating access to said objects, especially when they are integrated into sets objects that can be bulky, heterogeneous and / or dispersed and that must be controllable through intuitive interfaces and small size as on portable devices (such as mobile phones, remote controls or PDAs).
Notre mécanisme permet très facilement de sélectionner des objets qui seraient difficile à sélectionner dans une approche traditionnelle en arborescence. Par exemple, pour éteindre les lampes des salles de bains du 3eme et 4eme étage de l'immeuble X. La figure 11 indique un exemple d'application de notre interface graphique multidimensionnelle. Sur cette figure :Our mechanism makes it very easy to select objects that would be difficult to select in a traditional tree approach. For example, to turn off the lights in bathrooms of the 3 rd and 4 th floor of the building X. Figure 11 shows an example of application of our multi-dimensional graphical interface. In this figure:
A1 indique la sélection d'un bâtimentA1 indicates the selection of a building
A2 indique la sélection d'un étageA2 indicates the selection of a floor
A3 indique la sélection d'un type de pièceA3 indicates the selection of a type of part
A4 indique la sélection d'une pièceA4 indicates the selection of a part
B1 indique la sélection d'une grande catégorie d'objetsB1 indicates the selection of a large category of objects
B2 indique la sélection d'une famille d'objets particulièreB2 indicates the selection of a particular family of objects
B3 indique la sélection d'un objet particulierB3 indicates the selection of a particular object
C indique une zone optionnelle d'affichage des informations sur les objets correspondant aux critères de filtreC indicates an optional area for displaying object information corresponding to the filter criteria
D indique une zone optionnelle d'affichage des actions possibles sur les objets correspondant aux critères de filtreD indicates an optional area for displaying possible actions on the objects corresponding to the filter criteria
E indique une zone optionnelle d'affichage sous forme graphique de la liste des options disponibles lorsque l'on sélectionne un des éléments d'un axe de navigation.E indicates an optional graphical display area of the list of available options when one of the elements of a navigation axis is selected.
La sélection des éléments A et B peut se faire par exemple avec de listes déroulantes ou des icônes qui apparaissent dans la zone E lorsque l'on clique sur un des éléments (A1 , A2, A3, A4, B1 , B2, etc.) et qui correspondent aux options disponibles. Pour faciliter la sélection par l'utilisateur, lorsqu'un des éléments est sélectionné, il modifie dynamiquement la liste des options des autres éléments de sélection qui en dépendent. Par exemple la sélection d'un bâtiment A1 qui ne posséderait que 2 étages modifie et limite les options disponibles en A2 à ces deux étages particuliers, et en A3 et A4 aux pièces disponibles dans le bâtiment sélectionné. L'utilisateur peut aussi directement sélectionner des choix en A2 ou en A3 sans passer par une sélection en A1. Il pourrait ainsi agir sur l'ensemble des salles de bains (A3) de tous ses bâtiments. Les différents éléments sélectionnés sont autant de critères de filtres pour sélectionner via des requêtes les objets correspondants dans la base de données du système.The selection of elements A and B can be done for example with drop-down lists or icons that appear in zone E when one of the elements (A1, A2, A3, A4, B1, B2, etc.) is clicked. and which correspond to the available options. To facilitate user selection, when one of the elements is selected, it dynamically changes the list of options for other selection elements that depend on it. For example, the selection of an A1 building with only 2 floors will modify and limit the options available in A2 on these two particular floors, and in A3 and A4 on the rooms available in the selected building. The user can also directly select choices in A2 or A3 without going through a selection in A1. It could thus act on all the bathrooms (A3) of all its buildings. The various elements selected are as many filter criteria for selecting via queries the corresponding objects in the system database.
Ce mécanisme de sélection selon plusieurs critères de filtres, est aussi utilisé par les règles et les scénarios du système pour déterminer la portée d'une action sur un ensemble d'objets donnés. Par exemple : éteindre toutes les chambres du 3eme étage. Ces critères peuvent également être sauvegardés sous forme de « cibles » prédéfinies qui peuvent être réutilisées dans les règles ou les scénarios.This selection mechanism according to several criteria of filters, is also used by the rules and the scenarios of the system to determine the range of an action on a set of given objects. For example: turn off all rooms at the 3rd floor. These criteria can also be saved as predefined "targets" that can be reused in rules or scenarios.
Utilisation d'IPvθ pour un déploiement illimitée et facilité :Using IPvθ for unlimited deployment and ease:
Le dispositifi utilise par défaut un adressage de type IPv6 (telles qu'IPvθ ou 6LoWPAN) pour faciliter l'interaction entre le ou les systèmes de contrôle et les autres éléments du réseau central. Cela permet de gérer un nombre pratiquement illimité d'objets à distance de façon sécurisée et de faciliter le déploiement du système. IPv6 nous permet notamment de :The device uses IPv6 addressing (such as IPvθ or 6LoWPAN) by default to facilitate interaction between the control system (s) and the other elements of the core network. This makes it possible to manage a virtually unlimited number of objects remotely in a secure manner and to facilitate the deployment of the system. IPv6 allows us to:
Assurer le routage des flux de données dans le réseau principal.Ensure the routing of data flows in the main network.
Disposer d'un nombre d'adresses pratiquement illimité pour les objets, ce qui permet une scalabilité pratiquement illimitée du système. Bénéficier des mécanismes d'auto-intégration de nouveaux objets qui peuvent trouver par eux- mêmes une adresse IPv6 pour s'intégrer au réseau sans requérir de configuration particulière.Have a virtually limitless number of addresses for objects, allowing virtually unlimited scalability of the system. Benefit from the self-integration mechanisms of new objects that can find an IPv6 address by themselves to integrate into the network without requiring any particular configuration.
Bénéficier des mécanismes de sécurité intégrés, tels que IPSec.Benefit from built-in security mechanisms, such as IPSec.
Bénéficier des propriétés d'IPvθ pour la mobilité des objets, qui permettent de conserver une adresse accessible indépendamment du lieu de l'objet.Benefit from the properties of IPvθ for the mobility of objects, which make it possible to keep an accessible address regardless of the object's location.
Permettre, si cela est souhaité, de rendre des éléments du système directement accessibles depuis le réseau Internet en évitant le problème des NATs et en permettant des connexions peer to peer, quelle que soit la distance ou la localisation des différents éléments du système connectés au réseau IPv6.Allow, if desired, to make elements of the system directly accessible from the Internet avoiding the problem of NATs and allowing peer-to-peer connections, regardless of the distance or location of the various elements of the system connected to the network IPv6.
Faciliter la portabilité des flux de communication sur différents supports physiques, tels que PLC (power line communication), Ethernet, fibre optique et RF (radio frequency).Facilitate the portability of communication flows on different physical media, such as PLC (power line communication), Ethernet, fiber optics and RF (radio frequency).
Améliorer l'authentification des objets et la protection des flux de communication en évitant la barrière des NATs et en utilisant les mécanismes associés à IPv6 tels qu'IPSec.Improve the authentication of objects and the protection of communication flows by avoiding the barrier of NATs and by using mechanisms associated with IPv6 such as IPsec.
Adressage IPv6 virtuel et proxy pour les objets non compatiblesVirtual IPv6 and proxy addressing for non-compatible objects
Notre système permet également d'attribuer des adresses IPv6 à des objets qui ne sont pas compatibles avec IPv6. Pour ce faire, le système dispose de quatre mécanismes : l'ajout d'un service web sur un serveur répondant à une adresse IPv6 partagée pour plusieurs objets contrôlés par le système, les objets étant instanciés par un port spécifique et/ou par un identifiant contenu dans le paquet de donnée ; l'ajout de plusieurs services web sur un serveur répondant à des adresses IPv6 différentes correspondant à des objets différents, sur la base des informations stockées dans la base de données du système ; l'utilisation d'un service web embarqué sur la carte multi-protocolaire qui assure l'interface avec un ou plusieurs objets communicants par la dite carte, les objets pouvant être instanciés par un port spécifique et/ou par un identifiant contenu dans le paquet de donnée ; l'utilisation de plusieurs services web embarqués sur la carte multi-protocolaire répondant à des adresses IPv6 différentes correspondant à des objets différents contrôlés par la dite carte.Our system also allows you to assign IPv6 addresses to objects that are not compatible with IPv6. To do this, the system has four mechanisms: the addition of a web service on a server responding to a shared IPv6 address for several objects controlled by the system, the objects being instantiated by a specific port and / or by an identifier contained in the data packet; adding several web services to a server responding to different IPv6 addresses corresponding to different objects, based on the information stored in the system database; the use of an embedded web service on the multi-protocol card which interfaces with one or more communicating objects by the said card, the objects that can be instantiated by a specific port and / or by an identifier contained in the packet data; the use of several web services embedded on the multi-protocol card responding to different IPv6 addresses corresponding to different objects controlled by said card.
La base de donnée associe une adresse IPv6 libre à l'objet visé, ou utilise l'adresse IPv6 de la carte multi-protocolaire comme adresse partagée, ou encore un service web du système de contrôle sur IPv6. Cela permet d'intégrer des objets hétérogènes non compatibles avec IPv6 dans un réseau IPv6. Notre système sert alors de proxy IPv6 pour permettre à des applications d'accéder, de contrôler et de communiquer avec ces objets via IPv6. Dé fait, cela nous permet d'étendre directement le réseau Internet à des objets archaïques ou de nature diverse qui ne sont pas prévus pour Internet.The database associates a free IPv6 address with the targeted object, or uses the IPv6 address of the multi-protocol card as a shared address, or a web service of the IPv6 control system. This makes it possible to integrate heterogeneous objects not compatible with IPv6 into an IPv6 network. Our system then serves as an IPv6 proxy to allow applications to access, control, and communicate with these objects over IPv6. In fact, this allows us to directly extend the Internet to archaic or diverse objects that are not intended for the Internet.
La figure 12 indique un exemple d'adressage IPv6 virtuel. Sur cette figure :Figure 12 shows an example of virtual IPv6 addressing. In this figure:
A indique une source cherchant à transmettre une information à l'objet X sous la forme d'un paquet IPv6.A indicates a source seeking to transmit information to object X in the form of an IPv6 packet.
B indique le webservice qui va écouter et recevoir le paquet de la source A C indique le système central qui va se charger de déterminer comment router l'information et à travers quel protocole. Le système va notamment se charger de convertir les instructions conformément à la couche applicative de l'objet visé.B indicates the webservice that will listen and receive the package from source A C indicates the central system that will be responsible for determining how to route the information and through which protocol. In particular, the system will be responsible for converting the instructions according to the application layer of the targeted object.
D indique l'envoi d'une instruction équivalente soit directement dans le protocole de l'objet X, soit via une carte multi-protocolaire E.D indicates the sending of an equivalent instruction either directly in the protocol of the object X, or via a multi-protocol card E.
E indique une carte multi-protocolaireE indicates a multi-protocol card
X et X' indiquent un objet communicant qui ne supporte pas le protocole IPv6X and X 'indicate a communicating object that does not support the IPv6 protocol
A noter que le flux peut être inverse. De même, si cela est requis, le système peut aussi assurer une communication synchrone.Note that the flow can be reversed. Similarly, if required, the system can also provide synchronous communication.
Extension des combinaisons protocolairesExtension of the protocol combinations
L'architecture modulaire permet d'utiliser des protocoles traditionnellement utilisés sur un type de support physique sur d'autres types de supports physiques. Il permet d'envisager des nouvelles combinaisons, telles que l'utilisation de couches applicatives d'un protocole sur les couches basses d'un autre protocole en combinant l'utilisation des modules protocolaires et applicatifs respectifs. .The modular architecture makes it possible to use protocols traditionally used on one type of physical medium on other types of physical media. It makes it possible to envisage new combinations, such as the use of application layers of a protocol on the lower layers of another protocol by combining the use of the respective protocol and application modules. .
Optimisation de la gestion énergétiqueOptimization of energy management
Les environnements bâtis sont complexes, fragmentés et hétérogènes. Notre système permet de gérer de façon beaucoup plus holistique la consommation énergétique de bâtiments. Il permet d'intégrer les différents paramètres et sources d'information dans un cadre de référence commun et d'agir sur l'ensemble des objets et appareils communicants supportés par le système en faisant abstraction du fait qu'ils utilisent différents protocoles de communication. Il permet d'appliquer des règles transversales qui intègrent l'ensemble de ces éléments.Built environments are complex, fragmented and heterogeneous. Our system makes it possible to manage the energy consumption of buildings much more holistically. It makes it possible to integrate the various parameters and sources of information into a common reference frame and to act on all the communicating objects and devices supported by the system while ignoring the fact that they use different communication protocols. It allows you to apply cross-sectional rules that integrate all of these elements.
Notre système permet notamment de gérer la température de locaux selon plusieurs courbes de températures en parallèle. Il permet par exemple d'attribuer à la même pièce :Our system makes it possible to manage the room temperature according to several temperature curves in parallel. It allows for example to assign to the same room:
Une courbe de température T1 de référence lorsque la pièce n'est pas sensée être utilisée ;A reference T1 temperature curve when the part is not supposed to be used;
Une courbe de référence T2 lorsque la pièce est sensée être utilisée, mais qu'aucune présence humaine n'est détectée ;A T2 reference curve when the part is supposed to be used, but no human presence is detected;
Une troisième courbe de référence T3 lorsqu'une présence humaine est détectée dans la pièce.A third reference curve T3 when a human presence is detected in the room.
La deuxième courbe (T2) permet de trouver un compromis entre le potentiel d'économie d'énergie et l'inertie thermique de la pièce qui requiert de ne pas avoir une température trop basse pour permettre à la pièce d'atteindre assez rapidement une température satisfaisante (T3, température de confort requise) lorsqu'une personne y entre. Une telle approche permet de réduire la consommation énergétique du bâtiment.The second curve (T2) makes it possible to find a compromise between the energy-saving potential and the thermal inertia of the part, which requires not having a temperature too low to allow the part to reach a temperature relatively quickly. satisfactory (T3, comfort temperature required) when a person enters it. Such an approach reduces the energy consumption of the building.
Notre système permet d'enrichir ces algorithmes de façon quasiment illimitée. Nous pouvons par exemple intégrer dans les règles des dérogations, ou des adaptations des courbes, si l'utilisateur a indiqué au système qu'il souhaitait une température différente à celle proposée initialement par les courbes préprogrammées. Nous pouvons également prévoir des courbes personnalisées pour un utilisateur particulier. Ce mécanisme peut s'appliquer à de nombreux domaines tels que l'hôtellerie et la gestion des bâtiments. La figure 13 indique un exemple appliqué de gestion des courbes de températures selon plusieurs paramètres. Sur cette figure :Our system makes it possible to enrich these algorithms in an almost unlimited way. For example, we can incorporate derogations, or adaptations of the curves, into the rules if the user has indicated to the system that he wants a temperature different from that proposed initially by the preprogrammed curves. We can also provide custom curves for a particular user. This mechanism can be applied to many areas such as hospitality and building management. Figure 13 shows an applied example of managing temperature curves according to several parameters. In this figure:
C indique le système de contrôle centralC indicates the central control system
S indique un ou plusieurs capteurs de températureS indicates one or more temperature sensors
P indique un ou plusieurs capteurs de présenceP indicates one or more presence sensors
O indique un ou plusieurs capteurs d'ouverture de porteO indicates one or more door opening sensors
V indique un ou plusieurs actuateurs de température, tels que des électrovannesV indicates one or more temperature actuators, such as solenoid valves
R indique les règles de gestion du systèmeR indicates the system management rules
E indique des sources de données complémentaires sur le statut de la chambre, telles que planning d'occupation, check in et check out.E indicates additional sources of data on the status of the room, such as occupancy schedule, check in and check out.
Dans notre exemple, le système de contrôle central va adapter la température de la pièce contrôlée, telle que des chambres d'hôtel ou des bureaux, selon trois statuts (S1 : inoccupée ; S2 occupation prévue, mais pas de présence détectée ; S3 présence humaine détectée) avec pour chaque statut, une courbe de températures de référence (respectivement T1 : température minimale, T2 : température intermédiaire et T3 : température de confort). Le système de contrôle détermine à partir de la source d'information E (tel que planning d'utilisation, système de réservation, etc.) si la pièce est sensée être utilisée (S2 ou S3) ou non (S1 ). Si un capteur de présence détecte une présence humaine, le statut passe de S2 à S3. Si le capteur d'ouverture de porte est activé, le système prend en considération que la pièce s'est peut-être vidée et remet le statut en S2 jusqu'à ce qu'une présence soit détectée (si quelqu'un est resté dans la pièce par exemple). S'il s'agit d'un hôtel, le check out du client met automatiquement le statut en S1 si aucune arrivée n'est prévue à court terme. Parallèlement, le système connaît la température de la pièce grâce au capteur S et peut fermer l'actuateur V si la température est supérieure à la température de référence ou ouvrir la vanne si elle est inférieure. Le système de contrôle permet de rédiger des règles de différentes manières, par exemple avec l'introduction de marges dans la comparaison des températures de référence (par exemple : n'agir que si l'écart est supérieur à X0C) , ou des mécanismes de proportionnalité dans l'action sur la vanne (par exemple : ouverture de X% par degré d'écart), etc.In our example, the central control system will adjust the temperature of the controlled room, such as hotel rooms or offices, according to three statuses (S1: unoccupied, S2 expected occupancy, but no presence detected, S3 human presence detected) with for each status, a reference temperature curve (respectively T1: minimum temperature, T2: intermediate temperature and T3: comfort temperature). The control system determines from the information source E (such as schedule of use, reservation system, etc.) whether the piece is supposed to be used (S2 or S3) or not (S1). If a presence sensor detects a human presence, the status changes from S2 to S3. If the door open sensor is activated, the system takes into consideration that the room may have been emptied and return the status to S2 until a presence is detected (if someone has remained in the room). the piece for example). In the case of a hotel, the check out of the client automatically sets the status to S1 if no arrival is planned in the short term. At the same time, the system knows the room temperature thanks to sensor S and can close actuator V if the temperature is higher than the reference temperature or open the valve if it is lower. The control system makes it possible to write rules in different ways, for example with the introduction of margins in the comparison of the reference temperatures (for example: to act only if the difference is greater than X 0 C), or proportionality mechanisms in the action on the valve (for example: opening of X% per degree of deviation), etc.
Interaction avec le réseau électriqueInteraction with the electricity network
Notre système permet également d'interagir avec des services externes. Il permet, par exemple, de gérer la consommation énergétique d'un bâtiment en fonction de l'état de la demande ou du prix de l'énergie sur le réseau. Nous pouvons ainsi récupérer les informations sur le prix de l'énergie sur un marché donné, via par exemple un module service qui questionne un service web d'une bourse de commerce de l'énergie, et utiliser cette information pour adapter la gestion énergétique des bâtiments contrôlés par le système. Le système peut réduire la consommation lors des périodes de fortes demandes sur le réseau et consommer d'avantage lors des périodes de faibles demandes. Cela permet d'optimiser la consommation énergétique par rapport à la demande sur le réseau, y compris si le fournisseur d'énergie n'offre aucun service dans ce domaine. Cela permet aussi d'envisager de nouveaux modèles facturation dynamique en fonction de la demande sur le marché, en évitant l'influence des distributeurs d'énergie et autres intermédiaires. Le cas échéant, le système peut ainsi optimiser la facture énergétique par rapport à une facturation dynamique calculée sur un coût variable dans le temps. Il peut aussi servir à optimiser le prix de vente de l'énergie des producteurs d'énergie et des bâtiments positifs (ayant des sources d'énergies renouvelables). Enfin, le prix de l'énergie étant généralement fortement corrélé à l'état de la demande, notre système peut contribuer à résoudre le problème des pics de demande sur le réseau énergétique en générant un comportement anticyclique par rapport à l'évolution de la demande sur le réseau. Notre système peut ainsi contribuer à atténuer le problème des pics de demande, sans nécessité d'adaptation du réseau électrique.Our system also allows you to interact with external services. It allows, for example, to manage the energy consumption of a building according to the state of the demand or the price of the energy on the network. We can thus retrieve information on the price of energy in a given market, for example via a service module that questions a web service of an energy trading exchange, and use this information to adapt the energy management of energy markets. buildings controlled by the system. The system can reduce consumption during periods of high demand on the network and consume more during periods of low demand. This makes it possible to optimize energy consumption in relation to the demand on the network, even if the energy supplier does not offer any services in this area. This also makes it possible to consider new dynamic billing models based on market demand, avoiding the influence of energy distributors and other intermediaries. If so, the system can optimize the energy bill compared to a dynamic billing calculated on a variable cost over time. It can also be used to optimize the selling price of energy from energy producers and positive buildings (with renewable energy sources). Finally, since the price of energy is generally strongly correlated with the state of demand, our system can help to solve the problem of demand peaks on the energy grid by generating counter-cyclical behavior in relation to the evolution of demand. on the network. Our system can thus help to mitigate the problem of demand peaks, without the need to adapt the electricity network.
La figure14 indique un schéma d'interaction possible entre un bâtiment positif géré par notre système de contrôle et le réseau électrique. Sur cette figure :Figure 14 shows a possible interaction scheme between a positive building managed by our control system and the power grid. In this figure:
R indique le réseau énergétique régionalR indicates the regional energy network
F indique le fournisseur d'énergieF indicates the energy supplier
B indique le ou les bâtiments qui consomment et éventuellement produisent de l'énergieB indicates the building or buildings that consume and possibly produce energy
M indique le prix du marché de l'énergie dont dépend le réseau et qui est transmis au système de contrôle central. Le prix M peut par exemple être mis à disposition par le biais d'un webservice utilisé par le système de contrôle central. Il peut aussi être transmis directement au système de contrôle central dés qu'un changement a lieu sur le marché, afin de permettre une mise à jour en temps réel.M indicates the market price of the energy on which the network depends and which is transmitted to the central control system. The price M can for example be made available via a web service used by the central control system. It can also be transmitted directly to the central control system as soon as a change takes place on the market, in order to allow an update in real time.
C indique le système de contrôle central qui peut adapter le comportement des actuateurs dans le bâtiment en fonction du prix du marché. Il suffit pou cela d'écrire des règles en fonction du prix de l'énergie.C indicates the central control system that can adapt the behavior of the actuators in the building according to the market price. It suffices for it to write rules according to the price of energy.
Lorsque le système de contrôle central reçoit un prix M supérieur à un certain montant, il peut décider de réduire la consommation énergétique dans les bâtiments gérés (B). Il peut par exemple interrompre certains appareils utilisant l'énergie en question (chauffage, climatisation, machines à laver ou à sécher, etc.). Dés que la température M descend au dessous d'un certain seuil, il peut réenclencher les appareils qui avaient été arrêtés. Si nécessaire, il peut aussi décider de limiter certaines interruptions dans le temps, même si le prix reste élevé (pour une chambre froide par exemple). Le système peut aussi prendre en compte des événements passés pour anticiper des pics de demande cycliques et par exemple accroître le chauffage ou le refroidissement d'une pièce avant la période de pointe.When the central control system receives a price M greater than a certain amount, it may decide to reduce the energy consumption in the buildings under management (B). For example, it may interrupt some appliances that use the energy in question (heating, air conditioning, washing or drying machines, etc.). As soon as the temperature M falls below a certain threshold, it can reset the devices that had been stopped. If necessary, it may also decide to limit certain interruptions in time, even if the price remains high (for a cold room for example). The system can also take into account past events to anticipate cyclical demand peaks and for example increase the heating or cooling of a room before the peak period.
Actuateurs et senseurs IPv6, et Interfaces multi-protocolaires intégréesIPv6 Sensors and Sensors, and Integrated Multi-Protocol Interfaces
Notre système de contrôle peut interagir directement avec des capteurs, des actuateurs et des appareils de type IPv6. Il permet ainsi d'utiliser des interrupteurs contrôlé par un petit contrôleur IPv6 et pouvant communiquer avec le système via PLC (power line communication) ou via d'autres supports physiques (IEEE 802.15.4, Ethernet, etc.). Par ailleurs, ces actuateurs peuvent intégrer des capteurs, tels que des capteurs de température et de présence. La combinaison IPv6 avec PLC permet de faciliter le déploiement des éléments de contrôle dans un bâtiment existant avec un nombre d'objets pratiquement illimité.Our control system can interact directly with sensors, actuators and IPv6 devices. It allows the use of switches controlled by a small IPv6 controller and can communicate with the system via PLC (power line communication) or other physical media (IEEE 802.15.4, Ethernet, etc.). In addition, these actuators can integrate sensors, such as temperature and presence sensors. The combination IPv6 with PLC facilitates the deployment of control elements in an existing building with a virtually unlimited number of objects.
La figure15 indique un exemple d'actuateur - senseur IPv6 facilement déployable. Sur cette figure : S indique le système de contrôle central L indique la connexion entre le dispositif et le système de contrôle central. Cette connexion peut être par défaut la ligne électrique elle-même via IPv6 sur PLC, mais alternativement via d'autres supports physiques tels que 802.15.4 de préférence avec 6LoWPAN.Figure 15 shows an example of an easily deployable IPv6 sensor actuator. In this figure: S indicates the central control system L indicates the connection between the device and the central control system. This connection can be by default the power line itself via IPv6 on PLC, but alternatively via other physical media such as 802.15.4 preferably with 6LoWPAN.
P indique l'interface physique du dispositif (PLC, 802.15.4 ou autre)P indicates the physical interface of the device (PLC, 802.15.4 or other)
W indique le module IP permettant de gérer les paquets IP entre le dispositif et le système de contrôle central. Ce module peut également effectuer des services de filtrage des adresses et des ports de communication.W indicates the IP module for managing IP packets between the device and the central control system. This module can also perform address filtering services and communication ports.
C indique le contrôleur qui gère notamment le niveau applicatif des paquets.C indicates the controller which manages in particular the application level of the packets.
D indique des capteursD indicates sensors
E indique des actuateurs, tels que relais électrique.E indicates actuators, such as electrical relays.
Ce dispositif, permet de déployer très facilement un système de gestion domotique dans un bâtiment existant sans requérir de câblage supplémentaire. This device makes it possible to easily deploy a home automation system in an existing building without requiring additional wiring.

Claims

REVENDICATIONS
1. Système d'accès, de contrôle et de gestion d'objets communicants hétérogènes caractérisé par le fait que : le système comprend au moins un serveur relié à au moins une mémoire de données; le système comprend au moins une interface multi-protocolaire connectée au serveur qui permet une connectivité avec lesdits objets communicants hétérogènes pouvant utiliser différents protocoles de communication,- cette ou ces interfaces pouvant être dissociées physiquement du ou des serveurs tout en restant connectées aux serveurs par le biais d'un protocole principal; le serveur utilise un protocole principal, qui est par défaut IPv6 ou ΘLowPAN, pour adresser et communiquer à distance avec la ou les interfaces multi-protocolaires et/ou directement avec des objets communicants comprenant le protocole principal; le système utilise un métalangage qui permet de ramener les informations et instructions spécifiques transmises par les différents protocoles de communication dans un langage commun avec une ontologie commune, permettant ainsi une forme d'abstraction des objets hétérogènes utilisant différents protocoles en les ramenant dans un référentiel commun, - rendant ainsi possible une forme d'interopérabilité entre les objets ainsi que la définition et l'application de règles ou algorithmes applicables par le système de façon transversale à des objets hétérogènes; le système utilise une architecture modulaire et le métalangage pour faciliter l'intégration de nouveaux protocoles de communication au système, chaque nouveau protocole permettant dés lors d'interagir à travers le métalangage avec des objets communicants de tous les autres protocoles déjà installés ; le système comprend des moyens de gestion pour gérer de façon intégrée des informations et des objets hétérogènes qui utilisent différents protocoles de communication, y compris des protocoles non compatible avec Internet, sans requérir d'adaptation particulière du côté des objets ; le système permet l'utilisation d'une interface graphique utilisateur commune pour l'ensemble des objets hétérogènes gérés par le dit système; le système comprend des moyens de gestion de l'énergie desdits objets communicants permettant ainsi une gestion optimale de l'énergie dudit système ; le système facilite le déploiement, l'intégration, le monitoring, le contrôle, l'accès, la manipulation, l'interopérabilité, la scalabilité, la gestion et l'économie d'énergie ; le système permet d'intégrer des objets communicants divers, y compris des objets communicants rudimentaires non prévus pour communiquer sur Internet, dans un réseau de type IPv6.1. A system for accessing, controlling and managing heterogeneous communicating objects, characterized in that: the system comprises at least one server connected to at least one data memory; the system comprises at least one multi-protocol interface connected to the server that allows connectivity with said heterogeneous communicating objects that can use different communication protocols, - this or these interfaces can be physically separated from the server or servers while remaining connected to the servers by the through a main protocol; the server uses a main protocol, which is IPv6 or ΘLowPAN by default, to address and communicate remotely with the multi-protocol interface (s) and / or directly with communicating objects including the main protocol; the system uses a metalanguage which makes it possible to bring back the specific information and instructions transmitted by the different communication protocols in a common language with a common ontology, thus allowing a form of abstraction of the heterogeneous objects using different protocols by bringing them back into a common frame of reference - thus making possible a form of interoperability between objects as well as the definition and application of rules or algorithms applicable by the system transversely to heterogeneous objects; the system uses a modular architecture and metalanguage to facilitate the integration of new communication protocols to the system, each new protocol allowing to interact through the metalanguage with communicating objects of all the other protocols already installed; the system comprises management means for integrated management of heterogeneous information and objects that use different communication protocols, including non-Internet compatible protocols, without requiring special adaptation on the object side; the system allows the use of a common graphical user interface for the set of heterogeneous objects managed by the said system; the system comprises means for managing the energy of said communicating objects thus allowing optimum management of the energy of said system; the system facilitates deployment, integration, monitoring, control, access, manipulation, interoperability, scalability, management and energy saving; the system makes it possible to integrate various communicating objects, including rudimentary communicating objects not intended to communicate on the Internet, in an IPv6 type network.
2. Système selon revendication 1 caractérisé en ce qu'il comprend une architecture modulaire et des moyens qui permettent de facilement intégrer de nouveaux éléments de codes pour faciliter révolution du système, lesdits éléments de codes étant chargés dans la mémoire de données dudit système, le système comprenant: un framework de type OSGI (ou équivalent) pour faciliter la gestion et l'intégration de nouveaux modules ou autres éléments de code, sans devoir interrompre le système ; des modules de service permettant d'ajouter des nouvelles fonctionnalités pour l'utilisateur ; des moyens pour fragmenter le traitement des différentes couches (au sens du modèle OSI) d'un protocole de communication en plusieurs modules relativement indépendants et complémentaires pouvant être combinés, dont : i. des interfaces physiques permettant la connectivité avec des objets communicants ; ii. des modules protocolaires chargés de traiter dans le serveur les flux de données des protocoles de communication provenant ou à destination des interfaces physiques ; iii. des modules applicatifs chargés d'assurer la traduction des chaînes de données contenues dans les couches applicatives des différents protocoles de communication dans un référentiel commun (métalangage) et inversement, en tenant compte des spécificités de couches applicatives particulières pouvant être liées à des objets communicants particuliers ; iv. un mécanisme permettant de combiner les interfaces physiques, les modules protocolaires et les modules applicatifs de façon adéquate pour les différents objets communicants,- un même module protocolaire pouvant interagir avec plusieurs modules applicatifs et plusieurs interfaces physiques, voire avec d'autres modules protocolaires,- et les diverses combinaisons pouvant être gardées en mémoire dans une base de donnée ; v. un mécanisme pour que les instructions supportées par les modules protocolaires ou applicatifs soient enregistrées et connues par le système et permettent au système de filtrer les instructions proposées à l'utilisateur et aux éléments du système lui-même.2. System according to claim 1 characterized in that it comprises a modular architecture and means that can easily integrate new code elements to facilitate system revolution, said code elements being loaded into the data memory of said system, the system comprising: a framework of the OSGI type (or equivalent) for facilitating the management and integration of new modules or other code elements, without having to interrupt the system; service modules for adding new features to the user; means for fragmenting the processing of the different layers (in the sense of the OSI model) of a communication protocol into several relatively independent and complementary modules that can be combined, of which: i. physical interfaces allowing connectivity with communicating objects; ii. protocol modules responsible for processing in the server the data streams of the communication protocols originating from or intended for the physical interfaces; iii. application modules responsible for ensuring the translation of the data strings contained in the application layers of the different communication protocols into a common reference frame (metalanguage) and vice versa, taking into account the specificities of particular application layers that can be linked to particular communicating objects ; iv. a mechanism for combining the physical interfaces, the protocol modules and the application modules appropriately for the different communicating objects, - the same protocol module that can interact with several application modules and several physical interfaces, or even with other protocol modules, - and the various combinations that can be stored in a database; v. a mechanism for the instructions supported by the protocol or application modules to be recorded and known by the system and allow the system to filter the proposed instructions to the user and to the elements of the system itself.
3. Système selon un des revendications 1 à 2 caractérisé par ce que le serveur utilise un middleware pour convertir les différentes instructions et données spécifiques contenues dans les couches applicatives des différents protocoles de communication dans un métalangage commun utilisé par le noyau du dispositif (kernel), et inversement du métalangage du noyau (kernel) vers les protocoles spécifiques,- lui permettant ainsi de traiter les données liées aux objets hétérogènes dans un référentiel commun, homogène et abstrait, avec :3. System according to one of claims 1 to 2 characterized in that the server uses a middleware to convert the different instructions and specific data contained in the application layers of the different communication protocols in a common metalanguage used by the kernel of the device (kernel) and, conversely, the metalanguage of the kernel (kernel) to the specific protocols, allowing it to process data related to heterogeneous objects in a common, homogeneous and abstract repository, with:
- un métalangage pouvant être considéré comme une couche supplémentaire par rapport au modèle OSI en venant se superposer aux couches dites « applicatives » des protocoles et qui permet d'intégrer les dites couches applicatives des différents protocoles dans un référentiel commun ;a metalanguage that can be considered as an additional layer compared to the OSI model by being superimposed on the so-called "application" layers of the protocols and that makes it possible to integrate the said application layers of the different protocols into a common reference frame;
- l'homogénéisation du format des données, des instructions et des variables au niveau du métalangage; - la possibilité de faire évoluer librement le métalangage par l'ajout de nouveaux termes (ou vocables) pour tenir compte de nouvelles variables ou instructions liées à l'un ou l'autre des protocoles intégrés ;- the homogenization of the data format, the instructions and the variables at the metalanguage level; the possibility of freely evolving the metalanguage by adding new terms (or words) to take into account new variables or instructions related to one or other of the integrated protocols;
- la possibilité d'étendre le métalangage à toutes sortes de variables, de protocoles et d'ontologies, au-delà d'un domaine d'application particulier ;- the possibility of extending the metalanguage to all kinds of variables, protocols and ontologies, beyond a particular field of application;
- la présence dans le middleware de modules de code qui assurent la traduction des flux de données des différents protocoles vers le métalangage et inversement, permettant l'interaction et l'interopérabilité avec et entre des objets hétérogènes utilisant différents protocoles de communication ;- the presence in the middleware of code modules that ensure the translation of data flows from different protocols to metalanguage and vice versa, allowing interaction and interoperability with and between heterogeneous objects using different communication protocols;
- la transmission des données, instructions et variables entre le middleware et le noyau (kernel) en temps réel sous forme d'événements pouvant être interprétés et traités directement par le noyau et comprenant généralement : i. un identifiant de l'objet ou des objets (qui peut être par défaut l'adresse IPv6 et éventuellement le port utilisés pour communiquer avec le ou les dits objets), ii. une action formulée conformément au métalangage, iii. optionnellement un ou plusieurs paramètres ; l'utilisation du métalangage dans le dispositif pour: i. développer et appliquer des règles et des algorithmes génériques au niveau du noyau (kernel) pouvant s'appliquer à tous les objets intégrés au dispositif, indépendamment de leurs protocoles de communication spécifiques ; ii. traiter et transférer en temps réel des événements provenant d'un protocole vers un autre protocole ; iii. faciliter l'évolutivité du système, chaque nouveau protocole intégré au métalangage étant de fait capable d'interagir à travers le métalangage avec les objets des autres protocoles précédemment intégrés.- The transmission of data, instructions and variables between the middleware and the kernel in real time as events that can be interpreted and processed directly by the kernel and generally comprising: i. an identifier of the object or objects (which may be by default the IPv6 address and possibly the port used to communicate with the one or more objects), ii. an action formulated in accordance with the metalanguage, iii. optionally one or more parameters; the use of the metalanguage in the device for: i. develop and apply generic kernel rules and algorithms that can be applied to all embedded objects, regardless of their specific communication protocols; ii. process and transfer events from one protocol to another protocol in real time; iii. facilitate the scalability of the system, each new protocol integrated metalangage is actually able to interact through the metalanguage with the objects of other previously integrated protocols.
4. Système selon une des revendications 1 à 3 caractérisé par ce qu'il comprend une architecture réseau constituée de deux zones protocolaires avec : une zone centrale, constituée d'un réseau homogène utilisant un protocole principal, tel que IPv6 ou ΘLowPAN, utilisé notamment par le ou les serveurs du système, permettant de : i. adresser individuellement tous les éléments du système ; ii. développer une architecture réseau décentralisée en répartissant des processus et traitement de données entre plusieurs points du réseau ; iii. à différents serveurs d'interagir simultanément avec différents capteurs, actuateurs, appareils et cartes multi-protocolaires ; une zone périphérique et hétérogène constituée d'un ou de plusieurs sous-réseaux capillaires pouvant utiliser différents protocoles de communication; des éléments, tels que des cartes multi-protocolaires, qui assurent la connectivité physique entre les deux zones ; la possibilité de faire coexister plusieurs systèmes de contrôle chargés de tâches complémentaires : i. avec plusieurs serveurs disposant d'adresses IP distinctes dans la zone centrale; ii. avec des serveurs situés dans la zone périphérique et liés à des sous-systèmes ou des protocoles particuliers ; le système central pouvant décider d'intervenir ou non dans la gestion des objets des sous- systèmes autonomes et pouvant servir à la mise en place d'interactions de type holonique entre les divers systèmes et/ou sous-systèmes.4. System according to one of claims 1 to 3 characterized in that it comprises a network architecture consisting of two protocol areas with: a central zone consisting of a homogeneous network using a main protocol, such as IPv6 or ΘLowPAN, used in particular by the system server (s), allowing: i. individually address all elements of the system; ii. develop a decentralized network architecture by distributing processes and data processing between several points of the network; iii. to different servers to interact simultaneously with different sensors, actuators, devices and multi-protocol cards; a heterogeneous peripheral zone consisting of one or more capillary subareas that can use different communication protocols; elements, such as multi-protocol cards, that provide physical connectivity between the two zones; the possibility of coexisting several control systems with complementary tasks: i. with multiple servers with separate IP addresses in the central area; ii. with servers located in the peripheral zone and linked to particular subsystems or protocols; the central system may decide to intervene or not in the management of autonomous subsystem objects and can be used for the implementation of holonic type interactions between the various systems and / or subsystems.
5. Système selon une des revendications 1 à 4, caractérisé en ce qu'il comprend des moyens pour dissocier le lieu de traitement des couches basses et des couches hautes des protocoles de communication (selon le modèle OSI), ce qui permet notamment d'assurer une connectivité physique de proximité avec les objets communicants et un traitement centralisé des couches applicatives au niveau du ou des contrôleurs, quelles que soient la localisation et la distance des dits objets, avec: l'utilisation d'adresses de type IPv6 (telles qu'IPvθ ou 6LoWPAN) pour le transfert des données entre les différents lieux de traitement des flux de données protocolaires ; la possibilité d'utiliser un multiplexage protocolaire, tel que l'utilisation des ports de communication (TCP, UDP ou autre), pour faciliter et accélérer la transmission, le routage et le traitement des flux de données entre la périphérie (interfaces multi-protocolaires ou autres appareils) et le ou les contrôleurs centraux ;5. System according to one of claims 1 to 4, characterized in that it comprises means for dissociating the place of treatment of the low layers and high layers of the communication protocols (according to the OSI model), which allows in particular to provide close physical connectivity with the communicating objects and centralized processing of the application layers at the level of the controller or controllers, regardless of the location and distance of said objects, with: the use of IPv6 type addresses (such as 'IPvθ or 6LoWPAN) for the transfer of data between the different processing points of the protocol data flows; the possibility of using a protocol multiplexing, such as the use of communication ports (TCP, UDP or other), to facilitate and accelerate the transmission, routing and processing of data flows between the periphery (multi-protocol interfaces or other apparatus) and the central controller (s);
6. Système selon une des revendications 1 à 5, caractérisé en ce qu'il utilise par défaut des adresses de type IPv6 (telles qu'IPvθ ou 6LoWPAN) pour adresser et faciliter l'interaction entre les différents éléments du système déployé pour : assurer le routage des flux de données ; pouvoir adresser directement les divers éléments du système avec des adresses IP individuelles, y compris par le biais d'adresses IPv6 pouvant être attribuées par le système à des objets non compatibles avec Internet ; faciliter le déploiement et l'intégration des éléments du système, grâce aux mécanismes d'auto-identification de l'adresse IP fournis par IPv6 ; assurer la scalabilité du système avec un nombre pratiquement illimité d'adresses disponibles, permettant un déploiement quasiment illimité de réseau d'objets communicants et une intégration universelle des objets, des services et des personnes; permettre, si cela est souhaité, de rendre des éléments du système directement accessibles depuis le réseau Internet en évitant le problème des NATs et en permettant des connexions peer to peer, quelle que soit la distance ou la localisation des différents éléments du système connectés au réseau IPv6; faciliter la portabilité des flux de communication sur différents supports physiques, tels que PLC (power line communication), Ethernet, fibre optique et RF (radio frequency).; améliorer l'authentification des objets et la protection des flux de communication en évitant la barrière des NATs, en utilisant les mécanismes associés à IPv6 tels qu'IPSec, ainsi qu'en utilisant les adresses IPv6 et les ports comme critères de filtre des flux entrants et sortants.6. System according to one of claims 1 to 5, characterized in that it uses IPv6 type addresses (such as IPvθ or 6LoWPAN) to address and facilitate the interaction between the various elements of the system deployed to: routing of data flows; Ability to directly address the various elements of the system with individual IP addresses, including IPv6 addresses that can be assigned by the system to objects not compatible with the Internet; Facilitate the deployment and integration of system components, through the IPv6 self-identification mechanisms provided by IPv6 scalability of the system with a virtually unlimited number of available addresses, allowing for virtually unlimited networking of communicating objects and universal integration of objects, services and people; allow, if desired, to make elements of the system directly accessible from the Internet avoiding the problem of NATs and allowing peer-to-peer connections, regardless of the distance or location of the various elements of the system connected to the network IPv6; facilitate the portability of communication flows on different physical media, such as PLC (power line communication), Ethernet, fiber optics and RF (radio frequency) .; improve object authentication and protection of communication flows by avoiding the NAT barrier, using IPv6-related mechanisms such as IPsec, and using IPv6 addresses and ports as filter criteria for incoming flows and outgoing.
7. Système selon une des revendications 1 à 6 caractérisé en ce qu'il utilise un métalangage commun pour intégrer dans un même serveur des objets hétérogènes utilisant différents protocoles de communication, permettant ainsi de : résoudre des problèmes d'interopérabilité entre des objets utilisant différents protocoles de communication en leur permettant d'interagir les uns avec les autres à travers le système; appliquer des règles de gestion et des algorithmes aux objets domotiques en faisant abstraction des spécificités des protocoles sous-jacents grâce aux variables et instructions homogènes de la couche abstraite définies dans le métalangage; lancer des processus de découverte des nouveaux objets en scannant les différents protocoles disponibles, y compris pour rechercher des objets qui ne disposent pas de mécanismes plug and play ; donner la liberté à l'utilisateur de valider les nouveaux objets découverts avant qu'ils ne soient intégrés dans son réseau d'objets ; faciliter l'évolutivité et la maintenance du système ; intégrer des objets utilisant des protocoles de communication anciens ou limités, dans des architectures et des systèmes protocolaires plus évolués.7. System according to one of claims 1 to 6 characterized in that it uses a common metalanguage to integrate into the same server heterogeneous objects using different communication protocols, thus: solving interoperability problems between objects using different communication protocols by allowing them to interact with each other across the system; apply management rules and algorithms to domotic objects by abstracting the specificities of the underlying protocols with the homogeneous variables and instructions of the abstract layer defined in the metalanguage; launch processes for discovering new objects by scanning the various available protocols, including searching for objects that do not have plug and play mechanisms; give the user the freedom to validate the new objects discovered before they are integrated into his network of objects; facilitate the scalability and maintenance of the system; integrate objects using old or limited communication protocols into more advanced protocol architectures and systems.
8. Système selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend des moyens pour utiliser un serveur tiers pour le partage et/ou la mise à jour d'informations ou d'éléments de programmes, tels que des drivers, des modules protocolaires, des règles ou des algorithmes, comprenant : la possibilité pour les utilisateurs de partager des ressources ou de faire des développements collectifs ; la possibilité d'utiliser le serveur externe pour faciliter la maintenance des systèmes ; la possibilité d'utiliser le serveur externe pour offrir des services.8. System according to one of claims 1 to 7, characterized in that it comprises means for using a third party server for sharing and / or updating information or program elements, such as drivers, protocol modules, rules or algorithms, including: the ability for users to share resources or make collective developments; the ability to use the external server to facilitate system maintenance; the ability to use the external server to provide services.
9. Système selon l'une des revendications 1 à 8, caractérisé en ce qu'il permet d'affecter des adresses de type IPv6 (tels qu'IPvθ ou 6LoWPAN), y compris à des objets non compatibles avec IPv6, permettant au système de servir de proxy IPv6 pour des objets non adaptés à IPv6 selon un des quatre modes suivants : l'ajout d'un service web sur un serveur répondant à une adresse IPv6 partagée pour plusieurs objets contrôlés par le système, les objets étant instanciés par un port spécifique et/ou par un identifiant contenu dans le paquet de donnée ; l'ajout de plusieurs services web sur un serveur répondant à des adresses IPv6 différentes correspondant à des objets différents, sur la base des informations stockées dans la base de données du système ; l'utilisation d'un service web embarqué sur la carte multi-protocolaire qui assure l'interface avec un ou plusieurs objets communicants par la dite carte, les objets pouvant être instanciés par un port spécifique et/ou par un identifiant contenu dans le paquet de donnée ; l'utilisation de plusieurs services web embarqués sur la carte multi-protocolaire répondant à des adresses IPv6 différentes correspondant à des objets différents contrôlés par la dite carte ; permettant ainsi : une intégration et un adressage universel des objets, quel que soit leur protocole de communication ; de servir de proxy entre différents protocoles de communication, et notamment entre IPv6 et les autres protocoles ; d'intégrer indirectement des objets non compatibles avec IPv6 dans un réseau IPv6, et de permettre un accès à ces objets via des adresses IPv6.9. System according to one of claims 1 to 8, characterized in that it allows to assign IPv6 type addresses (such as IPvθ or 6LoWPAN), including objects not compatible with IPv6, allowing the system serve as an IPv6 proxy for non-IPv6-compliant objects in one of four modes: adding a web service to a server that responds to a shared IPv6 address for multiple system-controlled objects, the objects being instantiated by a specific port and / or by an identifier contained in the data packet; adding several web services to a server responding to different IPv6 addresses corresponding to different objects, based on the information stored in the system database; the use of an embedded web service on the multi-protocol card which interfaces with one or more communicating objects by the said card, the objects that can be instantiated by a specific port and / or by an identifier contained in the packet data; the use of several web services embedded on the multi-protocol card responding to different IPv6 addresses corresponding to different objects controlled by said card; thus allowing: integration and universal addressing of objects, whatever their communication protocol; to serve as a proxy between different communication protocols, and in particular between IPv6 and the other protocols; indirectly integrate non-IPv6-compatible objects into an IPv6 network, and allow access to these objects via IPv6 addresses.
10. Système d'interface multi-protocolaire connecté au système selon l'une des revendications 1 à 9, caractérisé en ce qu'il comprend des moyens pour recevoir/envoyer des données selon un ou plusieurs protocoles de communication différents du protocole principal, lesdites données étant encapsulées dans le protocole principal lors de la communication desdites données avec le serveur,- cette interface assurant une connectivité physique avec des objets communicants, à travers différents protocoles de communication,- et faisant l'interface entre ces objets communicants et un ou plusieurs systèmes de contrôle, avec: la possibilité de dissocier la localisation des interfaces multi-protocolaire de celle du ou des contrôleurs centraux, en installant la carte n'importe où sur le réseau principal du système, permettant notamment de résoudre les problèmes de portées liées à certains protocoles ; la possibilité d'utiliser un multiplexage protocolaire, tel que l'utilisation des ports de communication (TCP, UDP ou autre), pour faciliter et accélérer la transmission, le routage et le traitement des flux de données entre la périphérie (cartes multi-protocolaires ou autres appareils) et le ou les contrôleurs centraux ; la possibilité d'utiliser des adresses de type IPv6 (telles qu'IPvθ ou 6LoWPAN) pour faciliter le déploiement et l'interaction entre les interfaces multi-protocolaires et les contrôleurs centraux ; la possibilité de filtrer les connexions entrantes selon des critères tels qu'adresse d'origine et port de communication pour protéger les cartes des intrusions non voulues ; la possibilité de gérer certaines tâches de monitoring et de contrôle au niveau de l'interface multi-protocolaire afin de permettre le déploiement d'une architecture décentralisée avec une intelligence en partie distribuée au niveau des interfaces multi-protocolaires ; la possibilité d'avoir des éléments protocolaires modulaires qui peuvent être ajoutées ou enlevés de l'interface multi-protocolaire ; la possibilité d'ajouter facilement des protocoles par l'ajout de dongles protocolaires sur le bus USB de l'interface multi-protocolaire ; la possibilité d'intégrer au système des objets hétérogènes non compatibles avec le protocole principal, l'interfaces multi-protocolaire assurant alors la connectivité avec les objets en question sans requérir d'adaptation particulière du côté des dits objets et assurant la transmission des informations avec le serveur à travers le protocole principal ; la possibilité d'intégrer dans le système des objets utilisant des protocoles archaïques pour autant qu'ils soient supportés par l'interface multi-protocolaire ; la possibilité de miniaturiser et d'intégrer une telle interface multi-protocolaire dans des appareils courants, tels qu'interrupteurs et prises électriques et de les connecter au système via le courant porteur (PLC) ou un système radio ;10. multi-protocol interface system connected to the system according to one of claims 1 to 9, characterized in that it comprises means for receiving / sending data according to one or more communication protocols different from the main protocol, said data being encapsulated in the main protocol when communicating said data with the server, - this interface ensuring physical connectivity with communicating objects, through different communication protocols, - and the interface between these communicating objects and one or more control systems, with: the possibility of separating the localization of the multi-protocol interfaces from that of the central controller (s), by installing the card anywhere on the main network of the system, making it possible in particular to solve the problems of scopes related to certain protocols; the possibility of using a protocol multiplexing, such as the use of communication ports (TCP, UDP or other), to facilitate and accelerate the transmission, routing and processing of data flows between the periphery (multi-protocol cards or other apparatus) and the central controller (s); the possibility of using IPv6 addresses (such as IPvθ or 6LoWPAN) to facilitate the deployment and interaction between the multi-protocol interfaces and the central controllers; the ability to filter incoming connections according to criteria such as home address and communication port to protect cards from unwanted intrusions; the possibility of managing certain monitoring and control tasks at the level of the multi-protocol interface in order to allow the deployment of a decentralized architecture with a partially distributed intelligence at the level of the multi-protocol interfaces; the possibility of having modular protocol elements that can be added or removed from the multi-protocol interface; the ability to easily add protocols by adding protocol dongles to the USB bus of the multi-protocol interface; the possibility of integrating into the system heterogeneous objects not compatible with the main protocol, the multi-protocol interfaces then ensuring connectivity with the objects in question without requiring special adaptation on the side of said objects and ensuring the transmission of information with the server through the main protocol; the possibility of integrating into the system objects using archaic protocols as long as they are supported by the multi-protocol interface; the possibility of miniaturizing and integrating such a multi-protocol interface into common devices, such as switches and electrical outlets, and connecting them to the system via the carrier current (PLC) or a radio system;
11. Revendication indépendante pour un système de prises et d'interrupteurs « intelligents » destinés à faciliter le déploiement dans des bâtiments existants de systèmes de contrôle et de supervision tels que décrit dans les revendications 1 à 9, caractérisés par l'intégration de cartes miniaturisées dans des prises et/ou des interrupteurs comportant : un ou plusieurs capteurs (tels que température, présence, lumière, consommation, humidité, CO2, etc.) ; un ou plusieurs relais ou variateurs permettant de contrôler une ou plusieurs alimentations électriques ; une interface pouvant se connecter au système central avec un protocole Internet (tel qu'lpvθ ou 6LoWPAN) en utilisant le réseau électrique existant (PLC) ou une connexion hertzienne ; la possibilité d'y intégrer une ou plusieurs interfaces protocolaires, telles que 6LoWPAN, ZigBee (802.15.4) ou des ports USB, permettant au système central de se connecter à d'autres objets à travers l'appareil en question;11. Independent claim for a system of "smart" sockets and switches intended to facilitate the deployment in existing buildings of control and supervision systems as described in claims 1 to 9, characterized by the integration of miniaturized cards in sockets and / or switches comprising: one or more sensors (such as temperature, presence, light, consumption, humidity, CO 2 , etc.); one or more relays or dimmers for controlling one or more power supplies; an interface that can connect to the central system with an Internet protocol (such as IPvθ or 6LoWPAN) using the existing electrical network (PLC) or a wireless connection; the possibility of integrating one or more protocol interfaces, such as 6LoWPAN, ZigBee (802.15.4) or USB ports, allowing the central system to connect to other objects through the device in question;
12. Revendication indépendante pour un système d'interface graphique d'utilisation (GUI) multidimensionnelle et intuitive permettant de compléter le système décrit par les revendications 1 à 9 et d'en faciliter l'utilisation, caractérisé en ce qu'il comprend un système de navigation multidimensionnel pour accéder et sélectionner des objets avec deux axes ou plus et notamment: un axe typologique permettant de sélectionner des familles ou catégories plus ou moins larges d'objets, voire des objets particuliers (par exemple : tous les appareils électriques, seulement les appareils d'éclairage, seulement les lampes de chevets, ou une lampe particulière) ; un axe topographique permettant de définir la localisation et de délimiter l'espace contenant les objets visés (par exemple : les objets situés dans un bâtiment particulier, dans un étage du bâtiment, dans un type de pièce du bâtiment ou dans une pièce en particulier) ; la possibilité d'ajouter des axes supplémentaires, tels que par exemple un axe personnel permettant d'adapter la sélection des objets en fonction de l'utilisateur ou un axe temporel permettant d'adapter la sélection des objets en fonction de leur état à un instant choisi ; permettant à l'utilisateur d'utiliser un des axes ou de combiner plusieurs axes pour sélectionner des objets ou des groupes d'objets, facilitant ainsi l'accès aux dits objets, notamment lorsqu'ils sont intégrés dans des ensembles d'objets pouvant être volumineux, hétérogènes ou dispersés et devant être malgré tout contrôlables à travers des interfaces intuitives et de taille réduites comme sur des appareils portables.An independent claim for a multidimensional and intuitive graphical user interface (GUI) system for completing and facilitating the system of claims 1-9, characterized in that it includes a system multidimensional navigation system for accessing and selecting objects with two or more axes and in particular: a typological axis making it possible to select more or less large families or categories of objects, or even particular objects (for example: all electrical devices, only lighting fixtures, only bedside lamps, or a particular lamp); a topographical axis to define the location and to delimit the space containing the objects concerned (for example: objects located in a particular building, in a building floor, in a room type of the building or in a particular room) ; the possibility to add additional axes, such as for example a personal axis to adapt the selection of objects according to the user or a time axis to adapt the selection of objects according to their state at a time chosen; allowing the user to use one of the axes or to combine several axes to select objects or groups of objects, thus facilitating access to said objects, especially when they are integrated into sets of objects that can be bulky, heterogeneous or dispersed and still to be controllable through intuitive interfaces and small size as on portable devices.
13. Revendication indépendante pour un Procédé de gestion d'un système énergétique mettant en œuvre le système de l'une des revendications 1 à 12, caractérisé en ce qu'il comprend l'utilisation de l'information disponible via Internet sur l'état de la demande et du prix de l'énergie sur un réseau électrique donné, en utilisant le prix de l'énergie sur le marché comme un indicateur de l'état de la demande permettant d'identifier les pics de demandes présents et à venir afin d'adapter le comportement énergétique des bâtiments et des appareils contrôlés et permettant de : contribuer à réduire le problème des pics de demande sur le réseau électrique par un comportement anticyclique, même lorsque le fournisseur d'énergie n'offre aucun service à cette fin ; réduire la consommation lorsque les prix et/ou la demande sont élevés et privilégier une consommation sur le réseau lorsque les prix et/ou la demande sont bas ; optimiser les revenus générés par les producteurs d'énergies en maximisant la quantité d'énergie vendue lors des périodes de fortes demandes ; permettre le développement de nouveaux modèles d'affaires et de facturation basés sur le prix de l'énergie en temps réel du marché en réduisant le rôle des intermédiaires. 13. Independent claim for a method for managing an energy system implementing the system of one of claims 1 to 12, characterized in that it comprises the use of the information available via the Internet on the state. the demand and price of energy on a given grid, using the price of energy on the market as an indicator of the state of demand to identify current and future demand peaks in order to adapting the energy behavior of controlled buildings and appliances to: help reduce the problem of demand peaks on the electricity grid by counter-cyclical behavior, even when the energy supplier does not provide any services for this purpose; reduce consumption when prices and / or demand are high and favor network consumption when prices and / or demand are low; optimize the revenue generated by energy producers by maximizing the amount of energy sold during periods of high demand; enable the development of new business and billing models based on the market's real-time energy price by reducing the role of intermediaries.
PCT/EP2010/058670 2009-06-18 2010-06-18 System for accessing, controlling and managing heterogeneous communicating objects WO2010146174A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09163041.8 2009-06-18
EP09163041 2009-06-18

Publications (2)

Publication Number Publication Date
WO2010146174A2 true WO2010146174A2 (en) 2010-12-23
WO2010146174A3 WO2010146174A3 (en) 2011-03-31

Family

ID=43086167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/058670 WO2010146174A2 (en) 2009-06-18 2010-06-18 System for accessing, controlling and managing heterogeneous communicating objects

Country Status (2)

Country Link
CH (1) CH701294A1 (en)
WO (1) WO2010146174A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104929018A (en) * 2015-07-15 2015-09-23 合肥工业大学 Method and system for calculating construction times of road roller
EP2977971A1 (en) * 2014-07-22 2016-01-27 Honeywell International Inc. Iot enabled wireless one-go/all-go platform sensor network solution for connected home security systems
FR3031821A1 (en) * 2015-01-15 2016-07-22 Comthings SYSTEM FOR TAKING CONTROL OF A DOMOTIC DEVICE
CN106647577A (en) * 2016-12-29 2017-05-10 天津市汇丰硕科技有限公司 Novel building intelligent integration module device
CN111343151A (en) * 2020-02-06 2020-06-26 武汉时波网络技术有限公司 Energy supervision equipment management system based on PAAS mode
CN112153125A (en) * 2020-09-11 2020-12-29 福建星网视易信息系统有限公司 Internet of things implementation method, intelligent control box and digital entertainment system based on Internet of things
US10966143B2 (en) 2017-03-21 2021-03-30 Ademco Inc. Systems and methods for detecting and avoiding radio interference in a wireless sensor network
CN112881794A (en) * 2021-03-23 2021-06-01 长春市吉佳通达信息技术有限责任公司 Invasive low-frequency electric energy consumption data acquisition system
CN113238489A (en) * 2016-11-23 2021-08-10 阿里巴巴集团控股有限公司 Intelligent building control method, device and system
US11265725B2 (en) 2019-02-15 2022-03-01 Ademco Inc. Systems and methods for allocating wireless communication channels
CN114553745A (en) * 2022-01-21 2022-05-27 浙江航芯科技有限公司 Parent control device and method
CN116233283A (en) * 2023-05-05 2023-06-06 湖南盛鼎科技发展有限责任公司 Dynamic expansion and hot plug method of equipment communication protocol
CN116032971B (en) * 2023-01-10 2024-03-22 吉林大学 Full-element intelligent sensing implementation method for digital twin machine workshop

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032089A (en) * 2018-07-25 2018-12-18 珠海格力智能装备有限公司 The collecting method and device of industrial equipment
CN112084127B (en) * 2020-08-24 2022-04-22 珠海格力电器股份有限公司 Distributed controller and distributed autonomous system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
DE69720857T2 (en) * 1996-05-31 2004-02-05 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Systems and methods for operating a network management station
US6785730B1 (en) * 1999-02-16 2004-08-31 Rebecca S. Taylor Generic communications protocol translator
US8042049B2 (en) * 2003-11-03 2011-10-18 Openpeak Inc. User interface for multi-device control
US20050234600A1 (en) * 2004-04-16 2005-10-20 Energyconnect, Inc. Enterprise energy automation
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
JP2007081456A (en) * 2005-09-09 2007-03-29 Matsushita Electric Works Ltd Converter
JP2007096539A (en) * 2005-09-27 2007-04-12 Matsushita Electric Works Ltd Conversion apparatus
US20070136217A1 (en) * 2005-12-13 2007-06-14 Peter Johnson Method and apparatus for remotely monitoring electricity rates
US8149849B2 (en) * 2006-08-31 2012-04-03 Sony Ericsson Mobile Communications Ab Zigbee/IP gateway
KR100874652B1 (en) * 2007-06-26 2008-12-17 한국전자통신연구원 Integrated interface apparatus and method for various sensor network
US8818346B2 (en) * 2007-07-31 2014-08-26 Tridium Inc. Wireless device with a control engine using functional block programming
CA2713428C (en) * 2007-12-28 2015-03-31 Server Technology, Inc. Power distribution, management, and monitoring systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2977971A1 (en) * 2014-07-22 2016-01-27 Honeywell International Inc. Iot enabled wireless one-go/all-go platform sensor network solution for connected home security systems
US9565657B2 (en) 2014-07-22 2017-02-07 Honeywell International Inc. IOT enabled wireless one-go/all-go platform sensor network solution for connected home security systems
EP3608887A1 (en) * 2014-07-22 2020-02-12 Honeywell International Inc. Iot enabled wireless one-go-all-go platform sensor network solution for connected home security systems
FR3031821A1 (en) * 2015-01-15 2016-07-22 Comthings SYSTEM FOR TAKING CONTROL OF A DOMOTIC DEVICE
CN104929018A (en) * 2015-07-15 2015-09-23 合肥工业大学 Method and system for calculating construction times of road roller
CN113238489A (en) * 2016-11-23 2021-08-10 阿里巴巴集团控股有限公司 Intelligent building control method, device and system
CN106647577A (en) * 2016-12-29 2017-05-10 天津市汇丰硕科技有限公司 Novel building intelligent integration module device
CN106647577B (en) * 2016-12-29 2019-11-26 福建永东南建设集团有限公司 A kind of building intellectualization integrated module device
US10966143B2 (en) 2017-03-21 2021-03-30 Ademco Inc. Systems and methods for detecting and avoiding radio interference in a wireless sensor network
US11265725B2 (en) 2019-02-15 2022-03-01 Ademco Inc. Systems and methods for allocating wireless communication channels
CN111343151A (en) * 2020-02-06 2020-06-26 武汉时波网络技术有限公司 Energy supervision equipment management system based on PAAS mode
CN112153125A (en) * 2020-09-11 2020-12-29 福建星网视易信息系统有限公司 Internet of things implementation method, intelligent control box and digital entertainment system based on Internet of things
CN112153125B (en) * 2020-09-11 2023-08-18 福建星网视易信息系统有限公司 Internet of things implementation method, intelligent control box and digital entertainment system based on Internet of things
CN112881794A (en) * 2021-03-23 2021-06-01 长春市吉佳通达信息技术有限责任公司 Invasive low-frequency electric energy consumption data acquisition system
CN114553745A (en) * 2022-01-21 2022-05-27 浙江航芯科技有限公司 Parent control device and method
CN116032971B (en) * 2023-01-10 2024-03-22 吉林大学 Full-element intelligent sensing implementation method for digital twin machine workshop
CN116233283A (en) * 2023-05-05 2023-06-06 湖南盛鼎科技发展有限责任公司 Dynamic expansion and hot plug method of equipment communication protocol
CN116233283B (en) * 2023-05-05 2023-07-25 湖南盛鼎科技发展有限责任公司 Dynamic expansion and hot plug method of equipment communication protocol

Also Published As

Publication number Publication date
CH701294A1 (en) 2010-12-31
WO2010146174A3 (en) 2011-03-31

Similar Documents

Publication Publication Date Title
WO2010146174A2 (en) System for accessing, controlling and managing heterogeneous communicating objects
Al-Qaseemi et al. IoT architecture challenges and issues: Lack of standardization
Gurek et al. An android based home automation system
CN106161163B (en) High-integration-level multimedia intelligent home gateway, management system and television box
EP3408973B1 (en) Method for configuring, controlling or monitoring home automation equipment
EP2494417A1 (en) Digital control manager
IES20050770A2 (en) A server device for a media processing network
WO2013052692A2 (en) Data server system and method
US9549049B2 (en) Network sensor device
EP3563524B1 (en) Method for configuring, controlling or monitoring home automation equipment
CN103312715A (en) Web service oriented home network system architecture
Mingozzi et al. An open framework for accessing things as a service
Evensen et al. SenseWrap: A service oriented middleware with sensor virtualization and self-configuration
Parocha et al. Implementation of home automation system using OpenHAB framework for heterogeneous IoT devices
Hoebeke et al. Managed ecosystems of networked objects
WO2017006021A1 (en) Method for recording a central control unit belonging to a home-automation facility
Park et al. InterX: A service interoperability gateway for heterogeneous smart objects
WO2019043222A1 (en) Method of configuration and/or of maintenance of a home-automation system for a building and associated home-automation system configuration device
Warriach et al. Heterogeneous device discovery framework for the smart homes
Loeser et al. Peer-to-peer networks for virtual home environments
EP3318017B1 (en) Method for discovering the configuration of a home-automation facility
Akribopoulos et al. Building a platform-agnostic wireless network of interconnected smart objects
Hussein et al. A framework for social device networking
EP1798902A1 (en) Communication system between home automation terminals connected to the internet
WO2022117972A1 (en) Method for managing requests to access a local communication network, method for processing such requests, method for requesting access to a local communication network, and corresponding devices, management platform, gateway, user terminal, system and computer programs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10726949

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10726949

Country of ref document: EP

Kind code of ref document: A2