<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=EI-Agent_Handshake_Protocol</id>
		<title>EI-Agent Handshake Protocol - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=EI-Agent_Handshake_Protocol"/>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;action=history"/>
		<updated>2026-05-21T09:11:02Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=7239&amp;oldid=prev</id>
		<title>Scott68.chang at 01:43, 21 June 2017</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=7239&amp;oldid=prev"/>
				<updated>2017-06-21T01:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 01:43, 21 June 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l615&quot; &gt;Line 615:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 615:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;custom&lt;/del&gt;&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;general&lt;/ins&gt;&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;123&lt;/del&gt;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2055&lt;/ins&gt;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;content&amp;quot;:{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;content&amp;quot;:{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Scott68.chang</name></author>	</entry>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=7238&amp;oldid=prev</id>
		<title>Scott68.chang at 01:42, 21 June 2017</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=7238&amp;oldid=prev"/>
				<updated>2017-06-21T01:42:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 01:42, 21 June 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l134&quot; &gt;Line 134:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 134:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;custom&lt;/del&gt;&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;general&lt;/ins&gt;&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;123&lt;/del&gt;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2055&lt;/ins&gt;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;content&amp;quot;:{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;amp;nbsp; &amp;quot;content&amp;quot;:{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot; &gt;Line 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== '''IPSO Format''' (Application Framework) ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== '''IPSO Format''' (Application Framework) ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;The IPSO Application Framework makes use of IETF standards as building blocks for a simple and efficient RESTful design model for IP smart objects. The framework may be used over either HTTP or CoAP web transfer protocols. HTTP, REST, XML, JSON, COAP and other key components of web technology are powerful mechanisms in an Internet of Things application.&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''''Note: The objective of the Alliance is not to define technologies, but to document the use of IP-based technologies defined at the standard organizations such as IETF with focus on support by the Alliance of various use cases.''''' &amp;amp;nbsp; '''Function Sets''': The framework is organized into groups of resource types called Function Sets.&amp;amp;nbsp; A Function Set has a recommended root path, under which its sub-resources are organized.&amp;amp;nbsp; Each Function Set is assigned a Resource Type parameter, therefore making it possible to discover it. &amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;The IPSO Application Framework makes use of IETF standards as building blocks for a simple and efficient RESTful design model for IP smart objects. The framework may be used over either HTTP or CoAP web transfer protocols. HTTP, REST, XML, JSON, COAP and other key components of web technology are powerful mechanisms in an Internet of Things application.&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''''Note: The objective of the Alliance is not to define technologies, but to document the use of IP-based technologies defined at the standard organizations such as IETF with focus on support by the Alliance of various use cases.''''' &amp;amp;nbsp; '''Function Sets''': The framework is organized into groups of resource types called Function Sets.&amp;amp;nbsp; A Function Set has a recommended root path, under which its sub-resources are organized.&amp;amp;nbsp; Each Function Set is assigned a Resource Type parameter, therefore making it possible to discover it. &amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Scott68.chang</name></author>	</entry>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=6736&amp;oldid=prev</id>
		<title>Scott68.chang: Scott68.chang moved page EI-Agent Command Format to EI-Agent Handshake Protocol: Not Just Command Format</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=6736&amp;oldid=prev"/>
				<updated>2017-05-17T00:45:31Z</updated>
		
		<summary type="html">&lt;p&gt;Scott68.chang moved page &lt;a href=&quot;/view/EI-Agent_Command_Format&quot; class=&quot;mw-redirect&quot; title=&quot;EI-Agent Command Format&quot;&gt;EI-Agent Command Format&lt;/a&gt; to &lt;a href=&quot;/view/EI-Agent_Handshake_Protocol&quot; title=&quot;EI-Agent Handshake Protocol&quot;&gt;EI-Agent Handshake Protocol&lt;/a&gt;: Not Just Command Format&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 00:45, 17 May 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='en'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Scott68.chang</name></author>	</entry>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=6682&amp;oldid=prev</id>
		<title>Scott68.chang: Add EI-Agent Command Format</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=EI-Agent_Handshake_Protocol&amp;diff=6682&amp;oldid=prev"/>
				<updated>2017-05-16T01:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Add EI-Agent Command Format&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Message Topics ==&lt;br /&gt;
&lt;br /&gt;
*'''MQTT Topic Define'''&lt;br /&gt;
**From Server to Agent:&amp;lt;br/&amp;gt;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/&amp;amp;lt;product&amp;amp;gt;/&amp;amp;lt;agentId&amp;amp;gt;/&amp;amp;lt;function&amp;amp;gt;ack&lt;br /&gt;
**From Agent to Server:&amp;lt;br/&amp;gt;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/&amp;amp;lt;product&amp;amp;gt;/&amp;amp;lt;agentId&amp;amp;gt;/&amp;amp;lt;function&amp;amp;gt;req&lt;br /&gt;
&lt;br /&gt;
[[File:Mes topic def.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Preserved Topic for Common use,&amp;amp;nbsp;the product name &amp;quot;device&amp;quot; is preserved for common use.'''&lt;br /&gt;
**Agent Registration Topic: &amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;agentId&amp;amp;gt;/'''agentinfo'''ack&lt;br /&gt;
**Will Message Topic: &amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;agentId&amp;amp;gt;/'''willmessage''' Or /wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;serverId&amp;amp;gt;/'''willmessage'''&lt;br /&gt;
**Command Topic: &amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;agentId&amp;amp;gt;/'''agentaction'''req&lt;br /&gt;
**Response Topic: &amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;agentId&amp;amp;gt;/'''agentaction'''ack&lt;br /&gt;
**Report Data Topic: &amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''device'''/&amp;amp;lt;agentId&amp;amp;gt;/'''devinfo'''ack&lt;br /&gt;
*'''Custom Topic Sample'''&lt;br /&gt;
**'''​'''For example, the product name is &amp;quot;custom&amp;quot; and function name is &amp;quot;powerctrl&amp;quot;, the topic for Power ON/OFF control will be:&lt;br /&gt;
***Server send command with topic:&amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''custom'''/&amp;amp;lt;agentId&amp;amp;gt;/'''powerctrl'''req&lt;br /&gt;
***Agent send response with topic:&amp;amp;nbsp;/wisepaas/&amp;amp;lt;tenantId&amp;amp;gt;/'''custom'''/&amp;amp;lt;agentId&amp;amp;gt;'''/powerctrl'''ack&lt;br /&gt;
&lt;br /&gt;
== Handshake Sequence ==&lt;br /&gt;
&lt;br /&gt;
=== '''Normal sign in and sign out sequence:''' ===&lt;br /&gt;
&lt;br /&gt;
[[File:Normal sign in.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== '''Agent lost connection with will message sequence:''' ===&lt;br /&gt;
&lt;br /&gt;
[[File:Agent lost conn.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== '''Server lost connection with will message sequence:''' ===&lt;br /&gt;
&lt;br /&gt;
[[File:Server lost conn.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Data Format ==&lt;br /&gt;
&lt;br /&gt;
=== '''Agent ID Format''' ===&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*'''Format define'''&lt;br /&gt;
Agent ID Format is based on UUID format, which is&amp;amp;nbsp;represented as 32 characters, displayed in six groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36&amp;amp;nbsp;characters. In this format the UUID could map&amp;amp;nbsp;to Agent ID directly.&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;For example:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;The UUID is:&amp;amp;nbsp;&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''&amp;amp;nbsp;123e4567-e89b-12d3-a456-426655440000'''&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Mapping to the Agent ID is:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''&amp;amp;nbsp;123e4567-e89b-12d3-a456-426655440000'''&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*'''Generate Agent ID'''&lt;br /&gt;
&lt;br /&gt;
If the target device has it own unique ID, but less the 32 characters, then we could follow the steps to generate the Unique Agent ID:&lt;br /&gt;
&lt;br /&gt;
#Retrieve Unique ID as key, for example: MAC address or IMEI.&lt;br /&gt;
#The first 8 digits is predefined to identify the Unique ID source.&lt;br /&gt;
#*00000001: MAC&lt;br /&gt;
#*00000002: IMEU&lt;br /&gt;
#*00000004: Hardware System config, ex: &amp;quot;/sys/fsl_otp/HW_OCOTP_CFG0&amp;quot;&lt;br /&gt;
#*00000005: Custom generates serial number. The serial number may not be unique, so we add the product or brand name before the serial number to make sure the ID is unique.&amp;amp;nbsp;&lt;br /&gt;
#&amp;amp;nbsp;Add 'Zero'(0) to extended to 24 lowercase hexadecimal digits as UUID format.&lt;br /&gt;
For example:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Unique ID with MAC address:&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;MAC:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;amp;nbsp;'''000babbb7ef3&amp;amp;nbsp; '''&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Agent ID:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''00000001-0000-0000-0000-000babbb7ef3'''&amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Custom Serial number:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Serial number for Advantech ARK 1120&amp;amp;nbsp;:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;amp;nbsp;'''KSA0451097'''&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;Agent ID:&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''00000005-0000-0000-000a-rkksa0451097'''&amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
=== '''Basic JSON Format''' ===&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*JSON (JavaScript Object Notation) is a lightweight data-interchange format.&lt;br /&gt;
*JSON is built on two structures:&lt;br /&gt;
**A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.&lt;br /&gt;
**An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.&lt;br /&gt;
*JSON Forms:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
*''Object: '''''{'''&amp;amp;nbsp;''string''&amp;amp;nbsp;''':'''&amp;amp;nbsp;''value'''''}'''&lt;br /&gt;
*''Array: '''''['''&amp;amp;nbsp;''value''&amp;amp;nbsp;''']'''&lt;br /&gt;
*''Value: string''&amp;lt;br/&amp;gt;''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; number''&amp;lt;br/&amp;gt;''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; object''&amp;lt;br/&amp;gt;''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; array''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''true'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''false'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''null'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*WISE-PaaS predefined string:&lt;br /&gt;
**agentID: target device ID, value type is string.&lt;br /&gt;
**handlerName: target device supported function block (Plugin or Handler) name, value type is string.&lt;br /&gt;
**commCmd: the sub command ID in function block (Plugin or Handler), value type is unsigned integer.&lt;br /&gt;
**content: the contain data.&lt;br /&gt;
**opTS: message generated time stamp (optional), the unit is millisecond.&lt;br /&gt;
***format: &amp;quot;opTS&amp;quot;:{&amp;quot;$date&amp;quot;:1494308768000}&lt;br /&gt;
*Device Registration Format:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;general&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //defined for device registration&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:1, &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //defined for device registration&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;content&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;parentID&amp;quot;:&amp;quot;&amp;quot;, &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;//the parent device ID if the target device has parent device.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;hostname&amp;quot;:&amp;quot;PC001104&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //target device name&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;sn&amp;quot;:&amp;quot;14DAE996BE04&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //target device serial number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;mac&amp;quot;:&amp;quot;14DAE996BE04&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //target device mac address&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;version&amp;quot;:&amp;quot;1.0.0.0&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //client application version&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;type&amp;quot;:&amp;quot;IPC&amp;quot;, &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;//target device type&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;tag&amp;quot;:&amp;quot;RMM,Custom&amp;quot;, &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; //target device &amp;amp;nbsp;tag for supported software product name.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;product&amp;quot;:&amp;quot;&amp;quot;,&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;//target device hardware product name&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;manufacture&amp;quot;:&amp;quot;&amp;quot;,&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;//target device hardware manufacture&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;account&amp;quot;:&amp;quot;anonymous&amp;quot;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;//bind target device to a specific account&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;password&amp;quot;:&amp;quot;&amp;quot;, &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; //encrypt with DES and Base64&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;status&amp;quot;:1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; //1: registration, 0: un-registration&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Report Data Format:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;custom&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:123,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;content&amp;quot;:{&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;opTS&amp;quot;:{&amp;quot;$date&amp;quot;:1494308768000},&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;custom_object&amp;quot;:{ &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //User defined report data object.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;custom_data1&amp;quot;:&amp;quot;string_value&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;custom_data2&amp;quot;:123,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;custom_data3&amp;quot;:false&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
=== '''IPSO Format''' (Application Framework) ===&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The IPSO Application Framework makes use of IETF standards as building blocks for a simple and efficient RESTful design model for IP smart objects. The framework may be used over either HTTP or CoAP web transfer protocols. HTTP, REST, XML, JSON, COAP and other key components of web technology are powerful mechanisms in an Internet of Things application.&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;'''''Note: The objective of the Alliance is not to define technologies, but to document the use of IP-based technologies defined at the standard organizations such as IETF with focus on support by the Alliance of various use cases.''''' &amp;amp;nbsp; '''Function Sets''': The framework is organized into groups of resource types called Function Sets.&amp;amp;nbsp; A Function Set has a recommended root path, under which its sub-resources are organized.&amp;amp;nbsp; Each Function Set is assigned a Resource Type parameter, therefore making it possible to discover it. &amp;amp;nbsp;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Function Set'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Root Path'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Resource Type'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''General Purpose IO'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/gpio&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
gpio&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Power'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/pwr&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
pwr&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Load Control'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/load&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
load&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Sensors'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/sen&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
sen&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Light Control'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/lt&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
lt&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Message'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/msg&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
msg&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Location'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/loc&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
loc&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Configuration'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
/cfg&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
cfg&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*IPSO Smart Object&lt;br /&gt;
&lt;br /&gt;
IPSO Smart Object [2] Guidelines provide a common design pattern, an object model, which can effectively use the IETF CoAP protocol to provide high level interoperability between Smart Object devices and connected software applications on other devices and services&lt;br /&gt;
&lt;br /&gt;
The common object model is based on the Lightweight M2M (LWM2M 1.0) specification from the Open Mobile Alliance. OMA LWM2M is a device management and service architecture specification based on IETF CoAP, and provides a simple and flexible object template (object model) for constrained device management.&lt;br /&gt;
&lt;br /&gt;
The object model from OMA LWM2M is reused to define application level IPSO Smart Objects. This enables the OMA Name Authority (OMNA) to be used to register new objects, and enables existing LWM2M compliant device libraries and server software to be used as an infrastructure for IPSO Smart Objects&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Media Types for Sensor Markup Language (SENML)&lt;br /&gt;
**Semantics&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; width=&amp;quot;567&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''SenML'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''JSON'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Type'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Description'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Base Name'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
bn&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
This is a string that is prepended to the names found in the entries&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Base Time'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
bt&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Integer&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
A base time that is added to the time found in an entry&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Base Units'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
bu&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
A base unit that is assumed for all entries, unless otherwise indicated&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Version'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
ver&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Number&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Version number of media type format&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Measurement or Parameters'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Array&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Array of values for sensor measurements or other generic parameters&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Name'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
n&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Name of the sensor or parameter&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Units'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
u&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Units for a measurement value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Value'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
v&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Float&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Value of the entry&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''String Value'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
sv&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Boolean Value'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
bv&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Boolean&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Value Sum'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
s&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Float&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Integrated sum of the values over time&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Time'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
t&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Integer&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Time when value was recorded&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Update Time'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
ut&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Integer&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Update time. A time in seconds that represents the maximum time before this sensor will provide an updated reading for a measurement.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*The Data Type of Sensor Data Type&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Data Type (type)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''SenML Field'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''b (boolean)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
bv&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''s (string)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
s&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''e (enum)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''i (integer)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
v&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''d (decimal)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
v&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''h(hexadecimal)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
s&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''o(octet-stream)'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
s&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Advantech Sensor Semantics&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; width=&amp;quot;558&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''SenML'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''JSON'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Type'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
'''Description'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Min Range Value'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
min&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Float&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
The minimum value that can be measured by the sensor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Max Range Value'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
max&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Float&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
The maximum value that can be measured by the sensor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Access Mode'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
asm&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
The access mode of the resource. Ex: read (r), write (w), read/write (rw)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Standard Format'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
st&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
The sensor format is which standard format&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Health Status'''&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Health&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Integer&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
The health status of network or device. Range: -1 ~ 100&lt;br /&gt;
&lt;br /&gt;
Good: &amp;gt; 80, Average: 60 ~ 80, Below Average: 40~60, Bad:0~40, -1: Off line or Fault&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*IPSO Report Data Format:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;agentID&amp;quot;:&amp;quot;00000001-0000-0000-0000-000babbb7ef3&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;handlerName&amp;quot;:&amp;quot;custom&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;quot;commCmd&amp;quot;:123,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;content&amp;quot;:{&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;opTS&amp;quot;:{&amp;quot;$date&amp;quot;:1494308768000},&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;custom_object&amp;quot;:{ &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; //User defined report data object in IPSO format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;bn&amp;quot;:&amp;quot;custom_object&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;quot;e&amp;quot;:[&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; {&amp;quot;n&amp;quot;:&amp;quot;custom_data1&amp;quot;,&amp;quot;sv&amp;quot;:&amp;quot;string_value&amp;quot;},&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; {&amp;quot;n&amp;quot;:&amp;quot;custom_data2&amp;quot;,&amp;quot;v&amp;quot;:123},&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; {&amp;quot;n&amp;quot;:&amp;quot;custom_data3&amp;quot;,&amp;quot;bv&amp;quot;:false}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Scott68.chang</name></author>	</entry>

	</feed>