Difference between revisions of "M2M Bridge"

From AMTech WikiDocs
Jump to: navigation, search
(Configuration)
Line 13: Line 13:
 
[[File:Example.jpg]]
 
[[File:Example.jpg]]
  
== Configuration ==
+
== Edge Configuration ==
 
*Edge/Device(s) site configuration bridgeConfig.json #1
 
*Edge/Device(s) site configuration bridgeConfig.json #1
 
**located at M2MBridge root directory.
 
**located at M2MBridge root directory.
Line 72: Line 72:
 
         }
 
         }
 
     }
 
     }
 +
 +
== Cloud Configuration ==
 +
*Create an "m2mBridge" actor
 +
*Add the things type polices the bridge needs access to
 +
*Police must have user check; enabling instance access control by m2mBridge instance 
 +
*Add the thing types the bridge creates plug in instances
 +
*Create a follower:
 +
*Give actor "m2mBridge" access
 +
*Uniquely identify each m2mBridge
 +
*Activity observation configuration:
 +
*Configure the observations types the bridge will produce
 +
*Configure the topic the m2mBridge will get crud and command observations to be matched with bridgeConfig.json property
 +
<span style="color:red">//topic to get crud and command observations</span>                           
 +
"dap":{
 +
        "crudCommandUrl" :"/xx/xx/"
 +
    }
 +
*Things instance creation:
 +
*Using amtech creator experience
 +
*Configuring autoDiscover entry at bridgeConfig.json
 +
  <span style="color:red">//auto discover configuration</span>
 +
        "autoDiscover":{
 +
            <span style="color:red">//create things type instances at startup time</span>
 +
            "execute" : false,                       
 +
            <span style="color:red">//Jsonld instances of the thing to be created </span>
 +
          "SNMPDevice":[
 +
                {
 +
                    "setOIDs": "[{\"oid\":\".1.3.6.1.2.1.1.6.0\", \"type\":\"OctetString\", \"value\":\"Irvine California\"}]",
 +
                    "_lastmodified": 1450988442414,
 +
                    "guestusers": [],
 +
                    "@type": "/amtech/linkeddata/types/composite/entity/SNMPDevice",
 +
                    "_resourcestatus": "valid",
 +
                    "_name": "snmpClientM2mBridge",
 +
                    "getOIDs": "[{\"name\":\"memoryTotal\", \"oid\":\".1.3.6.1.4.1.2021.4.5.0\"},  {\"name\":\"memoryAvailable\", \"oid\":\".1.3.6.1.4.1.2021.4.6.0\"}]",
 +
                    "ipaddress": "localhost",
 +
                    "communityString": "private",
 +
                    "emaillist": "",
 +
                    "instanceobservationconfig": "{}",
 +
                    "creationDate": "2015-12-24T20:20:42.407Z",
 +
                    "readFrequency": "PT10M",
 +
                    "guesttenants": [
 +
                        "follower_m2mcreator@@amtech.mx"
 +
                    ],
 +
                    "description": "An SNMPDevice instance acting as SNMP manager/client proxying snmp commands (get/set/trups) to manager a ubuntu box hosting m2mbridge",
 +
                    "phonelist": "",
 +
                    "@id": "/amtech/things/entities/snmpClientM2mBridge",
 +
                    "snmpVersion": "2c",
 +
                    "_user": "m2mcreator@amtech.mx"
 +
                }
 +
            ], …}
  
 
== Extensible ==
 
== Extensible ==

Revision as of 16:38, 3 March 2016

Functionality

  • Configurable edge intelligence
  • Bridges standard and proprietary protocols to AMTech IoT DAP.
  • Device-to-device or device-to-server communications.
    • MQTT, LLRP, CoAP, STOMP, SmartM2M, LWM2M, PLC, Zigbee and others
  • Allow remote and centralized control of IoT devices and gateways.
    • SNMP/MIB/TRAP, Reader Management and other
  • Configurable autodiscover
  • Implements common functionality and host the execution of the protocols
  • Network failure detection and recovery
  • Get centralized configuration information at startup and real time modifications
  • Access control policies to manage observation production and consumption

Example.jpg

Edge Configuration

  • Edge/Device(s) site configuration bridgeConfig.json #1
    • located at M2MBridge root directory.
   {
   //text to label bridge instance
   "description": "AMTech M2M Bridge", 
       "dap":{
           //amtech IoT DAP ur
           "dapUrl": "https://dap.amtech.mx",     
           //userid for the m2mBridge instance 
           "userId": "xxxxxxx@amtech.mx",
           // tenant where bridge been configured       
           "tenant" : "xxxxxxx",  
           //m2mBridge userId password  
           "password" :"xxxxxxxx",
           //topic to get crud and command observations 
           "crudCommandUrl" :"/xx/xx/"		
       },
       //access control information add to send observations
       "guestSecurity":{
           //add guest tenants to observations send from bridge
           "guesttenants":["progressnext2016"],    
           //add guest users to observations send from bridge
           "guestusers":[]		       
       },
       //network failed configuration
       "networkFailed" :{
           //re-connection delay after an instance of plug in failed 
           "reconnectWait" : 60000	       
       },
       //network failed configuration
       "pluginLoad" :{			         //bridge startup configuration
            //network failed configuration 
            "sendM2mBridgeError" : true		//send observations error when errors occurred at bridge layer 
       },
       //network failed configuration
       "logger" :{
           //network failed configuration
           "colorize" : true, //colorize log console messages
           //network failed configuration
           "level": "debug"			//log level
       },
       //Address use to geo locate m2mBridge instance
       "address" :{				 
           "country" : "usa",
           "city": "Las Vegas",
           "road": "Las Vegas Boulevard South",
           "number":"3960"
       },
       //Id to uniquely identify a M2MBridge instance, in absence of this property a unique identifier gets created
       "bridgeId":"m2mBridgeProgressNext",       
       //auto discover configuration
       "autoDiscover":{
           //create things type instances at startup time
           "execute" : false,                         
           //Jsonld instances of the thing to be created 
           "instances":{"SNMPDevice":[{...}], ...} 
       }
   }

Cloud Configuration

  • Create an "m2mBridge" actor
*Add the things type polices the bridge needs access to
*Police must have user check; enabling instance access control by m2mBridge instance  
*Add the thing types the bridge creates plug in instances 
  • Create a follower:
*Give actor "m2mBridge" access 
*Uniquely identify each m2mBridge
  • Activity observation configuration:
*Configure the observations types the bridge will produce
*Configure the topic the m2mBridge will get crud and command observations to be matched with bridgeConfig.json property
//topic to get crud and command observations                             
"dap":{
       "crudCommandUrl" :"/xx/xx/"			
   }
  • Things instance creation:
*Using amtech creator experience
*Configuring autoDiscover entry at bridgeConfig.json
 //auto discover configuration
       "autoDiscover":{
           //create things type instances at startup time
           "execute" : false,                         
           //Jsonld instances of the thing to be created 
          "SNMPDevice":[
               {
                   "setOIDs": "[{\"oid\":\".1.3.6.1.2.1.1.6.0\", \"type\":\"OctetString\", \"value\":\"Irvine California\"}]",
                   "_lastmodified": 1450988442414,
                   "guestusers": [],
                   "@type": "/amtech/linkeddata/types/composite/entity/SNMPDevice",
                   "_resourcestatus": "valid",
                   "_name": "snmpClientM2mBridge",
                   "getOIDs": "[{\"name\":\"memoryTotal\", \"oid\":\".1.3.6.1.4.1.2021.4.5.0\"},  {\"name\":\"memoryAvailable\", \"oid\":\".1.3.6.1.4.1.2021.4.6.0\"}]",
                   "ipaddress": "localhost",
                   "communityString": "private",
                   "emaillist": "",
                   "instanceobservationconfig": "{}",
                   "creationDate": "2015-12-24T20:20:42.407Z",
                   "readFrequency": "PT10M",
                   "guesttenants": [
                       "follower_m2mcreator@@amtech.mx"
                   ],
                   "description": "An SNMPDevice instance acting as SNMP manager/client proxying snmp commands (get/set/trups) to manager a ubuntu box hosting m2mbridge",
                   "phonelist": "",
                   "@id": "/amtech/things/entities/snmpClientM2mBridge",
                   "snmpVersion": "2c",
                   "_user": "m2mcreator@amtech.mx"
               }
           ], …}

Extensible

Pluggable architecture

Existing plugins

LLRP

Bluetooth