Difference between revisions of "M2M Bridge"

From AMTech WikiDocs
Jump to: navigation, search
(Cloud Configuration)
(Cloud Configuration)
Line 75: Line 75:
 
== Cloud Configuration ==
 
== Cloud Configuration ==
 
* Create an "m2mBridge" actor
 
* Create an "m2mBridge" actor
* Add the things type polices the bridge needs access to
+
** Add the things type polices the bridge needs access to
* Police must have user check; enabling instance access control by m2mBridge instance   
+
** Police must have user check; enabling instance access control by m2mBridge instance   
* Add the thing types the bridge creates plug in instances  
+
** Add the thing types the bridge creates plug in instances  
 
*Create a follower:
 
*Create a follower:
 
  *Give actor "m2mBridge" access  
 
  *Give actor "m2mBridge" access  

Revision as of 16:40, 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