Changes between Version 10 and Version 11 of ZigbeeGateway


Ignore:
Timestamp:
Sep 24, 2010, 6:13:15 AM (14 years ago)
Author:
Sensei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ZigbeeGateway

    v10 v11  
    3131* Main executable file:
    3232       * //ZB2SenseiGW.exe//
    33 * Resource files:
    34        * //connect.bmb//, //disconnect.bmp//, //linked.bmp//
     33* Resource files on "//./Resources//" directory:
     34       * //connect.bmb//, //disconnect.bmp//, //linked.bmp//, //sensei.ico//
    3535* Configuration files:
    3636       * //ZB2SenseiGW.exe.config//, //rpi.xml// (more configuration files can be added, see [#Configuration Configuration section])
     
    7878The "**//Zb2SenseiGw.exe.config//**" file allows establishing:
    7979
     80"**//Language//**": Specify language of messages and some debug traces. Available languages are "//en//" (English, by default) and "//es//" (Spanish, but still some things will be English).
     81
     82"**//AppName//**": Specify the name of the application ones connected to the net. By default is "//Zigbee to Sensei Gateway//" but is useful to have different names related to the net if several instances are running. Net MAC will be append between brackets.
     83
    8084"**//autoConnectType//**" and "**//autoConnectIndexCh//**": Indicates if you want to connect to the Zigbee island automatically when the application starts. It is very useful for non attended servers if the computer or application restarts for whatever reason. The possible values of "//autoConnectType//" are:
    8185* "//off//": do not connect automatically. Manually connection needed after application start. "//autoConnectIndexCh//" value is ignored.
     
    118122* replace "//**X**//" with "s" for a sensor or "a" for an actuator.
    119123* "//**number**//" is the index of the sensor or actuator starting by 0.
    120  If an individual file is presented it will be considered, if not the generic "rpi.xml" file is considered.
     124 If an individual file is present it will be considered, if not the generic "rpi.xml" file is considered.
    121125
    122126In the "**//*.xml //**" file the following text variables will be replaced with the proper values by the application (case sensitive):
     
    169173
    170174
    171 1. (and 4.) **Resource identification** formed by the gateway is **always the same** independently of the gateway. The identification depends only on node parameters. In our case it is used the MAC address and the sensor number position. When the node connects to a new island, the gateway forms the Resource End Point of the nodes resources.
     1751. (and 4.) When the node connects to a new island, the gateway forms the Resource End Point of the nodes resources. **Resource identification** formed by the gateway is **always the same** independently of the gateway. The identification depends only on node parameters. In our case it is used the MAC address, that is unique, and the sensor number position.
    1721762. (and 5.) Previously to publish in the Resource Directory, it discovers if the resource is already present using the RLI interface.
    1731773. If the resource does not exist, it is published into the Resource Directory.
    1741784. Node moves to gateway B. See 1
    175 5. See 2
    176 6. But if the resource exists in the Resource Directory, it is updated. No replication of the same resource can be found in the Resource Directory.
    177 7. The new gateway informs the old gateway about the new location (URL) of the resource. The URL of the old gateway is obtained when consulting the Resource Directory (5.) In the response, the old gateway sends all the subscriptions information that this resource has, and these are implemented by the new gateway.
     1795. Resource is already present. In the response the old gateway URL is obtained.
     1806. As de resource exists in the Resource Directory, it is updated. No replication of the same resource can be found in the Resource Directory.
     1817. The new gateway informs the old gateway about the new location (URL) of the resource. In the response, the old gateway sends all the subscriptions information that this resource has, and they are implemented by the new gateway.
    1781828. The old gateway in addition will redirect whatever access to this resource to the new URL using the http redirect response. This redirection is transparent to applications.
    179183The result is that applications do not notice at all (if they do not want) that a resource has been moved.
     
    181185For optimization, mobility commands interchanged between gateways are not sent at a resource basis, but only once for all the resources of a node.
    182186=== Mobility format interchanged between gateways===
    183 The new gateway informs about node mobility to the old gateway with a PUT http method addressing the node id (not resource id) with the following xml content:
     187This section details the message (7.) of figure. The new gateway informs about node mobility to the old gateway with a PUT http method addressing the node id (not resource id) with the following xml content:
    184188{{{
    185189<Mobility>
     
    191195}}}
    192196
    193 In the response, if the credentials are accepted, the old gateway informs about all the subscriptions that the resources of the node contains, with the following format:
     197In the response, if the credentials are accepted, the old gateway informs about all the subscriptions that the resources of the node contains, with the following:
    194198{{{
    195199<SubscriptionNodeInfo>
     
    237241GET over "//**BASE_URL/nodeMAC **//" returns an html page with node information, sensors and actuators, and links for the subscriptions.
    238242
    239