RU2648564C1 - Method and system for device management and device control - Google Patents
Method and system for device management and device control Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
Landscapes
- Telephonic Communication Services (AREA)
Abstract
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
Описываемая система также может включать, по крайней мере, одно (вычислительное) устройство пользователя/пользовательское устройство (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 /
Стоит отметить, что частным случаем пользователя является, по крайней мере, один администратор/модератор, т.е., в частном случае, лицо, заинтересованные, например, в работоспособности или поддерживающее работоспособность оборудования, например, сервера 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,
Также, описываемая система может содержать, по крайней мере, одно хранилище данных 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
Указанный выше сервер 160 может быть реализован веб-сервером и/или специализированным вычислительным устройством (в частности, компьютером) и/или специализированным оборудованием для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач).The
Элемент хранилище данных (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
Такое программное обеспечение, сервисы и/или другие способы, в частности, реализуемые программным или аппаратным способом, а также любая их комбинация, или любая их часть способны контролировать, отслеживать, информировать, управлять, в том числе посредством передачи данных, и т.д., по крайней мере, один модуль/устройство описываемой системы или другое программное обеспечение, сервисы, аппаратное обеспечение и/или модули (программные или аппаратные).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),
Так, по крайней мере, один управляющий модуль 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 /
В частном случае осуществления изобретения информация/данные между управляющим модулем 215 и базой 120 (и/или любым другим, по крайней мере, одним модулем/устройством или их составными частями, описанными в рамках настоящего изобретения) могут быть переданы, например, с использованием радиочастотных сигналов (например, ZigBee, Wi-Fi и т.п., в частности, в зависимости от модификации модуля 215, базы 120, устройства 110 и т.д.).In the particular case of the invention, information / data between the
В частном варианте осуществления изобретения пользователь (например, пользователь 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
// сообщения:// 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
Сервер 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
- для числового значения измерения - значение измерения меньше значения, указанного пользователем;- 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
В частном случае осуществления изобретения управляющий модуль 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
Также, при подключении управляющего модуля 215 в устройство/модуль 110 к управляющему модулю 215 могут быть подключены измерители (310А-310N) и управляемые элементы/компоненты устройства (330A-330N), команды по управлению которыми записаны в управляющий модуль 215, в частности, в хранилище команд управляемых модулей/компонент устройства 420.Also, when connecting the
Стоит отметить, что, по крайней мере, одно устройство 110А…110N обладает (имеет) определенным функционалом/функциями, заложенный (в частности предопределенный/предварительно заданный, записанный и т.д.) в него, по крайней мере, производителем такого устройства. Для управления такими функциями (для осуществления упомянутого функционала) производитель создал (в частности наделил устройство, добавил в устройство, подключил к устройству и т.д.) органами управления (рычагами управления/узлами устройства/управляемыми элементами/компонентами устройства (330A-330N): механическими, электронными, и/или информационными и т.д. Причем, производитель мог предусмотреть возможность управлять такими рычагами управления устройством, в частности, посредством компонентов устройства 420 и/или компонентами устройства 420. Так, в частном случае осуществления настоящего изобретения управляющий модуль/микросхема/чип 215 (в частности, программируемый/запрограммированный/«прошитый», как описывается в рамках настоящего изобретения) может быть использован, по крайней мере, с одним из устройств 110A…110N, в частности, встроен в упомянутое устройство, например, производителем, с целью управления и контроля упомянутых контролируемых компонентов пользователем, в частности, удаленно (посредством удаленного управления, управления на расстоянии, посредством других устройств, сервисов и описываемых модулей системы и т.д.). Причем упомянутое программирование управляющего модуля может включать добавление (в частном случае, «прошивку») управляющего модуля командами, описываемыми в рамках настоящего изобретения, и настройку входов и выходов упомянутого управляющего модуля/устройства для взаимодействия с упомянутыми узлами устройства 110A…110N. Таким образом, в частном случае, управляемые компоненты, а также управление ими и их контроль могут зависеть от конкретного устройства 110A…110N и/или пожеланий/намерений пользователя, и/или пожеланий/намерений производителей устройств, и/или субъекта, осуществляющего подключение управляющего устройства/модуля (в частном случае, его установкой/встраиванием/интегрированием) по удаленному управлению устройств 110A…110N, в частном случае, реализованных описываемыми командами. В частном случае, осуществления настоящего изобретения управляемыми компонентами могут являться составные части устройств, например, дисплей телевизора, электромотор стиральной машины, таймер микроволновой печи, блок управления проектором и т.д. и/или их составные части/модули, позволяющие осуществлять управление такими составными частями, в частности, как было описано выше.It is worth noting that at least one
В частном случае осуществления настоящего изобретения измерители (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 /
В частном случае, подключение (упомянутых выше) внешних модулей и/или измерителей может осуществляться посредством, по крайней мере, одного разъема (в том числе, где одна часть разъема присоединена, например, подпаяна, к контактам модуля/устройства 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 /
В частном случае осуществления настоящего изобретения для обеспечения взаимодействия управляющего модуля 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
Модуль управления 450 осуществляет передачу команд, полученных из модуля трансляции и преобразования данных 430 команд, а также осуществляет передачу упомянутых команд необходимым компонентам (в частности, упомянутым выше узлам устройств, на которых будет выполнена/должна быть выполнена, по крайней мере, одна описываемая команда) и осуществляет обработку результатов выполнения команд (как было описано выше, например, после передачи команды или сигнала, в частном случае, электрического тока, на упомянутый выше узел устройства в модуле управления/управляющем модуле 215 запрограммирована реакция в виде необходимости узнать/установить упомянутым устройством значение, по крайней мере, одного параметра до и после выполнения упомянутой команды с целью вычисления/установления результата выполнения такой команды, в частности, если значение изменилось, то команда выполнилась успешно, с целью узнать пользователем об успешном выполнении такой команды).The
Модуль трансляции и преобразования данных 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
Передача данных между управляющим модулем 215 и, по крайней мере, одним базовым модулем может осуществляться в зашифрованном виде (в частности, как было описано выше), которое в обоих модулях (контролируемые модули/устройства 110А…110N (или модули 215) и базовые модули/устройства 120A…120N) осуществляют соответствующие модули шифрования и дешифрования данных (440 - в контролируемых модулях/устройствах 110…110N и 590 - в базовых модулях 120A…120N).Data transmission between the
В одном из осуществлений настоящего изобретения данные, в частности, перечни команд (в частности, как было описано выше), измерения упомянутых измерителей/модулей 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 /
Стоит отметить, что хранилище 520, хранилище 530 и/или хранилище 560 могут быть реализованы по крайней мере, одним хранилищем, т.е. в частном случае являться одним хранилищем данных, в том числе, являться одной базой данных или несколькими базами данных, причем данные в базе данных могут храниться, по крайней мере, в одной таблице и/или, по крайней мере, в одном файле.It is worth noting that
В одном из осуществлений настоящего изобретения базовые модули/базы (120A…120N) могут принимать/получать данные 210 от (контролируемых) модулей/устройств 110A…110N (или от модулей 215), которые, в частном случае, могут быть зарегистрированы, по крайней мере, в одном базовом модуле 120A…120N.In one implementation of the present invention, the base modules / bases (120A ... 120N) can receive / receive
Стоит отметить, что (контролируемые) модули/устройства 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 /
Так, в частном осуществлении настоящего изобретения, устройства/модули 110A…110N могут быть зарегистрированы пользователем посредством использования модуля 570.So, in the private implementation of the present invention, devices /
Зарегистрированные в базовых модулях 120A…120N устройства/модули 110А…110N и их идентификационные данные сохраняются, например, средствами модуля 570 или модуля 550, в реестре зарегистрированных устройств 550. Модуль реестра (зарегистрированных) устройств 550 может быть использован модулем трансляции и преобразования данных и сообщений 510 для фильтрации данных от незарегистрированных устройств. Стоит отметить, что, в частном случае, реестр является базой данных, сохраненные данные в которой могут быть использованы (например, прочитаны, записаны, удалены, изменены и т.д.), по крайней мере, одним модулем описываемой системы. Так, в частном случае, в модуль 510 могут быть переданы данные при получении сообщений от устройств 110A…110N и/или при отправке сообщений на упомянутые устройства, в частности определения того, от какого устройства пришла/была получена информация (были получены данные), например, для того, чтобы можно быть посредством, по крайней мере, одного модуля соотнести/сопоставить их с другими данными этого же устройства (полученными данными) и/или другого устройства 110A…110N; и/или определение того, по какому каналу передавать данные конкретному устройству. Стоит также отметить, что под фильтрацией, в частном случае, понимается невозможность (или возможность) установить соединение/связь между базами/базовыми модулями 120A…120N и устройствами 110A…110N, т.е., в частном случае, с незарегистрированными упомянутыми устройствами упомянутые базы не устанавливают соединение. Таким образом, по крайней мере, один упомянутый базовый модуль может получать сообщения, по крайней мере, от одного такого незарегистрированного устройства и посредством осуществления упомянутой фильтрации не обрабатывать такие сообщения и/или отсекать, не реагировать на них и т.д.The devices /
В модуле (веб-)интерфейса пользователя 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
Таким образом, в частном случае осуществления изобретения пользователь может задавать правила преобразования, а далее описанные подстановки и преобразования осуществляет, например, модуль веб-интерфейса 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
Результаты таких действий (как и сами действия, например, в виде журнала событий/изменений), в частном случае, являющиеся настройками модулей/устройств 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 /
Также, в посредством/средствами модуля (веб-)интерфейса базы 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 /
Посредством модуля (веб-)интерфейса 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
Также модуль трансляции и преобразования данных и сообщений 510 осуществляет преобразование полученных от сервера 160 команд на управление в формат управляющего модуля 215 и передает преобразованные команды на управление в управляющий модуль 215, а также осуществляет преобразование полученных из управляющего модуля 215 результатов выполнения команд в сообщения формата сервера 160 и передает преобразованные результаты выполнения команд/сообщения посредством модуля шифрации и дешифрации сообщений 580 на сервер 160.Also, the module for transmitting and converting data and
Стоит отметить, что передача данных (например, в виде сообщений, в соответствии с выбранным паттерном интеграции базы и сервера, согласно одной из реализаций настоящего изобретения) между базовым модулем 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
В частном варианте осуществления изобретения базовые модули 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
В частном случае осуществления изобретения пользователь (или группа пользователей) 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 /
Поскольку, в частном случае осуществления изобретения функции Интернет-портала и (мобильных) приложений одинаковы (или схожи), то далее описание настоящего изобретения будет использовать в качестве примера Интернет портал 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
В частном случае осуществления изобретения на сервере может осуществляться (например, по крайней мере, одним пользователем или средствами, по крайней мере, одного модуля описываемой системы, в том числе средствами сервера 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
В частном случае осуществления изобретения добавление базового модуля в профиль пользователя может осуществляться (например, пользователем) посредством добавления идентификационных данных (в частности, номер базы 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
Пользователь на Интернет-портале 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
В одном из осуществлений настоящего изобретения (для облегчения работы с упомянутыми командами) пользователь (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
Также, пользователь на интернет-портале 660/в (мобильном) приложении может создавать и/или настраивать правила уведомления пользователя. Так, например, такое уведомление пользователя может содержать информацию/данные о том, что, по крайней мере, одно измерение (результат измерения), по крайней мере, одного устройства/модуля 110A…110N приняло указанное значение. В частном случае, настройка правил уведомлений пользователей и отслеживание их выполнение осуществляет модуль правил уведомлений пользователей 635, причем правила уведомлений пользователей могут храниться/быть сохранены в хранилище правил уведомлений пользователей 645, в частности, как было описано выше. Причем упомянутая настройка может быть осуществлена пользователем на интернет-портале в личном кабинете, где события (измерение и/или команда), которые укажет пользователь в правиле, передаются в Модуль правил уведомлений пользователей 635. Далее при получении информации сервером 160 об указанном измерении или команде «Хранилище правил уведомлений пользователей» 645 может осуществлять проверку информации на соответствие правилу. Причем, правило может содержать условие и реакцию в зависимости от условия, например, в правиле может быть указано, что если влажность в теплице понизилась ниже 20%, то отправить SMS-сообщение (например, пользователю) с указанным текстом на заданный (какой-то) номер телефона.Also, a user on the
В частном случае, уведомление пользователей может быть осуществлено, например, посредством отправки электронных писем, 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
Также, пользователь на интернет-портале 660/в (мобильном) приложении может настроить правила (автоматического) управления устройствами/модулями 110A…110N, например, правило отключения устройство/модуль 110A…110N, например, если, по крайней одно его измерение приняло указанное значение. Настройка правил автоматического управления у стройствами/модулями 110A…110N и отслеживание их выполнения осуществляется средствами модуля правил автоматического управления устройствами 640, причем упомянутые правила (автоматического) управления устройствами/модулями могут храниться/могут быть сохранены в хранилище правил автоматического управления устройствами 650. В частности, упомянутые настройка и отслеживание может осуществляться, как и для правил уведомлений, как было описано выше, причем в результате появления ивента/события может осуществляться выполнение команды на определенном устройстве 110A…110N вместо (или в дополнение к нему) отправки уведомления, в частности, устройстве указанном пользователем при настройке правил(а).Also, a user on the
В частном случае, при выполнении, по крайней мере, одного правила может быть осуществлено, по крайней мере, одним модулем описываемой системы выполнение указанной (упомянутой) команды (и/или набора команд), причем выполнение упомянутых команд при выполнении правил автоматического управления устройствами/модулями 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 /
На ФИГ. 3 показан примерный вариант (контролируемого) устройства 110А-110N, согласно примерному варианту осуществления изобретения. Устройство 110 может включать, по крайней мере, один измеритель 310A-310N, в частном случае, реализованный, по крайней мере одним датчиком, и/или, по крайней мере, один управляющий модуль 330A…330N, например, осуществлять измерение температуры, определять/переключать номер канала на телевизоре, статус включения или отключения устройства 110A…110N, регулировать яркость освещения, силу тока, напряжение в (электро)сети, контролировать открыта или закрыта дверь, определять/устанавливать мощность сигнала, контролировать уровень звука в телевизоре, определять/устанавливать номер программы на стиральной машине, определять/устанавливать время работы устройства 110A…110N, определять частоту сердцебиения человека/пульс и т.п.In FIG. 3 shows an exemplary embodiment of a (monitored)
Причем, измеритель (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
Также, как было сказано выше, (контролируемое) устройство/(контролируемый) модуль 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
Также, управляющий модуль 215 может осуществлять получение данных (350A-350N) из управляемых модулей 330A-330N, а управляемый модуль 330А-330N может осуществлять передачу данных (350A-350N), по крайней мере, в один управляющий модуль 215, где упомянутые данные могут включать команды на управление управляемыми модулями 330A-330N или устройствами (110A-110N) в целом, которые более подробно описаны выше.Also, the
Как было сказано выше, устройства (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
На ФИГ. 4 изображен примерный вариант управляющего модуля 215 (контролируемого модуля/) устройства 110. Управляющий модуль 215 может включать (содержать), по крайней мере, один модуль сбора и обработки измерений 410.In FIG. 4 shows an exemplary embodiment of a control module 215 (monitored module /) of the
Управляющий модуль 215 также может включать/содержать, по крайней мере, один модуль трансляции и преобразования данных 430.The
Стоит отметить, что в частном случае осуществления изобретения данные (например, данные 340A-340N) из измерителей (310A-310N) могут быть переданы в модуль сбора и обработки измерений 410 управляющего модуля 215, которые далее могут быть переданы в модуль трансляции и преобразования данных 430.It is worth noting that in the particular case of the invention, data (for example,
Управляющий модуль 215 также может включать (содержать), по крайней мере, одно хранилище команд управляемых модулей 420, данные (465) из которого могут включать, например, перечень команд, и которые могут быть переданы в модуль трансляции и преобразования данных 430, как более подробно описано выше.The
Управляющий модуль 215 также может включать (содержать), по крайней мере, один модуль шифрования/шифровки и дешифрования/дешифровки данных 440. Стоит отметить, что в частном случае осуществления изобретения данные (например, перечень команд, измерения, результаты выполнения команд) из модуля 430 могут быть переданы в модуль 440. Также, данные 475 (например, в виде команд на управление) из модуля 440 могут быть переданы в модуль 430.The
Также, управляющий модуль 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
Также, управляющий модуль 215 может включать модуль исполнения/выполнения скриптов 499. Модуль 499 получает скрипты (497) из хранилища команд управляемых модулей 420, получает данные (496) от модуля сбора и обработки измерений 410, передает (494) данные/информацию в модуль управления 450 и получает информацию/данные (495) от модуля управления 450, передает данные (493) в модуль трансляции и преобразования данных 430 и получает информацию (498) от модуля трансляции и преобразования данных 430. Причем модуль исполнения скриптов 499 может включать, по крайней мере, генератор событий (820, ФИГ. 8) и/или менеджер триггеров (830, ФИГ. 8), и/или хранилище скриптов (840, ФИГ. 8).Also, the
ФИГ. 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
Также, базовый модуль 120/120A…120N может включать модуль исполнения скриптов 599. Модуль 599 получает скрипты (598) от хранилища данных базы 560, получает данные (597) от хранилища данных/измерений устройств 520, передает информацию/данные в модуль трансляции и преобразования данных и сообщений управления 510 и получает информацию от модуля трансляции и преобразования данных и сообщений (управления) 510. Причем модуль исполнения скриптов 599 может включать, по крайней мере, генератор событий (820, ФИГ. 8) и/или менеджер триггеров (830, ФИГ. 8), и/или хранилище скриптов (840, ФИГ. 8).Also, the
ФИГ. 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.
В частном случае осуществления настоящего изобретения описываемая в система предоставляет пользователю 135A…135N определенный набор возможностей/операций, в том числе заложенных/определенных производителем устройств/модулей 110A…110N и/или технологией сети, и/или любых других операций, действий и т.д., как было описано выше.In the particular case of the implementation of the present invention, the system described provides the
В частном случае, такие операции могут быть определены в виде (могут являться) либо атомарных/простых действий (например, включить устройство/модуль 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 /
В частном случае осуществления изобретения существует, по крайней мере, три уровня осуществления описываемой системы и способа: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
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
а) размещение скрипта - на каком узле следует разместить скрипт;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 /
б) на базовом модуле 120A…120N;b) on the
в) на сервере 160;c) on the
Варианты запуска. Под последними следует понимать триггеры запуска (см. далее по тексту описание триггерной механики).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 /
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
Далее приведены примеры практического применения описываемой системы при использовании упомянутых скриптов.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 /
Пример 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 /
На ФИГ. 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
- посредством шаблонного построителя/построителя шаблонов (в шаге 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
На сервер 160 отправляется сообщение об успешном выполнении операции, в частности, базовым модулем 120A…120N или конечном устройством 110A…110N, в зависимости от того, кому предназначался скрипт (какой именно модуль является целевым для скрипта), причем отправка может осуществляться после передачи скрипта, создания триггеров и сохранения в память. В частном случае, данное сообщение подтверждает факт того, что скрипт был корректно принят устройством 110A…110N. В противном случае, может быть осуществлен «откат» записи триггеров/скрипта (возвращение состояния до момента записи триггеров/скрипта) и отправка сообщения об ошибке.A message is sent to the
Стоит отметить, что по крайней мере, на одном из указанных на ФИГ. 7 шагов веб-интерфейс Интернет портала 660/мобильное приложение/модуль пользовательского веб-интерфейса 570 (клиент) может находиться в режиме ожидания, и будет уведомлен средствами, по крайней мере, одного модуля описываемой системы о любых ошибках, возникших, по крайней мере, на одном шаге ФИГ. 7.It is worth noting that at least one of those shown in 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 /
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
Стоит отметить, что 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
- изменение статуса соединения с сервером 160 (или с базовым модулем 120A…120N), где статус соединения может быть определен событиями уровня сетевого соединения, например, установление, разрыв, таймаут и другие события;- changing the status of the connection with the server 160 (or with the
- считывание/получение данных с измерителей/датчиков 310A…310N (или с модулей/устройств 110A…110N);- reading / receiving data from meters /
- получение команды от сервера 160 (или от модуля/устройства 110A…110N);- receiving a command from the server 160 (or from the module /
- инициализация (запуск) (модуля/устройства 110A…110N и/или базового модуля 120A…120N), где под инициализацией (запуском), в частном случае понимается перевод устройства из выключенного состояния во включенное, в том числе, осуществлением подготовки программы к началу штатной работы (например, инициализация файловой системы, программных компонентов и пр.);- initialization (start-up) (of the module /
- нажатие пользователем аппаратной кнопки на устройстве (модуль/устройство 110А…110N).- user presses a hardware button on the device (module /
Ивент/событие для упомянутой виртуальной машины узла является аналогом аппаратного прерывания. Выполнение всех прочих программ приостанавливается и выполняется программа/скрипт, закрепленная (в частном случае, прописанная, например, хранящаяся, в триггерной таблице) триггером за данным ивентом (если таковой имеется).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
Также, например, при достижении определенной (в частности, заданной/установленной, например, пользователем 135A…135N и/или средствами, по крайней мере, одного модуля и/или сервисом описываемой системы) величины по некоторому датчику/измерителю 310A…310N (по крайней мере, одного измерителя 310A…310N), упомянутая программа может отправить на сервер 160 команду нотификации события (в частности, не отличающейся от команд других типов). Вследствие этого действия, пользователь 135A…135N получит уведомление о данном событии, как было описано выше.Also, for example, upon reaching a certain (in particular, set / set, for example,
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 /
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
7) Пользователь 135A…135N может получить доступ к упомянутым протоколам (логам/журналам событий) выполнения скрипта посредством веб-интерфейса интернет-портала 660/(мо дульного) приложения описываемой системы, как было описано выше, так и посредством веб-интерфейса 570 базового модуля.7)
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 /
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 (
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
На ФИГ. 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 /
Менеджер прерываний 870 является структурой (частью) «прошивки» модуля (модуля/устройства 110А…110N или базового модуля 120A…120N, или сервера 160), которая осуществляет обработку (реальных) аппаратных прерываний и осуществляет (какие-то) действия в качестве реакций на них. Одной из таких реакций, может быть «проводка» такого прерывания в виртуальную машину 860. Для этого менеджер прерываний 870 посредством интерфейса управления (920, ФИГ. 9) виртуальной машины 860, инициирует в системе прерываний (940, ФИГ. 9) виртуальной машины прерывание уровня виртуальной машины.The interrupt
На ФИГ. 9 изображен примерный вариант общей схемы (блок-схемы) виртуальной машины 860, согласно одному из вариантов осуществления настоящего изобретения.In FIG. 9 shows an exemplary embodiment of a general diagram (block diagram) of a
Данная виртуальная машина 860 может частично является (типовой) конструкцией для данного типа программного обеспечения. Интерфейс управления 920 является API управления виртуальной машиной и предоставляет функционал доступа к инфраструктуре виртуальной машины. Загрузчик 890 осуществляет загрузку байт-кода скрипта в среду выполнения 880. Система прерываний 940 отвечает за имитацию аппаратного прерывания уровня виртуальной машины. Данное прерывание может быть инициировано со стороны менеджера прерываний 870 прошивки устройства. Сборщик мусора 950 осуществляет проверку и удаление недостижимых объектов. Среда выполнения/исполнения 880 осуществляет выполнение/исполнение потока инструкции и осуществляет распределение времени их выполнения в режиме нескольких потоков выполнения. Неар/«хип» (англ. - куча, груда, множество) 970 является нетипизированной кучей для хранения переменных. Stack (англ. стек) 960 является типизированным стеком.This
На ФИГ. 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 /
Каждый из упомянутых способов может определяться (исключительно) аппаратными возможности конкретного узла. На сервере 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
ФИГ. 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
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
Идентификатор скрипта 1140 (для устройства 110А…110N) содержит номер ячейки памяти (1020A…1020N, ФИГ. 10). Идентификатор скрипта 1140 (для базы 120A…120N) содержит имя файла (1035A…1035N, ФИГ. 10). Идентификатор скрипта 1140 (для сервера 160) содержит идентификатор записи в таблице scripts (1050, ФИГ. 10).The script identifier 1140 (for the
ФИГ. 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
ФИГ. 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
ФИГ. 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 /
На ФИГ. 15 показан процесс реализации функционирования загрузчика скриптов в базовом модуле 120A…120N.In FIG. 15 shows the process of implementing the functioning of the script loader in the
На Базе загрузчик (базового модуля) 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
На ФИГ. 16 показан процесс реализации функционирования загрузчика скриптов на сервере 160.In FIG. 16 shows a process for implementing the functioning of a script loader on
На сервере 160 загрузчик получает (1616) на вход уникальный идентификатор/идентификатор (ID) записи в таблице scripts 1050 и выбирает из нее данные, которые хранятся в виде blob объекта (от англ. Binary Large Object - двоичный большой объект, массив двоичных данных), и передает их с командой создания нового потока в среду выполнения/исполнения 880В. В частном случае при получении данных из таблицы scripts 1050 по идентификатору id, id скрипта является (равен) id ключом в таблице scripts 1050. При создании потока выполнения с первой инструкции из данных, которые передаются вместе с этой командой, в частном случае, создается поток выполнения с первой инструкции из данных, которые были получены из таблицы scripts 1050.On
ФИГ. 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 /
Как было сказано выше поступающие на сервер 160 данные (телеметрия) журналируются, как было описано выше, в частности, добавляется в журнал событий, причем упомянутые полученные данные могут храниться не менее двух лет.As mentioned above, the data (telemetry) arriving at the
Пользователь 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
На ФИГ. 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
упомянутых способов увеличения производительности обработки данных бывает недостаточно, в частности для достижения приемлемых размеров, по крайней мере, одной упомянутой таблицы (при такой схеме максимальный размер таблицы может составить до 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
Далее, при последующих таких упомянутых операциях в/над таблицей модуль сепарации/сепаратор использует отличный от предыдущего алгоритм, в частности, модуль сепарации осуществляет анализ данных, по крайней мере, в одной упомянутой таблице индексации блоков и на основании (с учетом) содержащихся в ней данных, определяет, зашел/пересек ли анализируемый в настоящее время блок во временные границы следующего уровня сепарации (временнЫе уровни сепарации), и если да, то осуществляется удаление записей из блока, а в индексную таблицу блоков, вносится соответствующая информация (информация о полности/неполности (в частности, о полноте, заполненности и т.д.) блока и количестве строк в нем, если он неполный, датах самой ранней и самой старшей записи, текущем уровне сепарации). В частности, упомянутый сепаратор/модуль сепарации просматривает/проверяет (в частности, читает/вычитывает) каждый блок последовательно (или выборочно, в зависимости от алгоритма) от настоящего в прошлое (в частности, от первой заданной даты, например, текущей даты, до, по крайней мере, одной другой даты, в частности, более ранее даты). Стоит отметить, что При обработке описываемым алгоритмом описываемых данных в первый раз, алгоритм, как правило, создает временнУю разметку, в частности, от настоящего (от по крайней мере, одной временной метки) в сторону прошлого (до, по крайней мере, одной другой временной метки) с определенным/заданным интервалом. Так, например, (первоначальный упомянутый отступ опущен для упрощения) при размере уровня сепарации равным 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
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,
В частном случае осуществления изобретения в связке Модуль 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 -
Так, трансформации/преобразования могут быть применены (трансформациям/преобразованиям могут быть подвергнуты, в частности, модулями описываемой системы, например, модулями модулей 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
Стоит отметить, что в частном осуществлении изобретения передаваемые между модулями (и внутри модулей) описываемой системы данные могут быть запакованы/упакованы и/или зашифрованы. В частном случае, передача данных, например, между модулями (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
В частном случае осуществления изобретения обмен (например, между устройствами/модулями 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 /
В частном случае осуществления настоящего изобретения неавторизованные модули 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,
Базовый модуль 120 сохраняет полученный ключ («ключ сети») в привязке к номеру модуля 110 или, в частном случае, модуля 215 (вместе/в совокупности с номером модуля 110). Далее шифрование данных, передаваемых между модулями 110 или, в частном случае, модуля 215, и/или модулями 120 осуществляется на ключе сети (посредством использования упомянутого ключа сети).The
Модуль 120 при (каждом) включении в сеть/подключении к упомянутой сети (в частности, ЛВС, Интернет, ZigBee и т.д.) отправляет сообщение о командах управления в модуль 120. Информация о командах передается, например, в формате JSON, (аналогично), например, в формате JSON (JavaScript Object Notation - простой формат обмена данными) от базового модуля 120 в (контролируемый) модуль 110 или, в частном случае, модуля 215, передается запрос на исполнение, по крайней мере, одной упомянутой команды.
Пример сообщения с информацией о командах, упомянутой выше: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
В частном варианте осуществления изобретения осуществляется разбиение (больших) сообщений, передаваемых между базовым модулем 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
В частном варианте осуществления изобретения для модуля 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
В частном варианте осуществления изобретения базовый модуль может поддерживать/осуществлять одновременное соединение, по крайней мере, с 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,
В частном варианте осуществления изобретения для обеспечения видимости базового модуля (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
В частном варианте осуществления изобретения на сервере 160 может осуществляться обработка порядка 40000 (и более) сообщений в минуту на одном инстансе ХМРР-шлюза. В частном случае, обработка такого количества сообщений обеспечивается посредством использования технологий SOA (от англ. Service-oriented Architecture - сервис-ориентированная архитектура, подход к разработке программного обеспечения на основе слабосвязанных компонентов, взаимодействующих посредством стандартизованных интерфейсов) на сервере 160.In a particular embodiment of the invention, the
Так, в частном варианте осуществления изобретения для ХМРР-шлюза используется компонента/модуль, который помимо выполнения (стандартных) операций для взаимодействия с транспортной шиной при увеличении нагрузки на шлюз обеспечивает временный перевод очередей сообщений в режим не персистентности и, при необходимости, осуществляет, создание дополнительных очередей сообщений. При снижении нагрузки на шлюз персистентность (где персистентный - сохраняющий (все) свои предыдущие состояния) очередей восстанавливается, а дополнительные очереди удаляются. Описанный механизм/способ, реализуемый модулем системы, может быть запущен при достижении заданной/у станов ленной нагрузки в сообщениях в минуту на один инстанс ХМРР-шлюза, например, при достижении нагрузки в 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
Хаб также обеспечивает равномерное распределение сообщений между развернутыми инстансами ХМРР-шлюза.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,
В частном варианте осуществления изобретения осуществляется стабилизация упомянутого 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
Второй пример осуществления настоящего изобретения: модуль 215 встроен в модуль 110, являющийся телевизором (например, LCD-телевизором, OLED-телевизором, плазменной панелью, проектором и т.д.). На интернет-портале 660 (или в (мобильном) приложении) пользователь (в частности, отец ребенка) 135 настраивает правило автоматического управления устройством: в период с 14:00 до 18:00 в будние дни при включении телевизора и переключении на канал отличный от 5 (пятого) переключать телевизор на канал 5 (пояснение: после прихода ребенка домой после школы и до прихода родителей ребенку запрещено/не рекомендуется смотреть не познавательные каналы (то есть отличные от 5)). Если в обозначенный период телевизор будет переключен на канал отличный от 5, то сервер 160 автоматически отправит команду на переключение телевизора на канал 5.A second embodiment of the present invention:
Еще одним примером осуществления настоящего изобретения является совместное использование модуля 215 с модулем/устройством 110, в частности, встраивание модуля 215 в датчик температуры почвы на даче. На интернет-портале 660 (или в (мобильном) приложении) пользователь 135 настроил правила уведомлений пользователя: если температура опустится ниже 2 градусов Цельсия, то прислать SMS-сообщение на мобильный телефон пользователя, и указал текст сообщения, например, «Температура - ниже заданной отметки в 2 градуса Цельсия». Пользователь будет проинформирован интернет-порталом о приближении заморозков, когда температура, зарегистрированная датчиком температуры опустится ниже заданного им значения.Another example implementation of the present invention is the sharing of
Примерный вариант программного кода/скрипта для управления обогревом: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;
}}
».".
В частном варианте осуществления настоящего изобретения (управляющий) модуль/чип/микросхема 215 и/или устройство/модуль 110A…110N может быть изготовлен на базе (или может включать), по крайней мере, одной микросхемы, например, сс2530 или сс2538, ATSAMR21E18A, ATSAMR21G18A, ATmega256RFR2, и/или ATmega2564PvFR2 и т.д.In a particular embodiment of the present invention, the (control) module / chip /
В частном варианте осуществления настоящего изобретения (базовый) модуль 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)
В решении Сервер может быть изготовлен на базе компьютерных систем семейств х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
Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.The
Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.
Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.Although the typical configuration described here uses a hard disk, a removable
Различные программные модули, включая операционную систему 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,
Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.These and other input devices are connected to the
Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.
Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.The
Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.The modem 54, which may be internal or external, is connected to the
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.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)
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)
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)
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 |
-
2017
- 2017-05-25 RU RU2017118241A patent/RU2648564C1/en active
Patent Citations (4)
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)
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 |