[go: up one dir, main page]

RU2648564C1 - Method and system for device management and device control - Google Patents

Method and system for device management and device control Download PDF

Info

Publication number
RU2648564C1
RU2648564C1 RU2017118241A RU2017118241A RU2648564C1 RU 2648564 C1 RU2648564 C1 RU 2648564C1 RU 2017118241 A RU2017118241 A RU 2017118241A RU 2017118241 A RU2017118241 A RU 2017118241A RU 2648564 C1 RU2648564 C1 RU 2648564C1
Authority
RU
Russia
Prior art keywords
module
modules
control
user
data
Prior art date
Application number
RU2017118241A
Other languages
Russian (ru)
Inventor
Олег Викторович Муравьев
Константин Юрьевич Конохов
Original Assignee
Общество с ограниченной ответственностью "Новэлект"
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 Общество с ограниченной ответственностью "Новэлект" filed Critical Общество с ограниченной ответственностью "Новэлект"
Priority to RU2017118241A priority Critical patent/RU2648564C1/en
Application granted granted Critical
Publication of RU2648564C1 publication Critical patent/RU2648564C1/en

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to network communication technologies. Method for device management and device control comprising controlling and monitoring the monitored modules by means of control programs obtained by the monitored module from at least one base module, where the control programs are scripts executed by the script execution module in the control modules and / or in the monitored modules and / or in the base modules and / or on the server, wherein the control module is part of the monitored module, and measurement modules are connected to the control module, transmitting measurements and / or command and control program statuses to the control modules of the monitored modules.
EFFECT: technical result consists in increasing of data transmission rate.
42 cl, 19 dwg

Description

Изобретение относится к области электротехники, а также к области регистрирования, обработки и передачи данных для различных, в том числе, специальных применений и может быть использована для создания децентрализованных и централизованных, в том числе автоматизированных, способов и систем удаленного управления и контроля устройств.The invention relates to the field of electrical engineering, as well as to the field of recording, processing and data transfer for various, including special, applications and can be used to create decentralized and centralized, including automated, methods and systems for remote control and monitoring of devices.

В настоящее время известно устройство сбора, обработки и передачи телеметрической информации (см. RU 2449346, опубл. 27.04.2012), содержащее корпус с возможностью крепления на горизонтальную и вертикальную поверхность, печатную плату, на которой расположены блок питания с супервизором питания, микроконтроллер с оперативной и постоянной памятью большого размера, часы реального времени со встроенной энергонезависимой памятью и литиевой батареей резервного питания, преобразователь интерфейса RS-232, преобразователь сигналов интерфейса RS-485 с блоком гальванической развязки, блок однопроводного интерфейса 1Wire, блок ввода дискретных сигналов телеизмерения, блоки двух интерфейсов Ethernet, блок интерфейса USB, сменный модуль интерфейсов PLC, ZigBee, WiFi, отличающееся тем, что дополнительно включает блок управления питанием датчиков, подключаемых к интерфейсу 1Wire, блок высокоскоростного универсального модема четвертого поколения LTE/UMTS/GSM, блок формирования уникального 64-битного серийного номера устройства и блок защиты от несанкционированного вскрытия или умышленного повреждения корпуса устройства.Currently, a device is known for collecting, processing and transmitting telemetric information (see RU 2449346, published April 27, 2012), comprising a housing with the possibility of mounting on a horizontal and vertical surface, a printed circuit board on which a power supply unit with a power supervisor, a microcontroller with large and random-access memory, real-time clock with built-in non-volatile memory and a lithium backup battery, RS-232 interface converter, RS-485 interface signal converter with unit isolation module, 1Wire single-wire interface unit, discrete TV signal input unit, two Ethernet interface units, USB interface unit, plug-in PLC, ZigBee, WiFi interface module, characterized in that it further includes a power control unit for sensors connected to the 1Wire interface, a high-speed unit a fourth-generation universal modem LTE / UMTS / GSM, a unit for generating a unique 64-bit serial number of the device and a protection unit against unauthorized opening or intentional damage to the device’s case va.

Известен способ интеграции функций управления техническими средствами посредством сетей связи и система его реализации (см. RU 2450434, опубл. 10.05.2012), в частности, дистанционного управления техническим средством с использованием управляющего пульта в виде сотового телефона или компьютера по сети связи или эфиру, оснащенных приемопередающей аппаратурой, посредством задаваемых пользователем функций управления этим средством с упомянутого пульта, отличающийся тем, что создают для пользователя универсальный пульт управления мобильного типа, в дальнейшем именуемый центром управления, в силу увеличенных функциональных предназначений как по выбору сетей, каналов и линий связи, так и по выбору дистанционно управляемых технических средств для подсоединения их к центру управления, а также по выбору набора функций управления для каждого из этих средств, причем к центру управления подключают ряд технических средств, дистанционно управляемых, количественный состав которых изменяют посредством за счет возможности использования соответственно сменяемых информационных носителей в виде карт памяти по функциональному их предназначению подобно мульти Sim-карте и т.п., при этом карты памяти обеспечивают подключение центра управления к соответствующему дистанционно управляемому техническому средству по избранной связи для выполнения задаваемых пользователем функций управления этим техническим средством, причем производитель этого средства для последующего выполнения задаваемых пользователем функций управления создает программное обеспечение индивидуального назначения в соответствии с установленными стандартами с введением в карту памяти как соответствующего дистанционно управляемого технического средства, так и в соответствующую карту памяти, вводимую в центр управления, при этом обе карты памяти снабжают входным кодовым ключом в виде Pin-кода, обеспечивающим взаимное сопряжение этих карт при установлении связи центра управления с дистанционно управляемым техническим средством, а программное обеспечение индивидуального назначения активизируют к общему программному обеспечению центра управления самим производителем, тогда как к средствам связи применимы коммутируемые сети связи общего пользования, некоммутируемые сети, выделенные каналы и линии связи, в том числе с проводным и беспроводным доступом, корпоративные и локальные сети связи с применяемым аналоговым и цифровым методами передачи информации, а дистанционно управляемые технические средства представляют объекты промышленного, хозяйственного, бытового и иного назначения, при производстве которых соблюдают стандарты на алгоритмы программного обеспечения на дистанционное управление техническими средствами, но для осуществления дистанционного управления техническим средством пользователь изначально производит выбор надлежащей связи центра управления с техническим средством, а после установления такой связи между вызывающей и вызываемой сторонами посредством приемопередающей аппаратуры или иначе между передающей и приемной сторонами пользователь избирает соответствующий набор функций управления для избранного технического средства, представленных пользователю на табло дисплея центра управления, а затем пользователь избирает надлежащую функцию управления дистанционно управляемым техническим средством, исполнение которой отражают на табло дисплея центра управления. Причем система, состоит из блока выбора абонентом сети связи, их приемопередающей аппаратуры, блока дистанционного управления техническим средством по заданной функции управления, и отличается тем, что создают и представляют пользователю центр управления, объединяющий в себе блоки: блок выбора пользователем из ассортимента сетей связи необходимую сеть, то же относится к каналам и линиям; вновь вводимый блок выбора дистанционно управляемых технических средств и вновь вводимый блок выбора функций управления каждым из этих средств с программным обеспечением индивидуального назначения и входным кодовым ключом на каждое из этих средств, причем программное обеспечение индивидуального назначения через входные кодовые ключи сопрягают с общим программным обеспечением центра управления, тогда как при выборе сети связи абонентом выводы Sim-карт и выходы с карт памяти для технических средств соединяют с входом соответствующего вновь вводимого коммутатора, выход с которого соединяют со входом приемопередающей аппаратуры, а выходы с этой аппаратуры по сети или каналу, или эфиру соединяют с входом в приемопередающей аппаратуры приемной стороны, а в последующем соединении выход с нее в зависимости от того, на что послан вызов: абонента или на техническое средство, а также в зависимости от избранной сети связи: сотовой или коммутируемой, соответственно соединяют со входом Sim-карты вызываемого абонента или со входом АОН того же абонента, или со входом вновь вводимого имитатора приема вызова для избранного технического средства, если соединение осуществляют по коммутируемой сети; выход Sim-карты соединяют с сотовым телефоном, а выход с имитатора соединяют со входом вводимого модуля, выполняющего функцию дешифратора, подтверждающего адресный вызов, и его выход подключают ко входу вновь вводимому исполнительному блоку дистанционно управляемому техническому средству, выполняющему функцию управления этим средством, а при передаче функции управления по выделенному каналу связи, выход с приемопередающей аппаратуры соединяют напрямую со входом модуля, выход с которого подключают ко входу исполнительного блока технического средства, но при управлении техническим средством по выделенной линии связи проводного или беспроводного доступа выход с блока функций управления соединяют со входом модуля технического средства, а выход с этого модуля подключают ко входу исполнительного блока технического средства.There is a method of integrating the control functions of technical means through communication networks and a system for its implementation (see RU 2450434, published May 10, 2012), in particular, remote control of a technical means using a control panel in the form of a cell phone or computer over a communication network or broadcast, equipped with transceiver equipment, through user-defined control functions of this tool from the remote control, characterized in that they create a universal mobile type control panel for the user, hereinafter referred to as the control center, due to the increased functionality of both the choice of networks, channels and communication lines, and the choice of remotely controlled technical means for connecting them to the control center, as well as the choice of a set of control functions for each of these means, a number of remotely controlled technical devices are connected to the control center, the quantitative composition of which is changed by means of the possibility of using correspondingly removable information carriers in the form of memory cards for their functional purpose, like a multi Sim card, etc., while the memory cards provide the connection of the control center to the corresponding remotely controlled technical means via the selected connection to perform user-defined control functions of this technical means, the manufacturer of this means for subsequent execution of user-defined control functions creates individual software in accordance with the established standard with the introduction into the memory card of both the corresponding remotely controlled hardware and the corresponding memory card inserted into the control center, both memory cards are provided with an input code key in the form of a Pin code, which ensures interconnection of these cards when establishing communication between the control center with remotely controlled hardware, and individual software activate to the general software of the control center by the manufacturer, while to funds For communications, switched public communication networks, non-switched networks, dedicated channels and communication lines, including those with wired and wireless access, corporate and local communication networks with the applied analog and digital methods of information transfer are applicable, and remotely controlled technical means represent industrial, household, household and other purposes, in the production of which they comply with the standards for software algorithms for remote control of technical means, but for remote control of the technical means, the user initially selects the appropriate communication between the control center and the technical means, and after establishing such a connection between the calling and called parties by means of transceiving equipment or otherwise between the transmitting and receiving sides, the user selects the appropriate set of control functions for the selected technical means, presented to the user on the display panel of the control center, and then the user selects The corresponding control function of a remotely controlled technical device, the performance of which is reflected on the display panel of the control center. Moreover, the system consists of a subscriber’s choice of a communication network, their transceiver equipment, a remote control unit of a technical means for a given control function, and is different in that they create and present to the user a control center that combines units: a user selects a block from the range of communication networks necessary network, the same applies to channels and lines; a newly introduced unit for selecting remotely controlled hardware and a newly introduced unit for selecting control functions for each of these tools with individual software and an input code key for each of these tools, and individual software through input code keys are mated to the common software of the control center , while when choosing a communication network by a subscriber, the conclusions of Sim cards and outputs from memory cards for technical means are connected to the input of the corresponding a newly introduced switch, the output from which is connected to the input of the transceiver equipment, and the outputs from this equipment via a network or channel, or ether are connected to the input to the transceiver equipment of the receiving side, and in the subsequent connection, the output from it, depending on what the call is sent to : of the subscriber or the technical means, as well as depending on the chosen communication network: cellular or switched, respectively, connected to the SIM card input of the called subscriber or to the caller ID input of the same subscriber, or to the input of the newly entered and a call receiving mitator for a selected technical means, if the connection is made over a switched network; the output of the SIM card is connected to a cell phone, and the output from the simulator is connected to the input of an input module that acts as a decoder confirming an address call, and its output is connected to the input of a newly introduced executive unit by a remotely controlled technical device that performs the function of controlling this tool, and when control function transfer via a dedicated communication channel, the output from the transceiver equipment is connected directly to the input of the module, the output from which is connected to the input of the executive unit means, but when controlling the technical means over a dedicated communication line of wire or wireless access, the output from the control function block is connected to the input of the technical means module, and the output from this module is connected to the input of the executive means of the technical means.

Известна система удаленного контроля и управления электронными устройствами "Умный дом" (см. RU 2573762, опубл. 27.01.2016), включающая N групп датчиков, М групп исполнительных устройств, глобальное хранилище команд управления пользователя, узел связи, блок управления, включающий локальное хранилище команд управления пользователя, и каналы связи, отличающаяся тем, что она дополнительно содержит WEB-сервер, модуль разработки сценариев пользователя, глобальное хранилище сценариев пользователя, устройство для управления системой пользователем, глобальное хранилище отсканированных команд устройств всех пользователей, блок управления дополнительно содержит блок сканирования команд управления, локальное хранилище отсканированных команд управления, модуль выполнения сценариев пользователя, блок хранения сценариев пользователя, модуль безопасности и шифрования, а узел связи выполнен в виде приемопередающего устройства беспроводной связи, при этом входы датчиков и исполнительных устройств связаны с выходами приемопередающего устройства беспроводной связи блока управления, а выходы датчиков связаны с входами приемопередающего устройства беспроводной связи блока управления, входы исполнительных устройств связаны с выходами приемопередающего устройства беспроводной связи блока управления, а выходы исполнительных устройств связаны с входами приемопередающего устройства беспроводной связи блока управления, входы приемопередающего устройства беспроводной связи блока управления связаны также с выходами блока сканирования команд управления и модуля выполнения сценариев пользователя, выходы блока сканирования команд управления связаны также с входом локального хранилища отсканированных команд управления и входом модуля безопасности и шифрования, а его вход связан с выходом приемопередающего устройства беспроводной связи, выход модуля выполнения сценариев пользователя связан также с входом блока хранения сценариев пользователя, а входы модуля выполнения сценариев пользователя связаны с выходами блока хранения сценариев пользователя и модуля безопасности и шифрования, выход локального хранилища отсканированных команд управления связан с входом модуля безопасности и шифрования, входы WEB-сервера связаны с выходами модуля безопасности и шифрования, глобального хранилища отсканированных команд всех пользователей, глобального хранилища команд управления пользователя, модуля разработки сценариев пользователя, глобального хранилища сценариев пользователя, а выходы WEB-сервера связаны с входами модуля безопасности и шифрования, глобального хранилища отсканированных команд всех пользователей, глобального хранилища команд управления пользователя, модуля разработки сценариев пользователя, глобального хранилища сценариев пользователя, устройство для управления системой пользователем связано беспроводной связью через локальную сеть Ethernet с блоком управления.The known system for remote monitoring and control of electronic devices "Smart Home" (see RU 2573762, publ. 01/27/2016), including N groups of sensors, M groups of actuators, a global repository of user control commands, a communication node, a control unit that includes local storage user control commands, and communication channels, characterized in that it additionally contains a WEB server, a user script development module, a global repository of user scripts, a device for managing a user system, a glob storage for scanned commands of devices of all users, the control unit additionally contains a block for scanning control commands, a local store for scanned control commands, a module for executing user scripts, a block for storing user scripts, a security and encryption module, and the communication node is designed as a wireless transceiver the inputs of the sensors and actuators are connected to the outputs of the transceiver wireless device of the control unit, and the output The sensors are connected to the inputs of the wireless transceiver of the control unit, the inputs of actuators are connected to the outputs of the transceiver of wireless communication of the control unit, and the outputs of actuators are connected to the inputs of the transceiver of wireless communication of the control unit, the inputs of the wireless transceiver of the control unit are also connected to the outputs control command scanning unit and user script execution module, scanning unit outputs I control commands are also associated with the local storage input of the scanned control commands and the input of the security and encryption module, and its input is connected with the output of the wireless transceiver, the output of the user script execution module is also associated with the input of the user script storage unit, and the inputs of the user script execution module associated with the outputs of the user script storage unit and the security and encryption module, the output of the local storage of scanned communication control commands with the input of the security and encryption module, the inputs of the WEB server are connected to the outputs of the security and encryption module, the global repository of scanned commands for all users, the global repository of user management commands, the user script development module, the global repository of user scripts, and the outputs of the WEB server are connected to the inputs security and encryption module, global repository of scanned commands for all users, global repository of user management commands, development module scene User data, global repository of user scripts, a device for controlling the user system is connected wirelessly via a local Ethernet network to the control unit.

Известна система и способ управления внешним устройством, соединенным с устройством (см. RU 2592062, опубл. 20.07.2016), причем способ содержит этапы, на которых предоставляют в сервер информацию ввода пользователя, используемую, чтобы определять намерение пользователя, идентифицируют внешнее устройство, управляемое устройством, предоставляют информацию об устройстве идентифицированного внешнего устройства в сервер, принимают из сервера управляющую информацию относительно внешнего устройства, которая генерируется сервером на основе информации ввода пользователя и информации об устройстве, и передают управляющую команду во внешнее устройство, которая генерируется на основе принятой управляющей информации. А также способ предоставления управляющей информации для управления внешним устройством, причем способ содержит этапы, на которых принимают информацию ввода пользователя из устройства, принимают информацию об устройстве внешнего устройства, управляемого устройством, определяют намерение пользователя на основе информации ввода пользователя, генерируют управляющую информацию для внешнего устройства на основе упомянутого определенного намерения пользователя и информации об устройстве, и предоставляют управляющую информацию в устройство. А также устройство, содержащее память, выполненную с возможностью сохранения программы, и процессор, выполненный с возможностью управления внешним устройством с помощью выполнения программы, причем программа содержит команды, которые, когда выполнены процессором, предписывают процессору: идентифицировать внешнее устройство, управляемое устройством, предоставлять информацию об устройстве внешнего устройства в сервер, принимать из сервера управляющую информацию относительно внешнего устройства, которая генерируется на основе информации ввода пользователя и информации об устройстве, и передавать управляющую команду во внешнее устройство на основе принятой управляющей информации, причем информация ввода пользователя используется, когда сервер определяет намерение пользователя, и управляющая информация генерируется сервером на основе намерения пользователя. А также способ, содержащий этапы, на которых определяют намерение пользователя, выбирают внешнее устройство, конфигурируемое как управляемое, чтобы выполнять намерение пользователя, генерируют управляющую команду, чтобы управлять выбранным внешним устройством, на основе намерения пользователя, и передают управляющую команду во внешнее устройство, чтобы выполнять намерение пользователя.A known system and method for controlling an external device connected to the device (see RU 2592062, published July 20, 2016), the method comprising the steps of providing the user with input information used to determine the user’s intention, identifying the external device controlled device, provide information about the device of the identified external device to the server, receive control information from the server regarding the external device, which is generated by the server based on information and user input and the device information, and transmitting the control command to the external device that is generated based on the received control information. As well as a method of providing control information for controlling an external device, the method comprising the steps of receiving user input information from the device, receiving information about the device of the external device controlled by the device, determining the user’s intention based on the user input information, generating control information for the external device based on the aforementioned specific user intent and device information, and provide control information to the device ystv. As well as a device containing a memory configured to save a program, and a processor configured to control an external device by executing a program, the program comprising instructions that, when executed by a processor, instruct the processor to: identify an external device controlled by the device, provide information about the device of the external device to the server, receive control information from the server regarding the external device, which is generated on the basis of inform the user input and device information, and transmit the control command to the external device based on the received control information, the user input information being used when the server determines the user’s intention, and the control information is generated by the server based on the user’s intention. As well as a method comprising the steps of determining a user’s intention, an external device configured to be controlled to execute the user’s intention is selected, a control command is generated to control the selected external device based on the user's intention, and a control command is transmitted to the external device so that to fulfill the user's intention.

Известны система и способ использования данных, собранных с датчиков интернета вещей (iot), для отключения бытовых устройств, включенных посредством iot «System and method for using data collected from internet-of-things (iot) sensors to disable iot-enabled home devices» (см. US 2016/0195859, опубл. 07.07.2016), где система включает iot-хаб/концентратор, содержащий сетевой интерфейс для подключения iot-хаба к iot-сервису посредством глобальной вычислительной сети (WAN), и iot-устройство, связанное с iot-хабом посредством беспроводного канала связи; iot-устройство содержит датчик для измерения локальных состояний, вызванных локальным устройством в доме пользователя, причем локальное устройство является потенциально опасным, если оставлено включенным, где iot-устройство передает, по крайней мере, одно измерение локальных состояний на iot-хаб посредством беспроводного канала связи; управляющую логику на iot-хабе для получения, по крайней мере, одного измерения локальных состояний с датчиков и для оценки, по крайней мере, одного измерения с целью определения факта случайного оставления локального устройства включенным, причем управляющая логика генерирует сигнал выключения локального устройства в ответ на установленный факт случайного оставления локального устройства включенным.There is a known system and method for using data collected from internet-of-things (iot) sensors to disable iot-enabled home devices " (see US 2016/0195859, published July 7, 2016), where the system includes an iot hub / hub containing a network interface for connecting an iot hub to an iot service via a wide area network (WAN), and an iot device connected with iot-hub via a wireless communication channel; The iot device contains a sensor for measuring local conditions caused by a local device in the user's home, and the local device is potentially dangerous if left on, where the iot device transmits at least one local state measurement to the iot hub via a wireless communication channel ; control logic on the iot hub to obtain at least one measurement of local states from sensors and to evaluate at least one measurement to determine if the local device was accidentally turned on, and the control logic generates a local device shutdown signal in response to established fact of accidentally leaving the local device on.

Недостатками существующих решений является отсутствие универсального и расширяемого протокола передачи данных (канала, потока данных) и команд, в частности, скриптов между управляемыми/контролируемыми устройствами/модулями и базовыми модулями/устройствами, а также между базовыми модулями и сервером, причем упомянутый протокол передачи данных может осуществлять передачу любых типов измерений измерителями, в частном случае, подключенными к упомянутым контролируемым/управляемым устройствам, и команд, в частном случае, скриптов, которые могут использоваться для управления упомянутыми устройствами/модулями.The disadvantages of existing solutions are the lack of a universal and extensible data transfer protocol (channel, data stream) and commands, in particular, scripts between managed / monitored devices / modules and basic modules / devices, as well as between basic modules and a server, the data transfer protocol being mentioned can transmit any type of measurements with meters, in particular, connected to the aforementioned monitored / controlled devices, and commands, in particular, scripts, which It can be used for controlling said devices / modules.

Еще одним недостатком существующих решений является невозможность пользователем настраивать представление, в частности, отображение данных, например, измерений и команд, в частности, в вид, приемлемый/удобный для пользователя устройств/модулей, сервера и т.д., т.е. в существующих решениях пользователь не способен или имеет крайне ограниченную возможность изменять название измерений, способ отображения значений измерений (например, вместо отображения градусов не может настроить отображение данных в виде «холодно», «комфортно», «тепло», «жарко» и т.д.), изменять величины измерений (например, не может задать формулу перевода данных из одного формата в другой, например, градусов Цельсия в Фаренгейты).Another drawback of existing solutions is the inability of the user to customize the presentation, in particular, the display of data, for example, measurements and commands, in particular, in a form acceptable / user-friendly devices / modules, server, etc., i.e. in existing solutions, the user is not able or has an extremely limited ability to change the name of measurements, the way of displaying measurement values (for example, instead of displaying degrees, he can’t configure the display of data in the form of “cold”, “comfortable”, “warm”, “hot”, etc. etc.), change the measurement values (for example, cannot set the formula for transferring data from one format to another, for example, degrees Celsius to Fahrenheit).

Также, недостатками существующих решений являются ограничения требований к провайдеру сети Интернет (т.е. в существующих решениях требуется подключение к сети Интернету через определенного провайдера или через мобильный интернет, с использованием SIM-карты определенного оператора и т.д.), а также отсутствует возможность осуществления подключения модулей к любой W-Fi сети, Wi-Fi устройству и т.д.Also, the disadvantages of existing solutions are the restrictions on the requirements of the Internet provider (i.e., existing solutions require connecting to the Internet through a specific provider or via mobile Internet, using a SIM card of a certain operator, etc.), and also the ability to connect modules to any W-Fi network, Wi-Fi device, etc.

Еще одним недостатком существующих решений является необходимость подключения к сети Интернет существующих решений для их функционирования и/или осуществления, по крайней мере, одной функциональности существующих решений. Т.е. в частном случае существующие решения требуют от пользователя покупки прямого IP-адреса, например, для управления устройствами/модулями из сети Интернет и существующие решения, например, не обеспечивают функционирование при наличии доступа к Wi-Fi.Another drawback of existing solutions is the need to connect existing solutions to the Internet for their functioning and / or implementation of at least one functionality of existing solutions. Those. in a particular case, existing solutions require the user to purchase a direct IP address, for example, to control devices / modules from the Internet and existing solutions, for example, do not provide functioning when Wi-Fi access is available.

Также, недостатками существующих решений является невозможность пользователем самостоятельно настраивать зависимости между показателями измерений различных устройств/модулей (в частности, значений измерителей таких устройств/модулей) и, в зависимости от этого, исполнять определенные команды на других устройствах.Also, the disadvantages of existing solutions is the inability of the user to independently configure the dependencies between the measurement indicators of various devices / modules (in particular, the values of the meters of such devices / modules) and, depending on this, execute certain commands on other devices.

Еще одним недостатком существующих решений является невозможность пользователю разрабатывать сценарии поведения устройств/модулей и управления устройствами/модулями, в том числе управляемых/контролируемых устройств и/или базовых модулей/устройств без необходимости доступа базы (базового модуля/устройства) к серверу. В частности, существующие решения не позволяют создавать (например, в текстовых полях/редакторах, в которые могут быть введены тексты скриптов/команд) на сервере (и/или базовом модуле) команды/скрипты, в том числе пользователем, в частности для сервера, базового модуля и/или контролируемого устройства, которые могут быть выполнены/исполнены сервером и/или базовым модулем, и/или контролируемым устройством. Также, существующие решения не позволяют загружать скрипты/команды с базы/базового модуля и/или сервера на сервер, (контролируемое) устройство/модуль и/или базу/базовый модуль, когда выполнение скрипта/команды может не зависеть от доступности базы/базового модуля и/или сервера с исполнением скрипта/команды на (контролируемом) устройстве и/или базовом модуле, и также, в частном случае, когда созданный на сервере (и/или в базовом модулем) для сервера скрипт/команда (передается на сервер и) выполняется на сервере, созданный на сервере для базового модуля скрипт/команда передается на базовый модуль и выполняется на базовом модуле и/или созданный на сервере для контролируемого устройства скрипт/команда передается на контролируемое устройство (в частности, через, по крайней мере, один базовый модуль) и выполняется на контролируемом устройстве.Another drawback of existing solutions is the inability of the user to develop scenarios for the behavior of devices / modules and device / module management, including managed / monitored devices and / or basic modules / devices, without the need for a base (basic module / device) to access the server. In particular, existing solutions do not allow creating (for example, in text fields / editors into which texts of scripts / commands can be entered) on the server (and / or the base module) commands / scripts, including by the user, in particular for the server, a base module and / or a monitored device that can be executed / executed by a server and / or a base module, and / or a monitored device. Also, existing solutions do not allow downloading scripts / commands from the base / base module and / or server to the server, (controlled) device / module and / or base / base module, when the execution of the script / command may not depend on the availability of the base / base module and / or server with the execution of the script / command on the (controlled) device and / or the base module, and also, in the particular case when the script / command created on the server (and / or in the base module) for the server (is transmitted to the server and) runs on a server created on a server for databases th module script / command is transmitted to the base module and is executed on the base module and / or created on the server for the controlled device script / command is transmitted to the controlled device (in particular, through at least one base module) and performed on the controlled device.

Предлагаемые система и способ позволяют преодолеть, по крайней мере, часть вышеуказанных недостатков или все указанные недостатки, а также реализовать преимущества настоящего технического решения, как описано в рамках настоящего технического решения.The proposed system and method can overcome at least part of the above disadvantages or all of the above disadvantages, as well as realize the advantages of this technical solution, as described in the framework of this technical solution.

Технический результат, достигаемый предлагаемым изобретением, состоит в повышении точности и скорости управления устройствами и контроля устройств за счет передачи измерений и/или статусов команд, и/или управляющих программ, по крайней мере, в один управляющий модуль контролируемого модуля, по крайней мере, одним измерительным модулем, причем управление контролируемым модулем осуществляется базовым модулем посредством команд, содержащихся, по крайней мере, в управляющем модуле, причем базовый модуль получает команды и управляющие программы с сервера и/или передает статусы команд и управляющих программ и/или измерения измерительного модуля на сервер, а также за счет за счет управляющих программ, полученных контролируемым модулем с, по крайней мере, одного базового модуля, где управляющие программы являются скриптами, исполняемыми, по крайней мере, одним управляющим модулем и/или контролируемым модулем, и/или базовым модулем и/или сервером. Также технический результат заключается в удобстве управления устройствами и контроля устройств за счет удаленного управления устройствами и контроля удаленными устройствами.The technical result achieved by the invention consists in increasing the accuracy and speed of device control and device control by transmitting measurements and / or statuses of commands and / or control programs to at least one control module of the monitored module by at least one measuring module, moreover, the controlled module is controlled by the basic module by means of commands contained in at least the control module, and the basic module receives commands and control grams from the server and / or transfers the statuses of commands and control programs and / or measurements of the measuring module to the server, as well as due to control programs received by the controlled module from at least one base module, where control programs are scripts executed at least one control module and / or a controlled module, and / or a base module and / or server. Also, the technical result consists in the convenience of device management and device control through remote device management and control of remote devices.

Указанный технический результат достигается тем, что система для управления устройствами и контроля устройств включает по крайней мере, один контролируемый модуль, связанный, по крайней мере, с одним базовым модулем и/или другим контролируемым модулем, причем контролируемый модуль управляется управляющими программами, полученными с базового модуля, где управляющие программы являются скриптами, исполняемыми модулем исполнения скриптов в управляющем модуле и/или в контролируемом модуле, и/или в базовом модуле, и/или на сервере; по крайней мере, один управляющий модуль, являющийся частью контролируемого модуля; по крайней мере, один измерительный модуль, подключенный, по крайней мере, к одному управляющему модулю и передающий измерения и/или статусы команд и управляющих программ, по крайней мере, в один управляющий модуль контролируемого модуля; по крайней мере, один управляемый модуль, связанный с, по крайней мере, одним управляющим модулем и/или с, по крайней мере, одним контролируемым модулем и/или являющийся частью, по крайней мере, одного контролируемого модуля, и/или подключенный к, по крайней мере, одному управляющему модулю, причем управляемый модуль осуществляет управление контролируемым модулем и/или, по крайней мере, одной частью контролируемого модуля; по крайней мере, один базовый модуль, связанный, по крайней мере, с одним контролируемым модулем и/или сервером, и/или другим базовым модулем и осуществляющий управление, по крайней мере, одним контролируемым модулем и/или осуществляющий контроль, по крайней мере, одного контролируемого модуля, посредством, по крайней мере, одного управляющего модуля, причем управление контролируемым модулем осуществляется базовым модулем посредством команд, содержащихся, по крайней мере, в управляющем модуле, причем базовый модуль получает команды и управляющие программы с сервера и/или передает статусы команд и управляющих программ и/или измерения измерительного модуля на сервер; по крайней мере, один сервер, связанный с, по крайней мере, одним базовым модулем.The specified technical result is achieved in that the system for controlling devices and controlling devices includes at least one monitored module associated with at least one basic module and / or another controlled module, the controlled module being controlled by control programs received from the basic module, where the control programs are scripts executed by the script execution module in the control module and / or in the controlled module, and / or in the base module, and / or on the server; at least one control module that is part of the monitored module; at least one measuring module connected to at least one control module and transmitting measurements and / or statuses of commands and control programs to at least one control module of the controlled module; at least one managed module associated with at least one control module and / or with at least one controlled module and / or which is part of at least one controlled module and / or connected to, at least one control module, wherein the controlled module controls the controlled module and / or at least one part of the controlled module; at least one base module associated with at least one monitored module and / or server and / or another basic module and controlling at least one monitored module and / or monitoring at least one controlled module, by means of at least one control module, wherein the controlled module is controlled by the base module by means of instructions contained in at least the control module, the base module receiving commands and control vlyayuschie program from the server and / or transmits the status of commands and control programs and / or measurement of the measuring module to the server; at least one server associated with at least one base module.

Технический результат также достигается тем, что пользователь преобразовывает названия параметров команд, полученных с управляемого модуля, и/или изменяет наименование команд в интерфейсе базового модуля и/или интерфейсе сервера.The technical result is also achieved by the fact that the user converts the names of the parameters of the commands received from the managed module, and / or changes the name of the commands in the interface of the base module and / or the server interface.

Технический результат также достигается тем, что управляющие программы создаются пользователем в базовом модуле и/или на сервере с использованием шаблонного построителя, являющимся графическим построителем логики, и/или создаются посредством ввода управляющих команд в текстовое поле интерфейса базового модуля и/или сервера.The technical result is also achieved by the fact that the control programs are created by the user in the base module and / or on the server using a template builder, which is a graphic logic builder, and / or are created by entering control commands in the text field of the interface of the base module and / or server.

Технический результат также достигается тем, что шаблонный построитель осуществляет создание кода управляющей команды, осуществляет валидацию кода управляющей команды и осуществляет загрузку на контролируемый модуль средствами, по крайней мере, одного модуля системы.The technical result is also achieved by the fact that the template builder creates the code of the control command, validates the code of the control command and downloads to the controlled module using at least one module of the system.

Технический результат также достигается тем, что контролируемым модулем является цифровое устройство и/или аналоговое устройство, и/или комбинированное устройство, и/или механическое устройство, и/или электронное устройство, и/или вычислительное устройство, и/или мобильное устройство, и/или домашняя электроника, и/или бытовой прибор, и/или бытовая техника, и/или профессиональное оборудование, и/или техническое оборудование, приборы учета, в том числе приборы учета энергоресурсов, приборы отопления, водоснабжения, электроснабжения, а также любая их комбинация.The technical result is also achieved by the fact that the controlled module is a digital device and / or an analog device, and / or a combined device, and / or a mechanical device, and / or an electronic device, and / or a computing device, and / or a mobile device, and / or home electronics, and / or household appliances, and / or household appliances, and / or professional equipment, and / or technical equipment, metering devices, including metering devices for energy resources, heating, water, electricity supplies, and e any combination thereof.

Технический результат также достигается тем, что управляющий модуль является, по крайней мере, одной микросхемой и/или микроконтроллером.The technical result is also achieved by the fact that the control module is at least one microcircuit and / or microcontroller.

Технический результат также достигается тем, что связь между модулями системы осуществляется посредством проводной связи или беспроводной связи, в том числе, посредством локальной вычислительной сети, и/или сети Интернет, и/или мобильной или спутниковой связи, и/или USB-интерфейса, и/или интерфейса стандарта RS-232/СОМ-порта, и/или Bluetooth, и/или Wi-Fi, и/или GSM, 3G, 4G, LTE, транкинговой связи, и/или посредством каналов передачи данных со сверхнизким энергопотреблением, формирующих сложные беспроводные сети с ячеистой топологией, и/или ZigBee, а также связь между модулями системы осуществляется посредством клемм и/или проводов, и/или пайки, и/или клепки.The technical result is also achieved by the fact that the communication between the modules of the system is carried out via wired communication or wireless communication, including through a local area network, and / or the Internet, and / or mobile or satellite communications, and / or a USB interface, and / or interface standard RS-232 / COM port, and / or Bluetooth, and / or Wi-Fi, and / or GSM, 3G, 4G, LTE, trunking, and / or via data channels with ultra-low power consumption, forming complex wireless networks with mesh topology, and / or ZigBee, as well as communication m Between the system modules is carried out by means of terminals and / or wires, and / or soldering, and / or riveting.

Технический результат также достигается тем, что связь между модулями системы осуществляется посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола ТСР/IP и/или HTTP/HTTPs, и/или FTP, и/или РОР3, и/или SMTP, и/или TELNET, и/или ХМРР, расширяемого протокола обмена сообщениями и информацией о присутствии.The technical result is also achieved by the fact that the communication between the system modules is carried out by means of at least one data transfer protocol, including the TCP / IP network protocol and / or HTTP / HTTPs, and / or FTP, and / or POP3, and / or SMTP, and / or TELNET, and / or HMRP, an extensible messaging and presence protocol.

Технический результат также достигается тем, что система дополнительно включает по крайней мере, одно вычислительное устройство пользователя, причем контролируемый модуль и/или базовый модуль, и/или сервер получает команды и/или управляющие программы от, по крайней мере, одного вычислительного устройства пользователя и/или от, по крайней мере, одного базового модуля, и/или, от, по крайней мере, одного другого контролируемого модуля, и/или от, по крайней мере, одного сервера.The technical result is also achieved by the fact that the system further includes at least one computing device of the user, and the monitored module and / or the base module and / or the server receives commands and / or control programs from at least one computing device of the user and / or from at least one base module, and / or, from at least one other controlled module, and / or from at least one server.

Технический результат также достигается тем, что на вычислительном устройстве пользователя установлено программное обеспечение, позволяющее связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.The technical result is also achieved by the fact that software is installed on the user's computing device that allows you to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurements by the measuring module and / or control and / or setting up system modules, and / or for creating and / or sending commands and / or control programs for said modules.

Технический результат также достигается тем, что на вычислительном устройстве пользователя установлен веб-браузер, который позволяет пользователю связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.The technical result is also achieved by the fact that a web browser is installed on the user's computing device, which allows the user to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of system modules and / or measurements by the measuring module, and / or control and / or settings of system modules, and / or to create and / or send commands and / or control programs for said modules.

Технический результат также достигается тем, что управляющий модуль содержит модуль сбора и обработки измерений измерительного модуля, хранилище команд управляемых модулей, модуль трансляции и преобразования данных, модуль шифрования и дешифрования данных и модуль исполнения скриптов, модуль управления, осуществляющий, по крайней мере, обработку результатов выполнения команд.The technical result is also achieved by the fact that the control module contains a module for collecting and processing measurements of the measuring module, a repository of commands for the controlled modules, a data translation and conversion module, a data encryption and decryption module and a script execution module, a control module that performs at least the processing of the results execution of commands.

Технический результат также достигается тем, что контролируемые модули и/или управляющие модули регистрируются пользователем, по крайней мере, в одном базовом модуле, причем упомянутая регистрация определяет связь зарегистрированных контролируемых модулей и/или управляющих модулей с базовыми модулями с целью получения и/или обработки данных базовыми модулями, передаваемых контролируемыми модулями и/или управляющими модулями.The technical result is also achieved by the fact that the controlled modules and / or control modules are registered by the user in at least one basic module, said registration determining the relationship of the registered controlled modules and / or control modules with the basic modules in order to obtain and / or process data basic modules transmitted by supervised modules and / or control modules.

Технический результат также достигается тем, что базовый модуль содержит хранилище измерений измерительных модулей контролируемых модулей, хранилище команд контролируемых модулей, хранилище настроек преобразования и отображения команд и измерений контролируемых модулей, модуль трансляции и преобразования данных и сообщений, модуль шифрования и дешифрования данных, модуль исполнения скриптов, реестр контролируемых модулей, хранилище настроек и журналов событий базового модуля, модуль шифрования и дешифрования сообщений, модуль пользовательского интерфейса.The technical result is also achieved by the fact that the base module contains a storage of measurements of measuring modules of controlled modules, a store of commands of controlled modules, a storage of settings for converting and displaying commands and measurements of controlled modules, a module for transmitting and converting data and messages, a module for encrypting and decrypting data, a module for executing scripts , register of controlled modules, repository of settings and event logs of the base module, message encryption and decryption module, gender module user interface.

Технический результат также достигается тем, что сервер содержит хранилище профилей пользователей, реестр базовых модулей, реестр контролируемых модулей, хранилище измерений измерительных модулей контролируемых модулей с историей измерений, серверное ядро, хранилище команд и шаблонов команд контролируемых модулей, хранилище правил управления контролируемыми модулями, модуль правил управления контролируемыми модулями, хранилище правил уведомлений пользователей, модуль правил уведомлений пользователей, модуль уведомлений пользователей.The technical result is also achieved by the fact that the server contains a storage of user profiles, a register of basic modules, a register of controlled modules, a measurement storage of measuring modules of controlled modules with a measurement history, a server core, a storage for commands and command templates for controlled modules, a storage for rules for controlling controlled modules, a rules module control of controlled modules, storage of user notification rules, user notification rules module, user notification module televisions.

Технический результат также достигается тем, что пользователь уведомляется о событиях в модулях системы, причем уведомление пользователя осуществляется посредством, по крайней мере, модуля правил уведомлений пользователя, где правила содержат, по крайней мере, одно условие и реакцию на условие.The technical result is also achieved by the fact that the user is notified of events in the system modules, and the user is notified through at least a module of the user notification rules, where the rules contain at least one condition and a reaction to the condition.

Технический результат также достигается тем, что уведомление пользователя осуществляется посредством SMS-сообщений и/или писем электронной почты, и/или посредством систем и/или служб, и/или приложений для обмена сообщениями и данными/информацией, в том числе для мгновенного обмена сообщениями/обмена мгновенными сообщениями, и/или мессенджеров, и/или систем и/или служб, и/или приложений для передачи и/или получения сообщений, и/или систем и/или служб, и/или приложений для обмена данными/информацией, в том числе включая получение и передачу текстовой информации/данных, графических данных, видеоданных, изображений, звуковых данных, аудиофайлов, и/или сообщений в чатах и/или социальных сетях.The technical result is also achieved by the fact that the notification of the user is carried out by means of SMS messages and / or emails, and / or by means of systems and / or services, and / or applications for exchanging messages and data / information, including for instant messaging / instant messaging, and / or instant messengers, and / or systems and / or services, and / or applications for sending and / or receiving messages, and / or systems and / or services, and / or applications for data / information exchange, including including receiving and transmitting those information / data, graphic data, video data, images, audio data, audio files, and / or messages in chat rooms and / or social networks.

Технический результат также достигается тем, что модули системы управляются правилами автоматического управления модулями системы посредством, по крайней мере, одного модуля правил автоматического управления модулями системы, причем модулями системы осуществляется выполнение команд, в зависимости от содержания правила.The technical result is also achieved by the fact that the system modules are controlled by the rules for automatic control of the system modules by means of at least one module of the rules for automatic control of the system modules, and the system modules execute commands, depending on the content of the rule.

Технический результат также достигается тем, что сервер и/или контролируемый модуль, и/или базовый модуль содержат генератор событий, менеджер триггеров, хранилище скриптов, виртуальную машину, которая содержит менеджер прерываний, среду исполнения, загрузчик.The technical result is also achieved by the fact that the server and / or the monitored module and / or the base module contain an event generator, a trigger manager, a script repository, a virtual machine that contains an interrupt manager, runtime, and bootloader.

Технический результат также достигается тем, что данные на сервере хранятся в триггерной таблице и таблице байт-кодов управляющих программ базы данных; на базовом модуле данные хранятся в файлах внутри файловой системы, которые содержат триггерную таблицу и код скриптов, в контролируемом модуле данные хранятся в виде адресно-разделенных областей флеш-памяти, определенных в таблице адресации, причем под триггерную таблицу и код скриптов могут быть зарезервированы заведомо области памяти.The technical result is also achieved by the fact that the data on the server is stored in the trigger table and the bytecode table of the database control programs; on the basic module, the data is stored in files inside the file system that contain the trigger table and script code, in the controlled module the data is stored in the form of address-separated areas of flash memory defined in the addressing table, and under the trigger table and script code can be reserved areas of memory.

Технический результат также достигается тем, что система дополнительно включает на сервере модуль безопасности, осуществляющий проверку данных, полученных от базового модуля, и/или пользователя, и/или сервера, и/или контролируемого модуля, причем модуль безопасности проверяет права доступа пользовательского уровня, а также включает модуль имитации, который осуществляет проверку перечня допустимых инструкций виртуальной машины, характеристики памяти и другие программные и/или аппаратные характеристики.The technical result is also achieved by the fact that the system additionally includes on the server a security module that checks the data received from the base module and / or the user and / or server and / or the monitored module, the security module checks the user level access rights, and also includes a simulation module that checks the list of valid virtual machine instructions, memory characteristics, and other software and / or hardware characteristics.

Также технический результат достигается тем, что способ управления устройствами и контроля устройств включает управление и контроль, по крайней мере, одним контролируемым модулем посредством управляющих программ, полученных контролируемым модулем с, по крайней мере, одного базового модуля, где управляющие программы являются скриптами, исполняемыми модулем исполнения скриптов в, по крайней мере, одном управляющем модуле и/или в контролируемом модуле, и/или в базовом модуле, и/или на, по крайней мере, одном сервере, причем управляющий модуль, является частью контролируемого модуля, причем к управляющему модулю подключен, по крайней мере, один измерительный модуль, осуществляющий передачу измерений и/или статусы команд и управляющих программ, по крайней мере, в один управляющий модуль контролируемого модуля, причем управление, по крайней мере, одним контролируемым модулем и/или, по крайней мере, одной частью контролируемого модуля осуществляет по крайней мере, один управляемый модуль, связанный с, по крайней мере, одним управляющим модулем и/или с, по крайней мере, одним контролируемым модулем и/или являющийся частью, по крайней мере, одного контролируемого модуля, и/или подключенный к, по крайней мере, одному управляющему модулю, где по крайней мере, один базовый модуль, связанный, по крайней мере, с одним контролируемым модулем и/или сервером, и/или другим базовым модулем и осуществляющий управление, по крайней мере, одним контролируемым модулем и/или осуществляющий контроль, по крайней мере, одного контролируемого модуля, посредством, по крайней мере, одного управляющего модуля, причем управление контролируемым модулем осуществляется базовым модулем посредством команд, содержащихся, по крайней мере, в управляющем модуле, причем базовый модуль получает команды и управляющие программы с сервера и/или передает статусы команд и управляющих программ и/или измерения измерительного модуля на сервер, который связан, по крайней мере, с одним базовым модулем, причем по крайней мере, один контролируемый модуль связан, по крайней мере, с одним базовым модулем и/или другим контролируемым модулем.The technical result is also achieved by the fact that the method of device control and device control includes the control and monitoring of at least one controlled module by means of control programs received by the controlled module from at least one base module, where the control programs are scripts executed by the module execution of scripts in at least one control module and / or in a controlled module, and / or in a basic module, and / or on at least one server, and the control mode This is part of the monitored module, with at least one measuring module connected to the control module, which transfers measurements and / or statuses of commands and control programs to at least one control module of the controlled module, and at least , one controlled module and / or at least one part of the controlled module implements at least one managed module associated with at least one control module and / or with at least one control a rooted module and / or being part of at least one supervised module, and / or connected to at least one supervisory module, where at least one basic module is associated with at least one supervised module and / or a server and / or another basic module and controlling at least one controlled module and / or monitoring at least one controlled module by means of at least one control module, the control being monitored The module is carried out by the basic module by means of instructions contained at least in the control module, the basic module receiving commands and control programs from the server and / or transmitting the status of commands and control programs and / or measurement of the measuring module to the server, which is connected at least one base module, and at least one monitored module is associated with at least one base module and / or another controlled module.

Технический результат также достигается тем, что способ дополнительно включает осуществление пользователем преобразования названия параметров команд, полученных с управляемого модуля, и/или изменение наименования команд в интерфейсе базового модуля и/или интерфейсе сервера.The technical result is also achieved by the fact that the method further includes the user converting the parameter names of the commands received from the managed module, and / or changing the name of the commands in the interface of the base module and / or the server interface.

Технический результат также достигается тем, что управляющие программы создаются пользователем в базовом модуле и/или на сервере с использованием шаблонного построителя, являющимся графическим построителем логики, и/или создаются посредством ввода управляющих команд в текстовое поле интерфейса базового модуля и/или сервера.The technical result is also achieved by the fact that the control programs are created by the user in the base module and / or on the server using a template builder, which is a graphic logic builder, and / or are created by entering control commands in the text field of the interface of the base module and / or server.

Технический результат также достигается тем, что шаблонный построитель осуществляет создание кода управляющей команды, осуществляет валидацию кода управляющей команды и осуществляет загрузку на контролируемый модуль средствами, по крайней мере, одного модуля системы.The technical result is also achieved by the fact that the template builder creates the code of the control command, validates the code of the control command and downloads to the controlled module using at least one module of the system.

Технический результат также достигается тем, что контролируемым модулем является цифровое устройство и/или аналоговое устройство, и/или комбинированное устройство, и/или механическое устройство, и/или электронное устройство, и/или вычислительное устройство, и/или мобильное устройство, и/или домашняя электроника, и/или бытовой прибор, и/или бытовая техника, и/или профессиональное оборудование, и/или техническое оборудование, приборы учета, в том числе приборы учета энергоресурсов, приборы отопления, водоснабжения, электроснабжения, а также любая их комбинация.The technical result is also achieved by the fact that the controlled module is a digital device and / or an analog device, and / or a combined device, and / or a mechanical device, and / or an electronic device, and / or a computing device, and / or a mobile device, and / or home electronics, and / or household appliances, and / or household appliances, and / or professional equipment, and / or technical equipment, metering devices, including metering devices for energy resources, heating, water, electricity supplies, and e any combination thereof.

Технический результат также достигается тем, что управляющий модуль является, по крайней мере, одной микросхемой и/или микроконтроллером.The technical result is also achieved by the fact that the control module is at least one microcircuit and / or microcontroller.

Технический результат также достигается тем, что связь между модулями системы осуществляется посредством проводной связи или беспроводной связи, в том числе, посредством локальной вычислительной сети, и/или сети Интернет, и/или мобильной или спутниковой связи, и/или USB-интерфейса, и/или интерфейса стандарта RS-232/СОМ-порта, и/или Bluetooth, и/или Wi-Fi, и/или GSM, 3G, 4G, LTE, транкинговой связи, и/или посредством каналов передачи данных со сверхнизким энергопотреблением, формирующих сложные беспроводные сети с ячеистой топологией, и/или ZigBee, а также связь между модулями системы осуществляется посредством клемм и/или проводов, и/или пайки, и/или клепки.The technical result is also achieved by the fact that the communication between the modules of the system is carried out via wired communication or wireless communication, including through a local area network, and / or the Internet, and / or mobile or satellite communications, and / or a USB interface, and / or interface standard RS-232 / COM port, and / or Bluetooth, and / or Wi-Fi, and / or GSM, 3G, 4G, LTE, trunking, and / or via data channels with ultra-low power consumption, forming complex wireless networks with mesh topology, and / or ZigBee, as well as communication m Between the system modules is carried out by means of terminals and / or wires, and / or soldering, and / or riveting.

Технический результат также достигается тем, что связь между модулями системы осуществляется посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола TCP/IP и/или HTTP/HTTPs, и/или FTP, и/или РОР3, и/или SMTP, и/или TELNET, и/или ХМРР, расширяемого протокола обмена сообщениями и информацией о присутствии.The technical result is also achieved by the fact that the communication between the modules of the system is carried out by means of at least one data transfer protocol, including the network protocol TCP / IP and / or HTTP / HTTPs, and / or FTP, and / or POP3, and / or SMTP, and / or TELNET, and / or HMRP, an extensible messaging and presence protocol.

Технический результат также достигается тем, что контролируемый модуль и/или базовый модуль, и/или сервер получает команды и/или управляющие программы от, по крайней мере, одного вычислительного устройства пользователя и/или от, по крайней мере, одного базового модуля, и/или, от, по крайней мере, одного другого контролируемого модуля, и/или от, по крайней мере, одного сервера.The technical result is also achieved by the fact that the monitored module and / or the base module and / or the server receives commands and / or control programs from at least one computing device of the user and / or from at least one basic module, and / or, from at least one other monitored module, and / or from at least one server.

Технический результат также достигается тем, что на вычислительном устройстве пользователя установлено программное обеспечение, позволяющее связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.The technical result is also achieved by the fact that software is installed on the user's computing device that allows you to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurements by the measuring module and / or control and / or setting up system modules, and / or for creating and / or sending commands and / or control programs for said modules.

Технический результат также достигается тем, что на вычислительном устройстве пользователя установлен веб-браузер, который позволяет пользователю связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.The technical result is also achieved by the fact that a web browser is installed on the user's computing device, which allows the user to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of system modules and / or measurements by the measuring module, and / or control and / or settings of system modules, and / or to create and / or send commands and / or control programs for said modules.

Технический результат также достигается тем, что управляющий модуль содержит модуль сбора и обработки измерений измерительного модуля, хранилище команд управляемых модулей, модуль трансляции и преобразования данных, модуль шифрования и дешифрования данных и модуль исполнения скриптов, модуль управления, осуществляющий, по крайней мере, обработку результатов выполнения команд.The technical result is also achieved by the fact that the control module contains a module for collecting and processing measurements of the measuring module, a repository of commands for the controlled modules, a data translation and conversion module, a data encryption and decryption module and a script execution module, a control module that performs at least the processing of the results execution of commands.

Технический результат также достигается тем, что пользователем осуществляется регистрирование контролируемых модулей и/или управляющих модулей, по крайней мере, в одном базовом модуле, причем упомянутая регистрация определяет связь зарегистрированных контролируемых модулей и/или управляющих модулей с базовыми модулями с целью получения и/или обработки данных базовыми модулями, передаваемых контролируемыми модулями и/или управляющими модулями.The technical result is also achieved by the fact that the user registers the monitored modules and / or control modules in at least one basic module, and the aforementioned registration determines the relationship of the registered controlled modules and / or control modules with the base modules in order to obtain and / or processing data by basic modules transmitted by supervised modules and / or control modules.

Технический результат также достигается тем, что базовый модуль содержит хранилище измерений измерительных модулей контролируемых модулей, хранилище команд контролируемых модулей, хранилище настроек преобразования и отображения команд и измерений контролируемых модулей, модуль трансляции и преобразования данных и сообщений, модуль шифрования и дешифрования данных, модуль исполнения скриптов, реестр контролируемых модулей, хранилище настроек и журналов событий базового модуля, модуль шифрования и дешифрования сообщений, модуль пользовательского интерфейса.The technical result is also achieved by the fact that the base module contains a storage of measurements of measuring modules of controlled modules, a store of commands of controlled modules, a storage of settings for converting and displaying commands and measurements of controlled modules, a module for transmitting and converting data and messages, a module for encrypting and decrypting data, a module for executing scripts , register of controlled modules, repository of settings and event logs of the base module, message encryption and decryption module, gender module user interface.

Технический результат также достигается тем, что сервер содержит хранилище профилей пользователей, реестр базовых модулей, реестр контролируемых модулей, хранилище измерений измерительных модулей контролируемых модулей с историей измерений, серверное ядро, хранилище команд и шаблонов команд контролируемых модулей, хранилище правил управления контролируемыми модулями, модуль правил управления контролируемыми модулями, хранилище правил уведомлений пользователей, модуль правил уведомлений пользователей, модуль уведомлений пользователей.The technical result is also achieved by the fact that the server contains a storage of user profiles, a register of basic modules, a register of controlled modules, a measurement storage of measuring modules of controlled modules with a measurement history, a server core, a storage for commands and command templates for controlled modules, a storage for rules for controlling controlled modules, a rules module control of controlled modules, storage of user notification rules, user notification rules module, user notification module televisions.

Технический результат также достигается тем, что осуществляется уведомление пользователя о событиях в модулях системы на основе правил уведомлений, которые содержат, по крайней мере, одно условие и реакцию на условие.The technical result is also achieved by the fact that the user is notified of events in the system modules based on the notification rules, which contain at least one condition and a reaction to the condition.

Технический результат также достигается тем, что осуществляется уведомление пользователя о событиях в модулях системы посредством SMS-сообщений и/или писем электронной почты, и/или посредством систем и/или служб, и/или приложений для обмена сообщениями и данными/информацией, в том числе для мгновенного обмена сообщениями/обмена мгновенными сообщениями, и/или мессенджеров, и/или систем и/или служб, и/или приложений для передачи и/или получения сообщений, и/или систем и/или служб, и/или приложений для обмена данными/информацией, в том числе включая получение и передачу текстовой информации/данных, графических данных, видеоданных, изображений, звуковых данных, аудиофайлов, и/или сообщений в чатах и/или социальных сетях.The technical result is also achieved by the fact that the user is notified of events in the system modules by means of SMS messages and / or emails, and / or by systems and / or services, and / or applications for exchanging messages and data / information, including including for instant messaging / instant messaging, and / or instant messengers, and / or systems and / or services, and / or applications for sending and / or receiving messages, and / or systems and / or services, and / or applications for data / information exchange, including vk yuchaya receiving and transmitting text information / data, graphical data, video, images, audio data, audio, and / or messages in chat rooms and / or social networks.

Технический результат также достигается тем, что управление модулями системы осуществляется с использованием правил автоматического управления модулями системы посредством, по крайней мере, одного модуля правил автоматического управления модулями системы, причем модулями системы осуществляется выполнение команд, в зависимости от содержания правила.The technical result is also achieved by the fact that the control of the system modules is carried out using the rules for the automatic control of the system modules by means of at least one module of the rules for the automatic control of the system modules, and the system modules execute commands, depending on the content of the rule.

Технический результат также достигается тем, что сервер и/или контролируемый модуль, и/или базовый модуль содержат генератор событий, менеджер триггеров, хранилище скриптов, виртуальную машину, которая содержит менеджер прерываний, среду исполнения, загрузчик.The technical result is also achieved by the fact that the server and / or the monitored module and / or the base module contain an event generator, a trigger manager, a script repository, a virtual machine that contains an interrupt manager, runtime, and bootloader.

Технический результат также достигается тем, что данные на сервере хранятся в триггерной таблице и таблице байт-кодов управляющих программ базы данных; на базовом модуле данные хранятся в файлах внутри файловой системы, которые содержат триггерную таблицу и код скриптов, в контролируемом модуле данные хранятся в виде адресно-разделенных областей флеш-памяти, определенных в таблице адресации, причем под триггерную таблицу и код скриптов могут быть зарезервированы заведомо области памяти.The technical result is also achieved by the fact that the data on the server is stored in the trigger table and the bytecode table of the database control programs; on the basic module, the data is stored in files inside the file system that contain the trigger table and script code, in the controlled module the data is stored in the form of address-separated areas of flash memory defined in the addressing table, and under the trigger table and script code can be reserved areas of memory.

Технический результат также достигается тем, что на сервере осуществляется проверка данных, полученных от базового модуля, и/или пользователя, и/или сервера, и/или контролируемого модуля, причем осуществляется проверка права доступа пользовательского уровня, а также осуществляется проверка перечня допустимых инструкций виртуальной машины, характеристики памяти и другие программные и/или аппаратные характеристики.The technical result is also achieved by the fact that the server verifies the data received from the base module, and / or the user, and / or the server, and / or the monitored module, and verifies the user level access rights, and also verifies the list of valid virtual instructions machines, memory specifications, and other software and / or hardware specifications.

Предлагаемое изобретение поясняется чертежами:The invention is illustrated by drawings:

ФИГ. 1 иллюстрирует примерный вариант системы, реализующий способ, описываемый в рамках настоящего изобретения;FIG. 1 illustrates an exemplary embodiment of a system that implements the method described in the framework of the present invention;

ФИГ. 2 иллюстрирует общую схему настоящего изобретения и обмен данными между модулями и устройствами пользователей в рамках примерного варианта системы, реализующий способ, описываемый в рамках настоящего изобретения;FIG. 2 illustrates a general diagram of the present invention and the exchange of data between modules and user devices within an exemplary embodiment of a system that implements the method described in the framework of the present invention;

ФИГ. 3 иллюстрирует примерный вариант (контролируемого/управляемого) устройства, согласно одному из вариантов осуществления настоящего изобретения;FIG. 3 illustrates an exemplary embodiment of a (controllable) device, according to one embodiment of the present invention;

ФИГ. 4 иллюстрирует примерный вариант управляющего модуля/микросхемы (чипа), согласно одному из вариантов осуществления настоящего изобретения;FIG. 4 illustrates an exemplary embodiment of a control module / microcircuit (chip) according to one embodiment of the present invention;

ФИГ. 5 иллюстрирует примерный вариант базы/базового модуля, согласно одному из вариантов осуществления настоящего изобретения;FIG. 5 illustrates an exemplary base / base module embodiment, according to one embodiment of the present invention;

ФИГ. 6 иллюстрирует примерный вариант сервера, согласно одному из осуществлений настоящего изобретения;FIG. 6 illustrates an exemplary server embodiment, in accordance with one embodiment of the present invention;

ФИГ. 7 иллюстрирует блок-схемы процесса создания и загрузки скрипта/программы, согласно одному из вариантов осуществления настоящего изобретения;FIG. 7 illustrates flowcharts of a process for creating and loading a script / program, according to one embodiment of the present invention;

ФИГ. 8 иллюстрирует примерный вариант общей схемы окружения системы выполнения скриптов, согласно одному из вариантов осуществления настоящего изобретения.FIG. 8 illustrates an exemplary embodiment of a general environment diagram of a script execution system according to one embodiment of the present invention.

ФИГ. 9 иллюстрирует примерный вариант общей схемы виртуальной машины, согласно одному из вариантов осуществления настоящего изобретения;FIG. 9 illustrates an example embodiment of a general virtual machine diagram, in accordance with one embodiment of the present invention;

ФИГ. 10 иллюстрирует примерный вариант осуществления хранения скриптов на различных узлах сети, согласно одному из вариантов осуществления настоящего изобретения;FIG. 10 illustrates an exemplary embodiment of storing scripts at various network nodes, according to one embodiment of the present invention;

ФИГ. 11 иллюстрирует примерный вариант структуры триггерной записи, согласно одному из вариантов осуществления настоящего изобретения;FIG. 11 illustrates an example embodiment of a trigger recording structure, according to one embodiment of the present invention;

ФИГ. 12 иллюстрирует примерный вариант общей схемы событийно-триггерной системы, согласно одному из вариантов осуществления настоящего изобретения;FIG. 12 illustrates an exemplary embodiment of a general scheme of an event-trigger system, according to one embodiment of the present invention;

ФИГ. 13 иллюстрирует примерный вариант диаграммы общей низкоуровневой логики вызова скрипта по ивенту/событию, согласно одному из вариантов осуществления настоящего изобретения;FIG. 13 illustrates an exemplary diagram of a general low-level event call script call logic according to one embodiment of the present invention;

ФИГ. 14 - ФИГ. 16 иллюстрируют примерный вариант принципа работы загрузчика скриптов на различных узлах описываемой в настоящем изобретении системы, согласно одному из вариантов осуществления настоящего изобретения;FIG. 14 - FIG. 16 illustrate an exemplary embodiment of a script loader operating principle at various nodes of the system described in the present invention, according to one embodiment of the present invention;

ФИГ. 17 иллюстрирует примерный вариант схемы «проброса» команд/запросов в модули описываемой системы, согласно одному из вариантов осуществления настоящего изобретения;FIG. 17 illustrates an exemplary embodiment of a “forward” instruction / request circuit to modules of the described system, according to one embodiment of the present invention;

ФИГ. 18 иллюстрирует примерный вариант общей структурной схемы записи и получения данных телеметрии, согласно одному варианту осуществления настоящего изобретения;FIG. 18 illustrates an exemplary embodiment of a general block diagram of the recording and reception of telemetry data, according to one embodiment of the present invention;

ФИГ. 19 иллюстрирует пример компьютерной системы общего назначения.FIG. 19 illustrates an example of a general purpose computer system.

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details provided to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined only in the scope of the attached claims.

Используемые в настоящем описании изобретении термины «компонент», «элемент», «система», «модуль», «часть», в частности, «составная часть», и подобные предназначены (используются) для обозначения компьютерных сущностей (сущностей/объектов, связанных с компьютером, вычислительных сущностей), которые могут являться аппаратным обеспечением/оборудованием (например, устройством, инструментом, аппаратом, аппаратурой, составной частью устройства, в частности, процессором, микропроцессором, печатной платой и т.д.), программным обеспечением (например, исполняемым программным кодом, скомпилированным приложением, программным модулем, частью программного обеспечения и/или кода и т.д.) или микропрограммой (прошивкой/firmware). Так, например, компонент может быть процессом, выполняющемся/исполняющимся на процессоре, процессором, объектом, исполняемым файлом, программой, функцией, методом, библиотекой, подпрограммой и/или вычислительным устройством (например, микрокомпьютером или компьютером) или комбинацией программного или аппаратного обеспечения. В качестве иллюстрации: как приложение, запущенное на сервере, может быть компонентом или модулем, так и сервер может быть компонентом или модулем. По крайней мере, один компонент может находиться (располагаться) внутри процесса. Компонент может располагаться на одном вычислительном устройстве (например, компьютере) и/или может быть распределен между двумя и более вычислительными устройствами. Так, например, в частном случае приложение (компонент), может быть представлено серверным компонентом (серверной частью) и клиентским компонентом (клиентской частью). В частном случае, клиентский компонент устанавливается, по крайней мере, на одно вычислительное устройство, а серверный компонент устанавливается на второе вычислительное устройство, с которого, в частном случае, производится управление и/или настройка первого вычислительного устройства (и/или его составных компонентов/частей.Used in the present description of the invention, the terms "component", "element", "system", "module", "part", in particular, "component", and the like are intended (used) to refer to computer entities (entities / objects associated with a computer, computing entities), which can be hardware / equipment (for example, a device, instrument, apparatus, equipment, part of a device, in particular, a processor, microprocessor, printed circuit board, etc.), software (on Example, executable program code, compile the application, software module, part of the software and / or code, etc.) or firmware (firmware / firmware). So, for example, a component can be a process running / executing on a processor, a processor, an object, an executable file, a program, a function, a method, a library, a subprogram and / or a computing device (for example, a microcomputer or a computer) or a combination of software or hardware. As an illustration: as an application running on a server can be a component or module, so the server can be a component or module. At least one component may be located within the process. A component may reside on a single computing device (eg, a computer) and / or may be distributed between two or more computing devices. So, for example, in a particular case, an application (component) can be represented by a server component (server part) and a client component (client part). In the particular case, the client component is installed on at least one computing device, and the server component is installed on the second computing device, from which, in the particular case, control and / or configuration of the first computing device (and / or its component components / parts.

Система, реализующая способ (или, по крайней мере, одну часть способа), описываемый в рамках настоящего изобретения, примерный вариант которой изображен на ФИГ. 1, содержит, по крайней мере, одно (контролируемое) устройство/модуль (110А…110N). Такими устройствами могу являться различные (в том числе цифровые, аналоговые, комбинированные, механические и т.д.) устройства, в частности, но не ограничиваясь, электронные устройства, вычислительные устройства, в том числе вычислительные устройства пользователей, в том числе смартфоны, мобильные устройства/телефоны, ноутбуки, планшеты, персональные компьютеры и т.д., и/или, по крайней мере, один компонент/модуль таких устройств, например, различные датчики, исполнительные компоненты, например, двигатели, различные механизмы и т.д. Такими устройствами (и/или модулями устройств) могут являться, например, домашняя электроника (электронные устройства, используемые человеком/пользователем в доме и его окружении), бытовые приборы/бытовая техника (например, микроволновыми печами, холодильники, тостеры, кондиционеры, лампы накаливания, насосы и т.д.), профессиональное и/или техническое (электронное) оборудование/устройства (например, синтезаторы, процессоры эффектов, различное медицинское, строительное, торговое и другое оборудование/устройства/модули и другие), модули/устройства/приборы учета, в том числе модули/устройства/ приборы учета энергоресурсов, например, воды, газа, электричества, теплоты, а также модули/устройства/приборы отопления, водоснабжения, электроснабжения и т.д., а также любая их комбинация.A system that implements the method (or at least one part of the method) described in the framework of the present invention, an example of which is shown in FIG. 1, contains at least one (controlled) device / module (110A ... 110N). Such devices can be various (including digital, analog, combined, mechanical, etc.) devices, in particular, but not limited to, electronic devices, computing devices, including user computing devices, including smartphones, mobile devices / phones, laptops, tablets, personal computers, etc., and / or at least one component / module of such devices, for example, various sensors, actuating components, for example, motors, various mechanisms, etc. Such devices (and / or device modules) can be, for example, home electronics (electronic devices used by a person / user in the house and its surroundings), household appliances / household appliances (e.g. microwave ovens, refrigerators, toasters, air conditioners, incandescent lamps , pumps, etc.), professional and / or technical (electronic) equipment / devices (for example, synthesizers, effect processors, various medical, construction, commercial and other equipment / devices / modules and others), modules / devices equipment / metering devices, including modules / devices / metering devices for energy resources, for example, water, gas, electricity, heat, as well as modules / devices / appliances for heating, water supply, electricity supply, etc., as well as any combination thereof.

Система, например, изображенная на ФИГ. 1, также может включать, по крайней мере, один базу/базовый модуль/базовое устройство (120A…120N).A system, for example, shown in FIG. 1 may also include at least one base / base module / base unit (120A ... 120N).

Также, описываемая система, примерный вариант которой изображен на ФИГ. 1 может включать, по крайней мере, один сервер 160.Also, the described system, an exemplary version of which is shown in FIG. 1 may include at least one server 160.

Описываемая система также может включать, по крайней мере, одно (вычислительное) устройство пользователя/пользовательское устройство (130A…130N). Вычислительное устройство (130A…130N) пользователя (135A…135N), например, мобильное устройство (130Б, 130Е) (например, телефон, планшет, смартфон и т.д.) или стационарное устройство (130А, 130Д, 130Г) (например, рабочая станция 130Д, настольный компьютер/десктоп 130A, моноблок 130Г, компьютерный стенд, в том числе демонстрационный компьютерный стенд, рекламный компьютеризированный стенд, испытательный стенд, и т.д.).The described system may also include at least one (computing) user device / user device (130A ... 130N). A user's computing device (130A ... 130N) (135A ... 135N), for example, a mobile device (130B, 130E) (for example, a phone, tablet, smartphone, etc.) or a stationary device (130A, 130D, 130G) (for example, 130D workstation, desktop computer / desktop 130A, 130G monoblock, computer stand, including a demonstration computer stand, an advertising computer stand, a test stand, etc.).

Стоит отметить, что частным случаем пользователя является, по крайней мере, один администратор/модератор, т.е., в частном случае, лицо, заинтересованные, например, в работоспособности или поддерживающее работоспособность оборудования, например, сервера 160 и/или базы (120A…120N), устройств (110A…110N), хранилищ данных (170A…170N), сетей (компьютерных, мобильных и других), в том числе между модулями/устройствами, и других компонентов (включая компьютерные компоненты или компьютеризированные компоненты, в том числе программные и аппаратные компоненты), указанных на ФИГ. 1, или которые могут являться составной частью описываемой системы и/или могут быть подключены к упомянутой системе, например, связаны тем или иным известным в настоящее время или изобретенным в будущем прямым (например, посредством клемм и/или проводов, пайки, клепки и т.д.) или косвенным способом (посредством промежуточных устройств, включая различного рода преобразователи, в частности, преобразователи/конверторы информации, в том числе, данных в аналоговом виде, цифровом виде или в любом другом известном виде информации) с упомянутой системой, например, посредством проводной связи, беспроводной связи, посредством различного типа разъемов, проводов и т.д.It is worth noting that a particular case of the user is at least one administrator / moderator, i.e., in a particular case, a person who is interested, for example, in working capacity or maintaining the working capacity of equipment, for example, server 160 and / or base (120A ... 120N), devices (110A ... 110N), data storages (170A ... 170N), networks (computer, mobile and others), including between modules / devices, and other components (including computer components or computerized components, including software and hardware components) FIG. 1, or which can be an integral part of the described system and / or can be connected to the said system, for example, are connected by one or another known at the present time or invented in the future directly (for example, via terminals and / or wires, soldering, riveting, etc. .d.) or indirectly (through intermediate devices, including various types of converters, in particular converters / converters of information, including data in analog form, digital form or in any other known form of information) with the mentioned system emoy, e.g., via a wired connection, wireless connection, through various types of connectors, wires, etc.

Также, описываемая система может содержать, по крайней мере, одно хранилище данных 170A…170N (которое в частном случае может быть реализовано реестром, например, реестром устройств, как более подробно будет описано далее), которое в частном случае осуществления изобретения может являться временным устройством хранения данных (например, Оперативным Запоминающим Устройством (ОЗУ)), постоянным хранилищем данных (например, (Программируемое) Постоянное Запоминающее Устройство (ПЗУ/ППЗУ)), в том числе, реализуемые, по крайней мере, одной микросхемой/набором микросхем, и т.д.Also, the described system may contain at least one data storage 170A ... 170N (which in a particular case can be implemented by a registry, for example, a device registry, as will be described in more detail below), which in a particular case of the invention may be a temporary device data storage (e.g., Random Access Memory (RAM)), permanent data storage (e.g. (Programmable) Read Only Memory (ROM / ROM)), including those sold by at least one microchip / Chipset, etc.

Элементы (в частном случае, составные части описываемой системы, реализующей способ, описываемый в рамках настоящего изобретения), изображенные на ФИГ. 1, могут быть связаны (180) между собой (и любыми другими модулями, устройствами и сервисами, способным получать информацию от модулей описываемой системы и/или передавать данные в описываемые модули системы) посредством локальной вычислительной сети (ЛВС), сети Интернет (140), (средствами) мобильной/спутниковой связи и/или посредством любого другого вида/способа проводной связи (например, посредством USB-интерфейса, интерфейса стандарта RS-232/СОМ-порта и т.д.) и/или беспроводной связи, например, Bluetooth, Wi-Fi, мобильной сотовой связи (GSM), в том числе 3G, 4G, LTE, в частности, в диапазонах 850/900/1800/1900 МГц, спутниковой связи, транкинговой связи и каналов передачи данных со сверхнизким энергопотреблением, формирующие сложные беспроводные сети с ячеистой топологией (ZigBee) и т.д.Elements (in the particular case, the constituent parts of the described system that implements the method described in the framework of the present invention) depicted in FIG. 1, can be connected (180) with each other (and with any other modules, devices and services capable of receiving information from the modules of the described system and / or transmitting data to the described modules of the system) through a local area network (LAN), the Internet (140) , (by means of) mobile / satellite communications and / or by any other type / method of wired communication (for example, via a USB interface, an RS-232 / COM port interface, etc.) and / or wireless communication, for example, Bluetooth, Wi-Fi, mobile cellular (GSM), including 3G, 4G, LTE, in particular, in the 850/900/1800/1900 MHz bands, satellite communications, trunked communications and ultra-low power data transmission channels forming complex wireless networks with a mesh topology (ZigBee), etc.

Стоит отметить, что, по крайней мере, одна часть описываемого в рамках настоящего изобретения способа (или способ целиком) может осуществляться на сервере 160 и/или на пользовательском устройстве (130A…130N), и/или на устройстве (110A…110N), и/или на/в базовом модуле (120A…120N), в том числе, после установления связи таких устройств (или любого другого модуля описываемой системы) с сервером 160, и/или друг с другом, например, посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола, например, TCP/IP, HTTP/HTTPs (англ. Hyper Text Transfer Protocol, протокол передачи гипертекста), FTP (англ. File Transfer Protocol, протокол передачи файлов), РОР3 (англ. Post Office Protocol, стандартный протокол почтового соединения), SMTP (англ. Simple Mail Transfer Protocol, протокол, который задает набор правил для передачи почты), TELNET (протокол удаленного доступа), ХМРР (от англ. Extensible Messaging and Presence Protocol - расширяемый протокол обмена сообщениями и информацией о присутствии, ранее известный как Jabber - открытый, основанный на XML, протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени), DTN и т.д., в том числе протоколов, регламентированных стандартами IEEE 802.15.4 и ZigBee, включая существующие надстройки, например, спецификации сетевых протоколов верхнего уровня, в частности, уровня приложений APS (от англ. application support sublayer), и сетевого уровня NWK, использующих, в частном случае, сервисы нижних уровней, уровня управления доступом к среде MAC и физического уровня PHY и т.д.It is worth noting that at least one part of the method described in the framework of the present invention (or the whole method) can be performed on the server 160 and / or on the user device (130A ... 130N), and / or on the device (110A ... 110N), and / or on / in the base module (120A ... 120N), including after establishing the connection of such devices (or any other module of the described system) with the server 160, and / or with each other, for example, by means of at least one data transfer protocol, including a network protocol, for example, TCP / IP, HTTP / HTTPs (eng. Hyper Text Transfer Protoco l, Hypertext Transfer Protocol), FTP (File Transfer Protocol, File Transfer Protocol), POP3 (Post Office Protocol, standard mail connection protocol), SMTP (Simple Mail Transfer Protocol, a protocol that defines a set of rules for mail transfer), TELNET (Remote Access Protocol), XMPP (Extensible Messaging and Presence Protocol - an extensible messaging and presence information protocol, formerly known as Jabber - an open, XML-based protocol for instant messaging and information about near real-time presence ), DTN, etc., including protocols regulated by the IEEE 802.15.4 and ZigBee standards, including existing add-ons, for example, specifications of top-level network protocols, in particular, the APS application layer (from English application support sublayer), and the NWK network layer, using, in a particular case, the services of the lower layers, the MAC access control layer and the PHY physical layer, etc.

Указанный выше сервер 160 может быть реализован веб-сервером и/или специализированным вычислительным устройством (в частности, компьютером) и/или специализированным оборудованием для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач).The above server 160 may be implemented by a web server and / or specialized computing device (in particular, a computer) and / or specialized equipment for performing service software on it (including servers of various tasks).

Элемент хранилище данных (170A…170N) на ФИГ. 1 (который, в частном случае, может являться составной частью, по крайней мере, одного модуля/устройства описываемой системы) является устройством для хранения информации/данных и может быть реализовано, по крайней мере, одним накопителем на жестких магнитных дисках (НЖМД/HDD, англ. hard (magnetic) disk drive), твердотельным накопителем (SSD, англ. solid-state drive), гибридным жестким диском (SSHD, англ. solid-state hybrid drive), сетью хранения данных (СХД/SAN, англ. Storage Area Network), сетевой системой хранения данных/сетевым хранилищем (NAS, англ. Network Attached Storage) и/или любым другим устройством, позволяющим осуществлять, по крайней мере, запись на устройство, чтение с устройства и/или хранение данных на устройстве. Данные в хранилищах данных (170A…170N) могут храниться в любом известном формате, например, в базе данных (БД), например, в виде, по крайней мере, одной таблицы или набора связанных или не связанных между собой таблиц базы данных. Стоит отметить, что, по крайней мере, одна упомянутая база данных может являться иерархической, объектной, объектно-ориентированной, объектно-реляционной, реляционной, сетевой и/или функциональной базой данных, каждая из которых может быть централизованной, сосредоточенной, распределенной, неоднородной, однородной, фрагментированной/секционированной, тиражированной, пространственной, временной, пространственно-временной, циклической, сверхбольшой базой данных и т.д., причем для управления, создания и использования баз данных могут использоваться различные системы управления базами данных (СУБД).The data storage element (170A ... 170N) in FIG. 1 (which, in a particular case, can be an integral part of at least one module / device of the described system) is a device for storing information / data and can be implemented with at least one hard disk drive (HDD / HDD) hard (magnetic) disk drive), solid state drive (SSD, solid-state drive), hybrid hard drive (SSHD, solid-state hybrid drive), storage area network (SAN, Storage Area Network), a network storage system / NAS (NAS), and / or any other device m, allowing to carry out at least on the recording apparatus with reading devices and / or data storage device. Data in data warehouses (170A ... 170N) can be stored in any known format, for example, in a database (DB), for example, in the form of at least one table or a set of related or unrelated database tables. It is worth noting that at least one of the mentioned databases can be hierarchical, object, object-oriented, object-relational, relational, network and / or functional database, each of which can be centralized, concentrated, distributed, heterogeneous, homogeneous, fragmented / partitioned, replicated, spatial, temporal, spatio-temporal, cyclic, super-large database, etc., and for the management, creation and use of databases can be used lzovatsya different database management systems (DBMS).

Также данные в хранилищах данных (170A…170N) могут храниться, по крайней мере, в одном файле, в частном случае, в виде текстового файла, либо данные могут храниться в любом, по крайней мере, одном другом известном в настоящее время формате хранения данных/информации или в формате данных, изобретенном позднее.Also, data in data warehouses (170A ... 170N) can be stored in at least one file, in particular, as a text file, or data can be stored in any at least one other data storage format currently known / information or in a data format invented later.

В частном случае осуществления настоящего изобретения, по крайней мере, одна часть описываемого способа и системы может являться программным обеспечением или частью приложения. Так, в частном случае, приложение может использоваться для контроля (в том числе, отслеживания параметров, управления, передачи данных и т.д., включая их составные элементы/модули), по крайней мере, одного описываемого модуля (110-170) системы, в том числе управляющего модуля 215 (например, реализованного микроконтроллером, микросхемой устройства 110 и т.д.), измерительных модулей/измерителей/датчиков 310, управляемых модулей 330 и т.д., причем, в частном случае, описываемые модули могут являться вычислительными устройствами или содержать, по крайней мере, одну часть вычислительных устройств. Также, по крайней мере, одна часть описываемого способа и системы может являться, по крайней мере, одним сервисом, реализованные например, программным кодом, скриптом/скриптами, а также являться исполняемыми компонентами различных систем (в частности, компьютерных систем) и подсистем (например, подсистем, ввода, подсистемы вывода (в частности, графическая подсистема), хранения (в частности, дисковая подсистема), передачи данных и т.д.).In the particular case of the implementation of the present invention, at least one part of the described method and system may be software or part of the application. So, in a particular case, the application can be used to control (including tracking parameters, control, data transfer, etc., including their constituent elements / modules) of at least one described module (110-170) of the system including a control module 215 (for example, implemented by a microcontroller, a device microcircuit 110, etc.), measuring modules / meters / sensors 310, controlled modules 330, etc., moreover, in the particular case, the described modules can be computing devices or contain at least re, one part of computing devices. Also, at least one part of the described method and system can be at least one service, implemented, for example, by program code, script / scripts, and can also be executable components of various systems (in particular computer systems) and subsystems (for example , subsystems, input, output subsystems (in particular, the graphics subsystem), storage (in particular, the disk subsystem), data transfer, etc.).

Такое программное обеспечение, сервисы и/или другие способы, в частности, реализуемые программным или аппаратным способом, а также любая их комбинация, или любая их часть способны контролировать, отслеживать, информировать, управлять, в том числе посредством передачи данных, и т.д., по крайней мере, один модуль/устройство описываемой системы или другое программное обеспечение, сервисы, аппаратное обеспечение и/или модули (программные или аппаратные).Such software, services and / or other methods, in particular, implemented in software or hardware, as well as any combination of them, or any part thereof, are capable of controlling, monitoring, informing, managing, including through data transmission, etc. . at least one module / device of the described system or other software, services, hardware and / or modules (software or hardware).

Стоит отметить, что упомянутые выше средства программных компонентов/модулей приложения могут включать выполнение/исполнение программного кода, исполняемого кода приложения, машинного кода и т.д., в частности, в скомпилированном и/или не скомпилированном виде, например, в виде javascript (java-скриптов), а также в форме одного из промежуточных языков (программирования), например, промежуточного языка CIL, от англ. Common Intermediate Language.It is worth noting that the above-mentioned means of software components / application modules can include the execution / execution of program code, executable application code, machine code, etc., in particular, in compiled and / or non-compiled form, for example, in the form of javascript ( java-scripts), as well as in the form of one of the intermediate languages (programming), for example, the intermediate language CIL, from English. Common Intermediate Language.

Также, описываемые модули и/или устройства могут быть реализованы как двумя и более модулями/устройствами, так и одним модулем/устройством. Также, в частном случае, по крайней мере, один модуль или, по крайней мере, одна его составная часть могут быть реализованы, по крайней мере, одним исполняемым файлом. Причем, в частном случае, модуль может быть реализован (являться) одним исполняемым файлом, который в свою очередь может быть связан, по крайней мере, с одной программной библиотекой, например, реализованной в виде dll-файла, являющегося скомпилированной формой библиотеки динамической компоновки (от англ. Dynamic Link Library), а также, по крайней мере, с одним файлом, например, содержащим служебный данные приложения, метаданные приложения, данные, необходимые для функционирования приложения, и/или сервисом (локальным и/или удаленным, например, веб-сервисом/веб-службой), включая приложения и сервисы, построенные на сервис-ориентированной архитектуре (от англ. service-oriented architecture/SOA), включая, но не ограничиваясь, технологии REST (от англ. Representational State Transfer - «передача состояния представления»), удаленный вызов процедур (от англ. Remote Procedure Call, RPC) и другие.Also, the described modules and / or devices can be implemented as two or more modules / devices, and one module / device. Also, in the particular case, at least one module or at least one component thereof can be implemented by at least one executable file. Moreover, in the particular case, the module can be implemented (be) one executable file, which in turn can be associated with at least one program library, for example, implemented as a dll file, which is a compiled form of a dynamic link library ( from the English Dynamic Link Library), as well as with at least one file, for example, containing application service data, application metadata, data necessary for the application to function, and / or a service (local and / or remote, for example, the web server ISOM / web service), including applications and services built on a service-oriented architecture (from the English service-oriented architecture / SOA), including, but not limited to, REST technologies (from the English Representational State Transfer - “transfer of presentation state »), Remote procedure call (from the English. Remote Procedure Call, RPC) and others.

На ФИГ. 2 приведена общая схема настоящего изобретения и обмен данными (потоки данных, в том числе команд, скриптов, действий (пользователей) и т.д.) между модулями описываемой системы и между устройствами пользователей и модулями в рамках примерного варианта системы, реализующий способ, описываемый в рамках настоящего изобретения.In FIG. 2 shows a general diagram of the present invention and the exchange of data (data streams, including commands, scripts, actions (users), etc.) between the modules of the described system and between user devices and modules within the framework of an exemplary embodiment of the system that implements the method described in the framework of the present invention.

В частном случае осуществления настоящего изобретения описываемый способ и система предоставляют возможность пользователю (135A…135N) осуществлять контроль состояния, просмотр показателей/измерений и удаленное управление устройствами (110A…110N). Контроль состояния, просмотра показателей/измерений и (удаленного) управления (например, посредством устройств пользователей (130A...130N), сервера 160, базового модуля/базы 120A…120N и/или посредством, по крайней мере, любого одного другого модуля описываемой системы, в том числе посредством взаимодействия пользователя с упомянутыми модулями, включая взаимодействие пользователя напрямую (без промежуточных модулей системы) с упомянутыми модулями системы, включая устройства (110А…110N)), по крайней мере, с одним модулем описываемой системы, в том числе устройствами (110A…110N). Такое взаимодействие пользователя с модулями/устройствами может быть реализовано посредством использования в таких устройствах/модулях, по крайней мере, одного управляющего модуля 215 (ФИГ. 2), в частном случае, реализованным, по крайней мере, одной (управляющей) микросхемой/чипом (например, микросхемой СС2530, сс2531, сс2538, ATSAMR21Е18A, ATSAMR21G18A, ATmega256RFR2, ATmega2564RFR2 и другими), микрокомпьютером/микрокомпьютерами (например, Raspberry Pi, Intel Joule и т.д.), микропроцессором/микропроцессорами (например, Intel Atom, Qualcomm Snapdragon и т.д.) и т.д.In the particular case of the implementation of the present invention, the described method and system enables the user (135A ... 135N) to monitor, view indicators / measurements and remotely control devices (110A ... 110N). Status monitoring, viewing indicators / measurements and (remote) control (for example, through user devices (130A ... 130N), server 160, base module / base 120A ... 120N and / or through at least any one other module described systems, including through user interaction with said modules, including user interaction directly (without intermediate system modules) with said system modules, including devices (110A ... 110N), with at least one module of the described system, including devices (110A ... 110N). Such user interaction with modules / devices can be implemented by using at least one control module 215 (FIG. 2) in such devices / modules, in the particular case, implemented by at least one (control) microcircuit / chip ( e.g., chip CC2530, ss2531, ss2538, ATSAMR21E18A, ATSAMR21G18A, ATmega256RFR2, ATmega2564RFR2 and others), microcomputer / microcomputers (e.g. Raspberry Pi, Intel Joule, etc.), microprocessor / microprocessor, microprocessor, microprocessor, microprocessor etc.) etc.

Так, по крайней мере, один управляющий модуль 215, по крайней мере, одного устройства 110 посредством, по крайней мере, одного подключения посредством способов, средств и устройств связи (180) может взаимодействовать с базовым модулем/базой 120, в частности, обмениваться данными, в частности отправлять/передавать данные (210) базе 120 (и/или в/на устройство пользователя (130A…130N), и/или на сервер 160), например, перечень команд, (в частности набор команд, которые запрограммированы в управляющем модуле/чипе 215 для удаленного управления устройством 110А…110N, в которое встроен управляющий модуль/чип 215, причем упомянутый перечень команд может быть передан, по крайней мере, с одного устройства 110А…110N на базу/базовый модуль 120A…120N, и, например, далее на сервер 160, причем база/базовый модуль 120A…120N и/или сервер 160 упомянутый перечень команд обрабатывает и выводят пользователю, по крайней мере, одну команду, например, в виде html-формы, в которую пользователь 135A…135N для заданной (нужной пользователю) команды вводит данные и инициирует передачу, по крайней мере, одной команды, по крайней мере, на одной упомянутое устройство, например, посредством нажатия кнопки «Выполнить» в веб-интерфейсе, приложении и т.д., и такая переданная команда выполняется/исполняется на упомянутом устройстве), измерения/значения измерений (в частности, измерительных модулей/датчиков/измерителей (310А…310N)), результаты выполнения команд (результат выполнения команды может быть, по крайней мере, трех видов: в виде (просто) статуса (например, в виде булевой переменной), что команда выполнена успешно, в виде сообщения, например, об ошибке, и/или в виде выходных параметров, причем сообщение (об ошибке), например, о неверном значении параметра (например, пользователь решил в чайнике нагреть воду до 150 градусов Цельсия, на что чайник не рассчитан), а выходные параметры являются значениями измерений, например, измерителями 310А…310N, о которых должна сообщить команда (в частности, должен сообщить чип 215 и/или устройство 110A…110N посредством упомянутого чипа, в частности, посредством упомянутой команды или другой команды, содержащей данные выполнения упомянутой команды) по результатам ее (команды, в том числе, управляющей команды) выполнения, так, например, для упомянутого чайника, команда «Нагревать в течение минуты» (которая записана/прописана в чипе 215), по результатам выполнения помимо (просто) статуса успешного выполнения такой (управляющей) команды еще может возвращаться/отправляться температура (значение температуры, зарегистрированной измерителем 310A…310N, например, установленном в чайнике), до которой нагрелась вода в чайнике), и т.д., и принимать/получать данные 220, например, команды на управление, как описано выше.So, at least one control module 215 of at least one device 110 through at least one connection by means of communication methods, means and devices (180) can interact with the base module / base 120, in particular, exchange data in particular, send / transmit data (210) to base 120 (and / or to / to user device (130A ... 130N), and / or to server 160), for example, a list of commands (in particular, a set of commands that are programmed in the control module / chip 215 for remote control of the device 110A ... 110N, in k a control module / chip 215 is integrated, and the above list of commands can be transmitted from at least one device 110A ... 110N to the base / base module 120A ... 120N, and, for example, further to the server 160, and the base / base module 120A ... 120N and / or server 160, the above list of commands processes and displays the user at least one command, for example, in the form of an html form into which the user 135A ... 135N for the given (desired by the user) command enters data and initiates the transfer, at least one team, at least one mentioned e device, for example, by pressing the “Run” button in the web interface, application, etc., and such a transmitted command is executed / executed on the said device), measurements / measurement values (in particular, measurement modules / sensors / meters ( 310A ... 310N)), the results of command execution (the result of command execution can be at least three types: in the form of (simple) status (for example, in the form of a Boolean variable), that the command was executed successfully, in the form of a message, for example, about error, and / or in the form of output parameters, moreover a message (about an error), for example, about an incorrect parameter value (for example, the user decided to heat water in the kettle to 150 degrees Celsius, which the kettle is not designed for), and the output parameters are measurement values, for example, 310A ... 310N meters, which should inform the team (in particular, it must inform the chip 215 and / or device 110A ... 110N by means of said chip, in particular by means of said command or another command containing execution data of said command) based on its results (command, including control command s) execution, for example, for the mentioned kettle, the “Heat for a minute” command (which is recorded / written in the chip 215), according to the results of the execution, in addition to the (simple) status of the successful execution of such a (control) command, the temperature can also be returned / sent (the temperature value recorded by the meter 310A ... 310N, for example, installed in the kettle), to which the water in the kettle was heated), etc., and receive / receive data 220, for example, control commands, as described above.

Стоит также отметить, что, по крайней мере, один базовый модуль/база 120A…120N может осуществлять передачу (передавать), по крайней мере, на одно устройство 110A…110N скрипты, команды и измерения, результаты выполнения команд, причем результаты выполнения команд и команды могут быть переданы в формате JSON, что более подробно описаны далее.It is also worth noting that at least one base module / base 120A ... 120N can transmit (transmit) at least one device 110A ... 110N scripts, commands and measurements, the results of command execution, and the results of command execution and commands can be transmitted in JSON format, which is described in more detail below.

В частном случае осуществления изобретения информация/данные между управляющим модулем 215 и базой 120 (и/или любым другим, по крайней мере, одним модулем/устройством или их составными частями, описанными в рамках настоящего изобретения) могут быть переданы, например, с использованием радиочастотных сигналов (например, ZigBee, Wi-Fi и т.п., в частности, в зависимости от модификации модуля 215, базы 120, устройства 110 и т.д.).In the particular case of the invention, information / data between the control module 215 and the base 120 (and / or any other at least one module / device or their components described in the framework of the present invention) can be transmitted, for example, using radio frequency signals (for example, ZigBee, Wi-Fi, etc., in particular, depending on the modification of module 215, base 120, device 110, etc.).

В частном варианте осуществления изобретения пользователь (например, пользователь 135Г), подключившись с помощью своего вычислительного устройства/компьютера (130Г) к базовому модулю (120N), например, посредством Wi-Fi-сети (Wi-Fi-интерфейса) или по локальной сети (ЛВС) и запустив на своем (пользовательском) устройстве веб-браузер (или любое другое приложение, позволяющее осуществлять функции связи и/или просмотра данных и/или управления, контроля и т.д. базового 120A…120N модуля и/или устройства 110A…110N, и/или сервера 160) может открыть/запустить/использовать (веб-)интерфейс (570, ФИГ. 5), такого базового модуля (причем веб-интерфейс базы 570, в частном случае является панелью/меню/модулем администрирования, в частности, управления и настройки, по крайней мере, одной базы 120A…120N (например, как у wifi-роутеров), где пользователь может осуществлять настройку и управление устройствами 110A…110N, причем в частном случае осуществления настоящего изобретения упомянутый веб-интерфейс базы может быть не доступен через сеть Интернет, а может быть доступен по локальной сети, а также, в частном случае, веб-интерфейс может быть представлен, по крайней мере, одной веб-страницей веб-сайта/интернет-сайта, размещенного, например, на веб-сервере, размещенном/установленном/развернутом, по крайней мере, на одной упомянутой базе 120A…120N, и может быть реализован/разработан с использованием различных языков программирования, например, С, С++, Java, HTML, CSS и/или JavaScript, а база данных базового модуля 120A…120N представлена плоскими файлами (одной из разновидностей структурированных данных)), например, для просмотра показателей/измерений, по крайней мере, одного устройства, подключенного к данному базовому модулю (в частном случае, устройства 110/управляющего модуля 215, зарегистрированного, например, пользователем в базовом модуле, как будет описано далее), а также управлять устройствами. В частном случае осуществления изобретения базовый модуль (120…120N), подключенный к сети Интернет может обмениваться данными/информацией по зарегистрированным устройствам (например, данными, полученными в базовый модуль из, по крайней мере, одного устройства/модуля либо любыми другими данными, полученными базой с сервера 160, устройства пользователя 130A…130N и т.д., которые могут относиться к устройству 110 и/или по крайней мере, к одной его составной части/модулю или другим базовым модулям) на сервер 160, в частности, расположенный/размещенный/развернутый в сети Интернет. Так, например, базовый модуль 120 может передавать (240) на сервер 160, а сервер принимать из базового модуля, такие данные, как перечни команд устройств/модулей (110A…110N, 120A…120N и т.д.), измерения устройств, результаты выполнения команд устройствами, запрос текущего времени, запрос обновлений прошивки (программного обеспечения) базы 120A…120N и т.д. Причем, в частном случае осуществления изобретения, упомянутые запросы времени и обновлений могут быть переданы по протоколу HTTP, а перечни, измерения устройств, результаты выполнения команд и т.д. могут быть переданы по протоколу JSON с использованием/посредством ХМРР. Пример форматов сообщений JSON приведен ниже и может совпадать с форматом передачи данных, в частности, в виде сообщений, между устройствами 110A…110N и базами 120A…120N:In a particular embodiment of the invention, a user (for example, a 135G user), having connected via his computing device / computer (130G) to a base module (120N), for example, via a Wi-Fi network (Wi-Fi interface) or via a local network (LAN) and running on your (user) device a web browser (or any other application that allows you to perform the functions of communication and / or viewing data and / or control, monitoring, etc. of the base 120A ... 120N module and / or device 110A ... 110N, and / or server 160) can open / start / use there is a (web) interface (570, FIG. 5) of such a base module (and the web interface of base 570, in a particular case, is a panel / menu / administration module, in particular, managing and configuring at least one 120A base ... 120N (for example, as with Wi-Fi routers), where the user can configure and manage devices 110A ... 110N, and in the particular case of the implementation of the present invention, the mentioned web-based interface of the base may not be accessible via the Internet, but may be accessible locally network, as well as, in a particular case, the web interface can be represented by at least one web page of a website / Internet site hosted, for example, on a web server hosted / installed / deployed on at least one mentioned base 120A ... 120N, and may be implemented / developed using various programming languages, for example, C, C ++, Java, HTML, CSS and / or JavaScript, and the database of the base module 120A ... 120N is represented by flat files (one of the varieties of structured data), for example, viewing indicators / measurements of at least one device, by Turning to this base unit (in the special case the device 110 / control module 215, a registered example, the user in the basic module, as will be described hereinafter), and control devices. In the particular case of the invention, the base module (120 ... 120N) connected to the Internet can exchange data / information on registered devices (for example, data received in the base module from at least one device / module or any other data received base from the server 160, the user device 130A ... 130N, etc., which may relate to the device 110 and / or at least one of its components / module or other basic modules) to the server 160, in particular, located / posted / time Revert the Internet. So, for example, the base module 120 can transmit (240) to the server 160, and the server can receive data from the base module, such as lists of device / module commands (110A ... 110N, 120A ... 120N, etc.), device measurements, results of command execution by devices, request for current time, request for firmware updates (software) of base 120A ... 120N, etc. Moreover, in the particular case of the invention, the aforementioned time and update requests can be transmitted via HTTP, and lists, measurements of devices, results of command execution, etc. can be transmitted over the JSON protocol using / via XMPP. An example of JSON message formats is given below and may coincide with the data transmission format, in particular in the form of messages, between devices 110A ... 110N and bases 120A ... 120N:

// сообщения:// messages:

------

// cmdmes - отправка команд/наборов команд (все устройства, все их команды и датчики/измерители):// cmdmes - sending commands / sets of commands (all devices, all their commands and sensors / meters):

////

{"id":22, "type":"cmdmes", "devs":[{"devid":''1, ''name'':''Чайник'', ''cmd'':[{''cmdid'':1, ''name":"Включение", "params":[{"id":3, "name":"Через сколько времени включить (сек)", "type":"choice", "choice":{"of'':''Выключить'', ''on'':''Выключить''}, ''val'':10, ''min'':0, ''max'':50, ''step'':5, ''required'':1}]}], "measures'':[{''id'':1, ''name'':''Термoмeтp (градусы)", ''type":"int"}]}]}{"id": 22, "type": "cmdmes", "devs": [{"devid": '' 1, '' name '': '' Kettle '', '' cmd '': [{' 'cmdid' ': 1,' 'name ":" Inclusion "," params ": [{" id ": 3," name ":" After how much time to turn on (sec) "," type ":" choice ", "choice": {"of '': '' Turn off '', '' on '': '' Turn off ''}, '' val '': 10, '' min '': 0, '' max '' : 50, '' step '': 5, '' required '': 1}]}], "measures '': [{'' id '': 1, '' name '': '' Thermometer (degrees) ", '' type": "int"}]}]}}

{{

"id": 22, //ID (идентификатор) базы"id": 22, // ID (identifier) of the base

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdmes", //Тип сообщения"type": "cmdmes", // Type of message

"devs": [ //Список устройств"devs": [// Device list

{{

"devid": 1, //ID устройства"devid": 1, // device ID

"name": "Чайник", //Наименование устройства для портала"name": "Kettle", // Device name for the portal

"cmd": ["cmd": [

{{

"cmdid": 1, //ID команды"cmdid": 1, // command ID

"name": "Включение", //Наименование команды для портала"name": "Inclusion", // Name of the command for the portal

"params": [ //Список параметров"params": [// List of parameters

{{

"id": 1, //ID параметра"id": 1, // parameter ID

"name": "Включение", //Наименование параметра"name": "Inclusion", // Name of the parameter

"type": "choice", //Тип параметра"type": "choice", // Type of parameter

"choice": { //Возможные значения пареметра"choice": {// Possible values for the parameter

"on": "Включить","on": "Enable",

"off'': "Выключить""off": "Off"

},},

"required": 1 //Обязательность ввода данного параметра"required": 1 // Required to enter this parameter

},},

{{

"id": 2,"id": 2,

"name": "Через сколько времени включить (сек)","name": "After how much time to turn on (sec)",

"type": "int","type": "int",

"min": 1, //Минимально возможное значение"min": 1, // The smallest possible value

"max": 50, //Максимально возможное значение"max": 50, // Maximum possible value

"required": 0"required": 0

},},

{{

"id": 3,"id": 3,

"name": "Через сколько времени включить (сек)","name": "After how much time to turn on (sec)",

"type": "range", //Данный параметр выводится в виде слайдера с ползунком"type": "range", // This parameter is displayed as a slider with a slider

"cmdval": 10, //Значение по умолчанию (может отсутствовать)"cmdval": 10, // Default value (may be absent)

"min": 0,"min": 0,

"max": 50,"max": 50,

"step": 5, //Шаг передвижения ползунка"step": 5, // Step for moving the slider

"required": 1"required": 1

}}

]]

}}

],],

"measures": [ //Список датчиков"measures": [// List of sensors

{{

"id": 1, //ID датчика"id": 1, // sensor ID

"name": "Термометр (градусы)", //Наименование датчика"name": "Thermometer (degrees)", // Sensor name

"type": "int" //Тип отображения данных датчика на портале"type": "int" // Type of display of sensor data on the portal

}}

]]

}}

]]

}}

// cmdsend - отправка команды конкретной базе на конкретное устройство// cmdsend - send a command to a specific database on a specific device

////

{''id'':22, ''mesid'':1223312312, ''type'':''cmdsend'', ''devs'':[{"devid'':1, ''cmd'':[{''cmdid'':1, ''value'':1, ''params'':[{''id'':1, ''val'':30}]}]}]}{'' id '': 22, '' mesid '': 1223312312, '' type '': '' cmdsend '', '' devs '': [{"devid '': 1, '' cmd '': [{'' cmdid '': 1, '' value '': 1, '' params '': [{'' id '': 1, '' val '': 30}]}]}]}}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdsend", //Тип сообщения"type": "cmdsend", // Message type

"devs": [ //Список устройств"devs": [// Device list

{{

"devid": 1, //ID устройства"devid": 1, // device ID

"cmd": ["cmd": [

{{

"cmdid": 1, //ID команды"cmdid": 1, // command ID

"value": 1, //Значение команды"value": 1, // Command value

"params": [ //Дополнительные параметры для команды"params": [// Additional parameters for the command

{{

"id": 1, //ID параметра"id": 1, // parameter ID

"val": 30//3начение параметра"val": 30 // 3value of the parameter

}}

]]

}}

]]

}}

]]

}}

// measures - измерения от базы (например, база сама присылает каждый промежуток времени, например, каждые 15 сек)// measures - measurements from the base (for example, the base itself sends each period of time, for example, every 15 seconds)

////

{"id'':22, ''mesid'':1223312312, ''type'':''measures'', "devs":[{''devid'':1, ''measures'':[{"id":1, ''val":45}, {"id":2,"val'':2000}]}]}{"id '': 22, '' mesid '': 1223312312, '' type '': '' measures ''," devs ": [{'' devid '': 1, '' measures '': [{ "id": 1, '' val ": 45}, {" id ": 2," val "': 2000}]}]}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid": 1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "measures", //Тип сообщения"type": "measures", // Message type

"devs": [ //Список устройств"devs": [// Device list

{{

"devid": 1, //ID устройства"devid": 1, // device ID

"measures": [ //Список измерений"measures": [// Measurement list

{{

"id": 1, //ID датчика"id": 1, // sensor ID

"val": 45 //Значение"val": 45 // Value

},},

{{

"id": 2, //ID датчика"id": 2, // sensor ID

"val": 2000 //Значение"val": 2000 // Value

}}

]]

}}

]]

}}

// cmdmea - запрос измерения с устройства// cmdmea - request for measurement from the device

////

{"id":22,"mesid":1223312312,"type":"cmdmea", "devs":[{"devid":1, "measure":1}]}{"id": 22, "mesid": 1223312312, "type": "cmdmea", "devs": [{"devid": 1, "measure": 1}]}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdmea", //Тип сообщения"type": "cmdmea", // Type of message

"devs": [ //Список устройств"devs": [// Device list

{{

"devid": 1, //ID устройства"devid": 1, // device ID

"measure": 1 //ID датчика или отсутствует (тогда в ответ могут приходить измерения со всех датчиков/измерителей)"measure": 1 // sensor ID or missing (then measurements from all sensors / meters may come in response)

}}

]]

}}

// cmdpass - отправка пароля базой для отображения конкретной базы в личном кабинете// cmdpass - sending a password to the database to display a specific database in your account

// {"id": 22, "mesid":1223312312, "type": "cmdpass", "pass": "123456"}// {"id": 22, "mesid": 1223312312, "type": "cmdpass", "pass": "123456"}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdpass", //Тип сообщения"type": "cmdpass", // Message type

"pass": "123456" //пароль базы для отображения в личном кабинете"pass": "123456" // base password for displaying in your personal account

}}

// cmdmear - ответ базы на запрос cmdmea. По сути, может повторять тип measures.// cmdmear - base response to cmdmea request. In fact, it can repeat the type of measures.

////

{"id":22,"mesid":1223312312,"type":"cmdmear","devs":[{"devid":1, "measures":[{"id":1, "val":45}, {"id":2, "val":2000}]}]}{"id": 22, "mesid": 1223312312, "type": "cmdmear", "devs": [{"devid": 1, "measures": [{"id": 1, "val": 45 }, {"id": 2, "val": 2000}]}]}}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdmear", //Тип сообщения"type": "cmdmear", // Message type

"devs": [ //Список устройств"devs": [// Device list

{{

"devid": 1, //ID устройства"devid": 1, // device ID

"measures": [ //Список измерений"measures": [// Measurement list

{{

"id": 1, //ID датчика/измерителя"id": 1, // ID of the sensor / meter

"val": 45 //Значение"val": 45 // Value

},},

{{

"id": 2, //ID датчика"id": 2, // sensor ID

"val": 2000 //Значение"val": 2000 // Value

}}

]]

}}

]]

}}

// error - OF в любой момент может ответить базе ошибкой, например, если база послала "битое" сообщение// error - OF can at any time respond to the base with an error, for example, if the base sends a “broken” message

// {"id": 22, "mesid":1223312312, "type": "error", "value": "Неверный формат сообщения"}// {"id": 22, "mesid": 1223312312, "type": "error", "value": "Invalid message format"}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "error", //Тип сообщения"type": "error", // Message type

"value": "Неверный формат сообщения" //Значение ошибки или отсутствует"value": "Invalid message format" // Error value or missing

}}

// cmdsendr - ответ от базы ядру на cmdsend// cmdsendr - response from the base to the core on cmdsend

// {"id": 22, "mesid":1223312312, "type": "cmdsendr", "error": true, "value": "Устройство недоступно"}// {"id": 22, "mesid": 1223312312, "type": "cmdsendr", "error": true, "value": "Device is not available"}

{{

"id": 22, //ID базы"id": 22, // base ID

"mesid":1223312312, //уникальный id сообщения"mesid": 1223312312, // unique message id

"type": "cmdsendr", //Тип сообщения"type": "cmdsendr", // Message type

"error": true, //Произошла ли ошибка"error": true, // Whether an error occurred

"value": "Устройство недоступно" //Значение ошибки или отсутствует"value": "Device unavailable" // Error value or missing

}}

// Остальные ответы об успешном принятии сообщения от базы или базой могут быть реализованы внутри/посредством протокола ХМРР.// The rest of the responses about the successful receipt of a message from the base or the base can be implemented internally / through the XMPP protocol.

Также, базовый модуль 120 может получать (230) с сервера 160, а сервер передавать в базовый модуль, такие данные, как команды управления устройствами/модулями 110А…110N, 120A…120N и т.д., описанные далее скрипты, ответы на запросы времени и обновлений прошивки базы и т.д.Also, the base module 120 can receive (230) from the server 160, and the server can transmit to the base module data such as device / module control commands 110A ... 110N, 120A ... 120N, etc., the scripts described below, and responses to requests time and firmware updates, etc.

Сервер 160 может включать Интернет-портал/веб-портал 660 (в частном случае, сайт/веб-сайт в компьютерной сети, который предоставляет пользователю различные интерактивные интернет-сервисы/сервисы, которые работают в рамках этого сайта, причем портал ((веб-)портал/(Интернет) портал) может состоять из нескольких сайтов) и сервисы для (мобильных) приложений (в частном случае реализованных/являющимися API-сервера (от англ. Application Programming Interface - программный интерфейс приложения, интерфейс программирования приложений, интерфейс прикладного программирования), в частном случае, реализованных в виде портала на сервере приложений, в частности, реализованным на Java (в частном случае, являющимся здесь как языком программирования, так и стеком технологий, причем на Java может быть реализован сервер, портал, API для мобильных приложений, причем логика работы/функционирования (функционал), вывод информации и т.д. могут быть реализованы с помощью/использованием технологий Java, а также для отображения информации, в том числе, на портале, могут быть использованы HTML, CSS, JavaScript и т.д.), которые (сервисы) могут использоваться для запроса мобильными приложениями с портала, в частном случае, базы 120A…120N, которые пользователь добавил в личный кабинет пользователя, устройства (зарегистрированные) на базах, перечни команд устройств 110А…110N, измерения и т.д.), которые могут быть установлены на вычислительные устройства пользователя (130A…130N). Стоит отметить, что портал и мобильные приложения могут работать параллельно, так что у пользователя существует выбор: работать с сервером через портал или через мобильные приложения. В частном случае, на портале у пользователя больше возможностей, в частности, больше действий совершить/осуществить, более подробную информацию получить, однако, в частном случае, мобильные приложения (более) удобны, поскольку включают необходимые действия и находятся в доступности пользователю в его вычислительном (мобильном) устройстве пользователя. Причем приложения пользователя могут включать функционал интернет-портала, например, позволять пользователю контролировать (просматривать измерения и команды устройств 110A…110N, настраивать (команды) устройства 110A…110N и управлять устройствами 110A…110N, а также управлять базовыми модулями 120A…120N (в том числе настраивать базовые модули и их команды), создавать правила, скрипты, просматривать журналы событий/лог-файлы/логи и т.д., как будет описано далее, и т.д.), по крайней мере, один модуль описываемой системы. Также, посредством упомянутого API-сервера (например, хранимые процедуры, очереди сообщений, веб-сервисы и т.д.) мобильные приложения взаимодействуют с сервисами. Таким образом мобильное приложение посредством сети Интернет может вызвать, по крайней мере, один из API сервера и передать в него информацию или получить через/посредством него информацию/данные. Стоит отметить, что интернет-портал может быть размещен за пределами сервера 160, например, на другом сервере, в частности, сервере, размещенном/расположенном/находящемся в сети интернет. Стоит отметить, что сервер 160 может располагаться в сети Интернет, в частности, располагаться на одном из хостов или являться хостом (от англ. host - «хозяин, принимающий гостей» - любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определенное на этих интерфейсах, в более частном случае под хостом могут понимать любой компьютер, сервер, подключенный к локальной или глобальной сети). Так, пользователь может открыть в веб-браузере своего устройства пользователя Интернет-портал или установив на устройстве пользователя (мобильное) приложение, может просматривать показатели/измерения и управлять модулями описываемой системы, в частности, устройствами/модулями 110A…110N, базами 120A…120N и т.д. Также на/в Интернет-портале пользователь может настраивать устройства/модули 110A…110N, базы 120A…120N, и/или любую их составную часть/элемент/модуль, правила уведомлений пользователя о событиях на устройствах/модулях 110A…110N, базах 120A…120N, устройствах пользователя 130A…130N, сервере 160 и/или любой их составной части/элементе/модуле, (мобильном) приложении и т.д., правила (автоматического/автоматизированного) управления устройствами/модулями 110A…110N, базами 120A…120N и/или любой их составной части/элементе/модуле и т.д., как более подробно будет описано далее. Причем, в частном случае осуществления настоящего изобретения событием является какое-либо изменение состояния устройства 110A…110N или реакция на какое-либо действие устройства: например, пришло/получено (по крайней мере, одним описываемым модулем системы, например, устройством 110A…110N, базой 120A…120N, и/или сервером 160 и т.д.) измерение, по крайней мере, одного измерителя 310A…310N с определенным значением, и/или пришел/получен результат выполнения команды, например, результат, который не ожидали, в частности, отличающийся от предполагаемого и/или который не может быть обработан, по крайней мере, одним модулем описываемой системы. События (условно) можно разделить, по крайней мере, на два типа: события по измерениям и события по командам. Событиями по измерениям могут являться:Server 160 may include an Internet portal / web portal 660 (in a particular case, a website / website on a computer network that provides the user with various interactive Internet services / services that operate within this website, the portal ((web ) the portal / (Internet) portal) can consist of several sites) and services for (mobile) applications (in the particular case implemented / being an API server (from the English Application Programming Interface - application programming interface, application programming interface, application programming interface ’), in the particular case, implemented as a portal on the application server, in particular, implemented on Java (in the particular case, which is both a programming language and a technology stack, and in Java, a server, portal, API for mobile applications, and the logic of work / functioning (functionality), information output, etc. can be implemented using / using Java technologies, and also HTML, CSS, JavaScript and can be used to display information, including on the portal etc.) which (services) can use be used for requesting mobile applications from the portal, in a particular case, the base 120A ... 120N, which the user has added to the user's personal account, devices (registered) on the bases, lists of commands of devices 110A ... 110N, measurements, etc.), which can be installed on the user's computing devices (130A ... 130N). It is worth noting that the portal and mobile applications can work in parallel, so the user has a choice: work with the server through the portal or through mobile applications. In a particular case, the user has more options on the portal, in particular, more actions to perform / carry out, more detailed information to obtain, however, in the particular case, mobile applications are (more) convenient because they include the necessary actions and are accessible to the user in his computer (mobile) device of the user. Moreover, user applications can include the functionality of the Internet portal, for example, allow the user to control (view measurements and commands of devices 110A ... 110N, configure (commands) devices 110A ... 110N and manage devices 110A ... 110N, as well as manage basic modules 120A ... 120N (in including setting up basic modules and their commands), creating rules, scripts, viewing event logs / log files / logs, etc., as will be described later, etc.), at least one module of the described system . Also, through the mentioned API server (for example, stored procedures, message queues, web services, etc.) mobile applications interact with the services. Thus, a mobile application via the Internet can call at least one of the server’s APIs and transmit information to it or receive information / data through / through it. It is worth noting that the Internet portal can be located outside the server 160, for example, on another server, in particular, a server located / located / located on the Internet. It is worth noting that the server 160 can be located on the Internet, in particular, can be located on one of the hosts or can be a host (from the English host - “host receiving guests” - any device that provides services of the “client-server” format in server mode on any interfaces and uniquely defined on these interfaces, in a more particular case, the host can be understood as any computer, server, connected to a local or global network). So, the user can open the Internet portal in the web browser of his user device or by installing an application (mobile) on the user’s device, he can view indicators / measurements and manage the modules of the described system, in particular, devices / modules 110A ... 110N, bases 120A ... 120N etc. Also on / in the Internet portal, the user can configure devices / modules 110A ... 110N, bases 120A ... 120N, and / or any component / element / module, rules for notifying the user about events on devices / modules 110A ... 110N, bases 120A ... 120N, user devices 130A ... 130N, server 160 and / or any component / element / module, (mobile) application, etc., rules for (automatic / automated) control of devices / modules 110A ... 110N, bases 120A ... 120N and / or any component / element / module, etc., as described in more detail, gave e. Moreover, in the particular case of the implementation of the present invention, the event is any change in the state of the device 110A ... 110N or a reaction to any action of the device: for example, it has arrived / received (at least one described module of the system, for example, the device 110A ... 110N, base 120A ... 120N, and / or server 160, etc.) measurement of at least one meter 310A ... 310N with a certain value, and / or the result of command execution has arrived / received, for example, a result that was not expected in particular, different from the intended and / or to tory can not be processed, at least one module of the system described. Events (conditionally) can be divided into at least two types: events by measurements and events by commands. Measurement events may include:

- для числового значения измерения - значение измерения меньше значения, указанного пользователем;- for a numeric measurement value - the measurement value is less than the value specified by the user;

- для числового значения измерения - значение измерения меньше или равно значению, указанному пользователем;- for a numeric measurement value - the measurement value is less than or equal to the value specified by the user;

- для числового значения измерения - значение измерения больше значения, указанного пользователем;- for a numerical measurement value - the measurement value is greater than the value specified by the user;

- для числового значения измерения - значение измерения больше или равно значению, указанному пользователем;- for a numerical value of a measurement - the measurement value is greater than or equal to the value specified by the user;

- для любого значения - значение измерения совпадает со значением, введенным пользователем;- for any value - the measurement value matches the value entered by the user;

для любого значения - значение измерения не совпадает со значением, введенным пользователем;for any value - the measurement value does not match the value entered by the user;

- для любого значения - значение измерения совпадает с любым значением из списка, указанного пользователем;- for any value - the measurement value matches any value from the list specified by the user;

- для любого значения - значение измерения не совпадает ни с одним значением из списка, указанного пользователем.- for any value - the measurement value does not match any value from the list specified by the user.

Событиями по командам могут являться:Team events may include:

- команда выполнена успешно;- the team completed successfully;

- в процессе выполнения команды возникла ошибка;- an error occurred while executing the command;

- один или несколько параметров, возвращаемых командой, равны значениям, указанным пользователем;- one or more parameters returned by the command are equal to the values specified by the user;

- один или несколько параметров, возвращаемых командой, не равны значениям, указанным пользователем.- one or more parameters returned by the command are not equal to the values specified by the user.

В частном случае осуществления изобретения, подключение к сети Интернет, по крайней мере, одного модуля описываемой системы может осуществляться посредством шлюза/Интернет-шлюза 150 (в частном случае, являющимся программным обеспечением, обеспечивающим возможность организации передачи трафика/данных между разными сетями), в частности, в случае подключения к локальной сети посредством кабеля "Витая пара" или Wi-Fi или через оператора мобильной связи (GPRS/3G/4G/LTE), в зависимости от модели/модификации/типа базового модуля (120…120N).In the particular case of the invention, the Internet connection of at least one module of the described system can be carried out through the gateway / Internet gateway 150 (in the particular case, which is software that provides the ability to organize the transfer of traffic / data between different networks), in particular, if connected to a local network via a Twisted Pair or Wi-Fi cable or through a mobile operator (GPRS / 3G / 4G / LTE), depending on the model / modification / type of the base module (120 ... 120N).

Также, в частном случае осуществления изобретения обмен информацией/данными между базовым модулем 120 и сервером 160 может осуществляться (может быть реализовано) любым из следующих способов: посредством сокетного соединения (от англ. Socket connections, например, сокетные соединения XML (XML Sockets) и бинарные (двоичные) сокетные соединения) и/или посредством протокола ХМРР (от англ. Extensible Messaging and Presence Protocol - расширяемый протокол обмена сообщениями и информацией о присутствии, ранее известный как Jabber - открытый, основанный на XML, протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени).Also, in the particular case of the invention, the exchange of information / data between the base module 120 and the server 160 can be carried out (can be implemented) by any of the following methods: by means of a socket connection (from English Socket connections, for example, XML socket connections and XML Sockets) binary (binary) socket connections) and / or through the XMPP protocol (from the English Extensible Messaging and Presence Protocol - an extensible protocol for exchanging messages and information about presence, formerly known as Jabber - an open, XML-based protocol for instant communication on messaging and presence information in near to real time).

В частном случае осуществления изобретения управляющий модуль 215 может быть подключен/установлен (в том числе встроен, например, посредством пайки, клемм и т.д.) к устройству/в устройство 110, причем в хранилище команд управляемых модулей/компонент устройства 420 могут быть записаны команды устройства 110 (причем команды могут быть записаны, в частном случае, при программировании/«прошивке» управляющего модуля/чипа 215, например, под определенное/конкретное устройство 110A…110N, причем команды могут быть дозаписаны и/или перезаписаны позже, например, при перепрограммировании/ «перепрошивке» управляющего модуля/чипа 215), которые могут быть выполнены удаленно, как было описано выше, в частности, команды выполняемые на устройствах 110A…110N. Так, например, по крайней мере, одна упомянутая команда может быть отправлена/передана с базы 210A…210N и/или сервера 160 на управляющий модуль/чип 215, затем упомянутый чип выполняет полученную команду, в частности, посредством передачи сигналов на определенные узлы устройства (в зависимости от команды), например, на измерители 310A…310N и/или управляемые модули 330A…330N и т.д. Также, удаленное выполнение подразумевает получение, по крайней мере, одной упомянутой команды с базы или сервера. Так, на устройстве может быть реализован функционал/функциональность, который может осуществляться/выполняться непосредственно при контакте (взаимодействии) пользователя с устройством 110A…110N, что в частном случае, не является удаленным управлением такими устройствами.In the particular case of the invention, the control module 215 can be connected / installed (including integrated, for example, by soldering, terminals, etc.) to the device / device 110, and in the command storage of the managed modules / component of the device 420 can be the commands of the device 110 are written (moreover, the commands can be written, in the particular case, when programming / "flashing" the control module / chip 215, for example, for a specific / specific device 110A ... 110N, and the commands can be overwritten and / or overwritten later, for example p reprogramming / "flashing" the control module / chip 215) that can be performed remotely, as described above, in particular, commands performed on the devices 110A ... 110N. So, for example, at least one of the mentioned command can be sent / transmitted from the base 210A ... 210N and / or server 160 to the control module / chip 215, then the said chip executes the received command, in particular, by transmitting signals to certain nodes of the device (depending on the command), for example, on meters 310A ... 310N and / or managed modules 330A ... 330N, etc. Also, remote execution means receiving at least one of the mentioned command from the database or server. So, on the device can be implemented functionality / functionality that can be implemented / performed directly upon contact (interaction) of the user with the device 110A ... 110N, which in the particular case is not a remote control of such devices.

Также, при подключении управляющего модуля 215 в устройство/модуль 110 к управляющему модулю 215 могут быть подключены измерители (310А-310N) и управляемые элементы/компоненты устройства (330A-330N), команды по управлению которыми записаны в управляющий модуль 215, в частности, в хранилище команд управляемых модулей/компонент устройства 420.Also, when connecting the control module 215 to the device / module 110, the meters (310A-310N) and the controlled elements / components of the device (330A-330N) can be connected, the control commands of which are recorded in the control module 215, in particular in the command storage of the managed modules / component of the device 420.

Стоит отметить, что, по крайней мере, одно устройство 110А…110N обладает (имеет) определенным функционалом/функциями, заложенный (в частности предопределенный/предварительно заданный, записанный и т.д.) в него, по крайней мере, производителем такого устройства. Для управления такими функциями (для осуществления упомянутого функционала) производитель создал (в частности наделил устройство, добавил в устройство, подключил к устройству и т.д.) органами управления (рычагами управления/узлами устройства/управляемыми элементами/компонентами устройства (330A-330N): механическими, электронными, и/или информационными и т.д. Причем, производитель мог предусмотреть возможность управлять такими рычагами управления устройством, в частности, посредством компонентов устройства 420 и/или компонентами устройства 420. Так, в частном случае осуществления настоящего изобретения управляющий модуль/микросхема/чип 215 (в частности, программируемый/запрограммированный/«прошитый», как описывается в рамках настоящего изобретения) может быть использован, по крайней мере, с одним из устройств 110A…110N, в частности, встроен в упомянутое устройство, например, производителем, с целью управления и контроля упомянутых контролируемых компонентов пользователем, в частности, удаленно (посредством удаленного управления, управления на расстоянии, посредством других устройств, сервисов и описываемых модулей системы и т.д.). Причем упомянутое программирование управляющего модуля может включать добавление (в частном случае, «прошивку») управляющего модуля командами, описываемыми в рамках настоящего изобретения, и настройку входов и выходов упомянутого управляющего модуля/устройства для взаимодействия с упомянутыми узлами устройства 110A…110N. Таким образом, в частном случае, управляемые компоненты, а также управление ими и их контроль могут зависеть от конкретного устройства 110A…110N и/или пожеланий/намерений пользователя, и/или пожеланий/намерений производителей устройств, и/или субъекта, осуществляющего подключение управляющего устройства/модуля (в частном случае, его установкой/встраиванием/интегрированием) по удаленному управлению устройств 110A…110N, в частном случае, реализованных описываемыми командами. В частном случае, осуществления настоящего изобретения управляемыми компонентами могут являться составные части устройств, например, дисплей телевизора, электромотор стиральной машины, таймер микроволновой печи, блок управления проектором и т.д. и/или их составные части/модули, позволяющие осуществлять управление такими составными частями, в частности, как было описано выше.It is worth noting that at least one device 110A ... 110N has (has) certain functionality / functions embedded in (in particular, predefined / predefined, recorded, etc.) into it, at least by the manufacturer of such a device. To control such functions (to implement the mentioned functionality), the manufacturer created (in particular, endowed the device, added it to the device, connected to the device, etc.) with control elements (control levers / device nodes / controlled elements / components of the device (330A-330N) : mechanical, electronic, and / or information, etc. Moreover, the manufacturer could provide for the ability to control such device control levers, in particular, through the components of the device 420 and / or the components of the device 4 20. So, in the particular case of the implementation of the present invention, the control module / microchip / chip 215 (in particular, programmable / programmed / "flashed", as described in the framework of the present invention) can be used with at least one of the devices 110A ... 110N, in particular, is integrated into said device, for example, by a manufacturer, for the purpose of controlling and controlling said controlled components by a user, in particular remotely (by means of remote control, remote control, by other means oystv, services, and modules described system, etc.). Moreover, the said programming of the control module may include adding (in a particular case, “firmware”) the control module with the commands described in the framework of the present invention, and setting up the inputs and outputs of the said control module / device to interact with the said nodes of the device 110A ... 110N. Thus, in a particular case, the managed components, as well as their management and control, may depend on the specific device 110A ... 110N and / or the wishes / intentions of the user and / or the wishes / intentions of the device manufacturers and / or the person connecting the control device / module (in the particular case, its installation / integration / integration) for remote control of devices 110A ... 110N, in the particular case, implemented by the described commands. In the particular case of the implementation of the present invention, the controlled components can be component parts of devices, for example, a TV display, an electric motor of a washing machine, a microwave oven timer, a projector control unit, etc. and / or their constituent parts / modules, allowing to control such constituent parts, in particular, as described above.

В частном случае осуществления настоящего изобретения измерители (310A-310N) и/или управляемые элементы/компоненты (330A-330N) могут являться частью устройств/модулей 110/110A…110N или являться подключаемыми/подключенными элементами (измерителями и/или управляемыми модулями), в частном случае являющиеся дополнительными измерителями, которые, например, могут быть установлены/подключены дополнительно к устройству/модулю 110 или модулю 215, например, выносные/внешние измерители либо измерители других устройств, например, устройств/модулей 110A-110N. Так, например, измерителем может являться (встроенный) датчик/измеритель температуры духовой печи или стиральной машины, датчик/измеритель движения (акселерометр) детской игрушки и т.д. либо термометр (измеритель), подключенный к системе кондиционирования помещения и расположенный за пределами системы кондиционирования, например, в противоположном от кондиционера углу помещения.In the particular case of the implementation of the present invention, meters (310A-310N) and / or controlled elements / components (330A-330N) can be part of devices / modules 110 / 110A ... 110N or can be connected / connected elements (meters and / or controlled modules), in the particular case, they are additional meters, which, for example, can be installed / connected in addition to the device / module 110 or module 215, for example, remote / external meters or meters of other devices, for example, devices / modules 110A-110N. So, for example, the meter can be a (built-in) temperature sensor / meter of an oven or washing machine, a motion sensor / meter (accelerometer) of a children's toy, etc. or a thermometer (meter) connected to the air conditioning system of the room and located outside the air conditioning system, for example, in the corner of the room opposite to the air conditioner.

В частном случае, подключение (упомянутых выше) внешних модулей и/или измерителей может осуществляться посредством, по крайней мере, одного разъема (в том числе, где одна часть разъема присоединена, например, подпаяна, к контактам модуля/устройства 110 или модуля 215, а вторая часть разъема может быть подключена к упомянутому модулю или измерителю), например, USB-разъема, различных видов клемм и т.д.In the particular case, the connection (of the above) of the external modules and / or meters can be carried out by means of at least one connector (including where one part of the connector is connected, for example, soldered, to the contacts of the module / device 110 or module 215, and the second part of the connector can be connected to the mentioned module or meter), for example, a USB connector, various types of terminals, etc.

В частном случае осуществления настоящего изобретения для обеспечения взаимодействия управляющего модуля 215 с измерителями и управляемыми модулями/компонентами в управляющий модуль 215 может содержать (могут быть использованы) модуль сбора и обработки измерений 410 и модуль управления 450. Модуль сбора и обработки измерений 410 осуществляет опрос измерителей 430 (в частности, посредством портов, в частном случае, цифровые порты, к которым подключены упомянутые выше узлы устройств/модулей, управляемые компоненты, измерители и т.д.) и сбор измерений измерителей 310 передачу их в модуль трансляции и преобразования данных 430.In the particular case of the implementation of the present invention, to ensure the interaction of the control module 215 with meters and controlled modules / components, the control module 215 may contain (may be used) a module for collecting and processing measurements 410 and a control module 450. The module for collecting and processing measurements 410 interrogates the meters 430 (in particular, through ports, in particular, digital ports to which the above-mentioned device / module nodes, controlled components, meters, etc.) are connected and measuring measuring instruments 310 transferring them to the translation and data conversion module 430.

Модуль управления 450 осуществляет передачу команд, полученных из модуля трансляции и преобразования данных 430 команд, а также осуществляет передачу упомянутых команд необходимым компонентам (в частности, упомянутым выше узлам устройств, на которых будет выполнена/должна быть выполнена, по крайней мере, одна описываемая команда) и осуществляет обработку результатов выполнения команд (как было описано выше, например, после передачи команды или сигнала, в частном случае, электрического тока, на упомянутый выше узел устройства в модуле управления/управляющем модуле 215 запрограммирована реакция в виде необходимости узнать/установить упомянутым устройством значение, по крайней мере, одного параметра до и после выполнения упомянутой команды с целью вычисления/установления результата выполнения такой команды, в частности, если значение изменилось, то команда выполнилась успешно, с целью узнать пользователем об успешном выполнении такой команды).The control module 450 transmits commands received from the translation and data conversion module 430 commands, and also transmits the above commands to the necessary components (in particular, the above-mentioned nodes of devices on which at least one described command will be executed / must be executed ) and processes the results of the execution of commands (as described above, for example, after transmitting a command or signal, in a particular case, an electric current, to the above-mentioned device node in the control To the control unit 215, a reaction is programmed in the form of the need to find out / set by the said device the value of at least one parameter before and after the execution of the said command in order to calculate / establish the result of the execution of such a command, in particular, if the value has changed, the command was executed successfully , in order to find out by the user about the successful execution of such a command).

Модуль трансляции и преобразования данных 430 осуществляет преобразование полученных данных от измерителей 310A-310N и из хранилища команд управляемых компонент устройства 420 в формат Базового модуля/Базы 120 (причем, в частном случае осуществления настоящего изобретения, упомянутые данные могут храниться в текстовом формате или, в частном случае, когда сообщения о командах (сообщения с командами) передаются между модулями описываемой системы передаются, например, в формате JSON, полученные данные, в частности, команды в виде текста, например, с базового модуля/базы 120A…120N могут быть распарсены/разложены/разобраны (он англ. parsing - синтаксический анализ) на более низкий уровень, в частности, на сигналы, которые управляющий модуль/чип 215 может отправить на упомянутые выше узлы устройства 110A…110N с целью исполнения/выполнения таких команд) и осуществляет передачу преобразованных данных посредством средств модуля шифрации и дешифрации данных 440 (в частности, осуществляется шифрование/дешифрование; причем данные, которые получает управляющий модуль/чип 215, например, посредством ZigBee, передаются в модуль 440, дешифруются и дальше передается в модуль трансляции и наоборот, причем в качестве шифрования может быть использовано AES-шифрование, причем в модуле 440 могут храниться ключи для упомянутого шифрования/дешифрования), по крайней мере, в один базовый модуль/базу 120. Также модуль трансляции и преобразования данных 430 осуществляет преобразование, полученных, по крайней мере, от одного базового модуля (120A…120N) команд (в частности, как было описано выше) на управление, в формат модуля управления 450, а также осуществляет передачу преобразованных команд на управление в модуль управления 450, а также осуществляет преобразование полученных от модуля управления 450 результатов выполнения команд в формат базового модуля (120A…120N) и осуществляет их передачу посредством модуля шифрования и дешифрования данных 440, по крайней мере, в один базовый модуль (120A…120N).The translation and data conversion module 430 converts the received data from meters 310A-310N and from the command storage of the managed components of the device 420 into the format of the Base module / Base 120 (and, in the particular case of the implementation of the present invention, the data can be stored in text format or, in in the particular case when messages about commands (messages with commands) are transmitted between the modules of the described system are transmitted, for example, in JSON format, the received data, in particular, commands in the form of text, for example, with the basic module / base 120A ... 120N can be parsed / decomposed / disassembled (it is the English parsing - parsing) to a lower level, in particular, to the signals that the control module / chip 215 can send to the above nodes of the device 110A ... 110N for the purpose of executing / executing such instructions) and transmits the converted data by means of the encryption and decryption module 440 (in particular, encryption / decryption is performed; moreover, the data received by the control module / chip 215, for example, by means of ZigBee, is transmitted to the module 440, decrypted and then transferred to the translation module and vice versa, moreover, AES encryption can be used as encryption, and keys for mentioned encryption / decryption), at least one basic module / base 120. Also, the translation and data conversion module 430 converts received from at least one basic module (120A ... 120N) commands (in particular, as was opie ano above) for control, in the format of the control module 450, and also transfers the converted commands for control to the control module 450, and also converts the results of the commands received from the control module 450 into the format of the base module (120A ... 120N) and transfers them by means of a data encryption and decryption module 440 in at least one basic module (120A ... 120N).

Передача данных между управляющим модулем 215 и, по крайней мере, одним базовым модулем может осуществляться в зашифрованном виде (в частности, как было описано выше), которое в обоих модулях (контролируемые модули/устройства 110А…110N (или модули 215) и базовые модули/устройства 120A…120N) осуществляют соответствующие модули шифрования и дешифрования данных (440 - в контролируемых модулях/устройствах 110…110N и 590 - в базовых модулях 120A…120N).Data transmission between the control module 215 and at least one basic module can be encrypted (in particular, as described above), which is in both modules (monitored modules / devices 110A ... 110N (or modules 215) and basic modules / devices 120A ... 120N) implement the corresponding data encryption and decryption modules (440 in the controlled modules / devices 110 ... 110N and 590 in the basic modules 120A ... 120N).

В одном из осуществлений настоящего изобретения данные, в частности, перечни команд (в частности, как было описано выше), измерения упомянутых измерителей/модулей 310A…310N и результаты выполнения команд (в частности, как было описано выше), полученные, по крайней мере, от одного контролируемого устройства 110A…110N или от модуля 215, могут быть преобразованы, по крайней мере, в одном базовом модуле 120A…120N, в частности, в модуле трансляции и преобразования данных и сообщений 510 (ФИГ. 5), в формат, по крайней мере, одного хранилища (520, 530 и/или 560) и могут быть сохранены, по крайней мере, в одном из хранилищ данных, например, в (локальном) хранилище измерений (зарегистрированных) устройств/модулей 520, (локальном) хранилище команд (зарегистрированных) устройств 530 и/или хранилище настроек базы и журналов изменений/логов 560. Так, в хранилище измерений устройств/модулей 520 могут быть сохранены (в том числе после одного из упомянутых выше преобразований и/или обработки), по крайней мере, упомянутые измерения упомянутых измерителей/модулей 310А…310N, в хранилище команд устройств 530 могут быть сохранены, по крайней мере, упомянутые перечни команд, а в хранилище настроек базы и журналов изменений/логов 560 могут быть сохранены, по крайней мере, упомянутые результаты выполнения команд.In one implementation of the present invention, data, in particular, lists of commands (in particular, as described above), measurements of the said meters / modules 310A ... 310N and the results of the execution of commands (in particular, as described above), obtained at least , from one monitored device 110A ... 110N or from module 215, can be converted in at least one basic module 120A ... 120N, in particular, in the module for transmitting and converting data and messages 510 (FIG. 5), into a format, at least one storage (520, 530 and / or 560) and can be l stored in at least one of the data storages, for example, in the (local) storage of measurements of (registered) devices / modules 520, (local) storage of commands (registered) devices 530 and / or storage of database settings and change logs / logs 560. So, in the storage of measurements of devices / modules 520 can be stored (including after one of the above transformations and / or processing), at least the above measurements of the mentioned meters / modules 310A ... 310N, in the storage of commands of devices 530 can be saved by Raina as mentioned lists of teams and the repository database configuration changes and / log 560 logs can be saved, at least, said the results of the command.

Стоит отметить, что хранилище 520, хранилище 530 и/или хранилище 560 могут быть реализованы по крайней мере, одним хранилищем, т.е. в частном случае являться одним хранилищем данных, в том числе, являться одной базой данных или несколькими базами данных, причем данные в базе данных могут храниться, по крайней мере, в одной таблице и/или, по крайней мере, в одном файле.It is worth noting that storage 520, storage 530 and / or storage 560 can be implemented by at least one storage, i.e. in a particular case, be one data warehouse, including being one database or several databases, and the data in the database can be stored in at least one table and / or at least one file.

В одном из осуществлений настоящего изобретения базовые модули/базы (120A…120N) могут принимать/получать данные 210 от (контролируемых) модулей/устройств 110A…110N (или от модулей 215), которые, в частном случае, могут быть зарегистрированы, по крайней мере, в одном базовом модуле 120A…120N.In one implementation of the present invention, the base modules / bases (120A ... 120N) can receive / receive data 210 from (monitored) modules / devices 110A ... 110N (or from modules 215), which, in the particular case, can be registered at least at least in one basic module 120A ... 120N.

Стоит отметить, что (контролируемые) модули/устройства 110A…110N могут быть зарегистрированы, по крайней мере, в одном базовом модуле (120A…120N), например, по крайней мере, одним пользователем 135A…135N (и/или, по крайней мере, одним упомянутым выше администратором/модератором, в том числе администратором модулей/устройств 110A…110N, сервера 160, базовых модулей 120A…120N и других модулей, описываемых в рамках настоящего изобретения, причем, в частном случае, пользователь 135 может являться таким администратором/модератором) в модуле (пользовательского) (веб-)интерфейса базы 570. По крайней мере, в одном модуле интерфейса базы 570 может осуществляться регистрация, по крайней мере, одного устройства/модуля 110A…110N посредством передачи в упомянутый модуль 570 идентификационных данных (в частном случае, являющихся номером устройства/модуля 110A…110N, например, цифровым, буквенным, буквенно-цифровым и любым другим форматом, позволяющим идентифицировать упомянутое устройство), по крайней мере, одного устройства/модуля 110A…110N, которые необходимо зарегистрировать в базовом модуле 120A…120N, и посредством сохранения таких идентификационных данных. В частном случае, регистрация устройств/модулей 110A…110N является привязкой таких модулей к базовым модулям 120A…120N (связью, определяющей принадлежность устройств/модулей 110A…110N базовым модулям 120A…120N), и, в частности, к, по крайней мере, одному пользователю, что, в частном случае, позволяет базовому модулю/базе 120/120A…120N устанавливать связь/создавать сеть с зарегистрированными (на ней) устройствами 110A…110N и осуществлять с ними взаимодействие, причем упомянутый базовый модуль может осуществлять фильтрацию и обработку данных от зарегистрированных (на ней) устройств, а также осуществлять отправку на такие зарегистрированные устройства.It is worth noting that the (monitored) modules / devices 110A ... 110N can be registered in at least one basic module (120A ... 120N), for example, by at least one user 135A ... 135N (and / or at least , one administrator / moderator mentioned above, including the administrator of modules / devices 110A ... 110N, server 160, basic modules 120A ... 120N and other modules described in the framework of the present invention, and, in the particular case, user 135 may be such an administrator / moderator) in the module (user) (web) and interface of base 570. At least one base interface module 570 can register at least one device / module 110A ... 110N by transmitting identification data to said module 570 (in the particular case being device / module number 110A ... 110N for example, in digital, alphanumeric, alphanumeric and any other format allowing identification of said device) of at least one device / module 110A ... 110N, which must be registered in the base module 120A ... 120N, and by storing identification of such credentials. In the particular case, the registration of devices / modules 110A ... 110N is the binding of such modules to the base modules 120A ... 120N (the connection determining the belonging of the devices / modules 110A ... 110N to the base modules 120A ... 120N), and, in particular, to at least one user, which, in a particular case, allows the base module / base 120 / 120A ... 120N to establish communication / network with the registered (on it) devices 110A ... 110N and interact with them, moreover, the mentioned base module can filter and process data from registered s (her) devices, as well as to send such registered device.

Так, в частном осуществлении настоящего изобретения, устройства/модули 110A…110N могут быть зарегистрированы пользователем посредством использования модуля 570.So, in the private implementation of the present invention, devices / modules 110A ... 110N can be registered by the user through the use of module 570.

Зарегистрированные в базовых модулях 120A…120N устройства/модули 110А…110N и их идентификационные данные сохраняются, например, средствами модуля 570 или модуля 550, в реестре зарегистрированных устройств 550. Модуль реестра (зарегистрированных) устройств 550 может быть использован модулем трансляции и преобразования данных и сообщений 510 для фильтрации данных от незарегистрированных устройств. Стоит отметить, что, в частном случае, реестр является базой данных, сохраненные данные в которой могут быть использованы (например, прочитаны, записаны, удалены, изменены и т.д.), по крайней мере, одним модулем описываемой системы. Так, в частном случае, в модуль 510 могут быть переданы данные при получении сообщений от устройств 110A…110N и/или при отправке сообщений на упомянутые устройства, в частности определения того, от какого устройства пришла/была получена информация (были получены данные), например, для того, чтобы можно быть посредством, по крайней мере, одного модуля соотнести/сопоставить их с другими данными этого же устройства (полученными данными) и/или другого устройства 110A…110N; и/или определение того, по какому каналу передавать данные конкретному устройству. Стоит также отметить, что под фильтрацией, в частном случае, понимается невозможность (или возможность) установить соединение/связь между базами/базовыми модулями 120A…120N и устройствами 110A…110N, т.е., в частном случае, с незарегистрированными упомянутыми устройствами упомянутые базы не устанавливают соединение. Таким образом, по крайней мере, один упомянутый базовый модуль может получать сообщения, по крайней мере, от одного такого незарегистрированного устройства и посредством осуществления упомянутой фильтрации не обрабатывать такие сообщения и/или отсекать, не реагировать на них и т.д.The devices / modules 110A ... 110N registered in the base modules 120A ... 120N and their identification data are stored, for example, by means of the module 570 or module 550, in the register of registered devices 550. The register module of the (registered) devices 550 can be used by the data translation and conversion module and 510 messages to filter data from unregistered devices. It is worth noting that, in the particular case, the registry is a database in which stored data can be used (for example, read, written, deleted, modified, etc.) by at least one module of the described system. So, in the particular case, data can be transferred to module 510 when receiving messages from devices 110A ... 110N and / or when sending messages to the mentioned devices, in particular determining which device the information came from / was received (data was received), for example, in order to be able to correlate / compare them with at least one module with other data of the same device (received data) and / or another device 110A ... 110N; and / or determining which channel to transmit data to a particular device. It is also worth noting that filtering, in a particular case, means the impossibility (or possibility) to establish a connection / connection between the bases / base modules 120A ... 120N and devices 110A ... 110N, i.e., in the particular case with the unregistered devices mentioned bases do not establish connection. Thus, at least one of the aforementioned base modules can receive messages from at least one such unregistered device and, through said filtering, not to process such messages and / or to cut off, not to respond to them, etc.

В модуле (веб-)интерфейса пользователя 570 пользователь может осуществлять просмотр устройств/модулей 110A…110N, в том числе зарегистрированных, а также может осуществлять просмотр, по крайней мере, значений измерений таких модулей/устройств, команды устройств и т.д. Также, в модуле (веб-)интерфейса базового модуля 570 могут осуществляться различные действия (пользователем, администратором/модератором и/или средствами, по крайней мере, одного модуля описываемой системы), например, может быть осуществлено изменение наименований измерений и команд, названий параметров команд, преобразование значений измерений и параметров команд к другим величинам и т.д. Так, при упомянутом изменении наименования измерений с устройства 110A…110N может быть получено (базовым модулем 120A…120N, сервером 160 и т.д.) название измерения, например, «TempC» (в частности, соответствующее значению, зафиксированному, по крайней мере, одним измерителем 310A…310N температуры на улице), и пользователь посредством упомянутого в веб-интерфейса базового модуля 120A…120N может изменить это название на (постоянное или временное) другое название, например, название «Температура на улице». Также, при упомянутом изменении наименования команд с устройства 110A…110N приходит (может быть получена, по крайней мере одним модулем описываемой системы, в частности, базовым модулем 120A…120N, сервером 160 и т.д.) команда с названием «Off» (в частности, обозначающим значение/функцию отключения, например, устройства с которого пришла команда), и пользователь средствами веб-интерфейса базового модуля может изменить название полученной команды, по крайней мере, на одно другое название, например, «Отключить плиту», «Выключить устройство», «Отключение» и/или «Выкл.» и т.д. Также, при упомянутом изменении названий параметров команд с устройства 110А…110N может быть получена команда, у которой один из параметров называется «channel», и пользователь может изменить в веб-интерфейсе базы/базового модуля название этого параметра на другое название, например, «Номер канала» и/или «Канал» и т.д. Также, при упомянутом преобразовании значений измерений с модуля/устройства 110A…110N приходит (может быть получено) измерение (значение измерения, например, по крайней мере, одним измерителем 310A…310N) температуры в Цельсиях, а пользователь 135A…135N желает видеть (например, в веб-интерфейсе 570) эту температуру в Фаренгейтах. Пользователь в веб-интерфейсе базы 570 задает формулу для этого измерения, например, Тф=х*9/5+32, где Тф - температура в Фаренгейтах, x - температура, полученная с измерителя, например, в Цельсиях. После этого значение данного измерения выводится в Фаренгейтах, т.е., в частном случае, может быть отображена пользователю, например, в веб-интерфейсе 570. Также, упомянутое преобразование параметров команд к другим величинам, в частности, осуществляется как и для преобразований значений измерений, описанных выше, но для параметров команд. Так, например, у команды существует параметр с именем/названием «Электропитание», у которого существуют два значения «Включено» (например, значения «1», true/истина и т.д.) и «Выключено» (например, значения «1», true/истина и т.д.). Пользователь в веб-интерфейсе базы 570 может указать вместо этих значений значения (или вместо названий - названия) «On» и «Off», и теперь для задания этого параметра пользователь может вводить новые значения.In the module (web) of the user interface 570, the user can view devices / modules 110A ... 110N, including registered ones, and can also view at least the measurement values of such modules / devices, device commands, etc. Also, in the module (web) of the interface of the base module 570, various actions can be performed (by the user, administrator / moderator and / or means of at least one module of the described system), for example, the names of measurements and commands, parameter names can be changed commands, conversion of measurement values and command parameters to other quantities, etc. So, with the mentioned change in the name of measurements from the device 110A ... 110N, the name of the measurement, for example, "TempC" (in particular, corresponding to the value recorded at least, can be obtained (by the base module 120A ... 120N, etc.) , with one outdoor temperature meter 310A ... 310N), and the user can change this name to a (permanent or temporary) other name, for example, the name "Outdoor Temperature" through the basic module 120A ... 120N mentioned in the web interface. Also, with the mentioned change in the name of the commands from the device 110A ... 110N, a command with the name "Off" (can be received by at least one module of the described system, in particular, the basic module 120A ... 120N, in particular, indicating the value / function of the shutdown, for example, the device from which the command was received), and the user can change the name of the received command using the web interface of the base module to at least one other name, for example, “Turn off the stove”, “Turn off device "," Shutdowns e ”and / or“ Off ”, etc. Also, with the mentioned change in the names of the command parameters from the device 110A ... 110N, a command can be received for which one of the parameters is called “channel”, and the user can change the name of this parameter to another name in the web interface of the base / base module, for example, “ Channel Number ”and / or“ Channel ”, etc. Also, with the aforementioned conversion of the measurement values from the module / device 110A ... 110N, a measurement (the measurement value, for example with at least one meter 310A ... 310N) of the temperature in Celsius is received, and the user 135A ... 135N wants to see (for example , in the web interface 570) this temperature in Fahrenheit. The user in the web interface of base 570 sets the formula for this measurement, for example, Tf = x * 9/5 + 32, where Tf is the temperature in Fahrenheit, x is the temperature obtained from the meter, for example, Celsius. After that, the value of this measurement is displayed in Fahrenheit, that is, in a particular case, it can be displayed to the user, for example, in the web interface 570. Also, the aforementioned conversion of the command parameters to other quantities, in particular, is carried out as for value conversions measurements described above, but for command parameters. So, for example, a command has a parameter with the name / name “Power”, which has two values “Enabled” (for example, values “1”, true / true, etc.) and “Off” (for example, values “ 1 ”, true / true, etc.). The user in the web interface of the 570 database can specify the values “On” and “Off” instead of these values (or instead of the names), and now the user can enter new values to set this parameter.

Таким образом, в частном случае осуществления изобретения пользователь может задавать правила преобразования, а далее описанные подстановки и преобразования осуществляет, например, модуль веб-интерфейса 570, например, используя/вычитывая правила преобразования из хранилища настроек преобразования и отображения данных устройств/модулей 540.Thus, in the particular case of the invention, the user can set the conversion rules, and the following substitutions and conversions are performed, for example, by the web interface module 570, for example, using / subtracting the conversion rules from the storage of conversion settings and displaying data of devices / modules 540.

Результаты таких действий (как и сами действия, например, в виде журнала событий/изменений), в частном случае, являющиеся настройками модулей/устройств 110A…110N и/или базовых модулей 215A…215N и т.д., могут быть сохранены в хранилище настроек преобразования и отображения команд и измерений зарегистрированных устройств 540, причем в частном случае осуществления изобретения упомянутые действия и результаты таких действий/настроек (сохраненных, например, в виде команд/инструкций и/или значений) могут быть переданы в управляющие модули 215A…215N, модули/устройства 110 (или в модули 215) и т.д. либо могут не передаваться в указанные модули. Указанные выше действия/настройки могут быть использованы средствами описываемой системы (например, по крайней мере одним модулем или составным элементов/модулем таких модулей) для вывода информации в (веб-)интерфейсе 570 и ввода информации пользователем в (веб-)интерфейсе Базы, на Интернет-портале и в мобильных приложениях, причем ввод и отображение таких данных может быть осуществлено посредством текстовых элементов/интерфейсов и/или графических элементов, в частности интерфейсом пользователя, например, Графическим Интерфейсом Пользователя (ГИП). Так, например, в (веб-)интерфейсе базы 570 могут быть отображены (например, пользователю) уже преобразованные с учетом упомянутых настроек данные значения измерений устройств модулей 110А…110N.The results of such actions (as well as the actions themselves, for example, in the form of an event / change log), in a particular case, which are settings of modules / devices 110A ... 110N and / or basic modules 215A ... 215N, etc., can be stored in the storage settings for converting and displaying commands and measurements of registered devices 540, and in the particular case of carrying out the invention, the mentioned actions and the results of such actions / settings (stored, for example, in the form of commands / instructions and / or values) can be transferred to control modules 215A ... 215N, module / Device 110 (or module 215), etc. or may not be transferred to the specified modules. The above actions / settings can be used by means of the described system (for example, at least one module or component elements / module of such modules) to display information in the (web) interface 570 and enter information by the user in the (web) interface of the Base, on Internet portal and in mobile applications, and the input and display of such data can be carried out by means of text elements / interfaces and / or graphic elements, in particular a user interface, for example, a Graphical User Interface STUDIO (ISU). So, for example, in the (web) interface of the base 570, data (for example, to the user) of the measured values of the measurements of devices of modules 110A ... 110N can be displayed (for example, to the user).

Также, в посредством/средствами модуля (веб-)интерфейса базы 570 может быть инициировано (пользователем и/или по крайней мере, одним модулем описываемой системы) выполнение, по крайней мере, одной инструкции/команды (в том числе, программного кода, например, скриптов, и т.д.), по крайне мере, на одном из (зарегистрированных) устройств/модулей 110A…110N (или модулей 215) и/или, по крайней мере, одного базового модуля 120A…120N, например, посредством передачи (в том числе пользователем, например, посредством интерфейса, например, текстовых полей, графических элементов/кнопок и т.д.) в модуль 570, по крайней мере, одной команды (на управление) и/или входных параметров для, по крайней мере, одной команды, после чего может быть отображен (например, модулем/в модуле 570, в частности, посредством графического или текстового интерфейса в веб-браузере, на вычислительном устройстве 130A…130N пользователя 135A…135N, сервере 160 и т.д.) результат выполнения такой, по крайней мере, одной команды. В частном случае, упомянутая команда (на управление) передается в модуль трансляции и преобразования данных и сообщений 510, который преобразует ее в формат данных модуля/устройства 110A…110N (или модуля 215) и передает ее посредством модуля шифрации и дешифрации данных 590, по крайней мере, в один модуль/устройство 110A…110N (или модуль 215). Причем команда на управление может являться командой включения устройства/модуля 110А…110N (например, включения полива грядки) с определенными параметрами (в частности, заданными пользователем), например, в течение заданного времени (секунда, минута, часы, дни и т.д.), где, в частном случае, результатом (выполнения команды) может являться ошибка (что нет воды для полива) или статус успешного выполнения команды (после полива). Также, в частном случае, упомянутые преобразования могут использоваться для отображения информации в том или ином формате, виде и т.д., как описано выше. Под упомянутым выше форматом устройства/модуля, в частном случае, понимается сообщение, которое передается от баз 120A…120N к устройствам 110А…110N. Внутри базы (средствами, по крайней мере, одной из упомянутых баз) команды между модулями/составными элементами/компонентами базы могут быть переданы в формате удобном/приемлемом для работы (в частности, взаимодействия с ними) внутри базы (например, для вызова внутренних процедур, функций таких модулей и т.д.). Причем в/на устройство 110А…110N может быть отправлена (комплексная) команда, в частном случае, включающая (всю) информацию для ее идентификации на стороне устройства и выполнения. Таким образом, в частном случае, команда имеет формат, «понимаемый»/воспринимаемый (который может быть обработан) устройством. Таким образом, преобразования, которые осуществляются в веб-интерфейсе базы 570 могут не осуществлять преобразования упомянутого формата.Also, through / by means of the module (web) of the base 570 interface, the execution of at least one instruction / command (including program code, for example, can be initiated (by the user and / or at least one module of the described system) , scripts, etc.), at least on one of the (registered) devices / modules 110A ... 110N (or modules 215) and / or at least one basic module 120A ... 120N, for example, via transmission (including by the user, for example, through an interface, for example, text fields, graphic elements / buttons, etc.) to module 570 of at least one command (for control) and / or input parameters for at least one command, after which it can be displayed (for example, by module / in module 570 , in particular, through a graphical or text interface in a web browser, on a computing device 130A ... 130N of a user 135A ... 135N, a server 160, etc.), the result of such at least one command. In the particular case, the command (for control) is transmitted to the data and message translation and conversion module 510, which converts it into the data format of the module / device 110A ... 110N (or module 215) and transmits it via the data encryption and decryption module 590, in at least one module / device 110A ... 110N (or module 215). Moreover, the control command can be a command to turn on the device / module 110A ... 110N (for example, to turn on the watering of a bed) with certain parameters (in particular, set by the user), for example, for a given time (second, minute, hours, days, etc. .), where, in the particular case, the result (of the command) may be an error (that there is no water for irrigation) or the status of the successful completion of the command (after irrigation). Also, in the particular case, these transformations can be used to display information in a particular format, form, etc., as described above. Under the aforementioned device / module format, in a particular case, is meant a message that is transmitted from bases 120A ... 120N to devices 110A ... 110N. Inside the database (by means of at least one of the mentioned databases), commands between modules / components / components of the database can be transferred in a convenient / acceptable format for working (in particular, interacting with them) inside the database (for example, to call internal procedures , functions of such modules, etc.). Moreover, an (complex) command can be sent to / from the device 110A ... 110N, in particular, including (all) information for its identification on the device side and execution. Thus, in the particular case, the command has a format “understood” / perceived (which can be processed) by the device. Thus, the transformations that are carried out in the web interface of the base 570 may not perform transformations of the mentioned format.

Посредством модуля (веб-)интерфейса 570 могут быть изменены (например, пользователем или средствами описываемой системы) настройки базового модуля/базы 120 (или любого другого модуля описываемой системы), в том числе хранящиеся/сохраненные в хранилище настроек базы и журналов событий/логов 560, например, настройки подключения к локальной сети и/или сети Интернет (например, перечень параметров для подключения, например, к сети Wi-Fi, в частности настраивается подключение базы/базового модуля к локальной сети и/или сети Интернет), взаимодействия (в частности, передача сообщения на сервер 160 и получение с сообщений с сервера 160, как было описано выше) с сервером/серверным модулем/модулем сервера/ 160, прав доступа пользователей, по крайней мере, к одному базовому модулю, например, к конкретному базовому модулю (причем права доступа пользователей могут храниться в модуле 560), в частности, к веб-интерфейсу 570 базы (причем может существовать несколько ролей пользователя, определяющих свой набор прав для доступа к веб-интерфейсу базы), а также могут быть просмотрены, например, пользователем журналы событий (в частном случае, сохраненные в файле журналов событий/лог-файлах/логах, от англ. log) взаимодействия базовых модулей 120A-120N с контролируемыми устройствами/модулями 110А-110N и сервером 160.Via the module (web) of the interface 570, the settings of the base module / base 120 (or any other module of the described system) can be changed (for example, by the user or by means of the described system), including those stored / saved in the database settings of the database and event / log logs 560, for example, settings for connecting to a local network and / or the Internet (for example, a list of parameters for connecting, for example, to a Wi-Fi network, in particular, the connection of the base / base module to a local network and / or the Internet is configured), interaction ( at in particular, sending a message to server 160 and receiving messages from server 160, as described above) with the server / server module / server module / 160, user access rights to at least one basic module, for example, to a specific basic module (moreover, user access rights can be stored in module 560), in particular, to the web interface 570 of the database (moreover, there can be several user roles that define their set of rights for access to the web interface of the database), and can also be viewed, for example, user log event logs (in a particular case, stored in the event log file / log files / logs, from English log) the interaction of the base modules 120A-120N with controlled devices / modules 110A-110N and server 160.

Стоит отметить, что модуль трансляции и преобразования данных и сообщений 510 на периодической основе (в частности, по внутреннему таймеру модуля, где периодичность может определяться при производстве, по крайней мере, одного модуля системы и может быть запрограммировано/»прошито» в «прошивке» модуля) осуществляет сбор информации/данных из (локального) хранилища измерений зарегистрированных устройств 520 и/или локального хранилища команд зарегистрированных устройств 530 с учетом настроек/данных (в частности, данные отправляются на интернет-портал 660 в преобразованном для пользователя виде, в соответствии с пользовательскими настройками преобразований в веб-интерфейсе базы, как было описано выше) из хранилища настроек преобразования и отображения команд и измерений зарегистрированных устройств 540 и далее осуществляет преобразование полученных данных в формат сервера 160, и передает преобразованные данные посредством/через (с использованием средств) модуля шифрации и дешифрации сообщений 580 на сервер 160, как описано далее.It should be noted that the module for transmitting and converting data and messages 510 on a periodic basis (in particular, according to the internal timer of the module, where the frequency can be determined during the production of at least one system module and can be programmed / "flashed" in the "firmware" module) collects information / data from the (local) storage of measurements of registered devices 520 and / or local storage of commands of registered devices 530 taking into account settings / data (in particular, data is sent on the intern t-portal 660 in a user-converted form, in accordance with user settings for conversions in the web interface of the database, as described above) from the repository of settings for converting and displaying commands and measurements of registered devices 540 and then converts the received data into the server 160 format, and transmits the converted data via / through (using means) the message encryption and decryption module 580 to the server 160, as described below.

Также модуль трансляции и преобразования данных и сообщений 510 осуществляет преобразование полученных от сервера 160 команд на управление в формат управляющего модуля 215 и передает преобразованные команды на управление в управляющий модуль 215, а также осуществляет преобразование полученных из управляющего модуля 215 результатов выполнения команд в сообщения формата сервера 160 и передает преобразованные результаты выполнения команд/сообщения посредством модуля шифрации и дешифрации сообщений 580 на сервер 160.Also, the module for transmitting and converting data and messages 510 converts the control commands received from the server 160 into the format of the control module 215 and transfers the converted control commands to the control module 215, and also converts the command execution results received from the control module 215 into server format messages 160 and transmits the converted command / message execution results via the message encryption and decryption module 580 to the server 160.

Стоит отметить, что передача данных (например, в виде сообщений, в соответствии с выбранным паттерном интеграции базы и сервера, согласно одной из реализаций настоящего изобретения) между базовым модулем 120A…120N и сервером 160 может осуществляться по в зашифрованном виде (по зашифрованному каналу), причем шифрование, передачу и/или прием/получение (зашифрованных) данных осуществляет, по крайней мере, один модуль, например, модуль шифрования и дешифрования сообщений 580, по крайней мере, одного базового модуля 120A…120N и/или, по крайней мере, один модуль шифрования и дешифрования сообщений сервера 160, являющегося, в частном случае частью серверного ядра 610 и являющееся шифрованием SSL/TLS (TLS от англ. Transport Layer Security - безопасность транспортного уровня, SSL от англ. Secure Sockets Layer - уровень защищенных сокетов являющихся криптографическими протоколами, обеспечивающими защищенную передачу данных между узлами в сети Интернет).It is worth noting that data transmission (for example, in the form of messages, in accordance with the selected base and server integration pattern, according to one implementation of the present invention) between the base module 120A ... 120N and the server 160 can be carried out in encrypted form (via an encrypted channel) moreover, the encryption, transmission and / or reception / reception of (encrypted) data is carried out by at least one module, for example, a module for encrypting and decrypting messages 580 of at least one basic module 120A ... 120N and / or at least one m message encryption and decryption server of server 160, which is, in a particular case, part of the server core 610 and which is SSL / TLS encryption (TLS from Transport Layer Security - transport layer security, SSL from Secure Sockets Layer - encrypted socket layer used as cryptographic protocols providing secure data transfer between nodes on the Internet).

В частном варианте осуществления изобретения базовые модули 120A…120N могут взаимодействовать на сервере 160 с серверным ядром 610 (ФИГ. 6). Серверное ядро 610 (в частном случае, в котором программным кодом на языке Java под сервер приложений Apache Tomcat реализована функциональность взаимодействия с базами) осуществляет фильтрацию не зарегистрированных (процесс регистрации базовых модулей более подробно будет описан далее) на сервере 160 базовых модулей 120A…120N посредством использования данных/информации (средствами, по крайней мере, одного модуля описываемой системы) хранящихся/сохраненных в реестре баз 615 (как описано далее). Сервер 160 сохраняет в хранилище измерений устройств с историей измерений 625 и хранилище команд и шаблонов команд устройств 630 полученные от базовых модулей 120A…120N данные (например, в виде сообщений), в частности, с командами (и/или списком/перечнями команд (для баз и устройств), которые описаны выше и далее) контролируемых модулей/устройств 110A…110N и измерениями (значениями измерений) контролируемых модулей/устройств 110A…110N. Так, в частном случае осуществления изобретения, команды (и/или списки/перечень команд) контролируемых модулей/устройств 110A…110N сохраняются в хранилище команд и шаблонов команд устройств 630, а измерениями (значениями измерений) контролируемых модулей/устройств 110А…110N сохраняются в хранилище измерений устройств с историей измерений 625. Также, стоит отметить, что данные/информация о контролируемых модулях/устройствах 110A…110N из упомянутых данных/сообщений может быть сохранена в реестре контролируемых модулей/устройств 620. Причем, в частном случае осуществления настоящего изобретения, данные/информация о контролируемых модулях/устройствах вычленяется/получается/извлекается программным кодом, в частности, парсером JSON-сообщений по формату сообщений, и может являться информацией об устройстве/модуле 110A…110N, например, номер устройства, наименование/название и ссылка на базу, например, на которой оно зарегистрировано.In a private embodiment of the invention, the base modules 120A ... 120N can communicate on the server 160 with the server core 610 (FIG. 6). Server core 610 (in the particular case in which the Java programming code for the Apache Tomcat application server implements the functionality of interacting with databases) performs filtering of unregistered ones (the process of registering basic modules will be described in more detail below) on the server 160 of basic modules 120A ... 120N by use of data / information (by means of at least one module of the described system) stored / stored in the registry of databases 615 (as described below). The server 160 stores in the measurement storage of devices with a measurement history 625 and the storage of commands and device command templates 630 received from the basic modules 120A ... 120N data (for example, in the form of messages), in particular, with commands (and / or list / lists of commands (for bases and devices), which are described above and below) of controlled modules / devices 110A ... 110N and measurements (measurement values) of controlled modules / devices 110A ... 110N. So, in the particular case of the invention, the commands (and / or lists / list of commands) of the controlled modules / devices 110A ... 110N are stored in the storage of commands and command templates of devices 630, and the measurements (measurement values) of the controlled modules / devices 110A ... 110N are stored in a device measurement storage with a measurement history of 625. It is also worth noting that data / information about the monitored modules / devices 110A ... 110N from the mentioned data / messages can be stored in the register of monitored modules / devices 620. Moreover, in a private In the case of the implementation of the present invention, data / information about the controlled modules / devices is extracted / obtained / extracted by program code, in particular, a JSON message parser according to the message format, and may be information about the device / module 110A ... 110N, for example, device number, name / name and link to the database, for example, on which it is registered.

В частном случае осуществления изобретения пользователь (или группа пользователей) 135A…135N может зарегистрироваться (зарегистрировать свой профиль) на интернет-портале/веб-портале 660, причем регистрационные данные могут включать фамилию, имя, отчество, дату рождения, адрес электронной почты, пароль пользователя и т.д. Упомянутая регистрация пользователя позволяет (автоматически дает возможность) пользователю использовать (мобильные) приложения (в частном случае, позволяющие пользователям контролировать, управлять, по крайней мере, одним модулем описываемой системы, в частности, устройствами/модулями 110A…110N и/или базами 120A…120N и т.д.), для управления и контроля модулей системы (например, базовых модулей 120A…120N и/или контролируемых устройств 110A…110N). Причем такая регистрация и, в частности, последующая авторизация пользователя в (мобильном) приложении и/или на веб-портале позволяет пользователю ввести свои логин и пароль в приложении (или на веб-сайте, веб-портале и т.д.) и посредством приложения (или на странице веб-портала) контролировать и управлять модулями/устройствами описываемой системы.In the particular case of the invention, the user (or group of users) 135A ... 135N can register (register your profile) on the Internet portal / web portal 660, and the registration data may include the last name, first name, middle name, date of birth, email address, password user etc. The mentioned user registration allows (automatically enables) the user to use (mobile) applications (in the particular case, allowing users to control, manage at least one module of the described system, in particular, devices / modules 110A ... 110N and / or bases 120A ... 120N, etc.), for controlling and monitoring system modules (for example, basic modules 120A ... 120N and / or monitored devices 110A ... 110N). Moreover, such registration and, in particular, subsequent authorization of the user in the (mobile) application and / or on the web portal allows the user to enter their username and password in the application (or on the website, web portal, etc.) and by applications (or on the web portal page) to control and manage modules / devices of the described system.

Поскольку, в частном случае осуществления изобретения функции Интернет-портала и (мобильных) приложений одинаковы (или схожи), то далее описание настоящего изобретения будет использовать в качестве примера Интернет портал 660, однако следует учитывать, что все действия, осуществляемые пользователем 135A…135N в/на Интернет-портале 660, могут быть осуществлены, по крайней мере, в одном (мобильном) приложении, в частности, установленном, по крайней мере, на одном устройстве пользователя 130A…130N.Since, in the particular case of the invention, the functions of the Internet portal and (mobile) applications are the same (or similar), then the description of the present invention will use the Internet portal 660 as an example, however, it should be borne in mind that all actions performed by the user 135A ... 135N in / on the Internet portal 660, can be implemented in at least one (mobile) application, in particular, installed on at least one user device 130A ... 130N.

В частном случае осуществления изобретения на сервере может осуществляться (например, по крайней мере, одним пользователем или средствами, по крайней мере, одного модуля описываемой системы, в том числе средствами сервера 160) подключение/добавление базовых модулей 120A…120N, по крайней мере, в один в профиль пользователя. Добавление базовых модулей 120A…120N в профили пользователей позволяют таким пользователям получить доступ к устройствам/модулям 110A…110N, связанным с такими базовыми модулями 120A…120N, в частности, зарегистрированным (как описывалось ранее) на таких базовых модулях устройствам модулям 110А…110N.In the particular case of the invention, the server can be implemented (for example, by at least one user or by means of at least one module of the described system, including by means of the server 160) connecting / adding base modules 120A ... 120N, at least into one in the user profile. Adding basic modules 120A ... 120N to user profiles allows such users to access devices / modules 110A ... 110N associated with such basic modules 120A ... 120N, in particular, registered to such basic modules devices 110A ... 110N modules.

В частном случае осуществления изобретения добавление базового модуля в профиль пользователя может осуществляться (например, пользователем) посредством добавления идентификационных данных (в частности, номер базы 120A…120N, наименование базы, пароль устройства 110A…110N на сервере (например, для подключения (в том числе баз и/или устройств 110A…110N) к личному кабинету пользователя) базовых модулей 120A…120N на/в Интернет-портале 660/(мобильном) приложении, причем такие идентификационные данные могут быть сохранены (в частности, средствами модулей описываемой системы) в хранилище профилей пользователей 655 (хранилище профилей пользователей Интернет-портала и мобильных приложений), и в частном случае осуществления изобретения такой, по крайней мере, один базовый модуль привязывается к профилю (ассоциируется/связывается/сопоставляется с профилем) соответствующего пользователя. Причем в упомянутом профиле, в частном случае, может храниться, по крайней мере, одна ссылка, по крайней мере, на одну базу, а список баз (в том числе их идентификационные номера, названия и/или параметры и т.д.) может храниться в описываемом реестре баз, а информация о них в реестр, в частном случае может вноситься производителями, операторами и т.д. (по крайней мере, одним пользователем), например, при изготовлении и/или программировании базы (в том числе при «прошивке» или «перепрошивке» базы).In the particular case of the invention, the addition of the base module to the user profile can be carried out (for example, by the user) by adding identification data (in particular, the base number 120A ... 120N, the name of the base, the password of the device 110A ... 110N on the server (for example, for connecting (including the number of bases and / or devices 110A ... 110N) to the user's personal account) of the basic modules 120A ... 120N on / in the Internet portal 660 / (mobile) application, and such identification data can be saved (in particular, using the modules of the opio system) in the storage of user profiles 655 (storage of user profiles of the Internet portal and mobile applications), and in the particular case of the invention, such at least one basic module is associated with the profile (associated / associated / associated with the profile) of the corresponding user. Moreover, in the mentioned profile, in the particular case, at least one link to at least one database can be stored, and the list of bases (including their identification numbers, names and / or parameters, etc.) can stored in the described registry of databases, and information about them in the registry, in the particular case, can be entered by manufacturers, operators, etc. (at least one user), for example, in the manufacture and / or programming of the database (including the “firmware” or “flashing” of the database).

Пользователь на Интернет-портале 660/в (мобильном) приложении может просмотреть (зарегистрированные) устройства/модули 110A…110N, значения их измерений (данных/значений измерений, устройств/модулей 110A…110N), данные базовых модулей 120A…120N, модулей команды модулей, в том числе устройств/модулей 110A…110N базовых модулей 120A…120N и т.д. Также, пользователь (135A…135N) на Интернет-портале 660/в (мобильном) приложении может просмотреть историю упомянутых измерений с глубиной от одного дня до нескольких лет (или историю измерений за последние, как минимум, несколько лет). Также, пользователь (135A…135N) Интернет-портале 660/в (мобильном) приложении может инициировать/запустить выполнение, по крайне мере, одной команды (в том числе, реализованной программным кодом, в частности, скриптом, и т.д.) одним из/на одном из (зарегистрированных) модулей/устройств 110А…110N, с пользователем/профилем пользователя и/или связанным, по крайней мере, с одним базовым модулем 120A…120N (т.е., например, модулем, подключенным к профилю такого пользователя). Причем при необходимости пользователь 135A…135N (или, по крайней мере, один модуль описываемой системы посредством, например, программных средств, в том числе алгоритма, реализованного программным кодом) может указать, например, по крайней мере, в одном из полей ввода данных (или посредством/с использованием других элементов управления, например, графических элементов) на/в Интернет-портале 660/(мобильном) приложении, по крайней мере, один входной параметр (для), по крайней мере, одной упомянутой команды, после чего результат выполнения такой, по крайней мере, одной команды может быть отображен средствами, по крайней мере, одного модуля описываемой системы, по крайней мере, в одном элементе/посредством элемента (в том числе графическом и/или текстовом и т.д.) Интернет-портала 660/(мобильного) приложения, чтобы пользователь могу просмотреть результат выполнения упомянутой команды. Упомянутая команда (в частности, включающая упомянутые входные данные) на управление модулем/устройством 110A…110N (и/или базовым модулем 120A…120N) передается из (интернет) портала 660 в Серверное ядро 610, которое преобразует такую команду (включая упомянутые входные параметры) в формат (данных) базового модуля 120A…120N (или в формат модуля/устройства 110A…110N), в частности, в сообщение (для, по крайней мере, одного базового модуля и/или, по крайней мере, одного модуля 110A…110N), и передает/отправляет ее, в частности, посредством/через сеть Интернет 140 (в частном случае через Интернет-шлюз 150), по крайней мере, в один базовый модуль 120A…120N и/или, по крайней мере, в один модуль/устройство 110A…110N. После выполнения упомянутой, по крайней мере, одной команды, по крайней мере, в одном модуле/устройстве 110A…110N (модулем/устройством 110A…110N) данные средствами (например, по крайней мере одним составным элементом/модулем) модуля/устройства 110A…110N и/или, подключенными к нему модулями (например, внешними управляемыми модулями (330Б) или управляющими модулями/микросхемами/чипами 215 и т.д.), данные, в частном случае, включающие результаты (значения) из модулей/устройств 110A…110N, отправляются/пере даются в базовые модули 120A…120N и далее средствами таких базовых модулей передаются на сервер 160 (и/или на устройство пользователя 130A…130N), в частности, в серверное ядро 610, например, в формате (в виде) сообщения. Полученные сервером 160 (или приложением пользователя 130А…130N) данные (например, в виде/формате сообщения), в частном случае содержащие результаты (значения результатов) выполнения команд(ы) упомянутыми модулями (модулями/устройствами 110A…110N и/или базовыми модулями 120A…120N) могут быть преобразованы, по крайней мере, одним модулем сервера (например, средствами серверного ядра 610) и могут быть сохранены в своем хранилище (хранилище интернет-портала). Таким образом, в частном случае осуществления изобретения пользователь (130A…130N) может средствами Интернет-портала 660/(мобильного) приложения просмотреть результаты выполнения упомянутых команд.A user on the Internet portal 660 / in the (mobile) application can view the (registered) devices / modules 110A ... 110N, their measurement values (data / measurement values, devices / modules 110A ... 110N), data from basic modules 120A ... 120N, command modules modules, including devices / modules 110A ... 110N of base modules 120A ... 120N, etc. Also, a user (135A ... 135N) on the Internet portal 660 / in the (mobile) application can view the history of the mentioned measurements with a depth of one day to several years (or the history of measurements for the last at least several years). Also, the user (135A ... 135N) of the Internet portal 660 / in the (mobile) application can initiate / start the execution of at least one command (including that implemented by program code, in particular, a script, etc.) one of / on one of the (registered) modules / devices 110A ... 110N, with a user / user profile and / or associated with at least one basic module 120A ... 120N (i.e., for example, a module connected to the profile such a user). Moreover, if necessary, the user 135A ... 135N (or at least one module of the described system by means of, for example, software, including an algorithm implemented by program code) can indicate, for example, in at least one of the data input fields ( or through / using other controls (for example, graphic elements) on / in the Internet portal 660 / (mobile) application, at least one input parameter (for) at least one of the mentioned command, followed by the result of execution such by at least one command can be displayed by means of at least one module of the described system in at least one element / by means of an element (including graphic and / or text, etc.) of the Internet portal 660 / ( mobile) application so that the user can view the result of the execution of the mentioned command. The mentioned command (in particular, including the mentioned input data) for controlling the module / device 110A ... 110N (and / or the base module 120A ... 120N) is transmitted from the (Internet) portal 660 to the Server core 610, which converts such a command (including the mentioned input parameters ) to the format (data) of the base module 120A ... 120N (or to the format of the module / device 110A ... 110N), in particular, to the message (for at least one base module and / or at least one module 110A ... 110N), and transmits / sends it, in particular, via / through the Internet 140 (in particular case through an Internet gateway 150) into at least one base module 120A ... 120N and / or at least one module / device 110A ... 110N. After at least one command has been executed in at least one module / device 110A ... 110N (module / device 110A ... 110N), the data are provided by means (for example, at least one component / module) of the module / device 110A ... 110N and / or modules connected to it (for example, external managed modules (330B) or control modules / microchips / chips 215, etc.), data, in a particular case, including the results (values) from modules / devices 110A ... 110N, are sent / transferred to the base modules 120A ... 120N and further by means of such zovyh modules transmitted to the server 160 (and / or user device 130A ... 130N), in particular in the server kernel 610, e.g., in a format (a) of the message. Received by the server 160 (or user application 130A ... 130N) data (for example, in the form / format of a message), in a particular case containing the results (values of results) of the execution of commands (s) by the said modules (modules / devices 110A ... 110N and / or basic modules 120A ... 120N) can be transformed by at least one server module (for example, by means of the server core 610) and can be stored in its storage (online portal storage). Thus, in the particular case of the invention, the user (130A ... 130N) can use the Internet portal 660 / (mobile) application to view the results of the execution of the above commands.

В одном из осуществлений настоящего изобретения (для облегчения работы с упомянутыми командами) пользователь (130A…130N) на интернет-портале 660/в (мобильном) приложении может создавать шаблоны для упомянутых команд (шаблоны команд), в частности, с предустановленными (с предварительно заданными, например, тем же пользователем) значениями входных параметров для таких команд и задавать им произвольные названия/имена. Упомянутые шаблоны команд могут быть сохранены/храниться в хранилище команд и шаблонов команд устройств 630. Выполнение шаблона команды осуществляется по тому же принципу, что и выполнение команды, как было сказано выше.In one of the implementations of the present invention (to facilitate the work with the said commands), the user (130A ... 130N) on the Internet portal 660 / in the (mobile) application can create templates for the said commands (command templates), in particular, with predefined (with pre given, for example, by the same user) input parameter values for such commands and give them arbitrary names / names. Said command templates can be stored / stored in the storage of commands and command templates of devices 630. The execution of the command template is carried out on the same principle as the execution of the command, as mentioned above.

Также, пользователь на интернет-портале 660/в (мобильном) приложении может создавать и/или настраивать правила уведомления пользователя. Так, например, такое уведомление пользователя может содержать информацию/данные о том, что, по крайней мере, одно измерение (результат измерения), по крайней мере, одного устройства/модуля 110A…110N приняло указанное значение. В частном случае, настройка правил уведомлений пользователей и отслеживание их выполнение осуществляет модуль правил уведомлений пользователей 635, причем правила уведомлений пользователей могут храниться/быть сохранены в хранилище правил уведомлений пользователей 645, в частности, как было описано выше. Причем упомянутая настройка может быть осуществлена пользователем на интернет-портале в личном кабинете, где события (измерение и/или команда), которые укажет пользователь в правиле, передаются в Модуль правил уведомлений пользователей 635. Далее при получении информации сервером 160 об указанном измерении или команде «Хранилище правил уведомлений пользователей» 645 может осуществлять проверку информации на соответствие правилу. Причем, правило может содержать условие и реакцию в зависимости от условия, например, в правиле может быть указано, что если влажность в теплице понизилась ниже 20%, то отправить SMS-сообщение (например, пользователю) с указанным текстом на заданный (какой-то) номер телефона.Also, a user on the Internet portal 660 / in the (mobile) application can create and / or configure user notification rules. So, for example, such a notification to the user may contain information / data that at least one measurement (measurement result) of at least one device / module 110A ... 110N has accepted the indicated value. In the particular case, setting up user notification rules and monitoring their implementation is carried out by the user notification rules module 635, and user notification rules can be stored / saved in the user notification rules storage 645, in particular, as described above. Moreover, the said setting can be performed by the user on the Internet portal in your personal account, where the events (measurement and / or command) that the user indicates in the rule are transmitted to the User notification rules module 635. Then, when the server 160 receives information about the specified measurement or command The “User Notification Rule Store” 645 may check the information for compliance with the rule. Moreover, the rule may contain a condition and reaction depending on the condition, for example, the rule may indicate that if the humidity in the greenhouse has dropped below 20%, then send an SMS message (for example, to the user) with the specified text to the specified (some ) phone number.

В частном случае, уведомление пользователей может быть осуществлено, например, посредством отправки электронных писем, SMS-сообщений, сообщений в системах и/или службах, и/или приложениях для обмена сообщениями и данными/информацией, в том числе для мгновенного обмена сообщениями/обмена мгновенными сообщениями, например, ICQ, Viber, WhatsApp, Telegram и др., в мессенджерах, и/или в системах и/или службах, и/или приложениях для передачи и/или получения сообщений, в системах и/или службах, и/или приложениях для обмена данными/информацией, включая, но не ограничиваясь, получение и передачу текстовой информации/данных, графических и/или видео- данных, в том числе в видеоформатах, в виде изображений, звуковых данных, включая аудиофайлы и т.д., и а также в чатах, социальных сетях и т.д., (причем адреса электронных почт и номера мобильных телефонов могут быть указаны/введены/определены пользователем и т.д.) средствами модуля уведомления пользователя по электронной почте и SMS 640. Причем отправка электронных писем может быть реализована за счет/посредством службы сообщений, которая может быть установлена/загружена отдельно на сервер приложений, где развернут/установлен сервер 160. Такая служба может быть вызвана, по крайней мере, одним модулем описываемой системы по своему (посредством) собственному API и может осуществлять отправку писем на указанный/заданный адрес. Отправка SMS может быть реализована посредством (с помощью) внешнего по отношению к серверу 160 сервиса, например, сервиса по отправке SMS-сообщений. Сервер 160 также использует API такого сервиса, который в свою очередь отправляет SMS-сообщение на указанный номер телефона.In the particular case, notification of users can be carried out, for example, by sending emails, SMS messages, messages in systems and / or services, and / or applications for exchanging messages and data / information, including for instant messaging / exchange instant messaging, for example, ICQ, Viber, WhatsApp, Telegram, etc., in instant messengers, and / or in systems and / or services, and / or applications for sending and / or receiving messages, in systems and / or services, and / or data / information exchange applications, including but not limited to while receiving, receiving and transmitting textual information / data, graphic and / or video data, including in video formats, in the form of images, sound data, including audio files, etc., as well as in chat rooms, social networks, etc. etc. (and the e-mail addresses and mobile phone numbers can be indicated / entered / determined by the user, etc.) by means of the user notification module via e-mail and SMS 640. Moreover, sending e-mails can be implemented through / through the messaging service which can be installed / downloaded separately to the application server, where server 160 is deployed / installed. Such a service can be called up by at least one module of the described system using its own (through) its own API and can send letters to the specified / specified address. Sending SMS can be realized through (using) an external service to the server 160, for example, a service for sending SMS messages. Server 160 also uses the API of such a service, which in turn sends an SMS message to the specified phone number.

Также, пользователь на интернет-портале 660/в (мобильном) приложении может настроить правила (автоматического) управления устройствами/модулями 110A…110N, например, правило отключения устройство/модуль 110A…110N, например, если, по крайней одно его измерение приняло указанное значение. Настройка правил автоматического управления у стройствами/модулями 110A…110N и отслеживание их выполнения осуществляется средствами модуля правил автоматического управления устройствами 640, причем упомянутые правила (автоматического) управления устройствами/модулями могут храниться/могут быть сохранены в хранилище правил автоматического управления устройствами 650. В частности, упомянутые настройка и отслеживание может осуществляться, как и для правил уведомлений, как было описано выше, причем в результате появления ивента/события может осуществляться выполнение команды на определенном устройстве 110A…110N вместо (или в дополнение к нему) отправки уведомления, в частности, устройстве указанном пользователем при настройке правил(а).Also, a user on the Internet portal 660 / in the (mobile) application can configure the rules for (automatic) control of devices / modules 110A ... 110N, for example, the rule for disconnecting a device / module 110A ... 110N, for example, if at least one of its measurements has accepted value. The automatic control rules for devices / modules 110A ... 110N are set up and their implementation is monitored by means of the automatic device control rules module 640, the aforementioned (automatic) device / module control rules can be stored / can be stored in the automatic device control rule 650 storage for devices. In particular mentioned settings and tracking can be carried out, as well as for notification rules, as described above, and as a result of the event / event t be executed commands on a device 110A ... 110N, instead of (or in addition to) sending a notification, such as the device specified by the user when configuring the rules (a).

В частном случае, при выполнении, по крайней мере, одного правила может быть осуществлено, по крайней мере, одним модулем описываемой системы выполнение указанной (упомянутой) команды (и/или набора команд), причем выполнение упомянутых команд при выполнении правил автоматического управления устройствами/модулями 110A…110N осуществляется по тому же принципу, что и описанное выше выполнение (обычной/не автоматической) команды.In the particular case, when at least one rule is executed, at least one module of the described system can execute the specified (mentioned) command (and / or set of commands), moreover, the execution of the mentioned commands when the automatic device control rules are executed / modules 110A ... 110N is carried out according to the same principle as the execution of the (normal / non-automatic) command described above.

На ФИГ. 3 показан примерный вариант (контролируемого) устройства 110А-110N, согласно примерному варианту осуществления изобретения. Устройство 110 может включать, по крайней мере, один измеритель 310A-310N, в частном случае, реализованный, по крайней мере одним датчиком, и/или, по крайней мере, один управляющий модуль 330A…330N, например, осуществлять измерение температуры, определять/переключать номер канала на телевизоре, статус включения или отключения устройства 110A…110N, регулировать яркость освещения, силу тока, напряжение в (электро)сети, контролировать открыта или закрыта дверь, определять/устанавливать мощность сигнала, контролировать уровень звука в телевизоре, определять/устанавливать номер программы на стиральной машине, определять/устанавливать время работы устройства 110A…110N, определять частоту сердцебиения человека/пульс и т.п.In FIG. 3 shows an exemplary embodiment of a (monitored) device 110A-110N according to an exemplary embodiment of the invention. The device 110 may include at least one meter 310A-310N, in a particular case, implemented by at least one sensor, and / or at least one control module 330A ... 330N, for example, to measure temperature, determine / switch the channel number on the TV, the on / off status of the device 110A ... 110N, adjust the brightness of the light, current, voltage in the (electric) network, control the door is open or closed, determine / set the signal strength, control the sound level in the TV, determine be / install the program number on the washing machine, to determine / set the time of operation of the device 110A ... 110N, to determine the heart rate the person / pulse, etc.

Причем, измеритель (310A-310N) может являться, как внутренним (310A) по отношению к контролируемому устройству 110 (например, являться составным элементом/модулем упомянутого устройства), так и внешним (310Б) по отношению к контролируемому устройству 110 (например, являться элементом/модулем, подключаемым к устройству 110, например, посредством проводных или беспроводных интерфейсов, например, посредством USB-интерфейса или Wi-Fi-интерфейса и т.д.). Также, (контролируемое) устройство 110 может включать, по крайней мере, один управляемый модуль 330A-330N. Причем, управляемый модуль (330A-330N) может являться, как внутренним (310A) по отношению к контролируемому устройству 110 (например, являться составным элементом/модулем упомянутого устройства), так и внешним (310Б) по отношению к контролируемому устройству 110 (например, являться элементом/модулем, подключаемым к устройству 110, например, посредством проводных или беспроводных интерфейсов, например, посредством USB-интерфейса или Wi-Fi-интерфейса и т.д.).Moreover, the meter (310A-310N) can be both internal (310A) with respect to the monitored device 110 (for example, be an integral element / module of the said device) and external (310B) with respect to the monitored device 110 (for example, be element / module connected to the device 110, for example, via wired or wireless interfaces, for example, via a USB interface or Wi-Fi interface, etc.). Also, (controlled) device 110 may include at least one managed module 330A-330N. Moreover, the managed module (330A-330N) can be both internal (310A) with respect to the monitored device 110 (for example, be an integral element / module of the said device) and external (310B) with respect to the controlled device 110 (for example, be an element / module connected to the device 110, for example, via wired or wireless interfaces, for example, via a USB interface or a Wi-Fi interface, etc.).

Также, как было сказано выше, (контролируемое) устройство/(контролируемый) модуль 110 (любой из модулей 110A-110N) может включать, по крайней мере, один управляющий модуль 215. Причем управляющий модуль 215 может осуществлять получение (340A-340N) данных (получать данные) из измерителей 310A-310N, а измерительный модуль/измеритель 310A-310N может осуществлять передачу (340A-340N) данных (передавать данные), по крайней мере, в один управляющий модуль 215, где упомянутые данные могут включать измерения измерителей 310А-310N, которые более подробно описаны выше.Also, as mentioned above, the (monitored) device / (monitored) module 110 (any of the modules 110A-110N) may include at least one control module 215. Moreover, the control module 215 can receive (340A-340N) data (receive data) from meters 310A-310N, and the measurement module / meter 310A-310N can transmit (340A-340N) data (transmit data) to at least one control module 215, where the data may include measurements of meters 310A -310N, which are described in more detail above.

Также, управляющий модуль 215 может осуществлять получение данных (350A-350N) из управляемых модулей 330A-330N, а управляемый модуль 330А-330N может осуществлять передачу данных (350A-350N), по крайней мере, в один управляющий модуль 215, где упомянутые данные могут включать команды на управление управляемыми модулями 330A-330N или устройствами (110A-110N) в целом, которые более подробно описаны выше.Also, the control module 215 can receive data (350A-350N) from the managed modules 330A-330N, and the managed module 330A-330N can transmit data (350A-350N) to at least one control module 215, where the data may include commands to control managed modules 330A-330N or devices (110A-110N) in general, which are described in more detail above.

Как было сказано выше, устройства (110A-110N) могут обмениваться данными (210, 220) с другими модулями описываемой системы, например, с базовыми модулями (120A-120N), устройствами пользователей (130A-130N), по крайней мере, одним сервером 160 и т.д.As mentioned above, devices (110A-110N) can exchange data (210, 220) with other modules of the described system, for example, with basic modules (120A-120N), user devices (130A-130N), at least one server 160 etc.

На ФИГ. 4 изображен примерный вариант управляющего модуля 215 (контролируемого модуля/) устройства 110. Управляющий модуль 215 может включать (содержать), по крайней мере, один модуль сбора и обработки измерений 410.In FIG. 4 shows an exemplary embodiment of a control module 215 (monitored module /) of the device 110. The control module 215 may include (comprise) at least one measurement acquisition and processing module 410.

Управляющий модуль 215 также может включать/содержать, по крайней мере, один модуль трансляции и преобразования данных 430.The control module 215 may also include / contain at least one data translation and conversion module 430.

Стоит отметить, что в частном случае осуществления изобретения данные (например, данные 340A-340N) из измерителей (310A-310N) могут быть переданы в модуль сбора и обработки измерений 410 управляющего модуля 215, которые далее могут быть переданы в модуль трансляции и преобразования данных 430.It is worth noting that in the particular case of the invention, data (for example, data 340A-340N) from meters (310A-310N) can be transferred to the module for collecting and processing measurements 410 of the control module 215, which can then be transferred to the data translation and conversion module 430.

Управляющий модуль 215 также может включать (содержать), по крайней мере, одно хранилище команд управляемых модулей 420, данные (465) из которого могут включать, например, перечень команд, и которые могут быть переданы в модуль трансляции и преобразования данных 430, как более подробно описано выше.The control module 215 may also include (contain) at least one instruction store of the managed modules 420, data (465) from which may include, for example, a list of commands, and which may be transmitted to the data translation and conversion module 430, as more described in detail above.

Управляющий модуль 215 также может включать (содержать), по крайней мере, один модуль шифрования/шифровки и дешифрования/дешифровки данных 440. Стоит отметить, что в частном случае осуществления изобретения данные (например, перечень команд, измерения, результаты выполнения команд) из модуля 430 могут быть переданы в модуль 440. Также, данные 475 (например, в виде команд на управление) из модуля 440 могут быть переданы в модуль 430.The control module 215 may also include (contain) at least one data encryption / encryption and decryption / decryption module 440. It should be noted that in the particular case of the invention, data (for example, a list of commands, measurements, results of command execution) from the module 430 can be transmitted to module 440. Also, data 475 (for example, in the form of control commands) from module 440 can be transferred to module 430.

Также, управляющий модуль 215 (который в частности, как было описано выше позволяет управлять, по крайней мере, одним устройством 110А…110N, собирать измерения и взаимодействовать, по крайней мере, одной базой 120A…120N) может включать (содержать), по крайней мере, один модуль управления 450, в который могут быть переданы данные 480 (например, команды на управление). Также данные 485 (например, результаты выполнения команд, как более подробно описано выше) из модуля управления 450 могут быть переданы в модуль 430.Also, the control module 215 (which, in particular, as described above allows you to control at least one device 110A ... 110N, collect measurements and interact with at least one base 120A ... 120N) may include (contain) at least at least one control module 450 into which data 480 (e.g., control commands) can be transmitted. Also, data 485 (for example, command execution results, as described in more detail above) from control module 450 may be transmitted to module 430.

Также, управляющий модуль 215 может включать модуль исполнения/выполнения скриптов 499. Модуль 499 получает скрипты (497) из хранилища команд управляемых модулей 420, получает данные (496) от модуля сбора и обработки измерений 410, передает (494) данные/информацию в модуль управления 450 и получает информацию/данные (495) от модуля управления 450, передает данные (493) в модуль трансляции и преобразования данных 430 и получает информацию (498) от модуля трансляции и преобразования данных 430. Причем модуль исполнения скриптов 499 может включать, по крайней мере, генератор событий (820, ФИГ. 8) и/или менеджер триггеров (830, ФИГ. 8), и/или хранилище скриптов (840, ФИГ. 8).Also, the control module 215 may include a script execution / execution module 499. The 499 module receives scripts (497) from the command storage of the managed modules 420, receives data (496) from the acquisition and processing module 410, and transmits (494) data / information to the module 450 and receives information / data (495) from the control module 450, transmits data (493) to the data translation and conversion module 430 and receives information (498) from the translation and data conversion module 430. Moreover, the script execution module 499 may include at least the generator eventator (820, FIG. 8) and / or trigger manager (830, FIG. 8), and / or script storage (840, FIG. 8).

ФИГ. 5 иллюстрирует примерный вариант базы/базового модуля, согласно одному из вариантов осуществления настоящего изобретения. Базовый модуль 120/120A…120N может включать модуль шифрования/шифрации и дешифрования/дешифрации данных 590, который может передавать данные (например, перечень команд, измерения, результаты команд и т.д.) 511 в модуль трансляции и преобразования данных и сообщений 510, причем модуль 510 может отправлять данные (например, команды на управления) 512 в модуль 590. Модуль 510 также может отправлять данные (например, результаты выполнения команд и/или перечни преобразованных команд и измерений, например, устройств/модулей 110A…110N, 120A…120N и т.д.) 533 в модуль шифрования и дешифрования сообщений 580. Модуль 580 может передавать данные (например, команды на управление) 537 в модуль 510. Модуль 510 также может отправлять данные (например, результаты выполнения команд) 531 в хранилище данных (настроек и/или журналов событий) базовых модулей 560. Модуль хранения/реестр (зарегистрированных) устройств/модулей 550 может отправлять/пере давать данные (например, перечень зарегистрированных модулей/устройств 110А…110N, 120A…120N и т.д.) 529 в модуль 510. Модуль 510 также может передавать данные (например, измерения от зарегистрированных устройств) 513 в (локальное) хранилище данных (измерений) зарегистрированных устройств 520. Также, модуль 510 может принимать данные (например, измерения, в том числе преобразованные, от зарегистрированных устройств/модулей 110A…110N, 120A…120N и т.д.) 514, переданные модулем 520. Также, модуль 510 может отправлять данные (например, перечни команд от зарегистрированных модулей/устройств 110А…110N, 120A…120N и т.д.) 517 в (локальное) хранилище данных/команд (зарегистрированных) устройств 530. Также, модуль 510 может принимать переданные модулем хранения 530 данные (например, перечни (преобразованных) команд и измерений устройств/модулей 110A…110N) 519. Модуль хранения 520 может отправлять данные (например, перечни (преобразованных) команд и измерений устройств 110A…110N, 120A…120N и т.д.) 536 в модуль интерфейса (в частности, в пользовательский веб-интерфейс) 570. Хранилище (локальное)/модуль хранения 530 также может отправлять данные (например, перечень команд/команды (в том числе преобразованных/преобразованные), например, от зарегистрированных устройств 110A…110N, 120A…120N и т.д.) 543 в модуль 570. Модуль 570 может отправлять данные (например, настроек преобразования и/или отображения команд и/или измерений) 539 в хранилище/модуль хранения 540 настроек преобразования и отображения данных (в частности, команд и/или измерений) устройств/модулей 110A…110N, 120A…120N и т.д., в том числе зарегистрированных. Модуль/интерфейс 570 также может принимать отправленные модулем 540 данные (например, команды/перечни (преобразованных) команд и/или измерений устройств/модулей 110А…110N, 120A…120N и т.д.) 541. Модуль 570 также может отправлять, а модуль 550 получать/принимать данные (например, данные о регистрации устройств/модулей, в том числе модулей 110A…110N и/или модулей 120A…120N) 527. Модуль 510 также может принимать/получать отправленные модулем 570 данные (например, команды на управление) 523. Модуль 570 также может отправлять, а модуль 560 получать/принимать данные (например, данные о регистрации модулей/устройств 110A…110N, 120A…120N и т.д.) 547. Пользователь 130 (130A…130N) может взаимодействовать с модулем 120, например, просматривать измерения, команды, настройки, журналы изменений/логи устройств/модулей 110A…110N, 120A…120N и т.д. Также, пользователь может взаимодействовать с модулем 120 посредством настройки преобразований и отображения данных (в частности, команд и измерений), регистрации и/или настройки устройств/модулей 110А…110N, 120A…120N и т.д., а также посредством управления устройствами/модулями 110A…110N, 120A…120N и т.д. с помощью команд/скриптов. Также, модуль 540 может передавать в модуль 510 данные (например, команды/перечни преобразованных команд и измерений устройств/модулей 110А…110N, 120A…120N и т.д.) 521.FIG. 5 illustrates an exemplary base / base unit embodiment, according to one embodiment of the present invention. The basic module 120 / 120A ... 120N may include a data encryption / encryption and decryption / decryption module 590, which can transmit data (for example, a list of commands, measurements, command results, etc.) 511 to the data and message translation and conversion module 510 510 moreover, the module 510 can send data (for example, control commands) 512 to the module 590. The module 510 can also send data (for example, the results of executing commands and / or lists of converted commands and measurements, for example, devices / modules 110A ... 110N, 120A ... 120N, etc.) 533 to the cipher module messages and decryption 580. Module 580 can transmit data (eg, control commands) 537 to module 510. Module 510 can also send data (eg, results of command execution) 531 to the data storage (settings and / or event logs) of the base modules 560. A storage / register module of (registered) devices / modules 550 can send / transmit data (for example, a list of registered modules / devices 110A ... 110N, 120A ... 120N, etc.) 529 to module 510. Module 510 can also transmit data (e.g. measurements from recorded devices) 513 to the (local) data storage (measurements) of registered devices 520. Also, module 510 can receive data (for example, measurements, including converted ones, from registered devices / modules 110A ... 110N, 120A ... 120N, etc. ) 514 transmitted by module 520. Also, module 510 can send data (for example, lists of commands from registered modules / devices 110A ... 110N, 120A ... 120N, etc.) 517 to the (local) storage of data / commands of (registered) devices 530. Also, module 510 may receive data transmitted by storage module 530 (eg, lists of (converted) commands and measurements of devices / modules 110A ... 110N) 519. Storage module 520 can send data (for example, lists of (converted) commands and measurements of devices 110A ... 110N, 120A ... 120N, etc.) 536 to the interface module (in particular, to the web-based user interface) 570. The storage (local) / storage module 530 can also send data (for example, a list of commands / commands (including converted / converted), for example, from registered devices 110A ... 110N, 120A ... 120N, etc.) 543 to module 570. Module 570 can send data (for example er, conversion settings and / or display of commands and / or measurements) 539 to the storage / storage module 540 settings for converting and displaying data (in particular, commands and / or measurements) of devices / modules 110A ... 110N, 120A ... 120N, etc. ., including registered. Module / interface 570 may also receive data sent by module 540 (for example, commands / lists of (converted) commands and / or measurements of devices / modules 110A ... 110N, 120A ... 120N, etc.) 541. Module 570 may also send, and module 550 receive / receive data (for example, registration data of devices / modules, including modules 110A ... 110N and / or modules 120A ... 120N) 527. Module 510 can also receive / receive data sent by module 570 (for example, control commands ) 523. Module 570 can also send, and module 560 can receive / receive data (for example, yes information about registration of modules / devices 110A ... 110N, 120A ... 120N, etc.) 547. User 130 (130A ... 130N) can interact with module 120, for example, view measurements, commands, settings, change logs / logs of devices / modules 110A ... 110N, 120A ... 120N, etc. Also, the user can interact with module 120 by setting up transformations and displaying data (in particular, commands and measurements), registering and / or setting up devices / modules 110A ... 110N, 120A ... 120N, etc., as well as by controlling devices / modules 110A ... 110N, 120A ... 120N, etc. using commands / scripts. Also, module 540 may transmit data (for example, commands / lists of converted commands and measurements of devices / modules 110A ... 110N, 120A ... 120N, etc.) to module 510 521.

Также, базовый модуль 120/120A…120N может включать модуль исполнения скриптов 599. Модуль 599 получает скрипты (598) от хранилища данных базы 560, получает данные (597) от хранилища данных/измерений устройств 520, передает информацию/данные в модуль трансляции и преобразования данных и сообщений управления 510 и получает информацию от модуля трансляции и преобразования данных и сообщений (управления) 510. Причем модуль исполнения скриптов 599 может включать, по крайней мере, генератор событий (820, ФИГ. 8) и/или менеджер триггеров (830, ФИГ. 8), и/или хранилище скриптов (840, ФИГ. 8).Also, the basic module 120 / 120A ... 120N can include a script execution module 599. Module 599 receives scripts (598) from the database data storage 560, receives data (597) from the data / measurement storage of devices 520, transfers information / data to the translation module and converting data and control messages 510 and receives information from the module for translating and converting data and messages (control) 510. Moreover, the script execution module 599 may include at least an event generator (820, FIG. 8) and / or trigger manager (830 , FIG. 8), and / or repository script s (840, FIG. 8).

ФИГ. 6 иллюстрирует примерный вариант сервера, согласно одному из осуществлений настоящего изобретения. Сервер 160 может включать серверное ядро (модуль серверного ядра, в частности, реализованный программным обеспечением) 610, который может передавать данные (например, измерения устройств/модулей (пользователей), например, устройств/модулей 110А…110N, 120A…120N и т.д.) 616 в модуль хранения (625) измерений устройств/модулей 110А…110N, в частности, с историей изменений. Модуль 610 также может передавать данные (например, команды/скрипты/перечни команд устройств/модулей (пользователей), например, устройств/модулей 110A…110N, 120A…120N и т.д.) 622 в модуль хранения/хранилище (630) команд и шаблонов устройств/модулей 110A…110N, 120A…120N и т.д. Модуль 625 может передавать данные (например, текущие измерения и истории измерений устройств/модулей (пользователя), например, 110A…110N, 120A…120N и т.д.) 648 в модуль/интернет-портал 660. Модуль 630 может передавать данные (например, команды устройств/модулей (пользователя), например, 110A…110N, 120A…120N и т.д. и/или шаблоны команд) 642 в интернет-портал 660. Серверное ядро 610 также может отправлять/пере давать данные (например, устройства/модули (пользователя) устройств/модулей 110A…110N, 120A…120N и т.д., в частности, список таких устройств/модулей, включая информацию данные о них/от них, как описано в настоящем изобретении) 614 в модуль хранения/реестр 620 устройств/модулей 110А…110N, 120A…120N и т.д. Модуль 610 также может получать данные (например, зарегистрированные базовые модули 120A…120N, в частности, список таких зарегистрированных базовых модулей/баз и информацию/данные о них, как описано в настоящем изобретении) 612, передаваемые из хранилища/реестра 615 базовых модулей 120A…120N. Модуль 620 также может передавать данные (например, устройства/модули (пользователя) устройств/модулей 110А…110N, 120A…120N и т.д., в частности, список таких устройств/модулей, включая информацию данные о них/от них, как описано в настоящем изобретении) 652 в модуль 660. Интернет портал 660 может также отправлять данные (например, команды/скрипты на управление устройствами/модулями, например, 110A…110N, 120A…120N и т.д.) 646 в серверное ядро 610. Интернет портал/модуль 660 может передавать данные (например, данные о регистрации пользователей, настройки профилей пользователя, профили пользователей и т.д.) 654 в модуль/хранилище 655 данных (в частности, профилей) пользователей, в частности, пользователей интернет-портала 660 и/или мобильных приложений, и/или модулей/устройств 110A…110N, 120A…120N и т.д. Также, модуль/портал/веб-портал/интернет-портал/портал 660 может передавать данные (например, настройки правил уведомлений пользователя) 656 в модуль правил уведомлений пользователей 635. Модуль 635 может передавать данные (например, данные об успешном или не успешном выполнении правил и т.д., как описано в настоящем изобретении) 636 в модуль уведомления пользователя 640. Также, модуль/портал 660 может передавать данные (например, настройки правил (автоматического) управления устройствами/модулями 110A…110N, 120A…120N и т.д.) 638 в модуль 640 правил (автоматического) управления устройствами/модулями 110А…110N, 120A…120N и т.д. Также, модуль 635 может передавать данные (например, правила уведомлений пользователей 135/135Б) 632 в модуль/хранилище правил уведомлений пользователей 645. Модуль 635 может принимать/получать данные (например, правила уведомлений пользователей 135/135Б, которые описаны в рамках настоящего изобретения) 634, отправляемые/передаваемые модулем/хранилищем 645. Также, модуль 640 может передавать/осуществлять передачу/отправку данных (например, правила (автоматического) управления устройствами/модулями 110A…110N, 120A…120N и т.д.) 626 в модуль хранения/хранилища 650 правил (автоматического) управления устройствами/модулями 110А…110N, 120A…120N и т.д. Также, модуль 650 может отправлять/передавать данные (например, правила (автоматического) управления устройствами/модулями 110А…110N, 120A…120N и т.д.) 628 в модуль 640. Также, модуль/серверное ядро 610 может принимать/получать данные (например, команды на управление устройствами/модулями 110A…110N, 120A…120N и т.д.) 624, переданные/передаваемые модулем 650. Также, модуль 160 может передавать данные (например, предоставлять данные (в том числе для просмотра) базовых модулей 120A…120N и/или модулей/устройств 110A…110N, текущих измерений, истории измерений устройств/модулей, команд базовых модулей 120A…120N и/или модулей/устройств 110A…110N, шаблонов команд, настроек профилей пользователя/пользователей 135/135A…135N, правил автоматического управления устройствами/мо дулями, журналов событий/логов и т.д.) 270, по крайней мере, одному модулю описываемой системы и/или внешнему модулю и/или сервису, и/или пользователю 130/135Б, в частности, на вычислительное устройство (пользователя) 130A…130N. Также, модуль 160 может передавать данные (например, уведомления/данные (для) уведомлений, в частности, пользователя, например, посредством электронной почты, сообщений, в том числе SMS-сообщений, звукового сигнала/аудио-данных, видео-сигнала/видео-данных и т.д.) 280, по крайней мере, одному модулю описываемой системы и/или внешнему модулю и/или сервису, и/или пользователю 130/135Б, в частности, на вычислительное устройство (пользователя) 130A…130N. Также, модуль 160 может получать данные (например, данные о подключении базовых модулей 120A…120N к профилю/профилям пользователей/пользователя, в частности, пользователей интернет портала и/или мобильных приложений, данные настройки шаблонов команд, настройки правил уведомлений пользователя/пользователей, настройки правил (автоматического) управления устройствами/модулями, данные управления устройствами/модулями, в том числе, в виде скриптов/команд) 290 от пользователя 130/135Б, в частности, по крайней мере, одного устройства пользователя 130А…130N. Так, например, пользователь 130/135A…130N может посредством, например, вычислительного устройства (пользователя) 130/130A…130N подключать базовые модули 120A…120N, например, к профилю/профилям пользователей/пользователя, в частности, пользователей интернет портала и/или мобильных приложений, настраивать шаблоны команд/скриптов, настраивать правила уведомлений пользователя/пользователей, настраивать правила (автоматического) управления устройствами/модулями, управлять устройствами/модулями, в том числе, посредством скриптов/команд, графических элементов, текстовых элементов и т.д.FIG. 6 illustrates an example server embodiment, in accordance with one embodiment of the present invention. Server 160 may include a server core (server core module, in particular, implemented by software) 610, which can transmit data (e.g., measurements of devices / modules (users), e.g., devices / modules 110A ... 110N, 120A ... 120N, etc. e.) 616 to the storage module (625) of measurements of devices / modules 110A ... 110N, in particular, with a history of changes. The module 610 can also transmit data (for example, commands / scripts / lists of commands of devices / modules (users), for example, devices / modules 110A ... 110N, 120A ... 120N, etc.) 622 to the module storage / storage (630) commands and device / module templates 110A ... 110N, 120A ... 120N, etc. Module 625 can transmit data (eg, current measurements and measurement histories of devices / modules (user), for example, 110A ... 110N, 120A ... 120N, etc.) 648 to module / Internet portal 660. Module 630 can transmit data ( for example, device / module (user) commands, for example, 110A ... 110N, 120A ... 120N, etc. and / or command templates) 642 to the Internet portal 660. Server core 610 can also send / transmit data (for example, devices / modules (user) of devices / modules 110A ... 110N, 120A ... 120N, etc., in particular, a list of such devices / modules, including information given s them / from them, as described herein) in the storage unit 614 / register 620 devices / modules 110A ... 110N, 120A ... 120N, etc. Module 610 can also receive data (for example, registered base modules 120A ... 120N, in particular, a list of such registered base modules / bases and information / data about them, as described in the present invention) 612 transmitted from the storage / registry 615 of base modules 120A ... 120N. Module 620 can also transmit data (for example, devices / modules (user) of devices / modules 110A ... 110N, 120A ... 120N, etc., in particular, a list of such devices / modules, including information about / from them, such as described in the present invention) 652 to the module 660. The Internet portal 660 can also send data (for example, commands / scripts to control devices / modules, for example, 110A ... 110N, 120A ... 120N, etc.) 646 to the server core 610. The Internet portal / module 660 can transmit data (for example, user registration data, user profile settings atelier, user profiles, etc.) 654 to the module / storage 655 of data (in particular, profiles) of users, in particular, users of the Internet portal 660 and / or mobile applications, and / or modules / devices 110A ... 110N, 120A ... 120N, etc. Also, module / portal / web portal / Internet portal / portal 660 may transmit data (eg, user notification rule settings) 656 to user notification rule module 635. Module 635 may transmit data (eg, success or failure data rules, etc., as described in the present invention) 636 to the user notification module 640. Also, the module / portal 660 can transmit data (for example, rule settings for (automatic) control of devices / modules 110A ... 110N, 120A ... 120N, etc. .d.) 638 into the rule module 640 (automatically th) units / control modules 110A ... 110N, 120A ... 120N, etc. Also, module 635 can transmit data (eg, user notification rules 135 / 135B) 632 to module / storage of user notification rules 645. Module 635 can receive / receive data (eg, user notification rules 135 / 135B, which are described in the framework of the present invention ) 634 sent / transmitted by module / storage 645. Also, module 640 can transmit / transmit / send data (for example, rules for (automatic) control of devices / modules 110A ... 110N, 120A ... 120N, etc.) 626 per module storage / vault 650 pra pitchfork of (automatic) control of devices / modules 110A ... 110N, 120A ... 120N, etc. Also, module 650 may send / transmit data (eg, rules for (automatic) control of devices / modules 110A ... 110N, 120A ... 120N, etc.) 628 to module 640. Also, module / server core 610 may receive / receive data (for example, commands to control devices / modules 110A ... 110N, 120A ... 120N, etc.) 624 transmitted / transmitted by module 650. Also, module 160 can transmit data (for example, provide data (including for viewing) basic modules 120A ... 120N and / or modules / devices 110A ... 110N, current measurements, measurement history of devices / modules, omands of basic modules 120A ... 120N and / or modules / devices 110A ... 110N, command templates, settings of user / user profiles 135 / 135A ... 135N, rules for automatic control of devices / modules, event logs / logs, etc.) 270, at least one module of the described system and / or an external module and / or service, and / or user 130 / 135B, in particular, to the computing device (user) 130A ... 130N. Also, the module 160 can transmit data (e.g., notifications / data (for) notifications, in particular by the user, for example, via email, messages, including SMS messages, audio signal / audio data, video signal / video data, etc.) 280, to at least one module of the described system and / or an external module and / or service, and / or user 130 / 135B, in particular, to the computing device (user) 130A ... 130N. Also, the module 160 can receive data (for example, data on the connection of basic modules 120A ... 120N to the profile / profiles of users / users, in particular, users of the Internet portal and / or mobile applications, settings data for command templates, settings for user / user notification rules, rule settings for (automatic) device / module control, device / module control data, including in the form of scripts / commands) 290 from user 130 / 135B, in particular, at least one user device 130A ... 13 0N. So, for example, user 130 / 135A ... 130N can, through, for example, computing device (user) 130 / 130A ... 130N connect basic modules 120A ... 120N, for example, to the profile / profiles of users / users, in particular, users of the Internet portal and / or mobile applications, configure templates for commands / scripts, configure rules for notifying a user / users, configure rules for (automatic) control of devices / modules, manage devices / modules, including through scripts / commands, graphic email cops, text elements, etc.

В частном случае осуществления настоящего изобретения описываемая в система предоставляет пользователю 135A…135N определенный набор возможностей/операций, в том числе заложенных/определенных производителем устройств/модулей 110A…110N и/или технологией сети, и/или любых других операций, действий и т.д., как было описано выше.In the particular case of the implementation of the present invention, the system described provides the user 135A ... 135N with a certain set of capabilities / operations, including those laid down / defined by the manufacturer of devices / modules 110A ... 110N and / or network technology, and / or any other operations, actions, etc. d. as described above.

В частном случае, такие операции могут быть определены в виде (могут являться) либо атомарных/простых действий (например, включить устройство/модуль 110A…110N, получить измерение с измерителя/датчика 310A…310N и т.д.), либо как программная логика, в частности, определенная производителем устройств/модулей 110A…110N, с возможностью задавать входные и выходные значения и/или переменные (например, если/if значение датчика а=у, то/then включить выход Б). Так, в частном случае, последняя возможность позволяет описываемой системе осуществлять управления такими модулями/устройствами 110A…110N, в частности, в рамках (простейших) логических операций или (заведомо известных) правил, описываемых в рамках настоящего изобретения. Также, описываемая выше система может быть расширена посредством предоставления возможности создавать описанную логику предоставляемую производителями модулей/устройств 110A…110N и ее контролирование/управление конечному пользователю описываемой системы.In the particular case, such operations can be defined as (can be) either atomic / simple actions (for example, turn on the device / module 110A ... 110N, get a measurement from the meter / sensor 310A ... 310N, etc.), or as software logic, in particular, defined by the manufacturer of devices / modules 110A ... 110N, with the ability to set input and output values and / or variables (for example, if / if the sensor value is a = y, then / then enable output B). So, in the particular case, the latter possibility allows the described system to control such modules / devices 110A ... 110N, in particular, within the framework of (simplest) logical operations or (known) rules described in the framework of the present invention. Also, the system described above can be expanded by providing the ability to create the described logic provided by the manufacturers of modules / devices 110A ... 110N and its control / management to the end user of the described system.

В частном случае осуществления изобретения существует, по крайней мере, три уровня осуществления описываемой системы и способа:In the particular case of the invention, there are at least three levels of implementation of the described system and method:

1) управление элементами/модулями описываемой системы осуществляется в режиме атомарных операций, которое может быть осуществлено посредством захода пользователя на интернет-портал 660/в мобильное приложение и осуществления просмотра им значения упомянутых измерителей 310A…310N, например, температуры с датчика температуры, причем пользователь нажать/выбрать графическое изображение кнопки включения-выключения какого либо устройства/модуля 110А…110N.1) the elements / modules of the described system are controlled in the atomic operation mode, which can be carried out by logging in to the Internet portal 660 / in a mobile application and viewing the values of the mentioned meters 310A ... 310N, for example, the temperature from the temperature sensor, and the user press / select a graphic image of the on / off button of a device / module 110A ... 110N.

2) управление элементами/модулями описываемой системы в режиме шаблонных операций, причем пользователь на интернет-портале 660/в мобильном приложении может создать описанный выше шаблон команды устройства/модуля 110A…110N (шаблонную операцию). Шаблонные операции, в частном случае являются графическим построителем логики (в частности, шаблонным построителем), в частности, состоящем из трех блоков:2) control of the elements / modules of the described system in the mode of template operations, and the user on the Internet portal 660 / in the mobile application can create the above-described command template for the device / module 110A ... 110N (template operation). Template operations, in a particular case, are a graphic logic builder (in particular, a template builder), in particular, consisting of three blocks:

а) размещение скрипта - на каком узле следует разместить скрипт;a) placing the script - on which node the script should be placed;

б) способ запуска - каким образом будет запускаться скрипт;b) launch method - how the script will be launched;

в) логика скрипта - набор блоков (операций) с логикой;c) script logic - a set of blocks (operations) with logic;

Варианты доступных действий в построителе шаблонов/шаблонном построителе приведены ниже.The options for the available actions in the template builder / template builder are given below.

Варианты размещения скриптов:Script placement options:

а) на устройстве/модуле 110А…110N;a) on the device / module 110A ... 110N;

б) на базовом модуле 120A…120N;b) on the base module 120A ... 120N;

в) на сервере 160;c) on the server 160;

Варианты запуска. Под последними следует понимать триггеры запуска (см. далее по тексту описание триггерной механики).Launch options. The latter should be understood as trigger triggers (see below for a description of trigger mechanics).

а) Через временной интервал;a) Through a time interval;

б) По возникновению события/ивента (от англ. event - событие);b) Upon the occurrence of an event / event (from the English event - event);

в) По команде от пользователя;c) At the command of the user;

г) По графику;d) According to the schedule;

д) В заданное время;e) At a given time;

Варианты упомянутых операций, которые могут быть добавлены неограниченное количество раз, включая вложенные друг в друга:Variants of the mentioned operations that can be added an unlimited number of times, including nested in each other:

а) условие если/ifa) the condition if / if

б) Условие if else (если в противном случае)b) The condition if else (unless otherwise)

в) Условие if else if elsec) Condition if else if else

г) Выполнить командуd) Run the command

д) Получить данные с датчикаd) Get data from the sensor

е) Получить состояние выходаf) Get exit status

В частном случае, шаблонный построитель осуществляет создание кода скрипта, осуществляет его валидацию и загрузку на устройство/модуль 110A…110N посредством, по крайней мере, одного модуля описываемой системы.In the particular case, the template builder creates the script code, validates it and downloads it to the device / module 110A ... 110N by means of at least one module of the described system.

3) управление элементами/модулями описываемой системы посредствам написания скриптов на одном из языков программирования пользователем. В данном случае пользователь может написать необходимую ему программу/скрипт в редакторе кода, в частности на интернет портале 660/в (мобильном) приложении. Данный способ обеспечивает (исчерпывающие) возможности осуществления автоматизации описываемой системы, в частности, управление модулями/устройствами 110А…110N.3) control of elements / modules of the described system by writing scripts in one of the programming languages by the user. In this case, the user can write the program / script he needs in the code editor, in particular on the Internet portal 660 / in the (mobile) application. This method provides (exhaustive) possibilities for automating the described system, in particular, controlling modules / devices 110A ... 110N.

Далее приведены примеры практического применения описываемой системы при использовании упомянутых скриптов.The following are examples of the practical application of the described system using the above scripts.

Пример 1. У пользователя на даче установлен дизельный котел (первое устройство/модуль 110A…110N) отопления. Он хочет удаленно включать его, перед поездкой на дачу. Проблема автоматизации удаленного запуска таких устройств/модулей 110A…110N состоит в том, что у большинства недорогих котлов, нет систем холодного (за)пуска. Для их запуска требуется положительная температура в помещении, в противном случае, из-за запарафинивания дизельного топлива, может произойти повреждение топливной системы котла. Т.о. помещение нужно предварительно быстро разогреть электрическим обогревателем (второе устройство/модуль 110А…110N), а затем уже запускать сам котел. Данную задачу возможно решить обычным способом посредством удаленного включения обогревателя, по достижении положительной температуры выключить его, после чего включить котел. Но неудобства данной операции очевидны - ручное отслеживание температуры в течении длительного времени. Так же стоит задаться вопросом, а что будет, если на даче пропадает интернет-соединение? А если человек по каким либо причинам не сможет приехать после этого, а там останется работающий обогреватель и после работающий котел, которые нельзя удаленно выключить. Для решения данной практической задачи система скриптования подходит идеально. Упомянутый выше скрипт может обеспечивать следующий функционал и выполняться, например, по команде (от) пользователя: вначале включается обогреватель, по достижении заданной (положительной) температуры обогреватель выключается и включается котел. Если в процессе данной операции или после ее выполнение пропадает интернет-соединение (программа на ивенте/событии, как описано в рамках настоящего изобретения), то по крайней мере, один упомянутый выше прибор (устройство/модуль 110A…110N) выключится.Example 1. A user has a diesel boiler (first device / module 110A ... 110N) for heating installed in the country. He wants to turn it on remotely before traveling to the country. The problem of automating the remote start of such devices / modules 110A ... 110N is that most inexpensive boilers do not have cold start systems. To start them, a positive room temperature is required, otherwise, due to the waxing of diesel fuel, damage to the boiler fuel system may occur. T.O. the room must first be preheated quickly with an electric heater (second device / module 110A ... 110N), and then the boiler itself must already be started. It is possible to solve this problem in the usual way by remotely turning on the heater, after reaching a positive temperature, turn it off, and then turn on the boiler. But the inconvenience of this operation is obvious - manual monitoring of temperature for a long time. It is also worth wondering, what will happen if the internet connection disappears in the country? And if a person for some reason can not come after this, and there will remain a working heater and after a working boiler, which can not be turned off remotely. To solve this practical problem, the scripting system is ideal. The script mentioned above can provide the following functionality and can be executed, for example, by a command (from) the user: first, the heater turns on, when the set (positive) temperature is reached, the heater turns off and the boiler turns on. If during this operation or after its execution the Internet connection (program on the event / event, as described in the framework of the present invention) disappears, then at least one of the above-mentioned devices (device / module 110A ... 110N) will turn off.

Пример 2. Пользователь выращивает овощи в зимней теплице. Данная задача не является тривиальной, так как требуется дополнительное освещение, обогрев помещения и почвы с определенной температурой, полив при достижении почвой определенного уровня влажности. Пользователь приобретает устройство/модуль 110A…110N датчики-выходы и организует на его основе систему автоматизации, описанную в рамках настоящего изобретения и осуществляемую посредством модулей описываемой системы. Обогрев помещения и почвы осуществляется описываемыми в настоящем изобретении модулями, в частности, программой (например, скриптом, принимающим решения на основании данных полученных с датчиков/измерителей 310A…310N) обрабатывающей значения с датчиков температуры воздуха и почвы (310A…310N). Автополив происходит по данным датчика влажности почвы. Досветка растений реализуется, по крайней мере, одним упомянутым скриптом на cron-триггере (который более подробно описан далее). Таким образом, возможно организовать полную автоматизацию такой теплицы описываемым в настоящем изобретении способом и средствами модулей описываемой системы.Example 2. A user grows vegetables in a winter greenhouse. This task is not trivial, since additional lighting is required, heating the room and soil with a certain temperature, watering when the soil reaches a certain moisture level. The user acquires the device / module 110A ... 110N sensors-outputs and organizes on its basis the automation system described in the framework of the present invention and implemented through the modules of the described system. The room and soil are heated by the modules described in the present invention, in particular, by a program (for example, a script that makes decisions based on data received from sensors / meters 310A ... 310N) processing values from air and soil temperature sensors (310A ... 310N). Autowatering occurs according to the soil moisture sensor. Plant illumination is implemented by at least one of the mentioned scripts on a cron trigger (which is described in more detail below). Thus, it is possible to organize full automation of such a greenhouse by the method described in the present invention and by means of the modules of the described system.

На ФИГ. 7 показан примерный вариант (общей) блок-схемы создания и загрузки нового скрипта/программы.In FIG. 7 shows an exemplary (general) flowchart of creating and loading a new script / program.

В частном случае осуществления изобретения управляющие программы (в частности, скрипты) могут быть сформированы/созданы на стороне клиентского модуля 705, например, являющимся веб-интерфейсом 660/мобильным приложением, в частности пользователем 135A…135N. Как было сказано выше, создание упомянутых управляющих программ может быть реализовано двумя способами:In the particular case of the invention, control programs (in particular scripts) can be generated / created on the client module 705 side, for example, being a web interface 660 / mobile application, in particular, user 135A ... 135N. As mentioned above, the creation of the mentioned control programs can be implemented in two ways:

- посредством шаблонного построителя/построителя шаблонов (в шаге 710) или- through the template builder / template builder (in step 710) or

- посредством (ручного) написания программного кода (в шаге 715).- by (manually) writing the program code (in step 715).

Стоит отметить, что в частном случае шаги 710 и 715 являются опциональными и взаимозаменяемыми.It is worth noting that in the particular case, steps 710 and 715 are optional and interchangeable.

В обоих случаях, упомянутый клиентский модуль может обеспечивать/осуществлять подготовку скрипта средствами/посредством упомянутого построителя и/или с использованием языка программирования, в частности языке программирования пользовательского уровня, например, Java-подобным, синтаксисом. Причем подготовка кода, в частном случае является трансляцией программы (в частном случае, скрипта) из графического представления (в частности, определение управляющих конструкций, их связей и необходимых переменных) в программный код, что может быть реализовано (стандартными) средствами клиента, а именно посредством использования языка программирования, например, JavaScript. Сформированный/подготовленный код «оборачивается» (формируется в виде блока информации/набора данных, содержащего код скрипта и дополнительную информацию, необходимую для обработки скрипта) в пакет данных с необходимой метаинформацией (например, добавляются такие данные как адрес загрузки (в частности, номер базы 120A…120N и целевого устройства 110A…110N) триггеры запуска (которые более подробно описаны далее) и пр.) и отправляется на сервер 160 средствами, по крайней мере, одного модуля, как было описано выше. При поступлении на сервер 160 пакета данных средствами сервера осуществляется проверка безопасности (первого) уровня (барьер безопасности первого уровня) в шаге 720, в частности проверяются права доступа пользовательского уровня (имеет ли пользователь право загружать скрипты на конкретную базу/устройство, на (конкретные/определенные) триггеры запуска и пр.). После прохождения упомянутой проверки, осуществляется компиляция/компилирование программы посредством компилятора в код виртуальной машины исполнения программ на устройствах/модулях (например, контролируемых модулей 110A…110N, базовом модуле 120A…120N или сервере 160) в шаге 725. Получив результирующий байт-код, он поступает в модуль/подсистему имитации выполнения (модуль семантических проверок), который в шаге 730 осуществляет выявление наиболее существенных семантических ошибок в коде программы/скрипта. Данный модуль и осуществление в нем описанных проверок является барьером безопасности второго уровня. Так, в частном случае, подсистема/модуль имитации (функционал подсистемы) запрашивает у целевого устройства/модуля (модуля, для которого предназначена/адресована программа/скрипт, например, контролируемые модули 110A…110N, базовые модули 120A…120N или серверы 160), перечень допустимых инструкций виртуальной машины, характеристики памяти и другие программные и/или аппаратные характеристики. Причем, в частном случае осуществления настоящего изобретения, виртуальная машина, является элементом описанной выше «прошивки», таким образом перечень инструкций собственной виртуальной машины устройству 110A…110N может быть известен изначально. Также, в устройстве (в частности, в памяти, оперативной памяти, хранилище данных и т.д.) могут храниться данные, в частности, файл с перечнем инструкций и их семантикой. Причем примером таких семантик могут являться «0×00 ILOAD I» инструкция загрузки целочисленного значения на стек с кодом 0 с одним аргументом типа int (целое число), «0×01 INVOKESTATIC L1S» - инструкция вызова статической функции с кодом 1 с двумя аргументами, где первый аргумент определяет длину второго строкового аргумента, «0×02 IMUL» инструкция целочисленного умножения с кодом 2 без аргументов и т.д. На основе полученных данных, в шаге 730 средствами модуля имитации осуществляется проверка возможности выполнения скомпилированного байт-кода упомянутым целевым устройством/модулем на уровне упомянутых атомарных операций (в частности, если скрипт будет выполнятся/выполнен не на сервере) и доступности аппаратных ресурсов. Также, осуществляется проверка инструкций, требующих разрешения модуля безопасности (запросы и операции по другим модулям) на право/возможность их выполнения (конкретным) пользователем/модулем. Далее в шаге 740 определяется целевой объект/модуль выполнения и если скрипт предназначен для выполнения на сервере 160 (в частном случае, сервер 160 эмулирует виртуальную машину обобщенного типа), то в шаге 745 данный скрипт заносится/сохраняется в (специальное) хранилище (в частности, в базу данных пользовательских скриптов) с определенными триггерами запуска (в частности модулями 640 и 650), которые создаются в шаге 750. Если же программа/скрипт предназначен устройству/модулю 110А…110N или базовому модулю 120A…120N, то такой скрипт отправляется/направляется в модуль/подсистему/блок формирования сообщений, который в шаге 752 заворачивает/оборачивает/запаковывает в пакет/набор данных (набор данных/данные) и отправляется в целевой объект/модуль/устройство, в частности, базовый модуль 120/120A…120N. Причем, в частном случае, триггеры могут быть заданы при создании скрипта, например, как было описано выше, через временной интервал, по возникновению события/ивента (от англ. event - событие), по команде от пользователя, по графику, в заданное время и т.д. При получении упомянутого набора данных, базовый модуль 120 в шаге 755 осуществляет проверку, предназначается ли содержащаяся в нем программа ему или принадлежащему ему (связанному с ним, в частном случае, зарегистрированному на нем), по крайней мере, одному устройству/модулю 110A…110N. Если да, то в шаге 760 осуществляется сохранение/запись полученного скрипта в хранилище данных базового модуля, а в триггерной системе базового модуля, определяются условия запуска скрипта/программы с осуществлением создания триггеров запуска в шаге 765, причем данные могут быть сохранены, например, в постоянную память базового модуля средствами базового модуля. Если скрипт предназначается не базовому модулю, то сообщение/набор данных (содержащее скрипт) пересылается одному из упомянутых устройств/модулей 110A…110N. При получении устройствами/модулями 110A…110N упомянутого набора данных/скриптов/программы в шаге 770 осуществляется сохранение полученных данных в хранилища данных модулей/устройств и далее в шаге 775 триггерной системой/модулем устройства/модуля 110A…110N определяются условия запуска скрипта/программы с осуществлением создания триггеров запуска. Стоит отметить, что в частном случае осуществления изобретения обработка полученных базовым модулем 120A…120N и устройством/модулем 110A…110N сообщений/наборов данных/скриптов осуществляется идентичным образом/способом (в частном случае, схожими/одинаковыми модулями и инструкциями).In both cases, said client module can provide / implement script preparation by means of / through said builder and / or using a programming language, in particular a user-level programming language, for example, Java-like syntax. Moreover, the preparation of the code, in the particular case is the translation of the program (in the particular case, the script) from the graphical representation (in particular, the definition of control structures, their relationships and the necessary variables) into the program code, which can be implemented by (standard) client tools, namely by using a programming language such as JavaScript. The generated / prepared code “wraps around” (it is formed as an information block / data set containing the script code and additional information necessary for processing the script) to the data packet with the necessary meta-information (for example, data such as the load address (in particular, the database number is added) 120A ... 120N and the target device 110A ... 110N) trigger triggers (which are described in more detail below), etc.) and sent to the server 160 by means of at least one module, as described above. Upon receipt of a data packet on the server 160 by the means of the server, a security check of the (first) level (first level security barrier) is performed in step 720, in particular, user level access rights are checked (does the user have the right to download scripts to a specific database / device, to (specific / certain) trigger triggers, etc.). After passing the said verification, the program is compiled / compiled by the compiler into the code of the virtual machine for executing programs on devices / modules (for example, controlled modules 110A ... 110N, basic module 120A ... 120N or server 160) in step 725. Having received the resultant byte code, it enters the module / subsystem of simulation of execution (module of semantic checks), which in step 730 detects the most significant semantic errors in the program / script code. This module and the implementation of the described checks in it is a second level security barrier. So, in the particular case, the simulation subsystem / module (subsystem functionality) asks the target device / module (the module for which the program / script is intended / addressed, for example, controlled modules 110A ... 110N, basic modules 120A ... 120N or servers 160), a list of valid virtual machine instructions, memory specifications, and other software and / or hardware specifications. Moreover, in the particular case of the implementation of the present invention, the virtual machine is an element of the “firmware” described above, so the list of instructions of its own virtual machine to the device 110A ... 110N can be known initially. Also, the device (in particular, in memory, RAM, data storage, etc.) can store data, in particular, a file with a list of instructions and their semantics. Moreover, an example of such semantics may be the “0 × 00 ILOAD I” instruction for loading an integer value onto the stack with code 0 with one argument of type int (integer), “0 × 01 INVOKESTATIC L1S” - the instruction to call a static function with code 1 with two arguments , where the first argument determines the length of the second string argument, the “0 × 02 IMUL” instruction is an integer multiplication with code 2 without arguments, etc. Based on the obtained data, in step 730, the simulator module checks for the compiled byte code being able to execute the said target device / module at the level of the atomic operations mentioned (in particular, if the script will be executed / executed not on the server) and the availability of hardware resources. Also, the verification of instructions requiring the permission of the security module (requests and operations for other modules) for the right / possibility of their execution by the (specific) user / module is carried out. Next, in step 740, the target object / runtime module is determined, and if the script is designed to be executed on server 160 (in the particular case, server 160 emulates a generalized type virtual machine), then in step 745 this script is entered / saved in (special) storage (in particular , to the database of user scripts) with certain triggers (in particular, modules 640 and 650) that are created in step 750. If the program / script is intended for device / module 110A ... 110N or base module 120A ... 120N, then such a script is sent / direction is sent to the module / subsystem / message generating unit, which in step 752 wraps / wraps / packs into a packet / data set (data set / data) and sends it to the target object / module / device, in particular, the basic module 120 / 120A ... 120N . Moreover, in the particular case, the triggers can be set when the script is created, for example, as described above, after a time interval, upon the occurrence of an event / event (from the English event - event), by a command from the user, according to the schedule, at a specified time etc. Upon receipt of the mentioned data set, the base module 120 in step 755 checks whether the program contained therein is intended for it or belonging to it (associated with it, in a particular case, registered on it), at least one device / module 110A ... 110N . If yes, then at step 760, the resulting script is saved / written to the data storage of the base module, and in the trigger system of the base module, the conditions for running the script / program are determined with the creation of trigger triggers in step 765, and the data can be stored, for example, in permanent memory of the base module by means of the base module. If the script is not intended for the base module, then the message / data set (containing the script) is sent to one of the mentioned devices / modules 110A ... 110N. Upon receipt by the devices / modules 110A ... 110N of the said data / script / program set in step 770, the received data is stored in the data storage of the modules / devices, and then in step 775, the trigger system / module of the device / module 110A ... 110N determines the conditions for running the script / program with implementing trigger triggers. It is worth noting that in the particular case of the invention, the processing of messages / datasets / scripts received by the base module 120A ... 120N and the device / module 110A ... 110N is carried out in the same way / method (in the particular case, similar / identical modules and instructions).

На сервер 160 отправляется сообщение об успешном выполнении операции, в частности, базовым модулем 120A…120N или конечном устройством 110A…110N, в зависимости от того, кому предназначался скрипт (какой именно модуль является целевым для скрипта), причем отправка может осуществляться после передачи скрипта, создания триггеров и сохранения в память. В частном случае, данное сообщение подтверждает факт того, что скрипт был корректно принят устройством 110A…110N. В противном случае, может быть осуществлен «откат» записи триггеров/скрипта (возвращение состояния до момента записи триггеров/скрипта) и отправка сообщения об ошибке.A message is sent to the server 160 about the successful operation, in particular, by the base module 120A ... 120N or the terminal device 110A ... 110N, depending on who the script was intended for (which module is the target for the script), and sending can be done after the script is transmitted , create triggers and save to memory. In the particular case, this message confirms the fact that the script was correctly received by device 110A ... 110N. Otherwise, the trigger / script recording can be “rolled back” (returning the state until the triggers / script was recorded) and send an error message.

Стоит отметить, что по крайней мере, на одном из указанных на ФИГ. 7 шагов веб-интерфейс Интернет портала 660/мобильное приложение/модуль пользовательского веб-интерфейса 570 (клиент) может находиться в режиме ожидания, и будет уведомлен средствами, по крайней мере, одного модуля описываемой системы о любых ошибках, возникших, по крайней мере, на одном шаге ФИГ. 7.It is worth noting that at least one of those shown in FIG. 7 steps web portal 660 Internet portal / mobile application / 570 web user interface module (client) can be in standby mode and will be notified by means of at least one module of the described system about any errors that have occurred at least at one step FIG. 7.

Упомянутый выше скрипт/программа (в частном случае, содержащий, по крайней мере, одну команду для выполнения, по крайней мере, одним модулем описываемой системы, например, (контролируемым) модулем/устройством 110A…110N и/или базовым модулем 120A…120N, и/или сервером 160) быть выполнен, например, в трех узлах системы (где узлом является (контролируемый) модуль/устройство 110A…110N и/или базовый модуль 120A…120N, и/или сервер 160). Далее термин узел используется для обозначения одного из вышеуказанных модулей/мест. На (контролируемом) модуле/устройстве 110A…110N и/или базовом модуле 120A…120N, и/или сервере 160 может быть реализована (в частности, установлена, развернута и/или запущена) стековая виртуальная машина (ВМ), некоторый набор общих инструкций и инструкции специфичные для конкретного узла (контролируемый) модуль/устройство 110A…110N и/или базовый модуль 120A…120N, и/или сервер 160) описываемой системы. В частном случае, набором общих инструкция является набор инструкций базовых операций, в частности, математических, стековых, хиповых операций, операций сравнения, возврата, функциональные вызовы и т.д. Также, в частном случае осуществления изобретения осуществляется (базовая) реализация разделения времени выполнения (процессорного времени в рамках работы виртуальной машины), позволяющая осуществлять/производить параллельное выполнение нескольких потоков инструкций (виртуальной машины (байт-кода)). Далее описаны частные особенности/характеристики описываемой системы в виде набора тезисов:The script / program mentioned above (in the particular case, containing at least one command to be executed by at least one module of the described system, for example, (controlled) module / device 110A ... 110N and / or base module 120A ... 120N, and / or server 160) can be executed, for example, in three nodes of the system (where the node is a (monitored) module / device 110A ... 110N and / or base module 120A ... 120N, and / or server 160). Further, the term node is used to designate one of the above modules / locations. On the (monitored) module / device 110A ... 110N and / or base module 120A ... 120N and / or server 160, a stacked virtual machine (VM), some set of general instructions, can be implemented (in particular, installed, deployed and / or started) and instructions specific to a particular node (controlled) module / device 110A ... 110N and / or base module 120A ... 120N, and / or server 160) of the described system. In a particular case, a set of general instructions is a set of instructions for basic operations, in particular, mathematical, stack, heap, comparison, return, function calls, etc. Also, in the particular case of the invention, a (basic) implementation of the separation of execution time (processor time within the virtual machine) is implemented, which allows for the parallel execution / execution of several threads of instructions (virtual machine (byte code)). The following describes the particular features / characteristics of the described system in the form of a set of abstracts:

1) программы запускаются на основе, по крайней мере, одного триггера запуска, который хранится в хранилище, по крайней мере, одного из узлов. Причем, в частном варианте осуществления настоящего изобретения скрипт эквивалентен набору инструкций виртуальной машины/байт-коду в виде человеко-читаемого кода (например, Си подобный синтаксис), в то время как виртуальная машина оперирует байт-кодом, который получается посредством компиляции первого во второй. Таким образом, под скриптом следует понимать оба таких представления. Таким образом, с точки зрения пользователя программа имеет вид кода, написанного на языке программирования высокого уровня, а для конечного устройства, например, 110A…110N, имеет вид байт-код. Триггеры могут комбинироваться (могут быть скомбинированы), в частности для одного скрипта, может быть указано более одного триггера запуска. Так, например, скрипт может иметь два триггера. Первый это cron-триггер, который запускает скрипт каждый час и второй по ивенту старта устройства 110A…110N, который запустит скрипт сразу после запуска устройства. Так, триггер может являться записью в (специальные) таблицы, где может быть указан тип триггера, параметры, имя скрипта и параметры его запуска. Причем комбинированием, в частном случае, является наличие нескольких записей в такой таблице, по крайней мере, под один скрипт. Возможны следующие типы триггеров:1) programs are launched on the basis of at least one trigger, which is stored in the storage of at least one of the nodes. Moreover, in a private embodiment of the present invention, the script is equivalent to a set of virtual machine instructions / bytecode in the form of a human-readable code (for example, C-like syntax), while the virtual machine operates with a bytecode that is obtained by compiling the first into the second . Thus, a script should understand both of these views. Thus, from the point of view of the user, the program has the form of code written in a high-level programming language, and for the end device, for example, 110A ... 110N, has the form of a byte code. Triggers can be combined (can be combined), in particular for one script, more than one trigger can be specified. So, for example, a script can have two triggers. The first is a cron trigger that runs the script every hour and the second by the event of the 110A ... 110N device start, which will run the script immediately after the device starts. So, a trigger can be an entry in (special) tables, where the trigger type, parameters, script name and launch parameters can be specified. Moreover, the combination, in the particular case, is the presence of several records in such a table, at least for one script. The following types of triggers are possible:

- запуск по ивенту/событию или группе ивентов;- launch by event / event or group of events;

- запуск по cron выражению;- launch by cron expression;

- запуск по (прямой) команде с сервера 160.- start by (direct) command from server 160.

Стоит отметить, что cron-выражение состоит из 6 частей, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделенных запятыми, диапазон чисел, разделенных дефисом, символы '*' или '/'.It is worth noting that the cron expression consists of 6 parts, separated by spaces or tabs. The first five columns specify the execution time (Minute, Hour, Day, Month, Day of the week), they can contain a number, a list of numbers separated by commas, a range of numbers separated by a hyphen, characters '*' or '/'.

***** выполняемая команда (в данном случае номер/имя скрипта)***** executable command (in this case, script number / name)

1-ый * - День недели (0-7) (Воскресенье =0 или =7);1st * - Day of the week (0-7) (Sunday = 0 or = 7);

2-ой * - Месяц (1-12);2nd * - Month (1-12);

3-ий * - День (1-31);3rd * - Day (1-31);

4-ый * - Час (0-23);4th * - Hour (0-23);

5-ый * - Минута (0-59).5th * - Minute (0-59).

Примеры cron-выражений:Examples of cron expressions:

23 */2 * * * scriptname //Выполняется в 0:23, 2:23, 4:23 и т.д.23 * / 2 * * * scriptname // Executed at 0:23, 2:23, 4:23, etc.

54 * * sun scriptname //Выполняется в 4:05 в воскресенье54 * * sun scriptname // Runs at 4:05 on Sunday

0 0 1 1 * scriptname //Новый год0 0 1 1 * scriptname // New Year

15 10,13 * * 1,4 scriptname//В понедельник и четверг в 10:15 и 13:1515 10.13 * * 1.4 scriptname // Monday and Thursday at 10:15 and 13:15

0-59 * * * * scriptname //ежеминутно0-59 * * * * scriptname // every minute

0-59/2 * * * * scriptname //по четным минутам0-59 / 2 * * * * scriptname // in even minutes

1-59/2 * * * * scriptname //Выполняется по нечетным минутам1-59 / 2 * * * * scriptname // Executed in odd minutes

*/5 * * * * scriptname //Прошло пять минут".* / 5 * * * * scriptname // Five minutes have passed. "

2) по крайней мере, один упомянутый узел осуществляет реализацию/реализует событие (понятие событие/ивента), некоторого события аппаратного или программного уровня (команды, по крайней мере, одного модуля описываемой системы и/или команды, выполняемой, по крайней мере, одним модулем описываемой системы), способного вызывать закрепленные за ним программы. В частности, вызывать скрипты, под которые определен триггер на ивент определенного типа. Т.е., например, при старте, запуске, включении и т.д. устройства 110A…110N сработает ивент «device_start» (запуск_устройства), и если в таблице ивентов определено, что при его возникновении, должен быть выполнен какой-либо скрипт, то это и будет осуществлено, в частности, будет выполнен указанный скрипт. Далее приведены примеры возможных ивентов:2) at least one of the aforementioned nodes implements / implements an event (the concept of an event / event) of a certain event of a hardware or software level (a team of at least one module of the described system and / or a command executed by at least one module of the described system), capable of invoking programs assigned to it. In particular, call scripts for which a trigger for an event of a certain type is defined. That is, for example, when starting, starting, turning on, etc. 110A ... 110N will trigger the event "device_start" (device start), and if the event table determines that when it occurs, any script must be executed, then this will be implemented, in particular, the specified script will be executed. The following are examples of possible events:

- изменение статуса соединения, по крайней мере, с одним базовым модулем 120A…120N (или с модулем/устройством 110А…110N);- change in connection status with at least one base module 120A ... 120N (or with module / device 110A ... 110N);

- изменение статуса соединения с сервером 160 (или с базовым модулем 120A…120N), где статус соединения может быть определен событиями уровня сетевого соединения, например, установление, разрыв, таймаут и другие события;- changing the status of the connection with the server 160 (or with the base module 120A ... 120N), where the connection status can be determined by events of the network connection level, for example, establishment, disconnection, timeout, and other events;

- считывание/получение данных с измерителей/датчиков 310A…310N (или с модулей/устройств 110A…110N);- reading / receiving data from meters / sensors 310A ... 310N (or from modules / devices 110A ... 110N);

- получение команды от сервера 160 (или от модуля/устройства 110A…110N);- receiving a command from the server 160 (or from the module / device 110A ... 110N);

- инициализация (запуск) (модуля/устройства 110A…110N и/или базового модуля 120A…120N), где под инициализацией (запуском), в частном случае понимается перевод устройства из выключенного состояния во включенное, в том числе, осуществлением подготовки программы к началу штатной работы (например, инициализация файловой системы, программных компонентов и пр.);- initialization (start-up) (of the module / device 110A ... 110N and / or base module 120A ... 120N), where initialization (start-up), in the particular case, means the transfer of the device from the off state to the on state, including the preparation of the program for the beginning regular work (for example, initialization of the file system, software components, etc.);

- нажатие пользователем аппаратной кнопки на устройстве (модуль/устройство 110А…110N).- user presses a hardware button on the device (module / device 110A ... 110N).

Ивент/событие для упомянутой виртуальной машины узла является аналогом аппаратного прерывания. Выполнение всех прочих программ приостанавливается и выполняется программа/скрипт, закрепленная (в частном случае, прописанная, например, хранящаяся, в триггерной таблице) триггером за данным ивентом (если таковой имеется).The event / event for the node virtual machine mentioned is analogous to a hardware interrupt. The execution of all other programs is suspended and the program / script is executed, fixed (in a particular case, registered, for example, stored in the trigger table), by the trigger for this event (if any).

3) При запуске скрипта/программы в программу могут быть переданы входные параметры, в частности, описываемый в рамках настоящего изобретения. Так, например, событие изменение статуса подключение к серверу, может генерировать бинарное значение (arg, сокращенно от англ. argument - аргумент, параметр) «0» или «1». Данное значение может быть передано в управляющую программу/скрипт, в которой существует/наличествует описанное выше разветвление логики в зависимости от значения упомянутого входного параметра, например, (if (arg[0]==0) {…} else {…}).3) When you run the script / program in the program can be transferred to the input parameters, in particular, described in the framework of the present invention. So, for example, the event the status of the connection to the server changes, it can generate a binary value (arg, short for English argument - argument, parameter) "0" or "1". This value can be passed to a control program / script in which the branching of logic described above exists / is present depending on the value of the mentioned input parameter, for example, (if (arg [0] == 0) {...} else {...}).

4) Программа/скрипт (в частном случае, хранящаяся во внутренней памяти (например, хранилище или оперативной памяти) узла) может отправлять запросы на сервер 160 на получение (некоторых) данных или для выполнения (некоторых) операций, как описано в рамках настоящего изобретения и, в частности, далее. Так, например, упомянутая программа может запросить на сервере 160 (актуальное) данные, в частности, значения измерений, по крайней мере, одного измерителя/датчика на устройстве/модуле 110A…110N, относящемуся/принадлежащему к другому базовому модулю 120A…120N (в частности, зарегистрированному на другом базовом модуле). При этом на стороне сервера 160 (на сервере 160) будет осуществлена проверка прав доступа к таким данным (третий барьер безопасности), в частности, серверным (160) программным обеспечением, на основании таблицы прав доступа в базе денных.4) The program / script (in a particular case, stored in the internal memory (eg, storage or RAM) of the node) can send requests to the server 160 to receive (some) data or to perform (some) operations, as described in the framework of the present invention and in particular further. So, for example, the said program can request on the server 160 (actual) data, in particular, the measurement values of at least one meter / sensor on the device / module 110A ... 110N, related / belonging to another basic module 120A ... 120N (in registered on another base module). At the same time, on the server 160 side (on server 160), access rights to such data will be checked (third security barrier), in particular, server (160) software, based on the table of access rights in the database.

Также, например, при достижении определенной (в частности, заданной/установленной, например, пользователем 135A…135N и/или средствами, по крайней мере, одного модуля и/или сервисом описываемой системы) величины по некоторому датчику/измерителю 310A…310N (по крайней мере, одного измерителя 310A…310N), упомянутая программа может отправить на сервер 160 команду нотификации события (в частности, не отличающейся от команд других типов). Вследствие этого действия, пользователь 135A…135N получит уведомление о данном событии, как было описано выше.Also, for example, upon reaching a certain (in particular, set / set, for example, user 135A ... 135N and / or means of at least one module and / or service of the described system) value for some sensor / meter 310A ... 310N (for of at least one meter 310A ... 310N), the said program can send to the server 160 a notification command for an event (in particular, not different from other types of commands). As a result of this action, the user 135A ... 135N will receive a notification about this event, as described above.

5) Программа может инициировать (осуществить), в частности, на том узле, где работает/выполняется/исполняется скрипт, отправку, по крайней мере, одной упомянутой команды на другой модуль/устройство 110A…110N, модуль 120A…120N и/или сервер 160. Если целевой модуль, сервер, устройство и т.д. (в частности, упомянутый узел) принадлежит тому же базовому модулю, что и источник упомянутой команды, то такой запрос (в частности, команда) проходит через базовый модуль 120A…120N минуя сервер 160, целевой модуль, сервер, устройство и т.д. (в частности, упомянутый узел) принадлежит другому базовому модулю, то запрос проходит через сервер с проверкой системой безопасности и отправляется на целевое устройство (модуль, сервер, устройство и т.д.). В частности, сетевая архитектура описываемой системы может состоять из трех слоев: серверного слоя, слоя базовых модулей и слоя конечных устройств. Если два устройства 110A…110N находится в подсети одного базового модуля 120A…120N, то отправляемая команда будет идти по пути source_dev (модуль-источник команды) → base (базовый модуль) → dest_dev (целевое устройство). Если целевое устройство находится в подсети другого базового модуля, то она проходит через сервер 160 по следующей схеме: source_dev (источник команды) → base1 (базовый модуль 1) → server (сервер 160) → base2 (базовый модуль 2) → dest (цель/целевое устройство). В первом случае команда доходит к цели минуя сервер.5) The program can initiate (implement), in particular, on the node where the script is running / running / executing, sending at least one of the mentioned commands to another module / device 110A ... 110N, module 120A ... 120N and / or server 160. If the target module, server, device, etc. (in particular, said node) belongs to the same base module as the source of the command, then such a request (in particular, the command) passes through the base module 120A ... 120N bypassing server 160, target module, server, device, etc. (in particular, the mentioned node) belongs to another base module, the request passes through the server with a security check and is sent to the target device (module, server, device, etc.). In particular, the network architecture of the described system can consist of three layers: a server layer, a layer of basic modules and a layer of end devices. If two devices 110A ... 110N are in the subnet of one base module 120A ... 120N, then the command to be sent will go along the path source_dev (module-source command) → base (base module) → dest_dev (target device). If the target device is on the subnet of another base module, then it passes through server 160 in the following way: source_dev (command source) → base1 (base module 1) → server (server 160) → base2 (base module 2) → dest (target / target device). In the first case, the team reaches the goal bypassing the server.

6) Также, по крайней мере, одна упомянутая выше инструкция, например, выполнение команды на удаленном/другом устройстве могут принимать в качестве входных параметров указатель на область (оперативной) памяти (устройства, на котором выполняется скрипт), в которой будет размещен результат выполнения данной инструкции. Таким образом, реализуется возможность определения статуса выполнения той или иной упомянутой инструкции. Каждая ошибка в процессе выполнения программы протоколируется (в частности, записывается в базу данных сервера 160) на стороне сервера 160 (если есть подключение) и базового модуля 120A…120N, в частности, по крайней мере, одним составным элементом/модулем упомянутых модулей. Причем (все) операции в описываемой системе могут протоколироваться, где объектами могут являться, но не ограничиваются ими, выполнение команд, изменение статусов соединений баз/устройств, факты выполнения скриптов и т.д.6) Also, at least one of the instructions mentioned above, for example, executing a command on a remote / other device, can take as input parameters a pointer to the area of (operational) memory (the device on which the script is executed) in which the result of execution will be placed of this instruction. Thus, it is possible to determine the status of the execution of a particular mentioned instruction. Each error during the execution of the program is logged (in particular, it is recorded in the database of the server 160) on the server side 160 (if there is a connection) and the base module 120A ... 120N, in particular, at least one component / module of these modules. Moreover (all) operations in the described system can be logged, where objects can be, but are not limited to, executing commands, changing the status of database / device connections, facts of script execution, etc.

7) Пользователь 135A…135N может получить доступ к упомянутым протоколам (логам/журналам событий) выполнения скрипта посредством веб-интерфейса интернет-портала 660/(мо дульного) приложения описываемой системы, как было описано выше, так и посредством веб-интерфейса 570 базового модуля.7) User 135A ... 135N can access the mentioned protocols (logs / event logs) of script execution via the web interface of the Internet portal 660 / (module) application of the described system, as described above, and through the web interface 570 of the base module.

8) По крайней мере, одна упомянутая выше программа может инициировать запуск другой программы, включая расположенную на другом устройстве/модуле 110A…110N, базовом модуле 120A…120N и/или сервере 160, причем осуществление данной операции (механизм/механика/алгоритм данной операции) идентична отправке команды в другой модуль системы (устройство/модуль 110А…110N, базовый модуль 120A…120N и/или сервер 160).8) At least one of the programs mentioned above can initiate the launch of another program, including one located on another device / module 110A ... 110N, base module 120A ... 120N and / or server 160, moreover, the implementation of this operation (mechanism / mechanics / algorithm of this operation ) is identical to sending a command to another system module (device / module 110A ... 110N, base module 120A ... 120N and / or server 160).

9) По крайней мере, одна упомянутая выше программа может возвращать данные. В случае вызова/запуска упомянутой программы/скрипта в том же модуле, выполнение программы может быть остановлено (приостановлено выполнение программы) до получения возврата от вызванной программы (в частном случае, останавливается до завершения вызванного скрипта). В случае вызова удаленной (в частности, находящейся на другом узле (устройстве 110A…110N, базе 120A…120N)) программы, для получения возврата используются средства (механизм/алгоритм) указателя на область памяти результата выполнения, как было описано выше. Причем вызов скрипта в том же модуле, например, скрипта №1, может инициировать запуск (запустить) запуск, по крайней мере, одного другого скрипта №2, размещенном/хранящемся на этом же модуле (110A…110N), что и исполняемый скрипт №1 или размещенном на удаленном устройстве 110A…110N или базе 120A…120N. Причем запущенный скрипт №2 возвращает (какое-то) значение, соответствующее типизации виртуальной машины или null, в случае его отсутствия, а запустивший его скрипт №1 принимает такое значение и обрабатывает или отбрасывает/не обрабатывает.9) At least one program mentioned above can return data. In case of calling / starting the mentioned program / script in the same module, the program execution can be stopped (program execution is paused) before receiving a return from the called program (in the particular case, it stops until the called script is completed). In the case of calling a remote (in particular, located on another node (device 110A ... 110N, base 120A ... 120N)) program, the means (mechanism / algorithm) of the pointer to the memory area of the result of execution are used to obtain a return, as described above. Moreover, a script call in the same module, for example, script No. 1, can initiate the launch (start) of the launch of at least one other script No. 2 located / stored on the same module (110A ... 110N) as the executable script No. 1 or located on a remote device 110A ... 110N or base 120A ... 120N. Moreover, the running script No. 2 returns (some) value corresponding to the typing of the virtual machine or null if it is absent, and the script No. 1 that launched it takes this value and processes or discards / does not process.

10) Также, по крайней мере, одна упомянутая программа/скрипт может быть выполнена по прямой команде через сервер со стороны клиента. Причем, в частном случае, прямой командой (с сервера) является команда указания узлу выполнить указанный скрипт с заданными параметрами. Данная команда может быть вручную инициирована пользователем через веб-интерфейс системы, в частности, веб-интерфейс 570.10) Also, at least one of the mentioned program / script can be executed by direct command through the server from the client. Moreover, in the particular case, a direct command (from the server) is a command to instruct the node to execute the specified script with the specified parameters. This command can be manually initiated by the user through the web interface of the system, in particular, the web interface 570.

На ФИГ. 8 показан примерный вариант общей схемы окружения системы выполнения скриптов, согласно одному из вариантов осуществления настоящего изобретения. Устройство/модуль 110A…110N и/или базовый модуль 120A…120N, и/или сервер 160 может включать генератор событий (820), в частности, являющийся (обобщенным) определением/сущностью различных подсистем устройства/модуля 110A…110N, базового модуля 120A…120N, сервера 160, которые обращаются к описываемой триггерной системе, в частности, при возникновении, по крайней мере, одного события уровня указанной данной подсистемы (например, системы/подсистемы/модуля мониторинга соединений 1210, на ФИГ. 12). Устройство/модуль 110A…110N и/или базовый модуль 120A…120N, и/или сервер 160 также может включать менеджер триггеров 830 (например, в частном случае, являющимся триггерной системой 1220, на ФИГ. 12). Также, устройство/модуль 110А…110N и/или базовый модуль 120A…120N, и/или сервер 160 может включать хранилище скриптов 840 (которое более подробно описано далее, в частности, в описании к ФИГ. 10). Причем генератор событий 820 и/или менеджер триггеров 830 могут являться частью модуля правил управления устройствами 640, а хранилище скриптов 840 может являться частью хранилища правил управления устройствами 650, т.е., в частном случае, скрипты могут храниться в модуле 650.In FIG. 8 shows an exemplary embodiment of a general environment diagram of a script execution system according to one embodiment of the present invention. The device / module 110A ... 110N and / or the basic module 120A ... 120N, and / or the server 160 may include an event generator (820), in particular, being a (generalized) definition / essence of the various subsystems of the device / module 110A ... 110N, the basic module 120A ... 120N, of the server 160, which access the described trigger system, in particular, when at least one level event of the specified subsystem occurs (for example, the system / subsystem / connection monitoring module 1210, in FIG. 12). The device / module 110A ... 110N and / or the base module 120A ... 120N, and / or server 160 may also include a trigger manager 830 (for example, in the particular case of trigger system 1220, FIG. 12). Also, the device / module 110A ... 110N and / or the base module 120A ... 120N, and / or server 160 may include a script repository 840 (which is described in more detail below, in particular, in the description of FIG. 10). Moreover, the event generator 820 and / or trigger manager 830 can be part of the device control rules module 640, and the script storage 840 can be part of the device control rules storage 650, i.e., in the particular case, the scripts can be stored in the module 650.

Менеджер прерываний 870 является структурой (частью) «прошивки» модуля (модуля/устройства 110А…110N или базового модуля 120A…120N, или сервера 160), которая осуществляет обработку (реальных) аппаратных прерываний и осуществляет (какие-то) действия в качестве реакций на них. Одной из таких реакций, может быть «проводка» такого прерывания в виртуальную машину 860. Для этого менеджер прерываний 870 посредством интерфейса управления (920, ФИГ. 9) виртуальной машины 860, инициирует в системе прерываний (940, ФИГ. 9) виртуальной машины прерывание уровня виртуальной машины.The interrupt manager 870 is the structure (part) of the “firmware” of the module (module / device 110A ... 110N or the basic module 120A ... 120N, or server 160), which processes (real) hardware interrupts and performs (some) actions as reactions on them. One of such reactions may be the “posting” of such an interrupt to the virtual machine 860. For this, the interrupt manager 870, through the control interface (920, FIG. 9) of the virtual machine 860, initiates an interrupt in the interrupt system (940, FIG. 9) of the virtual machine virtual machine level.

На ФИГ. 9 изображен примерный вариант общей схемы (блок-схемы) виртуальной машины 860, согласно одному из вариантов осуществления настоящего изобретения.In FIG. 9 shows an exemplary embodiment of a general diagram (block diagram) of a virtual machine 860, according to one embodiment of the present invention.

Данная виртуальная машина 860 может частично является (типовой) конструкцией для данного типа программного обеспечения. Интерфейс управления 920 является API управления виртуальной машиной и предоставляет функционал доступа к инфраструктуре виртуальной машины. Загрузчик 890 осуществляет загрузку байт-кода скрипта в среду выполнения 880. Система прерываний 940 отвечает за имитацию аппаратного прерывания уровня виртуальной машины. Данное прерывание может быть инициировано со стороны менеджера прерываний 870 прошивки устройства. Сборщик мусора 950 осуществляет проверку и удаление недостижимых объектов. Среда выполнения/исполнения 880 осуществляет выполнение/исполнение потока инструкции и осуществляет распределение времени их выполнения в режиме нескольких потоков выполнения. Неар/«хип» (англ. - куча, груда, множество) 970 является нетипизированной кучей для хранения переменных. Stack (англ. стек) 960 является типизированным стеком.This virtual machine 860 may partially be a (typical) design for this type of software. Management Interface 920 is the virtual machine management API and provides access functionality to the virtual machine infrastructure. Loader 890 loads the bytecode of the script into runtime 880. The interrupt system 940 is responsible for simulating a hardware interrupt at the virtual machine level. This interrupt can be triggered by the interrupt manager 870 device firmware. The 950 garbage collector checks and removes unreachable objects. The runtime / execution environment 880 implements the execution / execution of the instruction stream and distributes the time of their execution in the mode of several execution threads. Noar / “hip” (eng. - heap, pile, set) 970 is an untyped heap for storing variables. Stack 960 is a typed stack.

На ФИГ. 10 показан примерный вариант осуществления хранения скриптов на различных узлах сети, согласно одному из вариантов осуществления настоящего изобретения, в частности, способ (в частном случае, методика) хранения скриптов на трех типах узлов описываемой системы (устройстве/модуле 110А…110N, базовом модуле 120A…120N, сервере 160).In FIG. 10 shows an exemplary embodiment of storing scripts at various network nodes, according to one embodiment of the present invention, in particular, a method (in a particular case, a technique) of storing scripts at three types of nodes of the described system (device / module 110A ... 110N, base module 120A ... 120N, server 160).

Каждый из упомянутых способов может определяться (исключительно) аппаратными возможности конкретного узла. На сервере 160 данные могут храниться, например, в двух таблицах базы данных 1040: первая таблица 1045 является триггерной таблицей (в которой, в частности, хранятся описываемые триггеры, причем таблица 1045, в частном случае, по смыслу, структуре и т.д. может быть идентична, аналогичная или схожа с 1015 и/или 1030), вторая таблица 1050 содержит (непосредственно сам) байт-код скриптов. На базовом модуле 120A…120N данные могут храниться в виде файлов внутри файловой системы 1025 развернутой поверх флеш-памяти 910. В файле tr_table 1030 хранится триггерная таблица, а код скриптов находятся в файлах с порядковой нумерацией p_1…p_N (1035A…1035N). На конечном устройстве/модуле 110А…110N, данные могут храниться в виде адресно-разделенных областей (1020A…1020N) флеш-памяти 910., определенных в таблице адресации 1010. Под триггерную таблицу 1015 и код скриптов могут быть зарезервированы заведомо определенные области памяти (1017, 1022A…1022N).Each of these methods can be determined (exclusively) by the hardware capabilities of a particular node. On the server 160, the data can be stored, for example, in two tables of the database 1040: the first table 1045 is a trigger table (in which, in particular, the described triggers are stored, moreover, table 1045, in the particular case, in sense, structure, etc. can be identical, similar or similar to 1015 and / or 1030), the second table 1050 contains (directly itself) the byte code of the scripts. On the basic module 120A ... 120N, data can be stored as files inside the file system 1025 deployed on top of the flash memory 910. The trigger table is stored in the tr_table 1030 file, and the script code is in files with serial numbering p_1 ... p_N (1035A ... 1035N). On the terminal device / module 110A ... 110N, the data can be stored in the form of address-separated areas (1020A ... 1020N) of the flash memory 910. defined in the addressing table 1010. Under the trigger table 1015 and the script code, obviously certain memory areas can be reserved ( 1017, 1022A ... 1022N).

ФИГ. 11 иллюстрирует примерный вариант структуры триггерной записи, согласно одному из вариантов осуществления настоящего изобретения.FIG. 11 illustrates an example embodiment of a trigger recording structure, according to one embodiment of the present invention.

В частном случае осуществления настоящего изобретения триггерная запись может включать тип запуска 1120, выражение запуска 1130 и идентификатор запуска 1140. Тип запуска (скрипта) 1120 определяет при каких условиях запускается скрипт. Тип запуска (скрипта) 1120 может содержать битовую маску, определяющую тип запуска скрипта, где каждый следующий бит определяет свой тип:In the particular case of the implementation of the present invention, the trigger entry may include a trigger type 1120, a trigger expression 1130 and a trigger identifier 1140. The trigger type (script) 1120 determines under what conditions the script is run. The type of launch (script) 1120 may contain a bit mask that determines the type of launch of the script, where each next bit determines its type:

0 - по прямой команде с сервера0 - by direct command from the server

1 - по CRON выражению1 - by CRON expression

2 - по ивенту/событию2 - by event / event

N - другие вариантыN - other options

Выражение запуска 1130 определяет данные для триггера запуска. В выражении запуска 1130 может содержаться информация, необходимая для срабатывания триггеров, которым необходимы дополнительные данные. Например, для запуска по типам 1 и 2 запись может выглядеть следующим образом: 10-59****⎪20, т.е. запускать каждую минуту и в случае возникновения ивента/события с идентификатором 0.The trigger expression 1130 defines the data for the trigger trigger. The trigger expression 1130 may contain the information necessary for triggering triggers that require additional data. For example, to run on types 1 and 2, the entry might look like this: 10-59 **** ⎪20, i.e. run every minute in case of event / event with identifier 0.

Идентификатор скрипта 1140 (для устройства 110А…110N) содержит номер ячейки памяти (1020A…1020N, ФИГ. 10). Идентификатор скрипта 1140 (для базы 120A…120N) содержит имя файла (1035A…1035N, ФИГ. 10). Идентификатор скрипта 1140 (для сервера 160) содержит идентификатор записи в таблице scripts (1050, ФИГ. 10).The script identifier 1140 (for the device 110A ... 110N) contains the number of the memory cell (1020A ... 1020N, FIG. 10). The script identifier 1140 (for the base 120A ... 120N) contains the file name (1035A ... 1035N, FIG. 10). The script identifier 1140 (for server 160) contains the identifier of the entry in the scripts table (1050, FIG. 10).

ФИГ. 12 иллюстрирует примерный вариант общей схемы событийно-триггерной системы, согласно одному из вариантов осуществления настоящего изобретения.FIG. 12 illustrates an exemplary embodiment of a general scheme of an event-trigger system, according to one embodiment of the present invention.

В частности, на ФИГ. 12 продемонстрирован общий принцип срабатывания триггера. В подсистеме программного обеспечения устройства 110А…110N, базового модуля/блока 120A…120N или сервера 160 возникает ситуация, при которой происходит уведомление триггерной системы 1220 о данном факте. Примерами таких фактов могут быть различные события, например, ситуации (в частности, события) на устройстве/модуле 110A…110N, базовом модуле 120A…120N, и т.д., в частности, таким фактом является потеря соединения/связи сервера 160, например, с базовым модулем 120A…120N, или базовым модулем 120A…120N с сервером 160, или базовым модулем 120A…120N с устройством/модулем 110A…110N (об этом факте может уведомляться упомянутая триггерная система 1220, причем такой факт имеет (конкретное) семантическое определение, например у рассматриваемого факта, это - baseDisconnectEvent (событие об отключении базового модуля)). Триггерная система 1220, оперируя известной информацией об источнике события, просматривает триггерную таблицу 1015, и, найдя в ней запись, относящуюся к указанному событию, производит вызов соответствующего скрипта, в частности, указанных в 1050. В частном случае, система/подсистема мониторинга соединений 1210 является надстройкой (в частности, программным модулем/компонентом), в частности, над сетевым API, так на устройстве 110А…110N элемент/модуль 1210 являются (программными) библиотеками работы/взаимодействия с ZigBee, на базовом модуле 120A…120N - ZigBee/XMPP, на сервере 160 - ХМРР. Элементы 1220A..1220N на ФИГ. 12 являются (некоторыми другими) ивентами, зарегистрированными в триггерной системе 1220. Элемент 1215 обозначает/показывает что в подсистеме мониторинга соединений 1210 произошло событие изменения статуса соединения. Тип данного события может зависеть от конкретного соединения. В качестве примера (простейшей) модели может быть представлен/взят обратный вызов, например, пропало соединение устройства 110A…110N с базовым модулем 120A…120N, причем была вызвана функция, которая обращается (стрелка 1229) в триггерную систему 1220 или, иначе говоря, информирует триггерную систему 1220 о том, что произошло данное событие (например, 1220A…1220N). Триггерная система 1220 просматривает стек зарегистрированных ивентов (1220A…1220N) и если находит в нем указанное событие, передает управление дальше, в частности, в виртуальную машину 860 (стрелка 1239).In particular, in FIG. 12 shows the general trigger principle. In the software subsystem of the device 110A ... 110N, the base module / unit 120A ... 120N, or the server 160, a situation arises in which the trigger system 1220 is notified of this fact. Examples of such facts can be various events, for example, situations (in particular, events) on the device / module 110A ... 110N, base module 120A ... 120N, etc., in particular, such a fact is the loss of connection / communication of the server 160, for example, with a basic module 120A ... 120N, or a basic module 120A ... 120N with a server 160, or a basic module 120A ... 120N with a device / module 110A ... 110N (the mentioned trigger system 1220 may be notified of this fact, and this fact has a (specific) semantic definition, for example, for the fact in question, it is baseDisconnectEvent (event b disconnect the Base Unit)). The trigger system 1220, using known information about the source of the event, scans the trigger table 1015, and, finding in it an entry related to the specified event, calls the corresponding script, in particular, those specified in 1050. In the particular case, the connection monitoring system / subsystem 1210 is an add-on (in particular, a software module / component), in particular, on the network API, so on the device 110A ... 110N, the element / module 1210 are (software) libraries of work / interaction with ZigBee, on the basic module 120A ... 120N - ZigBee / XMPP , a server 160 - HMRR. Elements 1220A..1220N in FIG. 12 are (some other) events registered in trigger system 1220. Element 1215 indicates / indicates that a connection status change event has occurred in connection monitoring subsystem 1210. The type of this event may depend on the particular connection. As an example of the (simplest) model, a callback can be presented / taken, for example, the connection of the device 110A ... 110N to the base module 120A ... 120N was lost, and a function was called that calls (arrow 1229) to the trigger system 1220 or, in other words, informs the trigger system 1220 that this event has occurred (for example, 1220A ... 1220N). Trigger system 1220 looks through the stack of registered events (1220A ... 1220N) and if it finds the specified event in it, transfers control further, in particular, to virtual machine 860 (arrow 1239).

ФИГ. 13 иллюстрирует примерный вариант диаграммы общей низкоуровневой логики вызова скрипта по ивенту/событию, в частности показана диаграмма, демонстрирующая работу ивента, согласно одному из вариантов осуществления настоящего изобретения.FIG. 13 illustrates an exemplary diagram of a general low-level logic for invoking a script by an event / event, in particular, a diagram illustrating the operation of an event according to one embodiment of the present invention is shown.

Стоит отметить, что событие статуса соединения (с параметрами) в частном случае подразумевает передачу параметров событием/ивентом. Так, например, такое событие, как соединение «connectionEvent(int)» может иметь один целочисленный параметр, определяющий тип события: 1 - установлено соединение, 2 - потеря соединения (соединение потеряно/разорвано). Также, при загрузке в среду выполнения/исполнения скрипта sid и передача ему параметров param может являться загрузкой в среду выполнения/исполнения скрипта с идентификатором скрипта «sid» в рамках устройства 110A…110N, базового модуля 120A…120N, сервера 160, и передача ему параметров (param), которые передает ивент/событие, которые впоследствии передаются скрипту. Также, при загрузке кода в среду выполнения/исполнения среда исполнения, в частном случае, может создать не запущенный поток, в частности, (полностью) подготовит байт-код к выполнению, но не запустит (не стартует) выполнение потока инструкций. Также при запуске потока с id=itId и ожидании его завершения до окончания программы осуществляется запуск потока с id=itId и осуществляется ожидание его завершения. Также, при выгрузке скрипта из среды выполнения осуществляется очистка пулов кода, запуск GC и т.д., в частности, осуществляется очистка пулов инструкций байт-кода, осуществляется запуск сборщика мусора (950, ФИГ. 9) и т.д. Также, «ОК» является выполнением без ошибки, как описано ранее.It is worth noting that a connection status event (with parameters) in a particular case involves the transfer of parameters by an event / event. So, for example, an event such as a connectionEvent (int) connection can have one integer parameter that determines the type of event: 1 - connection is established, 2 - connection loss (connection lost / disconnected). Also, when loading the sid script into the runtime / execution environment and passing param parameters to it, it can be loading the script with the script identifier “sid” into the runtime / runtime environment within the device 110A ... 110N, base module 120A ... 120N, server 160, and transferring it parameters (param), which transfers the event / event, which are subsequently passed to the script. Also, when loading code into the runtime / runtime environment, the runtime environment, in a particular case, can create a non-running thread, in particular, (fully) prepare the byte code for execution, but will not start (do not start) the execution of the instruction stream. Also, when starting a stream with id = itId and waiting for it to finish before the program ends, a stream with id = itId is launched and waiting for its completion. Also, when the script is unloaded from the runtime, the code pools are cleaned up, the GC starts, etc., in particular, the bytecode instruction pools are cleaned up, the garbage collector is launched (950, FIG. 9), etc. Also, “OK” is execution without error, as described previously.

ФИГ. 14 - ФИГ. 16 иллюстрируют примерный вариант принципа работы загрузчика скриптов на различных узлах описываемой в настоящем изобретении системы, согласно одному из вариантов осуществления настоящего изобретения.FIG. 14 - FIG. 16 illustrate an exemplary embodiment of the script loader operating principle at various nodes of the system described in the present invention, according to one embodiment of the present invention.

На ФИГ. 14 показан процесс реализации функционирования загрузчика скриптов в модуле/устройстве 110A…110N. В устройстве 110A…110N загрузчик 890А получает (1414) на вход номер ячейки памяти 1020A…1020N, в которой находится (нужный) скрипт. Из таблицы адресации (1010 на ФИГ. 10) определяется средствами загрузчика определяется адрес начала области памяти (например, оперативной памяти и/или флеш-памяти) заданной ячейки. Данный адрес передается в среду исполнения/среду выполнения (880, ФИГ. 8) с командой создания нового потока. В частности, из-за аппаратных ограничений на устройствах 110А…110N скрипт может не загружаться в память (например, устройства 110А…110N) сразу весь, а может интерпретироваться из флеш-памяти последовательно, например, по одной инструкции (инструкция за инструкцией), так что в упомянутую среду исполнения передается не (сам) код, а адрес первой инструкции. Также, далее может быть загружен адрес второй инструкции и т.д. Стоит отметить, что таблица адресации, в частном случае, является жестко определенной в прошивке (например, устройства/модуля 110A…110N, базы 120A…120N и/или сервера 160 и т.д.) таблица адресов ячеек в памяти (например, в оперативной памяти и/или в флеш-памяти). В частном случае, (физически) упомянутая таблица адресации может храниться в (специально) отведенной для нее области флеш-памяти. Стоит отметить, что указанный на ФИГ. 14 Адрес addr, в частном случае, является физическим адресом во флеш-памяти 910A. Стоит также отметить, что при создании потока выполнения с первой инструкции по адресу addr (как было описано выше) скрипт может не загружаться в память (оперативную память, флеш-память, SRAM хранилище и т.д.) целиком, например, из-за его значительного размера относительно размера памяти. Таким образом, чтение инструкций из флеш-памяти может осуществляться последовательно (хотя и возможна реализация параллельной загрузки), так что среда выполнения/исполнения 880А, в частности, при начале выполнения/исполнения скрипта, может получить (физический) адрес начала первой инструкции во флеш-памяти 910A.In FIG. 14 shows the process of implementing the functioning of the script loader in the module / device 110A ... 110N. In the device 110A ... 110N, the loader 890A receives (1414) the memory cell number 1020A ... 1020N, in which the (necessary) script is located. From the addressing table (1010 in FIG. 10), the address of the beginning of the memory area (for example, random access memory and / or flash memory) of the specified cell is determined by means of the loader. This address is transmitted to the runtime / runtime (880, FIG. 8) with the command to create a new thread. In particular, due to hardware limitations on devices 110A ... 110N, the script may not be loaded into memory (for example, devices 110A ... 110N) all at once, but may be interpreted from flash memory sequentially, for example, according to one instruction (instruction by instruction), so that the code of the first instruction is not transmitted to the mentioned execution environment. Also, the address of the second instruction, etc., can then be loaded. It is worth noting that the addressing table, in a particular case, is hard-coded in the firmware (for example, device / module 110A ... 110N, base 120A ... 120N and / or server 160, etc.) a table of addresses of cells in memory (for example, in RAM and / or flash memory). In the particular case, the (physically) mentioned addressing table can be stored in the (specially) allocated flash memory area. It is worth noting that indicated in FIG. 14 The addr address, in the particular case, is the physical address in the 910A flash memory. It is also worth noting that when creating the execution thread from the first instruction at addr address (as described above), the script may not be loaded into memory (RAM, flash memory, SRAM storage, etc.) entirely, for example, due to its significant size relative to the size of the memory. Thus, reading instructions from the flash memory can be carried out sequentially (although parallel loading is possible), so the 880A runtime / execution environment, in particular, at the start of the script execution / execution, can receive the (physical) address of the beginning of the first instruction in the flash - memory 910A.

На ФИГ. 15 показан процесс реализации функционирования загрузчика скриптов в базовом модуле 120A…120N.In FIG. 15 shows the process of implementing the functioning of the script loader in the base module 120A ... 120N.

На Базе загрузчик (базового модуля) 890Б получает (1515) на вход имя файла 1035A…1035N, в котором содержится код скрипта. Далее загрузчик получает данные из указанного файла и передает их с командой создания нового потока в среду выполнения/исполнения 880Б. Стоит отметить, что указанный на ФИГ. 15 Адрес addr, в частном случае, является физическим адресом во флеш-памяти. Стоит также отметить, что при создании потока выполнения с первой инструкции из данных скрипт может не загружаться в память (как и в случае с описанным выше для ФИГ. 14), или может быть загружен полностью, в частности, с использованием SRAM (от англ. SRAM, static random access memory - статическая память с произвольным доступом).At the Base, the loader (base module) 890B receives (1515) the input file name 1035A ... 1035N, which contains the script code. Next, the loader receives data from the specified file and transfers it with the command to create a new thread to the 880B runtime / execution environment. It is worth noting that indicated in FIG. 15 The addr address, in the particular case, is the physical address in flash memory. It is also worth noting that when creating the execution thread from the first instruction from the data, the script may not be loaded into memory (as in the case described above for FIG. 14), or it may be fully loaded, in particular, using SRAM (from English SRAM, static random access memory).

На ФИГ. 16 показан процесс реализации функционирования загрузчика скриптов на сервере 160.In FIG. 16 shows a process for implementing the functioning of a script loader on server 160.

На сервере 160 загрузчик получает (1616) на вход уникальный идентификатор/идентификатор (ID) записи в таблице scripts 1050 и выбирает из нее данные, которые хранятся в виде blob объекта (от англ. Binary Large Object - двоичный большой объект, массив двоичных данных), и передает их с командой создания нового потока в среду выполнения/исполнения 880В. В частном случае при получении данных из таблицы scripts 1050 по идентификатору id, id скрипта является (равен) id ключом в таблице scripts 1050. При создании потока выполнения с первой инструкции из данных, которые передаются вместе с этой командой, в частном случае, создается поток выполнения с первой инструкции из данных, которые были получены из таблицы scripts 1050.On server 160, the loader receives (1616) a unique identifier / identifier (ID) for the entry in the scripts table 1050 and selects data from it that is stored as a blob object (from the English Binary Large Object - a binary large object, an array of binary data) , and transfers them with the command to create a new stream to the 880V runtime / execution environment. In the particular case, when receiving data from the scripts 1050 table by id, the script id is (equal to) the id key in the scripts 1050 table. When creating the execution thread from the first instruction from the data that is transmitted with this command, in the particular case, a stream is created execution with the first instruction from the data that was obtained from the scripts table 1050.

ФИГ. 17 иллюстрирует примерный вариант схемы «проброса» команд/запросов в модули описываемой системы, в частности, данная схема демонстрирует пример порядка взаимодействия элементов сети при передаче команды от устройства/модуля 110А…110N, находящегося в одной подсети базового модуля 120A…120N, (другому) устройству 110А…110N, находящемуся в другой подсети, согласно одному из вариантов осуществления настоящего изобретения. В данном случае под пробросом понимается передача управляющей команды к устройствам 110А…110N, находящимся под управлением, по крайней мере, одной базы/базового модуля (120A…120N), которой не принадлежат устройства, которым передаются управляющие команды, в частном случае устройствам, не зарегистрированным на упомянутой базе. Поскольку у базы, которой управляется устройство-отправитель/источник нет прямого (не через другое устройство, другую базу и т.д.) доступа к устройству-получателю на другой базе, команды от устройства-отправителя, должны пройти через сервер 160, где пройдя проверку системой безопасности, как описано выше, могут быть отправлены на базу, которой принадлежит устройство-получатель. А оттуда уже соответственно на само, по крайней мере, одно целевое устройство. В частном случае осуществления настоящего изобретения архитектура описываемой системы (в частности, подсистемы, изображенной на ФИГ. 17) может состоять из трех слоев. Серверного слоя, слоя базовых модулей 120A…120N и слоя конечных устройств/модулей 110A…110N. Если два устройства/модуля (например, 110A…110N) находятся в подсети одного базового модуля, отправляемая команда может идти/передаваться по пути source_dev (источник команды) → base (базовый модуль) → dest_dev (целевой модуль). Если целевое устройство/модуль 110A…110N (и/или 120A…120N и/или 160) находится в подсети другого базового модуля 120A…120N, то она (команда) может пройти/быть передана через сервер 160 по схеме source_dev (модуль, источник команды) → base1 (базовый модуль 1 (120A…120N)) → server (сервер 160) → base2 (базовый модуль 2 (120A…120N)) → dest (целевой модуль (110A…110N, и/или 120A…120N)). В первом случае команда доставляется/передается к цели (целевому модулю) минуя сервер 160.FIG. 17 illustrates an exemplary embodiment of the “forwarding” scheme of commands / requests to the modules of the described system, in particular, this scheme shows an example of the order of interaction of network elements when transmitting a command from a device / module 110A ... 110N, located on the same subnet of the base module 120A ... 120N, (to another ) device 110A ... 110N, located in a different subnet, according to one of the embodiments of the present invention. In this case, forwarding refers to the transfer of a control command to devices 110A ... 110N under the control of at least one base / base module (120A ... 120N), which does not belong to devices to which control commands are transmitted, in particular, to devices not registered at the mentioned base. Since the base that controls the sending device / source does not have direct (not through another device, another base, etc.) access to the receiving device on another base, the commands from the sending device must go through server 160, where after Security checks, as described above, can be sent to the base to which the recipient device belongs. And from there, accordingly, to at least one target device itself. In the particular case of the implementation of the present invention, the architecture of the described system (in particular, the subsystem shown in FIG. 17) may consist of three layers. The server layer, the layer of base modules 120A ... 120N and the layer of end devices / modules 110A ... 110N. If two devices / modules (for example, 110A ... 110N) are in the subnet of one base module, the command to be sent can go / be transmitted along the path source_dev (command source) → base (base module) → dest_dev (target module). If the target device / module 110A ... 110N (and / or 120A ... 120N and / or 160) is on the subnet of another base module 120A ... 120N, then it (the command) can pass / be transmitted through the server 160 according to the source_dev scheme (module, source commands) → base1 (base module 1 (120A ... 120N)) → server (server 160) → base2 (base module 2 (120A ... 120N)) → dest (target module (110A ... 110N, and / or 120A ... 120N)) . In the first case, the command is delivered / transmitted to the target (target module) bypassing the server 160.

Как было сказано выше поступающие на сервер 160 данные (телеметрия) журналируются, как было описано выше, в частности, добавляется в журнал событий, причем упомянутые полученные данные могут храниться не менее двух лет.As mentioned above, the data (telemetry) arriving at the server 160 is logged as described above, in particular, it is added to the event log, and the data received may be stored for at least two years.

Пользователь 135A…135N может запросить эти данные за любой заданный им промежуток времени, например, посредством веб-интерфейса Интернет портала 660/(мобильного) приложения/модуля пользовательского веб-интерфейса 570 (клиент) и т.д.. Ввиду большого объема поступающих данных, конечный размер базы данных с телеметрическими данным может составить более терабайта. Для предоставления данных по запросу пользователя 135A…135N может быть использован, по крайней мере, один из следующих предлагаемых механизмов/способов (реализованный средствами, по крайней мере, одного модуля описываемой системы), в частности, способов увеличения производительности получения, хранения, обработки и предоставления данных: область текущей телеметрии 1850 и область исторической телеметрии и способ прореживания хранимых данных. Причем, в частном случае, упомянутые области являются таблицами в упомянутых базах данных. Новая (любая новая) единица телеметрических данных (в частности, значения измерений измерителями 310A…310N), поступающая от любого модуля описываемой системы, например, модуля 110A…110N, вносится/сохраняется одновременно в две указанные выше области. Особенность области текущей телеметрии, заключается в том, что в ней хранится только самое последние значение полученное от упомянутого модуля для определенной его части (например, датчика и/или внутреннего источника данных). Причем внутренние данные (в частном случае, данные из внутреннего источника) являются дынными, которые вырабатывает/генерирует само устройство/модуль (например, 110A…110N). Также, данные с датчика/измерителя 310A…310N являются внешними данными, так, например, сила сигнала сети, является внутренними данными. Таким образом, размер такой области, даже при значительном количестве упомянутых модулей в системе, остается незначительным, для быстрого (с точки зрения пользователя) получения/извлечения данных, в частности, по запросу пользователя. После записи данных в этой части (в части записи данных в область текущей телеметрии) осуществляется запись в упомянутую область исторических данных, где хранится история измерений всех устройств за определенный временной промежуток, например, за упомянутые последние два года. Она (область исторических данных) может быть организована в виде группы/набора таблиц, их В-Tree индексов и общей индексной таблицы. Причем у каждой таблицы может наличествовать (может быть назначен) (собственный) индекс, в частности, организованный в формате графа типа B-Tree/Б-дерева/В-дерева. В каждой таблице может храниться телеметрия для (всех) упомянутых модулей (в частности модулей 110А…110N), закрепленных за определенным базовым модулем (120A…120N), в частности, зарегистрированных на таких базовых модулях. В упомянутой общей индексной таблице хранятся соотношения идентификаторов (ID) базовых модулей и закрепленной за ней таблиц. Причем, в частном случае, идентификатор базового модуля эквивалентен идентификатору (обычного) устройства/модуля 110A…110N и определяет адрес базового модуля в сети. При записи новой телеметрии ((наборов) данных телеметрии), осуществляется поиск по индексу необходимой таблицы, и собственно запись данных, в частности осуществляется поиск таблицы, в которой хранится историческая телеметрия от устройств/модулей (110А…110N) находящихся в подсети базового модуля с искомым идентификатором.The user 135A ... 135N can request this data for any period of time specified by him, for example, through the web interface of the Internet portal 660 / (mobile) application / web user interface module 570 (client), etc. Due to the large amount of incoming data , the final size of the telemetry database can be more than a terabyte. To provide data at the request of the user 135A ... 135N, at least one of the following proposed mechanisms / methods (implemented by means of at least one module of the described system) can be used, in particular, methods for increasing the productivity of receipt, storage, processing, and providing data: the area of current telemetry 1850 and the area of historical telemetry and the method of thinning the stored data. Moreover, in the particular case, the mentioned areas are tables in the mentioned databases. A new (any new) unit of telemetric data (in particular, measurement values by meters 310A ... 310N), coming from any module of the described system, for example, module 110A ... 110N, is entered / saved simultaneously in the two above areas. The peculiarity of the current telemetry area is that it stores only the most recent value received from the mentioned module for a certain part of it (for example, a sensor and / or an internal data source). Moreover, the internal data (in a particular case, data from an internal source) are melon, which the device / module itself generates / generates (for example, 110A ... 110N). Also, the data from the sensor / meter 310A ... 310N is external data, for example, the signal strength of the network is internal data. Thus, the size of such an area, even with a significant number of the mentioned modules in the system, remains insignificant for quick (from the point of view of the user) receiving / retrieving data, in particular, at the user's request. After the data are recorded in this part (in the part of data recording in the current telemetry area), the historical data are recorded in the mentioned area, where the measurement history of all devices for a certain time period is stored, for example, for the last two years. It (the area of historical data) can be organized as a group / set of tables, their B-Tree indexes and a common index table. Moreover, each table may have (may be assigned) an (own) index, in particular, organized in the format of a graph of the type B-Tree / B-tree / B-tree. Each table can store telemetry for (all) of the mentioned modules (in particular, modules 110A ... 110N) assigned to a specific base module (120A ... 120N), in particular, registered on such basic modules. The mentioned general index table stores the relations of identifiers (IDs) of the base modules and the tables assigned to it. Moreover, in the particular case, the identifier of the base module is equivalent to the identifier of the (regular) device / module 110A ... 110N and determines the address of the base module in the network. When recording new telemetry ((sets) of telemetry data), the index is searched for the required table, and the data record itself, in particular, the table is searched for, which stores historical telemetry from devices / modules (110A ... 110N) located in the subnet of the base module with the desired identifier.

На ФИГ. 18 показан примерный вариант общей структурной схемы записи и получения данных телеметрии, согласно одному варианту осуществления настоящего изобретения. Запрос на выборку 1810, в частном случае, является SQL запрос СУБД, в которой хранятся телеметрия/данные с устройств 110A…110N. Поскольку СУБД могут быть разных типов, а структура телеметрии различаться в зависимости от требований детальности, данный запрос будет различным в каждом конкретном случае. Запрос на текущую телеметрию 1820, как и запрос 1810 является SQL-запросом у упомянутой СУБД. Запись телеметрии 1830, как и запросы 1810 и 1830 является SQL запросом СУБД. Индекс таблиц 1840 является частью СУБД, причем в каждой СУБД используются свои механизмы формирования и хранения индексов. Текущая телеметрия 1850 является таблицей текущей телеметрии, которая хранит/содержит, по крайней мере, пять столбцов id, devid, baseid, value и timestamp. Где id - это ключ строки; devid - идентификатор устройства, например, устройства/модуля 110A…110N, базового модуля 120A…120N и т.д.; baseid - идентификатор базового модуля 120A…120N; value - значение телеметрии; timestamp - метка времени. Элементы ФИГ. 18 1860А…1860Д являются индексами (которые были описаны выше) таблиц исторической телеметрии. Элементы ФИГ. 18 1865А…1865Д являются таблицами исторической телеметрии, причем каждая такая таблица, в частном случае, идентична элементу 1850. В частном случае осуществления изобретенияIn FIG. 18 shows an exemplary embodiment of a general block diagram of the recording and reception of telemetry data according to one embodiment of the present invention. The query for sampling 1810, in a particular case, is the SQL query of the DBMS, which stores telemetry / data from devices 110A ... 110N. Since DBMSs can be of different types, and the telemetry structure varies depending on the requirements for detail, this request will be different in each case. The query for current telemetry 1820, like query 1810, is an SQL query from the mentioned DBMS. The telemetry record 1830, as well as the queries 1810 and 1830 is an SQL DBMS query. The index of tables 1840 is part of the DBMS, and each DBMS uses its own mechanisms for the formation and storage of indexes. Current Telemetry 1850 is a current telemetry table that stores / contains at least five columns id, devid, baseid, value and timestamp. Where id is the key of the string; devid - device identifier, for example, device / module 110A ... 110N, base module 120A ... 120N, etc .; baseid - the identifier of the base module 120A ... 120N; value - telemetry value; timestamp - timestamp. Elements of FIG. 18 1860A ... 1860D are the indices (which were described above) of the tables of historical telemetry. Elements of FIG. 18 1865A ... 1865D are tables of historical telemetry, and each such table, in the particular case, is identical to element 1850. In the particular case of the invention

упомянутых способов увеличения производительности обработки данных бывает недостаточно, в частности для достижения приемлемых размеров, по крайней мере, одной упомянутой таблицы (при такой схеме максимальный размер таблицы может составить до 15 гб и более). Для решения данной проблемы может быть осуществлен способ/механика/механизм прореживания записей (данных) средствами, по крайней мере, одного модуля описываемой системы, в частности модулем сепарирования/фильтрации. Так, при осуществлении упомянутого способа с некоторой/определенной (в частности, заданной пользователем или заданных настройками описываемой системы, по крайней мере, в одном модуле) периодичностью, например, один раз в сутки, по крайней мере, из одной (в частном случае, из каждой) исторической таблицы (1860А-1860Д и 1865А-1865Д) осуществляется удаление части записей, в частном случае, с телеметрией (в частности, удаляется, по крайней мере, одна (соответствующая) ей строка в таблице (индексы которых могут храниться в индексе таблиц 1840) как более подробно описано ниже). Количество удаляемых записей, в частном случае, имеет линейную зависимость во времени (в прошлое). В случае возникновения неразрешимой ситуации работа модуля сепарирования (при)останавливается. В частном случае, недостатком записей для построения зон является недостаточность записей в зоне для проведения сепарации и других ситуаций, из-за которых описываемый алгоритм (в частности, часть способа) не может продолжить работу полностью или в части конкретной итерации. В частном случае осуществления изобретения средствами модуля сепарирования определяется/устанавливается временной диапазон записей в таблице, в частном случае определяемый настройками сервера 160 (устанавливаемыми/задаваемыми, например, администратором системы). От текущего момента отступается/отсчитывается (предварительно) заданный временной диапазон/промежуток времени, например, месяц, полгода, год и т.д. Причем, упомянутые значения диапазона приведены в качестве примера и размер диапазона может определяться/задаваться, например, датой самой давней записи в таблице - диапазон начального отступа.The mentioned methods of increasing the data processing performance may not be enough, in particular, to achieve acceptable sizes of at least one of the tables mentioned (with such a scheme, the maximum table size can be up to 15 GB or more). To solve this problem, a method / mechanics / mechanism for thinning records (data) can be implemented using at least one module of the described system, in particular, a separation / filtering module. So, when implementing the aforementioned method with a certain / certain (in particular, user-defined or given by the settings of the described system, at least in one module) frequency, for example, once a day, at least from one (in the particular case, from each) of the historical table (1860A-1860D and 1865A-1865D), part of the records are deleted, in particular, with telemetry (in particular, at least one (corresponding) row in the table is deleted (whose indices can be stored in the index tables 1840) as more detailed but described below). The number of records to be deleted, in a particular case, has a linear relationship in time (to the past). In the event of an unsolvable situation, the operation of the separation module (at) stops. In the particular case, the lack of records for building zones is the lack of records in the zone for separation and other situations, because of which the described algorithm (in particular, part of the method) cannot continue to work completely or in part of a specific iteration. In the particular case of the invention, by means of the separation module, the time range of entries in the table is determined / set, in the particular case determined by the server settings 160 (set / set, for example, by the system administrator). The (predetermined) predetermined time range / period of time, for example, a month, six months, a year, etc., departs / counts from the current moment. Moreover, the mentioned range values are given as an example and the size of the range can be determined / set, for example, by the date of the oldest record in the table - the range of the initial indent.

й Полученный временной диапазон делится на десять зон, причем каждая зона может быть разделена на блоки по N записей, где N равно от 1 до заданного количества, например, до 11 записей. В зоне 1 удаляется запись номер 5, в зоне 2 удаляются записи номер 5 и номер 2, в зоне 3 удаляются записи номер 5, номер 2 и номер 7 и так далее, до последней зоны, причем в упомянутых блоках (в частности, в каждом упомянутом блоке) должна остаться, по крайней мере, одна запись (в частном случае - только одна запись). Если данная операция происходит в/над таблицей в первый раз, в специальной индексной таблице, по крайней мере, для одного блока (в частности, для каждого блока), сохраняется/запоминается информация о дате первой записи в блоке, диапазоне ключей и текущей степени сепарации блока. В частном случае, упомянутые номера записей могут быть вычислены алгоритмически и определены, например, исходя из размера блока в записях. Выше приведен пример для 11 записей, поэтому они удаляются штучно, а при больших размерах блока может быть осуществлено удаление записей группами. Также, выбор (конкретных) номеров записей может быть определен по принципу через x записей, для того чтобы удаление происходило равномерно и не образовывалось временных областей, в которых записей меньше чем в других в том же временном диапазоне. Также, в частном случае, блочная структура может быть определена один раз, например, при первом проходе алгоритма, а индексная таблица является структурой/сущностью, в которой может храниться мета-информация для блоков (каждой из) таблиц исторической телеметрии, в частности, где начало (каждого) блока, какой диапазон записей по ключам (id, идентификатор записи в (sql-)таблице) входит в данный блок, сколько раз алгоритм уже прореживал данный блок (данных телеметрии) и т.д.The obtained time range is divided into ten zones, each zone can be divided into blocks of N records, where N is from 1 to a given number, for example, up to 11 records. In zone 1, record number 5 is deleted, in zone 2 records number 5 and number 2 are deleted, in zone 3 records number 5, number 2 and number 7 are deleted and so on, to the last zone, moreover, in the said blocks (in particular, in each mentioned block) there must be at least one record (in the particular case - only one record). If this operation occurs in / above the table for the first time, in a special index table for at least one block (in particular, for each block), information on the date of the first record in the block, key range and the current degree of separation is stored / stored block. In the particular case, the mentioned record numbers can be calculated algorithmically and determined, for example, based on the size of the block in the records. The above is an example for 11 records, so they are deleted piece by piece, and with large block sizes, records can be deleted in groups. Also, the selection of (specific) record numbers can be determined on a principle through x records so that the deletion occurs evenly and does not form time areas in which there are fewer records than others in the same time range. Also, in the particular case, the block structure can be determined once, for example, during the first pass of the algorithm, and the index table is a structure / entity in which meta-information can be stored for blocks (each of) of historical telemetry tables, in particular, where the beginning of (each) block, what range of records by key (id, record identifier in the (sql-) table) is included in this block, how many times the algorithm has already thinned out this block (telemetry data), etc.

Далее, при последующих таких упомянутых операциях в/над таблицей модуль сепарации/сепаратор использует отличный от предыдущего алгоритм, в частности, модуль сепарации осуществляет анализ данных, по крайней мере, в одной упомянутой таблице индексации блоков и на основании (с учетом) содержащихся в ней данных, определяет, зашел/пересек ли анализируемый в настоящее время блок во временные границы следующего уровня сепарации (временнЫе уровни сепарации), и если да, то осуществляется удаление записей из блока, а в индексную таблицу блоков, вносится соответствующая информация (информация о полности/неполности (в частности, о полноте, заполненности и т.д.) блока и количестве строк в нем, если он неполный, датах самой ранней и самой старшей записи, текущем уровне сепарации). В частности, упомянутый сепаратор/модуль сепарации просматривает/проверяет (в частности, читает/вычитывает) каждый блок последовательно (или выборочно, в зависимости от алгоритма) от настоящего в прошлое (в частности, от первой заданной даты, например, текущей даты, до, по крайней мере, одной другой даты, в частности, более ранее даты). Стоит отметить, что При обработке описываемым алгоритмом описываемых данных в первый раз, алгоритм, как правило, создает временнУю разметку, в частности, от настоящего (от по крайней мере, одной временной метки) в сторону прошлого (до, по крайней мере, одной другой временной метки) с определенным/заданным интервалом. Так, например, (первоначальный упомянутый отступ опущен для упрощения) при размере уровня сепарации равным 1 месяцу может существовать (может быть выбрано описываемым алгоритмом, в частности, реализуемым модулем сепарации), например, десять уровней сепарации (и/или любое другое количество уровней сепарации, в частности, определяемыми алгоритмом и/или администратором сервера 160, модуля 120A…120N, пользователем и т.д.). Самая ранняя запись в таблице имеет дату 3.5 месяца назад. При первом проходе, алгоритм может создать следующую разметку уровней:Further, in subsequent such mentioned operations in / above the table, the separation module / separator uses a different algorithm from the previous one, in particular, the separation module analyzes the data in at least one of the mentioned block indexing tables and based on (taking into account) the data contained in it of data, determines whether the block being analyzed is currently crossing / crossing the time boundaries of the next separation level (temporary separation levels), and if so, then records are deleted from the block and the block index table GSI relevant information (information on fully / Incomplete (in particular the totality, fullness, etc.) of the block and the number of rows in it if it is incomplete, the earliest dates and the oldest entry, the current level of the separation). In particular, the said separator / separation module scans / checks (in particular, reads / subtracts) each block sequentially (or selectively, depending on the algorithm) from the present to the past (in particular, from the first given date, for example, the current date, to at least one other date, in particular, earlier than the date). It is worth noting that when processing the described data for the first time by the described algorithm, the algorithm, as a rule, creates a temporary marking, in particular, from the present (from at least one time mark) to the past (to at least one other time stamp) at a specific / predetermined interval. So, for example, (the initial indentation mentioned is omitted to simplify) when the separation level is 1 month, there can exist (it can be selected by the described algorithm, in particular, implemented by the separation module), for example, ten separation levels (and / or any other number of separation levels in particular, determined by the algorithm and / or administrator of the server 160, module 120A ... 120N, user, etc.). The earliest entry in the table is 3.5 months ago. At the first pass, the algorithm can create the following level markup:

1 - настоящее время - (-1 месяц):1 - present - (-1 month):

2 - (-1 месяц) - (-2 месяца);2 - (-1 month) - (-2 months);

3 - (-2 месяца) - (-3 месяца);3 - (-2 months) - (-3 months);

4 - (-3 месяца) - (-4 месяца);4 - (-3 months) - (-4 months);

5 - (-4 месяца) - (-5 месяцев);5 - (-4 months) - (-5 months);

6 - (-5 месяцев) - (-6 месяцев);6 - (-5 months) - (-6 months);

7 - (-6 месяцев) - (-7 месяцев);7 - (-6 months) - (-7 months);

8 - (-7 месяцев) - (-8 месяцев);8 - (-7 months) - (-8 months);

9 - (-8 месяцев) - (-9 месяцев);9 - (-8 months) - (-9 months);

10 - (-9 месяцев) - (-10 месяцев).10 - (-9 months) - (-10 months).

Таким образом, самая ранняя запись, окажется внутри третьего уровня сепарации. В частном случае осуществления, единичная запись может являться, по крайней мере, одним упомянутым выше блоком, причем блок, может содержать, по крайней мере, одну запись, например, сто записей. Таким образом, по крайней мере, один упомянутый блок может быть прорежен в соответствии с данным уровнем. В индексную таблицу могут быть внесены данные об уровне сепарации, по крайней мере, одного блока. Со временем, упомянутый блок может уходить в прошлое и может оказаться уже в четвертом уровне сепарации. Как только такой блок целиком окажется внутри границ четвертого уровня, он может быть прорежен (в частности, часть записей будет удалена) а в индексной таблице блоков будет поставлена отметка/пометка/маркировка, что блок сепарирован по четвертому уровню. В частном случае, с данным блоком может не производиться никаких действий, покуда он не «постареет» до пятого уровня сепарации (пока не переместится в пятый уровень сепарации). И так далее до прохождения последнего уровня сепарации, после которого такой блок может быть удален.Thus, the earliest record will be inside the third level of separation. In the particular case of implementation, a single record may be at least one of the above blocks, and the block may contain at least one record, for example, one hundred records. Thus, at least one of said blocks can be thinned in accordance with this level. In the index table can be entered data on the level of separation of at least one block. Over time, the mentioned block may become a thing of the past and may already be in the fourth level of separation. As soon as such a block is completely inside the borders of the fourth level, it can be thinned out (in particular, part of the records will be deleted) and a mark / mark / marking will be put in the index table of the blocks, that the block is separated by the fourth level. In the particular case, no action can be taken with this unit until it “ages” to the fifth separation level (until it moves to the fifth separation level). And so on, until the last separation level has passed, after which such a block can be removed.

Стоит также отметить, что, как было описано выше, блок может являться группой строк в таблице (содержать несколько строк в таблице). Также, количество строк в блоке может быть заранее определено. В частном случае, блок по времени не может быть длиннее одного уровня сепарации. Таким образом, упомянутый блок может быть полным или неполным. Полным блоком является блок, у которого имеется номинальное количество записей и такой блок не длиннее одного уровня сепарации (в частности, не выходит за пределы одного уровня сепарации). Неполным блоком, в частном случае, является блок, у которого количество строк было срезано (в частном случае ограничено, удалено, перенесено в другой блок, проигнорировано и т.д.), например, для того чтобы уместить его в размерах одного уровня сепараци. В частном случае, информация о полности/неполности блока и количестве строк в нем, в частности, если он неполный, датах самой ранней и самой старшей записи, а также о текущем уровне сепарации, может храниться в индексной таблице блоков. От размеров блока и его полности, в частности, зависит количество записей, которое будет из него удалятся при прохождении каждого (нового) уровня сепарации.It is also worth noting that, as described above, a block can be a group of rows in a table (contain several rows in a table). Also, the number of lines in a block can be predefined. In the particular case, the block in time cannot be longer than one separation level. Thus, said block may be complete or incomplete. A complete block is a block that has a nominal number of records and such a block is not longer than one separation level (in particular, it does not go beyond the limits of one separation level). An incomplete block, in a particular case, is a block in which the number of rows has been cut (in a particular case, limited, deleted, transferred to another block, ignored, etc.), for example, in order to fit it in the dimensions of one level of separation. In the particular case, information about the completeness / incompleteness of the block and the number of rows in it, in particular, if it is incomplete, the dates of the earliest and oldest records, as well as the current separation level, can be stored in the index table of the blocks. The size of the block and its completeness, in particular, determine the number of records that will be removed from it when passing through each (new) separation level.

Стоит также отметить, что одной из особенностей хранения данных о командах (данных команд) заключается в том, что на сервере 160 могут быть сохранены не только те команды, которые выполняются модулями описываемой системы, в частности, модулями 215, но и преобразованные пользователем в веб-интерфейсе базы, как было описано выше. В частном случае, в устройстве/модуле 110A…110N не содержится о таких преобразованиях, а информация о таких преобразованиях может храниться в базовом модуле 120A…120N. В частном случае осуществления настоящего изобретения базовый модуль/база 120A...120N при получении команды от сервера 160 осуществляет преобразование полученных данных в первоначальный формат и отправляет на устройство 110А…110N.It is also worth noting that one of the features of storing data about commands (command data) is that not only those commands that are executed by modules of the described system, in particular, modules 215, but also converted by the user to the web, can be stored on server 160 -base interface, as described above. In the particular case, the device / module 110A ... 110N does not contain such transformations, and information about such transformations can be stored in the base module 120A ... 120N. In the particular case of the implementation of the present invention, the base module / base 120A ... 120N, upon receipt of a command from the server 160, converts the received data into the original format and sends it to the device 110A ... 110N.

В частном случае осуществления изобретения в связке Модуль 215 - Базовый Модуль 120 - Сервер 160 существует распределенное хранилище данных команд (о командах). В частном случае, в упомянутой связке модулей связующим звеном может являться базовый модуль 120 (120A…120N), который при (каждом) взаимодействии модуля 215 и сервера 160 (в частности, при обмене данными между упомянутыми модулями, модулями 215 и сервером/серверами 160) в части передачи или выполнения/исполнения команд осуществляет трансформацию/преобразование упомянутых команд из формата модуля 215 в формат сервера 160 и наоборот, из формата сервера 160 в формат модуля 215. Упомянутые правила трансформации/преобразования, которые были описаны выше, могут быть настроены пользователем, например, по крайней мере, в одном модуле описываемой системы, в частности, в модуле веб-интерфейса базового модуля 570.In the particular case of the invention in conjunction Module 215 - Basic Module 120 - Server 160 there is a distributed storage of command data (about commands). In the particular case, in the said bundle of modules, the link may be the base module 120 (120A ... 120N), which during (each) interaction of the module 215 and the server 160 (in particular, when exchanging data between the said modules, modules 215 and server / servers 160 ) in terms of transmitting or executing / executing commands, it transforms / converts the mentioned commands from the format of module 215 to the format of server 160 and vice versa, from the format of server 160 to the format of module 215. The above-mentioned transformation / conversion rules, which were described above, can yt customized by the user, for example, at least one module of the system described, in particular, in the module base web interface module 570.

Так, трансформации/преобразования могут быть применены (трансформациям/преобразованиям могут быть подвергнуты, в частности, модулями описываемой системы, например, модулями модулей 215, модулей 120A…120N, сервера 160 и т.д.) к наименованиям/названиям команд и/или параметров команд, и/или значения параметров команд и/или значения/величины упомянутых команд.So, transformations / transformations can be applied (transformations / transformations can be subjected, in particular, to modules of the described system, for example, modules of modules 215, modules 120A ... 120N, server 160, etc.) to the names / names of commands and / or command parameters, and / or parameter values of commands and / or values / values of said commands.

Стоит отметить, что в частном осуществлении изобретения передаваемые между модулями (и внутри модулей) описываемой системы данные могут быть запакованы/упакованы и/или зашифрованы. В частном случае, передача данных, например, между модулями (110А…110N), в частности, между модулями 215, и/или между модулями (120A…120N) может быть осуществлена по (с использованием) сетевому протоколу стандарта ZigBee, причем шифрование передаваемых данных может осуществляться с использованием AES (Advanced Encryption Standard, также известный как Rijndael - симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит)), в частности с использованием 128-битного ключа.It is worth noting that in a particular embodiment of the invention, the data transmitted between the modules (and inside the modules) of the described system can be packed / packed and / or encrypted. In the particular case, data transfer, for example, between modules (110A ... 110N), in particular between modules 215, and / or between modules (120A ... 120N) can be carried out using (using) the ZigBee network protocol, and the encryption of the transmitted data can be implemented using AES (Advanced Encryption Standard, also known as Rijndael - a symmetric block encryption algorithm (block size 128 bits, key 128/192/256 bits)), in particular using a 128-bit key.

В частном случае осуществления изобретения обмен (например, между устройствами/модулями 110A…110N и/или базовыми модулями 120A…120N) упомянутыми ключами (в частности, для того чтобы установить зашифрованную сеть между базовым модулем и устройством/модулем 110A…110N (или модулем 215) на этих ключах/с использованием данных ключей, как описано выше) осуществляется следующим примерным вариантом/способом: базовый модуль 120 (120A…120N) ожидает запросов на поиск сети по стандарту ZigBee от модулей 110 (110А…110N)/модулей 215, в частности, зарегистрированных в упомянутом модуле 120 с целью начала осуществления процесса авторизации (причем, в частном случае авторизация является процессом установления сети/связи между устройством/модулем 110A…110N и базовым модулем 120A…120N, как более подробно описано далее).In the particular case of the invention, the exchange (for example, between devices / modules 110A ... 110N and / or base modules 120A ... 120N) of said keys (in particular, in order to establish an encrypted network between the base module and device / module 110A ... 110N (or module 215) on these keys / using these keys, as described above) is carried out in the following exemplary embodiment / method: the base module 120 (120A ... 120N) expects ZigBee network search requests from modules 110 (110A ... 110N) / modules 215, in particular registered in the said module 120 with the aim of starting the authorization process (and, in the particular case, authorization is the process of establishing a network / connection between the device / module 110A ... 110N and the base module 120A ... 120N, as described in more detail below).

В частном случае осуществления настоящего изобретения неавторизованные модули 110 могут осуществлять шифрование запросов на поиск сети с помощью/с использованием упомянутого AES со 128-битным ключом, основанном на номере (в частности, номере, присвоенному модулю 215, например, при его создании/производстве, который является уникальным номером/идентификатором, и может являться буквенно-цифровым, причем может использоваться при регистрации модуля 110A…110N (в частном случае, модуля 215) на базовом модуле) модуля 110 или, в частном случае, модуля 215, (номер модуля, в частном случае дополненный слева/спереди от номера нулями, в данном случае до общего количества символов, равных 26 (до 26 символов)). Базовый модуль 120, получив запрос на поиск сети от модуля 100 или, в частном случае, модуля 215, зарегистрированного, но неавторизованного, обрабатывает полученный запрос и отправляет ответ по стандарту ZigBee, зашифрованный посредством упомянутого ключа (на ключе) модуля 110 или, в частном случае, модуля 215. Далее базовый модуль 120 формирует 128-битный ключ и отправляет его в сообщении модулю 110 или, в частном случае, модуля 215, (в частном случае, с (некоторой) задержкой после отправки предыдущего сообщения в модуль 110) по стандарту ZigBee, зашифрованному на ключе модуля 110 или, в частном случае, модуля 215. Стоит отметить, что упомянутая задержка может использоваться для того, чтобы модуль 110A…110N (в частном случае, модуль 215) успел получить и обработать предыдущее сообщение, причем значение задержки может различаться и составлять доли секунды, секунду, несколько секунд и т.д.In the particular case of the implementation of the present invention, unauthorized modules 110 can encrypt network search requests using / using the AES with a 128-bit key based on a number (in particular, the number assigned to module 215, for example, during its creation / production, which is a unique number / identifier, and can be alphanumeric, and can be used when registering module 110A ... 110N (in the particular case, module 215) on the base module) of module 110 or, in the particular case, module 215, (nom The module’s er, in the particular case supplemented with zeros to the left / front of the number, in this case, up to a total of 26 characters (up to 26 characters)). The base module 120, having received a network search request from module 100 or, in a particular case, module 215, registered but not authorized, processes the received request and sends a response according to the ZigBee standard, encrypted using the above-mentioned key (on the key) of module 110 or, in private case of module 215. Next, the base module 120 generates a 128-bit key and sends it in a message to module 110 or, in the particular case of module 215, (in the particular case, with a (some) delay after sending the previous message to module 110) according to the standard ZigBee encrypted on more than module 110 or, in the particular case, module 215. It is worth noting that the delay can be used so that module 110A ... 110N (in the particular case, module 215) can receive and process the previous message, and the delay value may vary and amount to fractions of a second, second, several seconds, etc.

Базовый модуль 120 сохраняет полученный ключ («ключ сети») в привязке к номеру модуля 110 или, в частном случае, модуля 215 (вместе/в совокупности с номером модуля 110). Далее шифрование данных, передаваемых между модулями 110 или, в частном случае, модуля 215, и/или модулями 120 осуществляется на ключе сети (посредством использования упомянутого ключа сети).The base module 120 stores the received key ("network key") in association with the module number 110 or, in the particular case, module 215 (together / in conjunction with the module number 110). Further, the encryption of data transmitted between modules 110 or, in the particular case of module 215, and / or modules 120 is carried out on a network key (by using the network key mentioned).

Модуль 120 при (каждом) включении в сеть/подключении к упомянутой сети (в частности, ЛВС, Интернет, ZigBee и т.д.) отправляет сообщение о командах управления в модуль 120. Информация о командах передается, например, в формате JSON, (аналогично), например, в формате JSON (JavaScript Object Notation - простой формат обмена данными) от базового модуля 120 в (контролируемый) модуль 110 или, в частном случае, модуля 215, передается запрос на исполнение, по крайней мере, одной упомянутой команды.Module 120, when (each) connected to the network / connected to the mentioned network (in particular, LAN, Internet, ZigBee, etc.) sends a message about control commands to module 120. Information about the commands is transmitted, for example, in JSON format, ( similarly), for example, in the JSON format (JavaScript Object Notation - a simple data exchange format) from the base module 120 to the (monitored) module 110 or, in the particular case of module 215, a request is sent to execute at least one of the commands mentioned.

Пример сообщения с информацией о командах, упомянутой выше:An example of a command information message mentioned above:

«"

{{

"cmd": ["cmd": [

{{

"cmdid": 1, //ID команды"cmdid": 1, // command ID

"name": "Включение", //Наименование команды для портала"name": "Inclusion", // Name of the command for the portal

"params": [ //Список параметров"params": [// List of parameters

{{

"id": 1, //ID параметра"id": 1, // parameter ID

"name": "Включение", //Наименование параметра"name": "Inclusion", // Name of the parameter

"type": "choice", //Тип параметра"type": "choice", // Type of parameter

"choice": { //Возможные значения параметра"choice": {// Possible parameter values

"on": 0,"on": 0,

"off'': 1"off '': 1

},},

"required": 1 //Обязательность ввода данного параметра"required": 1 // Required to enter this parameter

},},

{{

"id": 2,"id": 2,

"name": "Через сколько времени включить (сек)","name": "After how much time to turn on (sec)",

"type": "int", //Тип параметра"type": "int", // Parameter Type

"required": 0"required": 0

}}

]]

}}

]]

}}

»"

С целью уменьшения/снижения трафика между модулем 110 или, в частном случае, модулем 215, и базовым модулем 120 и уменьшения/снижения времени, затрачиваемого модулями на формирование и обработку сообщений, сообщения об измерениях между модулем 110 или, в частном случае, модуля 215, и базовым модулем 120 могут быть переданы не в упомянутом формате JSON, а в виде байт-кода. Так, текстовое описание упомянутых сообщений (структура сообщения) может иметь следующий вид:In order to reduce / reduce the traffic between module 110 or, in the particular case, module 215, and the base module 120 and reduce / reduce the time spent by the modules on generating and processing messages, measurement messages between module 110 or, in the particular case, module 215 , and the base module 120 may be transmitted not in the aforementioned JSON format, but as a bytecode. So, the textual description of the mentioned messages (message structure) can have the following form:

Figure 00000001
Figure 00000001

В частном варианте осуществления изобретения осуществляется разбиение (больших) сообщений, передаваемых между базовым модулем 120 и модулем 110 или, в частном случае, модуля 215, на пакеты данных, в частном случае, размеры которых не превышают 256 байт. Также, (каждый) упомянутый пакет данных снабжается/содержит номером сообщения, номером пакета данных в сообщении и общим количеством пакетов данных (в сообщении). На стороне получателя (в частности, получателем является один из модулей описанной системы, например, модуль 110 или, в частном случае, модуля 215, и/или модуль 120) производится/осуществляется сборка (в частности, средствами, по крайней мере, одного упомянутого модуля) исходного (отправленного) сообщения, в частном случае, которому принадлежат эти пакеты данных. В случае обнаружения средствами модулей отсутствие, по крайней мере, одного пакета данных, то получатель не отправляет ответного сообщения об успешном получении сообщения отправителю (в частном случае, модулю, отправившему такое сообщение с пакетами данных, например, модуль 110 или, в частном случае, модуля 215, или модуль 120). В этом случае, не получив ответного сообщения через заданный промежуток времени (например, заданный/установленный (в том числе пользователем) в настройках модуля отправителя, либо на сервере 160, либо в модуле 120 и т.д.), например, через 3 секунды после отправки последнего пакета данных, отправитель повторяет отправку всех пакетов данных или по крайней мере, неполученных пакетов данных. Стоит отметить, что отправитель может осуществлять повторную отправку (попытку отправки) пакетов данных (в том числе, неполученных) или сообщения целиком заданное количество раз, например, 3 раза.In a particular embodiment of the invention, the (large) messages transmitted between the base module 120 and the module 110 or, in the particular case of the module 215 are split into data packets, in the particular case, the sizes of which do not exceed 256 bytes. Also, (each) said data packet is supplied / contains a message number, a data packet number in a message and the total number of data packets (in a message). On the receiver side (in particular, the receiver is one of the modules of the described system, for example, module 110 or, in the particular case, module 215, and / or module 120), assembly / installation is carried out (in particular, by means of at least one of the aforementioned module) of the original (sent) message, in the particular case to which these data packets belong. If the means of the modules detect the absence of at least one data packet, the recipient does not send a response message about the successful receipt of the message to the sender (in the particular case, the module that sent such a message with the data packets, for example, module 110 or, in the particular case, module 215, or module 120). In this case, without receiving a response message after a specified period of time (for example, specified / installed (including by the user) in the settings of the sender module, either on server 160 or in module 120, etc.), for example, after 3 seconds after sending the last data packet, the sender repeats sending all data packets or at least not received data packets. It is worth noting that the sender can re-send (attempt to send) data packets (including those not received) or a message in its entirety a specified number of times, for example, 3 times.

В частном варианте осуществления изобретения для модуля 215 может использоваться собственный модуль/источник питания (независимый от модуля/источника питания модуля 110), в частном случае реализованный аккумулятором/аккумуляторной батареей. Данная отличительная особенность используется в тех устройствах/модулях 110, в которых присутствует большая вероятность отключения/нестабильной работы основного источника питания устройства/модуля 110, через который также возможно осуществление питания (подача электроэнергии) модуля 215. Стоит отметить, что упомянутый независимый источник питания модуля 215 может быть встроен в модуль 215, который также может быть подключен к источнику питания модуля/устройства 110.In a particular embodiment of the invention, a module / power supply (independent of module / power supply of module 110) may be used for module 215, in the particular case implemented by a battery / rechargeable battery. This distinguishing feature is used in those devices / modules 110 in which there is a high probability of disconnection / unstable operation of the main power source of the device / module 110, through which it is also possible to supply (power) module 215. It is worth noting that the said independent power source of the module 215 may be integrated in module 215, which may also be connected to a power source of module / device 110.

В частном варианте осуществления изобретения базовый модуль может поддерживать/осуществлять одновременное соединение, по крайней мере, с 20 устройствами модулями 110, в частности, модулями 215. Данная возможность, в частности, осуществляется/обеспечивается за счет (посредством) динамического пула (от англ. pool - объединение) активных соединений и интеллектуального распределения памяти между ними. Интеллектуальное распределение памяти, в частном случае, основывается на (осуществляется посредством) фиксированных периодах активностях модулей 215 (в частности, модулей 110A…110N) которые при подключении к базовым модулям 120A…120N передают (большой) объем информации/данных по упомянутым ключам шифрования и командам управления модуля 110A…110N. Так, например, модули 215 один раз за установленный/заданный промежуток времени, например, равный 15 секундам, осуществляют передачу информации/данных об измерениях модуля (110A…110N). На основе этой информации/данный для каждого соединения выделяется разный объем памяти (например, в оперативной памяти базы 120A…120N) в зависимости от периода активности модуля 215.In a particular embodiment of the invention, the base module can support / simultaneously connect with at least 20 devices, modules 110, in particular, modules 215. This feature, in particular, is / is provided through (through) a dynamic pool (from English pool - association) of active connections and intelligent memory allocation between them. Intelligent memory allocation, in the particular case, is based on (carried out) fixed periods of activity of the modules 215 (in particular, the modules 110A ... 110N) which, when connected to the basic modules 120A ... 120N, transmit a (large) amount of information / data on the mentioned encryption keys and 110A ... 110N module control commands. So, for example, the modules 215 once per set / predetermined period of time, for example, equal to 15 seconds, transmit information / measurement data of the module (110A ... 110N). Based on this information / given for each connection, a different amount of memory is allocated (for example, in the main memory of the base 120A ... 120N) depending on the period of activity of the module 215.

В частном варианте осуществления изобретения для обеспечения видимости базового модуля (120A…120N) сервером 160 и отправки сервером 160 в базовый модуль сообщений, команд и другой информации/данных может быть использован протокол ХМРР, в частности, для взаимодействия базовых модулей 120A…120N и сервера 160. Таким образом, в частном случае отсутствует необходимость использования прямого IP-адреса при взаимодействии базовых модулей 120A…120N и, по крайней мере, одного сервера 160.In a particular embodiment of the invention, to ensure the visibility of the base module (120A ... 120N) by the server 160 and the server 160 to send messages, commands and other information / data to the base module, the XMPP protocol can be used, in particular, for the interaction between the base modules 120A ... 120N and the server 160. Thus, in the particular case there is no need to use a direct IP address in the interaction of the base modules 120A ... 120N and at least one server 160.

В частном варианте осуществления изобретения на сервере 160 может осуществляться обработка порядка 40000 (и более) сообщений в минуту на одном инстансе ХМРР-шлюза. В частном случае, обработка такого количества сообщений обеспечивается посредством использования технологий SOA (от англ. Service-oriented Architecture - сервис-ориентированная архитектура, подход к разработке программного обеспечения на основе слабосвязанных компонентов, взаимодействующих посредством стандартизованных интерфейсов) на сервере 160.In a particular embodiment of the invention, the server 160 may process about 40,000 (or more) messages per minute on one instance of the XMPP gateway. In the particular case, the processing of such a number of messages is provided through the use of SOA technologies (from the English Service-oriented Architecture - an approach to software development based on loosely coupled components interacting via standardized interfaces) on the server 160.

Так, в частном варианте осуществления изобретения для ХМРР-шлюза используется компонента/модуль, который помимо выполнения (стандартных) операций для взаимодействия с транспортной шиной при увеличении нагрузки на шлюз обеспечивает временный перевод очередей сообщений в режим не персистентности и, при необходимости, осуществляет, создание дополнительных очередей сообщений. При снижении нагрузки на шлюз персистентность (где персистентный - сохраняющий (все) свои предыдущие состояния) очередей восстанавливается, а дополнительные очереди удаляются. Описанный механизм/способ, реализуемый модулем системы, может быть запущен при достижении заданной/у станов ленной нагрузки в сообщениях в минуту на один инстанс ХМРР-шлюза, например, при достижении нагрузки в 30000 сообщений в минуту на один инстанс ХМРР-шлюза.So, in a private embodiment of the invention, a component / module is used for the XMPP gateway, which, in addition to performing (standard) operations for interacting with the transport bus while increasing the load on the gateway, temporarily transfers message queues to non-persistence mode and, if necessary, creates additional message queues. When the load on the gateway is reduced, the persistence (where persistent - retains (all) its previous states) of queues is restored, and additional queues are deleted. The described mechanism / method implemented by the system module can be started when the specified load is reached in messages per minute per one instance of an XMPP gateway, for example, when a load of 30,000 messages per minute per one instance of an XMPP gateway is reached.

В частном варианте осуществления изобретения взаимодействие базовых модулей 120A…120N с упомянутым ХМРР-шлюзом осуществляется посредством концентратора/хаба (от англ. hub - центр), который обеспечивает автоматическое развертывание нового инстанса ХМРР-шлюза при каждом кратном превышении нагрузки в упомянутые 40000 сообщений в минуту на хаб, т.е. кратном заданной нагрузке. Далее при каждом кратном снижении нагрузки хаб «гасит» (останавливает и/или удаляет из основной и оперативной памяти, например, чтобы не занимал места и не отнимал процессорное время) один экземпляр/инстанс (от англ. Instance - экземпляр) ХМРР-шлюза.In a private embodiment of the invention, the interaction of the base modules 120A ... 120N with the said XMPP gateway is carried out by means of a hub / hub (from the English hub - center), which ensures the automatic deployment of a new instance of the XMPP gateway for each multiple excess of the load in the aforementioned 40,000 messages per minute to the hub, i.e. multiple given load. Further, with each multiple decrease in load, the hub “extinguishes” (stops and / or deletes from the main and main memory, for example, so as not to take up space and not take up processor time) one instance / instance (from the English Instance - instance) of the ХМРР-gateway.

Хаб также обеспечивает равномерное распределение сообщений между развернутыми инстансами ХМРР-шлюза.The hub also provides even distribution of messages between deployed instances of the XMPP gateway.

В частном варианте осуществления изобретения реализовано предотвращение «залипания» реле (в частности, электромагнитного реле, являющегося частью реализации конечного устройства/модуля, например, модуля 110A…110N) при включении (емкостных) нагрузок, например, реактивных нагрузок. Так, при включении нагрузок, в частности, (значительных) реактивных нагрузок, например, емкостных нагрузок через реле, в последнем может происходить кратковременный пробой зазора между контактами. Причем частным случаем упомянутых нагрузок являются нагрузки при подключении широкого спектра (бытовых) приборов, например, электродвигателей, энергосберегающих ламп и т.д. Вследствие этого возникает их пригорание (залипание), которое в существующих решениях устраняется посредством механического воздействия/механическим способом. Для предотвращения пригорания контактов и необходимости механического вмешательства человека осуществляется следующий способ устранения такого рода индицентов: в первый момент включения нагрузки, она коммутируется через симистор, далее через определенный/заданный (незначительный, например, от 400 до 700 миллисекунд) промежуток времени осуществляется (в частности, средствами контроллера) коммутация реле. Выключение нагрузки происходит в обратном порядке, что позволяет избежать токов коммутации на реле, а незначительное время работы симистора, позволяет ему полностью поглотить рассеиваемую мощность без вреда для конструкции компонента (в частности, семистора) даже при максимально допустимых токах. Причем, максимально допустимая величина тока, в частном случае, зависит от конфигурации конечного устройства 110A…110N и может быть ограничена используемой парой реле-симистор. В одной из реализаций/осуществления настоящего изобретения, в частности, в устройствах/модулях 110A.. 110N, максимальная величина тока может составлять 10 Ампер и выше.In a particular embodiment of the invention, the prevention of “sticking” of the relay (in particular, the electromagnetic relay, which is part of the implementation of the end device / module, for example, module 110A ... 110N) is realized when (capacitive) loads, for example, reactive loads are turned on. So, when switching on loads, in particular, (significant) reactive loads, for example, capacitive loads through a relay, a short breakdown of the gap between the contacts can occur in the latter. Moreover, a particular case of the mentioned loads are loads when connecting a wide range of (household) devices, for example, electric motors, energy-saving lamps, etc. As a result, their burning (sticking) occurs, which in existing solutions is eliminated by mechanical action / mechanically. To prevent contact sticking and the need for mechanical human intervention, the following method of eliminating such kind of indicators is carried out: at the first moment the load is turned on, it is switched through the triac, then after a certain / predetermined (insignificant, for example, from 400 to 700 milliseconds) time interval (in particular , by means of the controller) relay switching. The load is switched off in the reverse order, which avoids the switching currents on the relay, and the insignificant operating time of the triac allows it to completely absorb the dissipated power without harming the component design (in particular, the seven-cell) even at the maximum allowable currents. Moreover, the maximum allowable current value, in a particular case, depends on the configuration of the terminal device 110A ... 110N and can be limited by the used triac-relay pair. In one implementation / implementation of the present invention, in particular, in devices / modules 110A .. 110N, the maximum current value may be 10 Amps or higher.

В частном варианте осуществления изобретения осуществляется стабилизация упомянутого ZigBee, в частности, над протоколом ZigBee реализован дополнительный уровень стабилизации, который реализован/осуществляется с использованием дополнительных попыток отправки, по крайней мере, одного пакета данных (как было сказано выше) не дошедшего до цели (упомянутого выше получателя), с большим интервалом, чем осуществляет ZigBee по умолчанию.In a particular embodiment of the invention, said ZigBee is stabilized, in particular, an additional level of stabilization is implemented over the ZigBee protocol, which is / is implemented using additional attempts to send at least one data packet (as mentioned above) that has not reached the target (mentioned higher recipient), with a larger interval than the default ZigBee.

Один из примеров осуществления настоящего изобретения приведен далее. По крайней мере, один управляющий модуль/чип/микросхема (215A…215N) устанавливается/встраивается (или подключается к), по крайней мере, в один модуль/устройство (110A…110N), например, в (электрический) чайник. Чайник может содержать (или в него может быть установлен/встроен), по крайней мере, один измеритель (310A…310N), например, датчик температуры, в частности, позволяющий регистрировать/фиксировать температуру нагреваемой в чайнике/чайником жидкости (воды), причем нагрев воды может осуществляться, по крайней мере, одним управляемым модулем (330A…330N), например, имеющим в своем составе нагревательный элемент типа ТЭН (трубчатый электронагреватель). По крайней мере, один пользователь (135A…135N) посредством средств (модуля) веб-интерфейса 570 базового модуля (120A…120N) может осуществить (как описано в рамках настоящего изобретения) включение чайника и отслеживать в реальном времени увеличение температуры (нагрев) воды в чайнике. При достижении температуры воды необходимого значения пользователь посредством упомянутого веб-интерфейса базового модуля (включая использование пользователем устройства пользователя 130A…130N) может отключить чайник либо чайник может быть отключен средствами, в частности, скриптами и/или командами/инструкциями, по крайней мере, одного модуля описываемой системы автоматически по достижению заданной (например, пользователем) температуры.One example implementation of the present invention is given below. At least one control module / chip / microcircuit (215A ... 215N) is installed / embedded (or connected to) in at least one module / device (110A ... 110N), for example, in a (electric) kettle. The teapot may contain (or can be installed / integrated in it) at least one meter (310A ... 310N), for example, a temperature sensor, in particular, allowing to record / record the temperature of the liquid (water) heated in the teapot / teapot, and water heating can be carried out by at least one controlled module (330A ... 330N), for example, incorporating a heating element of the type TEN (tubular electric heater). At least one user (135A ... 135N) through the means (module) of the web interface 570 of the base module (120A ... 120N) can (as described in the framework of the present invention) turn on the kettle and monitor in real time the temperature (heating) of the water in the kettle. When the water temperature reaches the required value, the user can turn off the kettle via the mentioned web interface of the base module (including using the user device 130A ... 130N) or the kettle can be turned off by means of, in particular, scripts and / or commands / instructions of at least one module of the described system automatically upon reaching the set temperature (for example, by the user).

Второй пример осуществления настоящего изобретения: модуль 215 встроен в модуль 110, являющийся телевизором (например, LCD-телевизором, OLED-телевизором, плазменной панелью, проектором и т.д.). На интернет-портале 660 (или в (мобильном) приложении) пользователь (в частности, отец ребенка) 135 настраивает правило автоматического управления устройством: в период с 14:00 до 18:00 в будние дни при включении телевизора и переключении на канал отличный от 5 (пятого) переключать телевизор на канал 5 (пояснение: после прихода ребенка домой после школы и до прихода родителей ребенку запрещено/не рекомендуется смотреть не познавательные каналы (то есть отличные от 5)). Если в обозначенный период телевизор будет переключен на канал отличный от 5, то сервер 160 автоматически отправит команду на переключение телевизора на канал 5.A second embodiment of the present invention: module 215 is integrated in module 110, which is a television (for example, an LCD TV, an OLED TV, a plasma panel, a projector, etc.). On the Internet portal 660 (or in the (mobile) application), the user (in particular, the father of the child) 135 sets up a rule for automatic control of the device: from 14:00 to 18:00 on weekdays, when you turn on the TV and switch to a channel different from 5 (fifth) switch the TV to channel 5 (explanation: after the child arrives home after school and before the parents arrive, the child is forbidden / not recommended to watch non-cognitive channels (that is, different from 5)). If during the designated period the TV is switched to a channel other than 5, then the server 160 will automatically send a command to switch the TV to channel 5.

Еще одним примером осуществления настоящего изобретения является совместное использование модуля 215 с модулем/устройством 110, в частности, встраивание модуля 215 в датчик температуры почвы на даче. На интернет-портале 660 (или в (мобильном) приложении) пользователь 135 настроил правила уведомлений пользователя: если температура опустится ниже 2 градусов Цельсия, то прислать SMS-сообщение на мобильный телефон пользователя, и указал текст сообщения, например, «Температура - ниже заданной отметки в 2 градуса Цельсия». Пользователь будет проинформирован интернет-порталом о приближении заморозков, когда температура, зарегистрированная датчиком температуры опустится ниже заданного им значения.Another example implementation of the present invention is the sharing of module 215 with module / device 110, in particular, embedding module 215 in a soil temperature sensor in a summer house. On the Internet portal 660 (or in the (mobile) application), user 135 has set up user notification rules: if the temperature drops below 2 degrees Celsius, then send an SMS message to the user's mobile phone and indicated the message text, for example, “Temperature is below the set marks of 2 degrees Celsius. " The user will be informed by the Internet portal about the approach of frost when the temperature registered by the temperature sensor drops below the value set by him.

Примерный вариант программного кода/скрипта для управления обогревом:An example of a program code / script for heating control:

«"

{{

boolean heat=false;boolean heat = false;

int temp=0;int temp = 0;

while(true) {while (true) {

temp=getSensorValue(0); //Получить данные с датчика 0temp = getSensorValue (0); // Get data from sensor 0

if (heat==false) {if (heat == false) {

if (temp<17) {if (temp <17) {

setOutValue(0, 1); //Включить обогреватель на выходе 0setOutValue (0, 1); // Turn on heater at output 0

heat=true;heat = true;

}}

} else {} else {

if(temp>20) {if (temp> 20) {

setOutValue(0, 0); //Выключить обогреватель на выходе 0setOutValue (0, 0); // Turn off heater at output 0

heat=false;heat = false;

}}

}}

}}

}}

».".

Примерный вариант программного кода для аварийных действий при потере соединения с сервером 160 (вызывает ивентом с передачей входного параметра) с передачей команды устройству внутри сети:An example version of the program code for emergency actions in case of loss of connection with the server 160 (calls the event with the input parameter passed) with the transfer of the command to the device inside the network:

«"

{{

if (sysargs[0]==0) { //Если входящий параметр 0 указывает на разрыв соединенияif (sysargs [0] == 0) {// If the input parameter 0 indicates a disconnection

sendCmd("1958", "15А04403004В1200", "0", "0.5");sendCmd ("1958", "15A04403004B1200", "0", "0.5");

//Отправить на устройство 15А04403004В1200 через базу 1958 команду 0 с аргументом 0.5// Send command 0 with argument 0.5 to device 15A04403004B1200 through base 1958

}}

}}

»"

Примерный вариант программного кода для удаленного вызова программы с ожиданием результата и повторными попытками отправки, после которых происходит вызов нотификационной команды на сервере 160:An approximate version of the program code for remote program call with the expectation of the result and repeated attempts to send, after which the notification command is called on the server 160:

«"

{{

int rc=0;int rc = 0;

execProgRemote("1958", "15А04403004В1200", "scriptname", 0);execProgRemote ("1958", "15A04403004B1200", "scriptname", 0);

//Выполнить команду на устройстве ID/№15А04403004В1200 через базовый модуль ID/№1958 с именем scriptname и разместить возврат программы в ячейке памяти 0// Run the command on the device ID / №15А04403004В1200 through the base module ID / №1958 with the name scriptname and place the program return in memory 0

while(rc<3) {while (rc <3) {

sleep(1000);sleep (1000);

if (sysrsp[0]==null) {if (sysrsp [0] == null) {

rc=rc+1;rc = rc + 1;

execProgRemote("1958", "15A04403004B1200", "scriptname");execProgRemote ("1958", "15A04403004B1200", "scriptname");

} else {} else {

sendCmd("server", "nonify", "uid", "OK"); //Отправить уведомление пользователюsendCmd ("server", "nonify", "uid", "OK"); // Send a notification to the user

exit 0;exit 0;

}}

}}

sendCmd("server", "nonify", "uid", "OK");sendCmd ("server", "nonify", "uid", "OK");

exit 1;exit 1;

}}

».".

В частном варианте осуществления настоящего изобретения (управляющий) модуль/чип/микросхема 215 и/или устройство/модуль 110A…110N может быть изготовлен на базе (или может включать), по крайней мере, одной микросхемы, например, сс2530 или сс2538, ATSAMR21E18A, ATSAMR21G18A, ATmega256RFR2, и/или ATmega2564PvFR2 и т.д.In a particular embodiment of the present invention, the (control) module / chip / microcircuit 215 and / or the device / module 110A ... 110N may be made on the basis of (or may include) at least one microcircuit, for example, ss2530 or ss2538, ATSAMR21E18A, ATSAMR21G18A, ATmega256RFR2, and / or ATmega2564PvFR2, etc.

В частном варианте осуществления настоящего изобретения (базовый) модуль 120A…120N может быть изготовлен на базе (или может включать), по крайней мере, одной микросхем сс3200, сс2530, сс3100, ATSAMW25, ATWINC1500, сс2531, сс2538, ATSAMR21E18A, ATSAMR21G18А, ATmega256RFR2, и/или ATmega2564RFR2. В частности, (базовый) модуль 120A…120N может быть изготовлен на базе (или может включать), по крайней мере, одной микросхемы, например, сс3200, сс3100, ATSAMW25 или ATWINC1500 в совокупности с одной из микросхем, например, сс2531, сс2538, ATSAMR21Е18A, ATSAMP21G18A, ATmega256RFR2 или ATmega2564RFR2.In a particular embodiment of the present invention, the (basic) module 120A ... 120N may be made on the basis of (or may include) at least one chip ss3200, ss2530, ss3100, ATSAMW25, ATWINC1500, ss2531, ss2538, ATSAMR21E18A, ATSAMR21G18A, ATmega256 and / or ATmega2564RFR2. In particular, the (basic) module 120A ... 120N can be made on the basis of (or may include) at least one chip, for example, ss3200, ss3100, ATSAMW25 or ATWINC1500 in conjunction with one of the chips, for example, ss2531, ss2538, ATSAMR21E18A, ATSAMP21G18A, ATmega256RFR2 or ATmega2564RFR2.

В решении Сервер может быть изготовлен на базе компьютерных систем семейств х64 или х86, а функциональная часть может быть разработана на программном обеспечении класса серверов приложений, например, Apache Tomcat, Apache HTTP Server, nginx, GlassFish, Oracle WebLogic, и/или IBM WebSphere Application Server и т.д.In the solution, the Server can be made on the basis of computer systems of the x64 or x86 families, and the functional part can be developed on software of the class of application servers, for example, Apache Tomcat, Apache HTTP Server, nginx, GlassFish, Oracle WebLogic, and / or IBM WebSphere Application Server etc.

Описываемое изобретение (в частности, для контроля состояния, просмотра показателей/измерений и удаленного управления домашней электроникой, бытовыми приборами, профессиональным и техническим оборудованием «Электронный домовой») может быть изготовлено на известном оборудовании и с использованием известных материалов и средств, что подтверждает ее промышленную применимость.The described invention (in particular, for monitoring the state, viewing indicators / measurements and remote control of home electronics, household appliances, professional and technical equipment "Electronic Brownie") can be manufactured using known equipment and using well-known materials and means, which confirms its industrial applicability.

На ФИГ. 19 показан пример компьютерной системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера, или модуля описываемой в настоящем изобретении системы, включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.In FIG. 19 shows an example of a general-purpose computer system that includes a multi-purpose computing device in the form of a computer 20 or a server, or a module of the system described in the present invention, including a processor 21, a system memory 22, and a system bus 23 that couples various system components, including system memory with 21 processor.

Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.The system bus 23 may be any of various types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. System memory includes read-only memory (ROM) 24 and random access memory (RAM) 25. The ROM 24 stores the basic input / output system 26 (BIOS), consisting of basic routines that help exchange information between elements within the computer 20, for example, at the time of launch.

Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.Computer 20 may also include a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical drive 30 for reading from or recording to a removable optical disc 31 such as a CD, a digital video disc, and other optical means. The hard disk drive 27, the magnetic disk drive 28, and the optical disk drive 30 are connected to the system bus 23 by means of the hard disk drive interface 32, the magnetic disk drive interface 33, and the optical drive interface 34, respectively. Storage devices and their respective computer-readable means provide non-volatile storage of computer-readable instructions, data structures, program modules and other data for computer 20.

Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.Although the typical configuration described here uses a hard disk, a removable magnetic disk 29, and a removable optical disk 31, one skilled in the art will appreciate that other types of computer-readable means that can store data that are accessible by a computer may also be used in a typical operating environment. such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memory (RAM), read-only memory (ROM), etc.

Различные программные модули, включая операционную систему 35, могут быть сохранены на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.Various software modules, including operating system 35, may be stored on a hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25. Computer 20 includes a file system 36 associated with or included with the operating system 35 or more software application 37, other program modules 38, and program data 39. A user may enter commands and information into computer 20 using input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include be a microphone, joystick, gamepad, satellite dish, scanner, or any other.

Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.These and other input devices are connected to the processor 21 often through a serial port interface 46 that is connected to the system bus, but can be connected via other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor 47 or other type of visual display device is also connected to the system bus 23 via an interface, for example, a video adapter 48. In addition to the monitor 47, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.

Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.Computer 20 may operate in a networked environment through logical connections to one or more remote computers 49. The remote computer (or computers) 49 may be another computer, server, router, network PC, peer to peer device, or other node on a single network, and typically also includes includes most or all of the elements described above with respect to computer 20, although only an information storage device 50 is shown. Logical connections include a local area network (LAN) 51 and a global computer network (GC) ) 52. Such networking environments are usually common in offices, enterprise-wide computer networks, the Internet.

Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.The computer 20 used in the LAN network environment is connected to the local area network 51 via a network interface or adapter 53. The computer 20 used in the GC network environment typically uses a modem 54 or other means to establish communication with the global computer network 52, such as the Internet.

Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules or parts thereof described with reference to computer 20 may be stored on a remote information storage device. It should be noted that the network connections shown are typical, and other means may be used to establish communication communication between computers.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims. One skilled in the art will recognize that there may be other embodiments of the present invention consistent with the spirit and scope of the present invention.

Claims (48)

1. Система для удаленного управления устройствами и контроля устройств, которая включает:1. A system for remote device management and device control, which includes: - по крайней мере, один контролируемый модуль, связанный, по крайней мере, с одним базовым модулем и/или другим контролируемым модулем, причем контролируемый модуль управляется управляющими программами, полученными с базового модуля, где управляющие программы являются скриптами, исполняемыми модулем исполнения скриптов в управляющем модуле и/или в контролируемом модуле, и/или в базовом модуле, и/или на сервере;at least one controlled module associated with at least one base module and / or another controlled module, the controlled module being controlled by control programs received from the base module, where control programs are scripts executed by a script execution module in the control a module and / or in a monitored module, and / or in a base module, and / or on a server; - по крайней мере, один управляющий модуль, являющийся частью контролируемого модуля;- at least one control module that is part of the monitored module; - по крайней мере, один измерительный модуль, подключенный, по крайней мере, к одному управляющему модулю и передающий измерения и/или статусы команд и управляющих программ, по крайней мере, в один управляющий модуль контролируемого модуля;- at least one measuring module connected to at least one control module and transmitting measurements and / or statuses of commands and control programs to at least one control module of the controlled module; - по крайней мере, один управляемый модуль, связанный с, по крайней мере, одним управляющим модулем и/или с, по крайней мере, одним контролируемым модулем и/или являющийся частью, по крайней мере, одного контролируемого модуля, и/или подключенный к, по крайней мере, одному управляющему модулю, причем управляемый модуль осуществляет управление контролируемым модулем и/или, по крайней мере, одной частью контролируемого модуля;- at least one managed module associated with at least one control module and / or with at least one controlled module and / or being part of at least one controlled module and / or connected to at least one control module, wherein the managed module controls the controlled module and / or at least one part of the controlled module; - по крайней мере, один базовый модуль, связанный, по крайней мере, с одним контролируемым модулем и/или сервером, и/или другим базовым модулем и осуществляющий управление, по крайней мере, одним контролируемым модулем и/или осуществляющий контроль, по крайней мере, одного контролируемого модуля, посредством, по крайней мере, одного управляющего модуля, причем управление контролируемым модулем осуществляется базовым модулем посредством команд, содержащихся, по крайней мере, в управляющем модуле, причем базовый модуль получает команды и управляющие программы с сервера и/или передает статусы команд и управляющих программ и/или измерения измерительного модуля на сервер;- at least one base module associated with at least one monitored module and / or server, and / or another basic module and managing at least one controlled module and / or monitoring at least , one controlled module, by means of at least one control module, moreover, the controlled module is controlled by the base module by means of instructions contained in at least the control module, and the base module receives commands and control ulation program from the server and / or transmits the status of commands and control programs and / or measurement of the measuring module to the server; - по крайней мере, один сервер, связанный с, по крайней мере, одним базовым модулем.- at least one server associated with at least one base module. 2. Система по п. 1, характеризующаяся тем, что пользователь преобразовывает названия параметров команд, полученных с управляемого модуля, и/или изменяет наименование команд в интерфейсе базового модуля и/или интерфейсе сервера.2. The system according to claim 1, characterized in that the user converts the names of the parameters of the commands received from the managed module, and / or changes the name of the commands in the interface of the base module and / or the server interface. 3. Система по п. 1, характеризующаяся тем, что управляющие программы создаются пользователем в базовом модуле и/или на сервере с использованием шаблонного построителя, являющимся графическим построителем логики, и/или создаются посредством ввода управляющих команд в текстовое поле интерфейса базового модуля и/или сервера.3. The system according to claim 1, characterized in that the control programs are created by the user in the base module and / or on the server using a template builder, which is a graphical logic builder, and / or are created by entering control commands in the text field of the interface of the base module and / or server. 4. Система по п. 3, характеризующаяся тем, что шаблонный построитель осуществляет создание кода управляющей команды, осуществляет валидацию кода управляющей команды и осуществляет загрузку на контролируемый модуль средствами, по крайней мере, одного модуля системы.4. The system according to claim 3, characterized in that the template builder creates the code of the control command, validates the code of the control command and downloads to the controlled module using at least one module of the system. 5. Система по п. 1, характеризующаяся тем, что контролируемым модулем является цифровое устройство и/или аналоговое устройство, и/или комбинированное устройство, и/или механическое устройство, и/или электронное устройство, и/или вычислительное устройство, и/или мобильное устройство, и/или домашняя электроника, и/или бытовой прибор, и/или бытовая техника, и/или профессиональное оборудование, и/или техническое оборудование, приборы учета, в том числе приборы учета энергоресурсов, приборы отопления, водоснабжения, электроснабжения, а также любая их комбинация.5. The system according to claim 1, characterized in that the controlled module is a digital device and / or an analog device, and / or a combined device, and / or a mechanical device, and / or an electronic device, and / or a computing device, and / or a mobile device, and / or home electronics, and / or household appliances, and / or household appliances, and / or professional equipment, and / or technical equipment, metering devices, including energy metering devices, heating, water, electricity supply devices, as well as I combination. 6. Система по п. 1, характеризующаяся тем, что управляющий модуль является, по крайней мере, одной микросхемой и/или микроконтроллером.6. The system according to claim 1, characterized in that the control module is at least one microcircuit and / or microcontroller. 7. Система по п. 1, характеризующаяся тем, что связь между модулями системы осуществляется посредством проводной связи или беспроводной связи, в том числе посредством локальной вычислительной сети, и/или сети Интернет, и/или мобильной или спутниковой связи, и/или USB-интерфейса, и/или интерфейса стандарта RS-232/СОМ-порта, и/или Bluetooth, и/или Wi-Fi, и/или GSM, 3G, 4G, LTE, транкинговой связи, и/или посредством каналов передачи данных со сверхнизким энергопотреблением, формирующих сложные беспроводные сети с ячеистой топологией, и/или ZigBee, а также связь между модулями системы осуществляется посредством клемм и/или проводов, и/или пайки, и/или клепки.7. The system according to claim 1, characterized in that the communication between the modules of the system is carried out via wired communication or wireless communication, including through a local area network, and / or the Internet, and / or mobile or satellite communications, and / or USB -interface, and / or interface standard RS-232 / COM port, and / or Bluetooth, and / or Wi-Fi, and / or GSM, 3G, 4G, LTE, trunking, and / or via data channels with ultra-low power consumption, forming complex wireless networks with a mesh topology, and / or ZigBee, as well as the connection between m dulyami system carried by terminals and / or wires and / or soldering and / or riveting. 8. Система по п. 1, характеризующаяся тем, что связь между модулями системы осуществляется посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола ТСР/IP и/или HTTP/HTTPs, и/или FTP, и/или РОР3, и/или SMTP, и/или TELNET, и/или ХМРР, расширяемого протокола обмена сообщениями и информацией о присутствии.8. The system according to claim 1, characterized in that the communication between the modules of the system is carried out by means of at least one data transfer protocol, including the TCP / IP network protocol and / or HTTP / HTTPs, and / or FTP, and / or POP3, and / or SMTP, and / or TELNET, and / or HMRP, an extensible protocol for exchanging messages and information about the presence. 9. Система по п. 1, дополнительно включает по крайней мере, одно вычислительное устройство пользователя, причем контролируемый модуль и/или базовый модуль, и/или сервер получает команды и/или управляющие программы от, по крайней мере, одного вычислительного устройства пользователя и/или от, по крайней мере, одного базового модуля, и/или от, по крайней мере, одного другого контролируемого модуля, и/или от, по крайней мере, одного сервера.9. The system of claim 1, further comprises at least one user computing device, wherein the monitored module and / or base module and / or server receives commands and / or control programs from at least one user computing device and / or from at least one base module, and / or from at least one other controlled module, and / or from at least one server. 10. Система по п. 9, характеризующаяся тем, что на вычислительном устройстве пользователя установлено программное обеспечение, позволяющее связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.10. The system of claim 9, characterized in that software is installed on the user's computing device to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurements by the measuring module, and / or managing and / or configuring system modules, and / or for creating and / or sending commands and / or control programs for said modules. 11. Система по п. 9, характеризующаяся тем, что на вычислительном устройстве пользователя установлен веб-браузер, который позволяет пользователю связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.11. The system of claim 9, characterized in that a web browser is installed on the user's computing device, which allows the user to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurement module, and / or control and / or configuration of system modules, and / or to create and / or send commands and / or control programs for said modules. 12. Система по п. 1, отличающаяся тем, что управляющий модуль содержит модуль сбора и обработки измерений измерительного модуля, хранилище команд управляемых модулей, модуль трансляции и преобразования данных, модуль шифрования и дешифрования данных и модуль исполнения скриптов, модуль управления, осуществляющий, по крайней мере, обработку результатов выполнения команд.12. The system according to claim 1, characterized in that the control module comprises a module for collecting and processing measurements of the measuring module, a repository of commands for the controlled modules, a translation and data conversion module, a data encryption and decryption module and a script execution module, a control module for at least processing the results of command execution. 13. Система по п. 1, отличающаяся тем, что контролируемые модули и/или управляющие модули регистрируются пользователем, по крайней мере, в одном базовом модуле, причем упомянутая регистрация определяет связь зарегистрированных контролируемых модулей и/или управляющих модулей с базовыми модулями с целью получения и/или обработки данных базовыми модулями, передаваемых контролируемыми модулями и/или управляющими модулями.13. The system according to claim 1, characterized in that the monitored modules and / or control modules are registered by the user in at least one basic module, said registration determining the relationship of registered controlled modules and / or control modules with the basic modules in order to obtain and / or data processing by base modules transmitted by controlled modules and / or control modules. 14. Система по п. 1, отличающаяся тем, что базовый модуль содержит хранилище измерений измерительных модулей контролируемых модулей, хранилище команд контролируемых модулей, хранилище настроек преобразования и отображения команд и измерений контролируемых модулей, модуль трансляции и преобразования данных и сообщений, модуль шифрования и дешифрования данных, модуль исполнения скриптов, реестр контролируемых модулей, хранилище настроек и журналов событий базового модуля, модуль шифрования и дешифрования сообщений, модуль пользовательского интерфейса.14. The system according to claim 1, characterized in that the base module contains a storage of measurements of measuring modules of controlled modules, a storage of commands for controlled modules, a storage of settings for converting and displaying commands and measurements of controlled modules, a translation and conversion module for data and messages, an encryption and decryption module data, script execution module, register of monitored modules, repository of settings and event logs of the base module, message encryption and decryption module, user module whom interface. 15. Система по п. 1, отличающаяся тем, что сервер содержит хранилище профилей пользователей, реестр базовых модулей, реестр контролируемых модулей, хранилище измерений измерительных модулей контролируемых модулей с историей измерений, серверное ядро, хранилище команд и шаблонов команд контролируемых модулей, хранилище правил управления контролируемыми модулями, модуль правил управления контролируемыми модулями, хранилище правил уведомлений пользователей, модуль правил уведомлений пользователей, модуль уведомлений пользователей.15. The system according to claim 1, characterized in that the server contains a repository of user profiles, a register of basic modules, a register of monitored modules, a repository of measurement modules for monitored modules with a measurement history, a server core, a repository of commands and command templates for supervised modules, a repository of management rules controlled modules, module for managing rules for controlled modules, storage for user notification rules, module for user notification rules, user notification module. 16. Система по п. 1, отличающаяся тем, что пользователь уведомляется о событиях в модулях системы, причем уведомление пользователя осуществляется посредством, по крайней мере, модуля правил уведомлений пользователя, где правила содержат, по крайней мере, одно условие и реакцию на условие.16. The system according to claim 1, characterized in that the user is notified of events in the system modules, and the user is notified through at least a module of the user notification rules, where the rules contain at least one condition and a reaction to the condition. 17. Система по п. 16, характеризующаяся тем, что уведомление пользователя осуществляется посредством SMS-сообщений и/или писем электронной почты, и/или посредством систем и/или служб, и/или приложений для обмена сообщениями и данными/информацией, в том числе для мгновенного обмена сообщениями/обмена мгновенными сообщениями, и/или мессенджеров, и/или систем и/или служб, и/или приложений для передачи и/или получения сообщений, и/или систем и/или служб, и/или приложений для обмена данными/информацией, в том числе включая получение и передачу текстовой информации/данных, графических данных, видеоданных, изображений, звуковых данных, аудиофайлов, и/или сообщений в чатах и/или социальных сетях.17. The system according to p. 16, characterized in that the user is notified via SMS messages and / or e-mails, and / or through systems and / or services, and / or applications for exchanging messages and data / information, including including for instant messaging / instant messaging, and / or instant messengers, and / or systems and / or services, and / or applications for sending and / or receiving messages, and / or systems and / or services, and / or applications for data / information exchange, including receiving and transmitting text th information / data, graphical data, video, images, audio data, audio, and / or messages in chat rooms and / or social networks. 18. Система по п. 1, отличающаяся тем, что модули системы управляются правилами автоматического управления модулями системы посредством, по крайней мере, одного модуля правил автоматического управления модулями системы, причем модулями системы осуществляется выполнение команд, в зависимости от содержания правила.18. The system according to claim 1, characterized in that the modules of the system are governed by the rules for automatic control of the system’s modules by means of at least one module of the rules for automatic control of the system’s modules; 19. Система по п. 1, отличающаяся тем, что сервер и/или контролируемый модуль, и/или базовый модуль содержат генератор событий, менеджер триггеров, хранилище скриптов, виртуальную машину, которая содержит менеджер прерываний, среду исполнения, загрузчик.19. The system according to claim 1, characterized in that the server and / or the monitored module and / or the base module contain an event generator, a trigger manager, a script repository, a virtual machine that contains an interrupt manager, a runtime, and a bootloader. 20. Система по п. 1, отличающаяся тем, что данные на сервере хранятся в триггерной таблице и таблице байт-кодов управляющих программ базы данных; на базовом модуле данные хранятся в файлах внутри файловой системы, которые содержат триггерную таблицу и код скриптов, в контролируемом модуле данные хранятся в виде адресно-разделенных областей флеш-памяти, определенных в таблице адресации, причем под триггерную таблицу и код скриптов могут быть зарезервированы заведомо области памяти.20. The system according to claim 1, characterized in that the data on the server is stored in the trigger table and the table of byte codes of the database control programs; on the basic module, the data is stored in files inside the file system that contain the trigger table and script code, in the controlled module the data is stored in the form of address-separated areas of flash memory defined in the addressing table, and under the trigger table and script code can be reserved areas of memory. 21. Система по п. 1, дополнительно включающая на сервере модуль безопасности, осуществляющий проверку данных, полученных от базового модуля, и/или пользователя, и/или сервера, и/или контролируемого модуля, причем модуль безопасности проверяет права доступа пользовательского уровня, а также включает модуль имитации, который осуществляет проверку перечня допустимых инструкций виртуальной машины, характеристики памяти и другие программные и/или аппаратные характеристики.21. The system of claim 1, further comprising a security module on the server that verifies data received from the base module and / or the user and / or server and / or the monitored module, the security module verifies user level access rights, and also includes a simulation module that checks the list of valid virtual machine instructions, memory characteristics, and other software and / or hardware characteristics. 22. Способ удаленного управления устройствами и контроля устройств, включающий управление и контроль, по крайней мере, одним контролируемым модулем посредством управляющих программ, полученных контролируемым модулем с, по крайней мере, одного базового модуля, где управляющие программы являются скриптами, исполняемыми модулем исполнения скриптов в, по крайней мере, одном управляющем модуле и/или в контролируемом модуле, и/или в базовом модуле, и/или на, по крайней мере, одном сервере, причем управляющий модуль является частью контролируемого модуля, причем к управляющему модулю подключен, по крайней мере, один измерительный модуль, осуществляющий передачу измерений и/или статусы команд и управляющих программ, по крайней мере, в один управляющий модуль контролируемого модуля, причем управление, по крайней мере, одним контролируемым модулем и/или, по крайней мере, одной частью контролируемого модуля осуществляет по крайней мере, один управляемый модуль, связанный с, по крайней мере, одним управляющим модулем и/или с, по крайней мере, одним контролируемым модулем и/или являющийся частью, по крайней мере, одного контролируемого модуля, и/или подключенный к, по крайней мере, одному управляющему модулю, где, по крайней мере, один базовый модуль, связанный, по крайней мере, с одним контролируемым модулем и/или сервером, и/или другим базовым модулем и осуществляющий управление, по крайней мере, одним контролируемым модулем и/или осуществляющий контроль, по крайней мере, одного контролируемого модуля, посредством, по крайней мере, одного управляющего модуля, причем управление контролируемым модулем осуществляется базовым модулем посредством команд, содержащихся, по крайней мере, в управляющем модуле, причем базовый модуль получает команды и управляющие программы с сервера и/или передает статусы команд и управляющих программ и/или измерения измерительного модуля на сервер, который связан, по крайней мере, с одним базовым модулем, причем по крайней мере, один контролируемый модуль связан, по крайней мере, с одним базовым модулем и/или другим контролируемым модулем.22. A method for remote device management and device control, including the management and control of at least one controlled module by means of control programs received by the controlled module from at least one base module, where the control programs are scripts executed by a script execution module in at least one control module and / or in a controlled module and / or in a base module and / or on at least one server, the control module being part of a controlled of the module, moreover, at least one measuring module is connected to the control module, which transfers measurements and / or statuses of commands and control programs to at least one control module of the controlled module, and control of at least one controlled module and / or at least one part of the monitored module implements at least one managed module associated with at least one control module and / or with at least one controlled module and / or which is part of at least one supervised module, and / or connected to at least one supervisory module, where at least one basic module is associated with at least one supervised module and / or server, and / or another basic module and controlling at least one controlled module and / or controlling at least one controlled module by means of at least one control module, and the controlled module is controlled by bases by means of commands contained in at least the control module, the base module receiving commands and control programs from the server and / or transmitting the statuses of commands and control programs and / or measurement of the measuring module to the server, which is connected at least with one base module, and at least one supervised module is associated with at least one base module and / or another supervised module. 23. Способ по п. 22, дополнительно включающий осуществление пользователем преобразование названия параметров команд, полученных с управляемого модуля, и/или изменение наименования команд в интерфейсе базового модуля и/или интерфейсе сервера.23. The method according to p. 22, further comprising a user converting the parameter names of the commands received from the managed module, and / or changing the name of the commands in the interface of the base module and / or the server interface. 24. Способ по п. 22, характеризующийся тем, что управляющие программы создаются пользователем в базовом модуле и/или на сервере с использованием шаблонного построителя, являющимся графическим построителем логики, и/или создаются посредством ввода управляющих команд в текстовое поле интерфейса базового модуля и/или сервера.24. The method according to p. 22, characterized in that the control programs are created by the user in the base module and / or on the server using a template builder, which is a graphical logic builder, and / or are created by entering control commands in the text field of the interface of the base module and / or server. 25. Способ по п. 24, характеризующийся тем, что шаблонный построитель осуществляет создание кода управляющей команды, осуществляет валидацию кода управляющей команды и осуществляет загрузку на контролируемый модуль средствами, по крайней мере, одного модуля системы.25. The method according to p. 24, characterized in that the template builder creates the code of the control command, validates the code of the control command and downloads to the controlled module using at least one module of the system. 26. Способ по п. 22, характеризующийся тем, что контролируемым модулем является цифровое устройство и/или аналоговое устройство, и/или комбинированное устройство, и/или механическое устройство, и/или электронное устройство, и/или вычислительное устройство, и/или мобильное устройство, и/или домашняя электроника, и/или бытовой прибор, и/или бытовая техника, и/или профессиональное оборудование, и/или техническое оборудование, приборы учета, в том числе приборы учета энергоресурсов, приборы отопления, водоснабжения, электроснабжения, а также любая их комбинация.26. The method according to p. 22, characterized in that the controlled module is a digital device and / or an analog device, and / or a combined device, and / or a mechanical device, and / or an electronic device, and / or a computing device, and / or a mobile device, and / or home electronics, and / or household appliances, and / or household appliances, and / or professional equipment, and / or technical equipment, metering devices, including energy metering devices, heating, water, electricity supply devices, as well as I combination. 27. Способ по п. 22, характеризующийся тем, что управляющий модуль является, по крайней мере, одной микросхемой и/или микроконтроллером.27. The method according to p. 22, characterized in that the control module is at least one microcircuit and / or microcontroller. 28. Способ по п. 22, характеризующийся тем, что связь между модулями системы осуществляется посредством проводной связи или беспроводной связи, в том числе посредством локальной вычислительной сети, и/или сети Интернет, и/или мобильной или спутниковой связи, и/или USB-интерфейса, и/или интерфейса стандарта RS-232/СОМ-порта, и/или Bluetooth, и/или Wi-Fi, и/или GSM, 3G, 4G, LTE, транкинговой связи, и/или посредством каналов передачи данных со сверхнизким энергопотреблением, формирующих сложные беспроводные сети с ячеистой топологией, и/или ZigBee, а также связь между модулями системы осуществляется посредством клемм и/или проводов, и/или пайки, и/или клепки.28. The method according to p. 22, characterized in that the communication between the modules of the system is carried out via wired communication or wireless communication, including through a local area network, and / or the Internet, and / or mobile or satellite communications, and / or USB -interface, and / or interface standard RS-232 / COM port, and / or Bluetooth, and / or Wi-Fi, and / or GSM, 3G, 4G, LTE, trunking, and / or via data channels with ultra-low power consumption, forming complex wireless networks with a mesh topology, and / or ZigBee, as well as the connection between m dulyami system carried by terminals and / or wires and / or soldering and / or riveting. 29. Способ по п. 22, характеризующийся тем, что связь между модулями системы осуществляется посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола TCP/IP и/или HTTP/HTTPs, и/или FTP, и/или РОР3, и/или SMTP, и/или TELNET, и/или ХМРР, расширяемого протокола обмена сообщениями и информацией о присутствии.29. The method according to p. 22, characterized in that the communication between the modules of the system is carried out through at least one data transfer protocol, including the network protocol TCP / IP and / or HTTP / HTTPs, and / or FTP, and / or POP3, and / or SMTP, and / or TELNET, and / or HMRP, an extensible protocol for exchanging messages and information about the presence. 30. Способ по п. 22, отличающийся тем, что контролируемый модуль и/или базовый модуль, и/или сервер получает команды и/или управляющие программы от, по крайней мере, одного вычислительного устройства пользователя и/или от, по крайней мере, одного базового модуля, и/или от, по крайней мере, одного другого контролируемого модуля, и/или от, по крайней мере, одного сервера.30. The method according to p. 22, characterized in that the monitored module and / or base module and / or server receives commands and / or control programs from at least one user computing device and / or from at least one base module, and / or from at least one other monitored module, and / or from at least one server. 31. Способ по п. 30, характеризующийся тем, что на вычислительном устройстве пользователя установлено программное обеспечение, позволяющее связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.31. The method according to p. 30, characterized in that software is installed on the user's computing device to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurements by the measuring module, and / or managing and / or configuring system modules, and / or for creating and / or sending commands and / or control programs for said modules. 32. Способ по п. 30, характеризующийся тем, что на вычислительном устройстве пользователя установлен веб-браузер, который позволяет пользователю связываться с контролируемым модулем, и/или базовым модулем, и/или сервером для контроля пользователем параметров модулей системы и/или измерений измерительным модулем, и/или управления и/или настройки модулей системы, и/или для создания и/или отправки команд и/или управляющих программ для упомянутых модулей.32. The method according to p. 30, characterized in that a web browser is installed on the user's computing device, which allows the user to communicate with the monitored module and / or the base module and / or server for the user to control the parameters of the system modules and / or measurement module, and / or control and / or configuration of system modules, and / or to create and / or send commands and / or control programs for said modules. 33. Способ по п. 22, отличающийся тем, что управляющий модуль содержит модуль сбора и обработки измерений измерительного модуля, хранилище команд управляемых модулей, модуль трансляции и преобразования данных, модуль шифрования и дешифрования данных и модуль исполнения скриптов, модуль управления, осуществляющий, по крайней мере, обработку результатов выполнения команд.33. The method according to p. 22, characterized in that the control module comprises a module for collecting and processing measurements of the measuring module, a repository of commands for the controlled modules, a data translation and conversion module, an encryption and decryption module for data and a script execution module, a control module for at least processing the results of command execution. 34. Способ по п. 22, отличающийся тем, что пользователем осуществляется регистрирование контролируемых модулей и/или управляющих модулей, по крайней мере, в одном базовом модуле, причем упомянутая регистрация определяет связь зарегистрированных контролируемых модулей и/или управляющих модулей с базовыми модулями с целью получения и/или обработки данных базовыми модулями, передаваемых контролируемыми модулями и/или управляющими модулями.34. The method according to p. 22, characterized in that the user registers the monitored modules and / or control modules in at least one base module, said registration determining the relationship of registered monitored modules and / or control modules with the base modules for the purpose receiving and / or processing data by base modules transmitted by controlled modules and / or control modules. 35. Способ по п. 22, отличающийся тем, что базовый модуль содержит хранилище измерений измерительных модулей контролируемых модулей, хранилище команд контролируемых модулей, хранилище настроек преобразования и отображения команд и измерений контролируемых модулей, модуль трансляции и преобразования данных и сообщений, модуль шифрования и дешифрования данных, модуль исполнения скриптов, реестр контролируемых модулей, хранилище настроек и журналов событий базового модуля, модуль шифрования и дешифрования сообщений, модуль пользовательского интерфейса.35. The method according to p. 22, characterized in that the base module comprises a storage of measurements of measuring modules of controlled modules, a storage of commands of controlled modules, a storage of settings for converting and displaying commands and measurements of controlled modules, a translation and conversion module for data and messages, an encryption and decryption module data, script execution module, register of monitored modules, repository of settings and event logs of the base module, message encryption and decryption module, user module th interface. 36. Способ по п. 22, отличающийся тем, что сервер содержит хранилище профилей пользователей, реестр базовых модулей, реестр контролируемых модулей, хранилище измерений измерительных модулей контролируемых модулей с историей измерений, серверное ядро, хранилище команд и шаблонов команд контролируемых модулей, хранилище правил управления контролируемыми модулями, модуль правил управления контролируемыми модулями, хранилище правил уведомлений пользователей, модуль правил уведомлений пользователей, модуль уведомлений пользователей.36. The method according to p. 22, characterized in that the server contains a storage of user profiles, a registry of base modules, a registry of controlled modules, a measurement storage of measuring modules of controlled modules with a measurement history, a server core, a storage of commands and templates of commands of controlled modules, a storage of management rules controlled modules, module for managing rules for controlled modules, storage for user notification rules, module for user notification rules, user notification module. 37. Способ по п. 22, отличающийся тем, что осуществляется уведомление пользователя о событиях в модулях системы на основе правил уведомлений, которые содержат, по крайней мере, одно условие и реакцию на условие.37. The method according to p. 22, characterized in that the user is notified of events in the system modules based on the notification rules, which contain at least one condition and a reaction to the condition. 38. Способ по п. 22, отличающийся тем, что осуществляется уведомление пользователя о событиях в модулях системы посредством SMS-сообщений и/или писем электронной почты, и/или посредством систем и/или служб, и/или приложений для обмена сообщениями и данными/информацией, в том числе для мгновенного обмена сообщениями/обмена мгновенными сообщениями, и/или мессенджеров, и/или систем и/или служб, и/или приложений для передачи и/или получения сообщений, и/или систем и/или служб, и/или приложений для обмена данными/информацией, в том числе включая получение и передачу текстовой информации/данных, графических данных, видеоданных, изображений, звуковых данных, аудиофайлов, и/или сообщений в чатах и/или социальных сетях.38. The method according to p. 22, characterized in that the user is notified of events in the system modules by means of SMS messages and / or emails, and / or by systems and / or services, and / or applications for exchanging messages and data / information, including for instant messaging / instant messaging, and / or instant messengers, and / or systems and / or services, and / or applications for sending and / or receiving messages, and / or systems and / or services, and / or data / information exchange applications, including but not limited to and transmission of text information / data, graphics data, video data, images, audio data, audio, and / or messages in chat rooms and / or social networks. 39. Способ по п. 22, отличающийся тем, что управление модулями системы осуществляется с использованием правил автоматического управления модулями системы посредством, по крайней мере, одного модуля правил автоматического управления модулями системы, причем модулями системы осуществляется выполнение команд, в зависимости от содержания правила.39. The method according to p. 22, characterized in that the control of the system modules is carried out using the rules of automatic control of the system modules by means of at least one module of the rules of automatic control of the system modules, the system modules executing commands depending on the content of the rule. 40. Способ по п. 22, отличающийся тем, что сервер и/или контролируемый модуль, и/или базовый модуль содержат генератор событий, менеджер триггеров, хранилище скриптов, виртуальную машину, которая содержит менеджер прерываний, среду исполнения, загрузчик.40. The method according to p. 22, characterized in that the server and / or the monitored module and / or the base module comprise an event generator, a trigger manager, a script repository, a virtual machine that contains an interrupt manager, a runtime, and a bootloader. 41. Способ по п. 22, отличающийся тем, что данные на сервере хранятся в триггерной таблице и таблице байт-кодов управляющих программ базы данных; на базовом модуле данные хранятся в файлах внутри файловой системы, которые содержат триггерную таблицу и код скриптов, в контролируемом модуле данные хранятся в виде адресно-разделенных областей флеш-памяти, определенных в таблице адресации, причем под триггерную таблицу и код скриптов могут быть зарезервированы заведомо области памяти.41. The method according to p. 22, characterized in that the data on the server is stored in the trigger table and the table of byte codes of the database control programs; on the basic module, the data is stored in files inside the file system that contain the trigger table and script code, in the controlled module the data is stored in the form of address-separated areas of flash memory defined in the addressing table, and under the trigger table and script code can be reserved areas of memory. 42. Способ по п. 22, отличающийся тем, что на сервере осуществляется проверка данных, полученных от базового модуля, и/или пользователя, и/или сервера, и/или контролируемого модуля, причем осуществляется проверка права доступа пользовательского уровня, а также осуществляется проверка перечня допустимых инструкций виртуальной машины, характеристики памяти и другие программные и/или аппаратные характеристики.42. The method according to p. 22, characterized in that the server checks the data received from the base module, and / or the user, and / or server, and / or the monitored module, and checks the user level access rights, and also checking the list of valid virtual machine instructions, memory characteristics, and other software and / or hardware characteristics.
RU2017118241A 2017-05-25 2017-05-25 Method and system for device management and device control RU2648564C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017118241A RU2648564C1 (en) 2017-05-25 2017-05-25 Method and system for device management and device control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017118241A RU2648564C1 (en) 2017-05-25 2017-05-25 Method and system for device management and device control

Publications (1)

Publication Number Publication Date
RU2648564C1 true RU2648564C1 (en) 2018-03-26

Family

ID=61708057

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017118241A RU2648564C1 (en) 2017-05-25 2017-05-25 Method and system for device management and device control

Country Status (1)

Country Link
RU (1) RU2648564C1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2688238C1 (en) * 2018-04-12 2019-05-21 Филипп Сергеевич Дельсаль Method of dividing data into a distribution-block-communication-representation for web services
RU197512U1 (en) * 2019-12-18 2020-05-12 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Control module for telemechanics systems
RU207847U1 (en) * 2020-11-24 2021-11-19 Акционерное общество "Калужский электромеханический завод" Lighting control module communication device
CN114157732A (en) * 2021-11-12 2022-03-08 西安羚控电子科技有限公司 Telemetry data analysis method and system for large and medium-sized fixed wing unmanned aerial vehicle
RU2769866C1 (en) * 2018-11-21 2022-04-07 Ханивелл Интернэшнл Инк. Intelligent sealing unit
US20230106406A1 (en) * 2020-09-15 2023-04-06 Meta Platforms Technologies, Llc Enhanced artificial reality systems
RU2796808C2 (en) * 2019-03-29 2023-05-29 Сименс Акциенгезелльшафт Method and system for industrial automation with a system for embedding web application into surrounding web application
US12050451B2 (en) 2018-09-18 2024-07-30 Abb Schweiz Ag Method of controlling data transfer in a manufacturing plant and a system thereof
US12259716B2 (en) 2019-03-29 2025-03-25 Siemens Aktiengesellschaft Method and industrial automation system with a system for embedding a web application to be embedded in a surrounding web application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2010120721A (en) * 2010-05-24 2011-11-27 Вадим Лазаревич Бахрах (RU) METHOD FOR INTEGRATING EQUIPMENT MANAGEMENT FUNCTIONS BY MEANS OF COMMUNICATION NETWORKS AND ITS IMPLEMENTATION SYSTEM
RU2449346C1 (en) * 2011-04-01 2012-04-27 Константин Михайлович Логгер Apparatus for collecting, processing and transmitting telemetric information
US20140070925A1 (en) * 2012-09-10 2014-03-13 Samsung Electronics Co., Ltd. System and method of controlling external apparatus connected with device
US20160195859A1 (en) * 2015-01-06 2016-07-07 Kiban Labs, Inc. System and method for using data collected from internet-of-things (iot) sensors to disable iot-enabled home devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2010120721A (en) * 2010-05-24 2011-11-27 Вадим Лазаревич Бахрах (RU) METHOD FOR INTEGRATING EQUIPMENT MANAGEMENT FUNCTIONS BY MEANS OF COMMUNICATION NETWORKS AND ITS IMPLEMENTATION SYSTEM
RU2449346C1 (en) * 2011-04-01 2012-04-27 Константин Михайлович Логгер Apparatus for collecting, processing and transmitting telemetric information
US20140070925A1 (en) * 2012-09-10 2014-03-13 Samsung Electronics Co., Ltd. System and method of controlling external apparatus connected with device
US20160195859A1 (en) * 2015-01-06 2016-07-07 Kiban Labs, Inc. System and method for using data collected from internet-of-things (iot) sensors to disable iot-enabled home devices

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2688238C1 (en) * 2018-04-12 2019-05-21 Филипп Сергеевич Дельсаль Method of dividing data into a distribution-block-communication-representation for web services
US12050451B2 (en) 2018-09-18 2024-07-30 Abb Schweiz Ag Method of controlling data transfer in a manufacturing plant and a system thereof
RU2769866C1 (en) * 2018-11-21 2022-04-07 Ханивелл Интернэшнл Инк. Intelligent sealing unit
RU2796808C2 (en) * 2019-03-29 2023-05-29 Сименс Акциенгезелльшафт Method and system for industrial automation with a system for embedding web application into surrounding web application
US12259716B2 (en) 2019-03-29 2025-03-25 Siemens Aktiengesellschaft Method and industrial automation system with a system for embedding a web application to be embedded in a surrounding web application
RU197512U1 (en) * 2019-12-18 2020-05-12 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Control module for telemechanics systems
US20230106406A1 (en) * 2020-09-15 2023-04-06 Meta Platforms Technologies, Llc Enhanced artificial reality systems
RU207847U1 (en) * 2020-11-24 2021-11-19 Акционерное общество "Калужский электромеханический завод" Lighting control module communication device
CN114157732A (en) * 2021-11-12 2022-03-08 西安羚控电子科技有限公司 Telemetry data analysis method and system for large and medium-sized fixed wing unmanned aerial vehicle
CN114157732B (en) * 2021-11-12 2024-03-19 西安羚控电子科技有限公司 Remote measurement data analysis method and system for large and medium-sized fixed wing unmanned aerial vehicle
RU2813837C2 (en) * 2022-05-26 2024-02-19 Общество с ограниченной ответственностью "ИТ офисный сервис" Graphical object management system
RU2811624C1 (en) * 2023-08-24 2024-01-15 Общество С Ограниченной Ответственностью "Вуш" Method for managing personal mobility device

Similar Documents

Publication Publication Date Title
RU2648564C1 (en) Method and system for device management and device control
CN108702389B (en) Architecture for remotely controlling IOT (Internet of things) devices
US10374822B2 (en) Home automation (HA) system including desired scene implementation based upon user-selectable list of addressable HA devices and related methods
US10049181B2 (en) Home automation system including hub coupled wireless radio controllers and related methods
US10826716B2 (en) Home automation system including cloud and home message queue synchronization and related methods
US10523690B2 (en) Home automation system including device controller for terminating communication with abnormally operating addressable devices and related methods
US20170006533A1 (en) Home automation system including device signature pairing and related methods
US10686620B2 (en) Home automation system including designated user interface device to push downloaded media content and related methods
CN106850418A (en) A kind of gateway of intelligent home network
KR20030095798A (en) Server/Client System For Managing Home Network And That Implementation Method
US10708079B2 (en) Home automation system including designated hub device to push downloaded media content and related methods
Corbellini et al. Wireless sensor network architecture for remote non-invasive museum monitoring
US10637680B2 (en) Home automation system including shareable capacity determining hub devices and related methods
Khan et al. Smart Android Based Home Automation System Using Internet of Things (IoT). Sustainability 2022, 14, 10717
US10805106B2 (en) Home automation system including sleep to awake mode device switching and related methods
US10536291B2 (en) Home automation system including hub device determined time slot wireless communications and related methods
US20200294380A1 (en) Home automation system determining deviated operation device pattern and related methods
TW202005466A (en) Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols
Lee et al. Research on Internet of Things (IoT) accessing platforms for multiple applications and scenarios
Almeida Plataforma de Monitorização em IoT de Recolha de Dados Sobre o Conforto Térmico Interior
Kumari et al. Internet of Things for Smart Home: A Survey
Forestello Middleware development for Wireless Sensor Networks integration with the Web of Things
Ranta of thesis General IoT Concept Design and Implementation
Rowe et al. An Extensible Sensing and Control Platform for Building Energy Management
Pedro DEPARTMENT OF ELECTRONIC SYSTEMS VISION, GRAPHICS AND INTERACTIVE SYSTEMS