IOT mechanism for device to application communication in physical access control systems
Example implementations include a method, apparatus, and computer-readable medium for configuring a device in a physical security system via an open architecture. The device establishes an application message layer session by exchanging certificates with a publish-and-subscribe broker and subscribing to a first topic from the application to the device. The device receives a configuration for the device from the application via the publish-and-subscribe broker through one or more command messages on the topic, wherein the one or more command messages carry a plurality of objects that are in clear text at the application message layer and are protected at a transport layer. The device transmits for each object, an event message that indicates a status of the object. The device maintains the application message layer session by periodically sending heartbeat event messages.
1 . A method of operation of a device, comprising:
establishing an application message layer session by exchanging certificates with a publish-and-subscribe broker and subscribing to a first topic from the application to the device;
receiving a configuration for the device from the application via the publish-and-subscribe broker through one or more command messages on the topic, wherein the one or more command messages carry a plurality of objects that are in clear text at the application message layer and are protected at a transport layer;
storing the plurality of objects received in the configuration for the device at the device in a configuration file or database;
controlling operation of the device based on the stored plurality of objects;
transmitting, for each object, an event message that indicates a status of the object; and
maintaining the application message layer session by periodically sending heartbeat event messages.
2 . The method of claim 1 , wherein the application message layer session includes the first topic from the application to the device and a second topic from the device to the application.
3 . The method of claim 1 , further comprising:
receiving a command message to delete an object; and
transmitting an event message that indicates whether the object is deleted.
4 . The method of claim 1 , further comprising:
receiving a command message to modify an object; and
transmitting an event message that indicates whether the object is modified.
5 . The method of claim 1 , further comprising:
receiving a command message to return an object;
transmitting a first event message that acknowledges the command message; and
transmitting a second event message including object information.
6 . The method of claim 1 , further comprising:
deactivating the application message layer session if a heartbeat event message is not received from the application for a time duration that is greater than the period.
7 . The method of claim 6 , further comprising reactivating the application message layer session in response to a heartbeat event message.
8 . A method of configuring a device by an application, comprising:
establishing an application message layer session by exchanging certificates with a publish-and-subscribe broker and subscribing to a first topic from the device to the application;
transmitting a configuration for the device from the application via the publish-and-subscribe broker through one or more command messages on a second topic from the application to the device, wherein the one or more command messages carry a plurality of objects that are in clear text at the application message layer and are protected at a transport layer;
receiving, for each object, an event message that indicates a status of the object, wherein the event message for each object indicates that the device has stored the object received in the configuration for the device at the device in a configuration file or database and that the device is controlling operation of the device based on the stored object; and
maintaining the application message layer session by periodically sending heartbeat event messages.
9 . The method of claim 8 , further comprising:
transmitting a command message to delete an object; and
receiving an event message that indicates whether the object is deleted.
10 . The method of claim 8 , further comprising:
transmitting a command message to modify an object; and
receiving an event message that indicates whether the object is modified.
11 . The method of claim 8 , further comprising:
transmitting a command message to return an object;
receiving a first event message that acknowledges the command message; and
receiving a second event message including object information.
12 . The method of claim 8 , further comprising:
deactivating the application message layer session if a heartbeat event message is not received from the device for a time duration that is greater than the period.
13 . The method of claim 12 , further comprising reactivating the application message layer session in response to a heartbeat event message.
14 . A configurable security device, comprising:
an actuator;
one or more memories storing computer executable instructions; and
one or more processors coupled to the one or more memories and, individually or in combination, configured to cause the device to:
establish an application message layer session by exchanging certificates with a publish-and-subscribe broker and subscribing to a topic from the application to the device;
receive a configuration for the device from the application via the publish-and-subscribe broker through one or more command messages on the topic, wherein the one or more command messages carry a plurality of objects that are in clear text at the application message layer and are protected at a transport layer;
store the plurality of objects received in the configuration for the device at the device in a configuration file or database;
control operation of the actuator based on the stored plurality of objects;
transmit for each object, an event message that indicates a status of the object; and
maintain the application message layer session by periodically sending heartbeat event messages.
15 . The device of claim 14 , wherein the application message layer session includes the topic from the application to the device and a second topic from the device to the application.
16 . The device of claim 14 , wherein the one or more processors, individually or in combination, are configured to:
deactivate the application message layer session if a heartbeat event message is not received from the application for a time duration that is greater than the period.
17 . The device of claim 16 , wherein the one or more processors, individually or in combination, are configured to:
reactivate the application message layer session in response to a heartbeat event message.
18 . The device of claim 14 , wherein the one or more processors, individually or in combination, are configured to:
receive a command message to return an object;
transmit a first event message that acknowledges the command message; and
transmit a second event message including object information.