{"id":76,"date":"2017-11-14T12:09:53","date_gmt":"2017-11-14T11:09:53","guid":{"rendered":"http:\/\/people.unipi.it\/giacomo_tanganelli\/?page_id=76"},"modified":"2017-11-15T11:07:24","modified_gmt":"2017-11-15T10:07:24","slug":"om2m-startup","status":"publish","type":"page","link":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/","title":{"rendered":"OM2M Startup"},"content":{"rendered":"<h1 id=\"start-in-cse\">Start IN-CSE<\/h1>\n<p>In the following I will assume you are using a linux environment running in a 64 bit machine, if it is not the case replace the last three segments of each URI according to your deployment. Go to the IN-CSE product directory:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span><span class=\"nb\">cd<\/span> <span class=\"nv\">$HOME<\/span>\/git\/om2m\/org.eclipse.om2m\/org.eclipse.om2m.site.in-cse\/target\/products\/in-cse\/linux\/gtk\/x86_64\r\n<\/code><\/pre>\n<\/div>\n<p>If it is the first time you are runnin oM2M issue:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>chmod a+x start.sh\r\n<\/code><\/pre>\n<\/div>\n<p>then create the\u00a0<code class=\"highlighter-rouge\">start_debug.sh<\/code>\u00a0file, in order to allow to remotely debug the in-cse through Eclipse, and fill it with:<\/p>\n<div class=\"language-vim highlighter-rouge\">\n<pre class=\"highlight\"><code>java <span class=\"p\">-<\/span>Xdebug <span class=\"p\">-<\/span>Xnoagent <span class=\"p\">-<\/span>Xrunjdwp<span class=\"p\">:<\/span>transport<span class=\"p\">=<\/span>dt_socket<span class=\"p\">,<\/span>address<span class=\"p\">=<\/span><span class=\"m\">4554<\/span><span class=\"p\">,<\/span>server<span class=\"p\">=<\/span><span class=\"k\">y<\/span><span class=\"p\">,<\/span><span class=\"k\">suspend<\/span><span class=\"p\">=<\/span><span class=\"k\">y<\/span> <span class=\"p\">-<\/span>jar <span class=\"p\">-<\/span><span class=\"k\">ea<\/span> <span class=\"p\">-<\/span>Declipse<span class=\"p\">.<\/span>ignoreApp<span class=\"p\">=<\/span>true <span class=\"p\">-<\/span>Dosgi<span class=\"p\">.<\/span>clean<span class=\"p\">=<\/span>true <span class=\"p\">-<\/span>Ddebug<span class=\"p\">=<\/span>true plugins\/org<span class=\"p\">.<\/span>eclipse<span class=\"p\">.<\/span>equinox<span class=\"p\">.<\/span>launcher_1<span class=\"p\">.<\/span><span class=\"m\">3<\/span><span class=\"p\">.<\/span><span class=\"m\">0<\/span><span class=\"p\">.<\/span>v20140415<span class=\"m\">-2008<\/span><span class=\"p\">.<\/span>jar <span class=\"p\">-<\/span>console <span class=\"p\">-<\/span>noExit\r\n<\/code><\/pre>\n<\/div>\n<p>Note the\u00a0<code class=\"highlighter-rouge\">address=4554<\/code>\u00a0which will be used for debugging purposes. Save the file and make it executable:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>chmod a+x start_debug.sh\r\n<\/code><\/pre>\n<\/div>\n<p>In any case to start the IN_CSE:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>.\/start.sh\r\n<\/code><\/pre>\n<\/div>\n<p>It will start the OSGi console with all the needed bundle already deployed. Type\u00a0<code class=\"highlighter-rouge\">ss<\/code>\u00a0to view the list of bundles. The output will be similar to the following:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">osgi&gt; <\/span>ss\r\n<span class=\"s2\">\"Framework is launched.\"<\/span>\r\n\r\nid      State       Bundle\r\n0       ACTIVE      org.eclipse.osgi_3.10.2.v20150203-1939\r\n1       RESOLVED    javax.servlet_3.1.0.v20140303-1611\r\n2       RESOLVED    javax.xml_1.3.4.v201005080400\r\n3       RESOLVED    org.apache.commons.codec_1.6.0.v201305230611\r\n4       RESOLVED    org.apache.commons.logging_1.1.1.v201101211721\r\n                    <span class=\"nv\">Fragments<\/span><span class=\"o\">=<\/span>25\r\n5       ACTIVE      org.apache.felix.gogo.command_0.10.0.v201209301215\r\n6       ACTIVE      org.apache.felix.gogo.runtime_0.10.0.v201209301036\r\n7       ACTIVE      org.apache.felix.gogo.shell_0.10.0.v201212101605\r\n8       RESOLVED    org.apache.httpcomponents.httpclient_4.3.6.v201411290715\r\n9       RESOLVED    org.apache.httpcomponents.httpcore_4.3.3.v201411290715\r\n10      ACTIVE      org.eclipse.equinox.console_1.1.0.v20140131-1639\r\n11      ACTIVE      org.eclipse.equinox.http.jetty_3.0.200.v20131021-1843\r\n12      ACTIVE      org.eclipse.equinox.http.servlet_1.1.500.v20140318-1755\r\n13      RESOLVED    org.eclipse.equinox.launcher_1.3.0.v20140415-2008\r\n14      RESOLVED    org.eclipse.jetty.continuation_8.1.16.v20140903\r\n15      RESOLVED    org.eclipse.jetty.http_8.1.16.v20140903\r\n16      RESOLVED    org.eclipse.jetty.io_8.1.16.v20140903\r\n17      RESOLVED    org.eclipse.jetty.security_8.1.16.v20140903\r\n18      RESOLVED    org.eclipse.jetty.server_8.1.16.v20140903\r\n19      RESOLVED    org.eclipse.jetty.servlet_8.1.16.v20140903\r\n20      RESOLVED    org.eclipse.jetty.util_8.1.16.v20140903\r\n21      ACTIVE      org.eclipse.om2m.binding.coap_1.0.0.20161018-0857\r\n22      ACTIVE      org.eclipse.om2m.binding.http_1.0.0.20161018-0857\r\n23      RESOLVED    org.eclipse.om2m.binding.service_1.0.0.20161018-0857\r\n24      RESOLVED    org.eclipse.om2m.commons_1.0.0.20161018-0857\r\n25      RESOLVED    org.eclipse.om2m.commons.logging_1.0.0.20161018-0857\r\n                    <span class=\"nv\">Master<\/span><span class=\"o\">=<\/span>4\r\n26      ACTIVE      org.eclipse.om2m.core_1.0.0.20161018-0857\r\n27      RESOLVED    org.eclipse.om2m.core.service_1.0.0.20161018-0857\r\n28      ACTIVE      org.eclipse.om2m.datamapping.jaxb_1.0.0.20161018-0857\r\n29      RESOLVED    org.eclipse.om2m.datamapping.service_1.0.0.20161018-0857\r\n30      RESOLVED    org.eclipse.om2m.interworking.service_1.0.0.20161018-0857\r\n31      ACTIVE      org.eclipse.om2m.persistence.eclipselink_1.0.0.20161018-0857\r\n32      RESOLVED    org.eclipse.om2m.persistence.service_1.0.0.20161018-0857\r\n33      ACTIVE      org.eclipse.om2m.webapp.resourcesbrowser.xml_1.0.0.20161018-0857\r\n34      RESOLVED    org.eclipse.osgi.services_3.4.0.v20140312-2051\r\n<span class=\"gp\">osgi&gt; <\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<ul>\n<li>Open your browser and connect to the address\u00a0<a href=\"http:\/\/127.0.0.1:8080\/webpage\">http:\/\/127.0.0.1:8080\/webpage<\/a>\u00a0to access the IN-CSE web interface.<\/li>\n<li>Enter username \u201cadmin\u201d and password \u201cadmin\u201d then click on login button to display the IN-CSE resource tree.<\/li>\n<li>After a successful authentication, the in-cse resource will be displayed. You can see the \u201cin-cse\u201d CseBase sub-resources and attributes.<\/li>\n<\/ul>\n<h1 id=\"start-mn-cse\">Start MN-CSE<\/h1>\n<p>Open another terminal and go to the MN-CSE product directory<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span><span class=\"nb\">cd<\/span> <span class=\"nv\">$HOME<\/span>\/git\/om2m\/org.eclipse.om2m\/org.eclipse.om2m.site.mn-cse\/target\/products\/mn-cse\/linux\/gtk\/x86_64\r\n<\/code><\/pre>\n<\/div>\n<p>If it is the first time you are runnin oM2M issue:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>chmod a+x start.sh\r\n<\/code><\/pre>\n<\/div>\n<p>then create the\u00a0<code class=\"highlighter-rouge\">start_debug.sh<\/code>\u00a0file, in order to allow to remotely debug the mn-cse through Eclipse, and fill it with:<\/p>\n<div class=\"language-vim highlighter-rouge\">\n<pre class=\"highlight\"><code>java <span class=\"p\">-<\/span>Xdebug <span class=\"p\">-<\/span>Xnoagent <span class=\"p\">-<\/span>Xrunjdwp<span class=\"p\">:<\/span>transport<span class=\"p\">=<\/span>dt_socket<span class=\"p\">,<\/span>address<span class=\"p\">=<\/span><span class=\"m\">4555<\/span><span class=\"p\">,<\/span>server<span class=\"p\">=<\/span><span class=\"k\">y<\/span><span class=\"p\">,<\/span><span class=\"k\">suspend<\/span><span class=\"p\">=<\/span><span class=\"k\">y<\/span> <span class=\"p\">-<\/span>jar <span class=\"p\">-<\/span><span class=\"k\">ea<\/span> <span class=\"p\">-<\/span>Declipse<span class=\"p\">.<\/span>ignoreApp<span class=\"p\">=<\/span>true <span class=\"p\">-<\/span>Dosgi<span class=\"p\">.<\/span>clean<span class=\"p\">=<\/span>true <span class=\"p\">-<\/span>Ddebug<span class=\"p\">=<\/span>true plugins\/org<span class=\"p\">.<\/span>eclipse<span class=\"p\">.<\/span>equinox<span class=\"p\">.<\/span>launcher_1<span class=\"p\">.<\/span><span class=\"m\">3<\/span><span class=\"p\">.<\/span><span class=\"m\">0<\/span><span class=\"p\">.<\/span>v20140415<span class=\"m\">-2008<\/span><span class=\"p\">.<\/span>jar <span class=\"p\">-<\/span>console <span class=\"p\">-<\/span>noExit\r\n<\/code><\/pre>\n<\/div>\n<p>Note the\u00a0<code class=\"highlighter-rouge\">address=4555<\/code>\u00a0which will be used for debugging purposes. Save the file and make it executable:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>chmod a+x start_debug.sh\r\n<\/code><\/pre>\n<\/div>\n<p>In any case to start the MN_CSE:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span>.\/start.sh\r\n<\/code><\/pre>\n<\/div>\n<p>It will start the OSGi console with all the needed bundle already deployed. Type\u00a0<code class=\"highlighter-rouge\">ss<\/code>\u00a0to view the list of bundles.<\/p>\n<ul>\n<li>The MN-CSE automatically authenticate to the remote IN-CSE specified in the gateway configuration file. If the IN-CSE is not already running, the MN-CSE keep sending authentication requests (A request each 10 seconds).<\/li>\n<li>After a successful authentication, the \u201cmn-cse\u201d resource is added to the in-cse resource tree, and respectively the \u201cin-cse\u201d resource is added to the mn-cse resource tree. You can now access the registered MN-CSE resource from the\u00a0<a href=\"https:\/\/iotlabunipi.github.io\/%22http:\/\/127.0.0.1:8080\/webpage\">IN-CSE web interface<\/a>\u00a0under the \u201c\/in-cse\/in-name\/mn-cse\u201d uri.<\/li>\n<li>Using the In-CSE web interface you can seamlessly access to all authenticated gateways. You notice the existence of one authenticated MN-CSE with id \u201cmn-cse\u201d.<\/li>\n<li>Click on the \u201cmn-cse\u201d resource to display remote MN-CSE sub-resources and attributes. You can click on the \u201cmn-cse\u201d button of the \u201clink\u201d attribute to connect to the MN-CSE resources tree (Located in the right table).<\/li>\n<li>The MN-CSE resource tree will be displayed. At this moment, the IN-CSE will act as a proxy to retarget your requests to the MN-CSE.<\/li>\n<li>Initially, also the MN-CSE contains the CseBase resource (id=mn-cse), the AccessRight resource (id=acp_admin), and other empty collections.<\/li>\n<\/ul>\n<h1 id=\"debug-in-cse\">Debug IN-CSE<\/h1>\n<ul>\n<li>From Eclipse go to Run -&gt; Debug Configuration<\/li>\n<li>In the dialog box, right click on \u201cRemote Java Application\u201d then New<\/li>\n<li>Give a meaningful name (e.g.\u00a0<em>IN-CSE<\/em>) and click on \u201cBrowse\u201d to select the main project<\/li>\n<li>Selects \u201corg.eclipse.om2m.core\u201d and click \u201cOK\u201d<\/li>\n<li>Sets the \u201cPort\u201d to\u00a0<strong>4554<\/strong>\u00a0and the address accordingly by avoiding DNS names (i.e. in a local environment set to 127.0.0.1)<\/li>\n<li>Click Apply and then Debug (you will see an error that must be ignored).<\/li>\n<\/ul>\n<p>If you want to debug the IN-CSE go to the IN-CSE folder and start the container through the\u00a0<code class=\"highlighter-rouge\">start_debug.sh<\/code>\u00a0script:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span><span class=\"nb\">cd<\/span> <span class=\"nv\">$HOME<\/span>\/git\/om2m\/org.eclipse.om2m\/org.eclipse.om2m.site.in-cse\/target\/products\/in-cse\/linux\/gtk\/x86_64\r\n<span class=\"gp\">$ <\/span>.\/start_debug.sh\r\n<\/code><\/pre>\n<\/div>\n<ul>\n<li>Then in Eclipse go to Run -&gt; Debug History -&gt;\u00a0(e.g. *IN-CSE* in my example)<\/li>\n<li>To switch Eclipse to debug mode: Window -&gt; Prospective -&gt; Open Prospective -&gt; Debug<\/li>\n<\/ul>\n<h1 id=\"debug-mn-cse\">Debug MN-CSE<\/h1>\n<ul>\n<li>From Eclipse go to Run -&gt; Debug Configuration<\/li>\n<li>In the dialog box, right click on \u201cRemote Java Application\u201d then New<\/li>\n<li>Give a meaningful name (e.g.\u00a0<em>MN-CSE<\/em>) and click on \u201cBrowse\u201d to select the main project<\/li>\n<li>Selects \u201corg.eclipse.om2m.core\u201d and click \u201cOK\u201d<\/li>\n<li>Sets the \u201cPort\u201d to\u00a0<strong>4555<\/strong>\u00a0and the address accordingly by avoiding DNS names (i.e. in a local environment set to 127.0.0.1)<\/li>\n<li>Click Apply and then Debug (you will see an error that must be ignored).<\/li>\n<\/ul>\n<p>If you want to debug the MN-CSE go to the MN-CSE folder and start the container through the\u00a0<code class=\"highlighter-rouge\">start_debug.sh<\/code>\u00a0script:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<pre class=\"highlight\"><code><span class=\"gp\">$ <\/span><span class=\"nb\">cd<\/span> <span class=\"nv\">$HOME<\/span>\/git\/om2m\/org.eclipse.om2m\/org.eclipse.om2m.site.mn-cse\/target\/products\/mn-cse\/linux\/gtk\/x86_64\r\n<span class=\"gp\">$ <\/span>.\/start_debug.sh\r\n<\/code><\/pre>\n<\/div>\n<ul>\n<li>Then in Eclipse go to Run -&gt; Debug History -&gt;\u00a0(e.g. *MN-CSE* in my example)<\/li>\n<li>To switch Eclipse to debug mode: Window -&gt; Prospective -&gt; Open Prospective -&gt; Debug<\/li>\n<\/ul>\n<h1 id=\"debug-mn-cse\"><code><br \/>\n<\/code><\/h1>\n<div class=\"language-java highlighter-rouge\"><\/div>\n<p><code><br \/>\n<\/code><\/p>\n<div class=\"language-bash highlighter-rouge\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Start IN-CSE In the following I will assume you are using a linux environment running in a 64 bit machine,&hellip;<\/p>\n<p><a class=\"btn btn-dark btn-sm unipi-read-more-link\" href=\"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":450,"featured_media":0,"parent":80,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-76","page","type-page","status-publish","hentry"],"acf":[],"featured_image_src":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>OM2M Startup - Giacomo Tanganelli<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OM2M Startup - Giacomo Tanganelli\" \/>\n<meta property=\"og:description\" content=\"Start IN-CSE In the following I will assume you are using a linux environment running in a 64 bit machine,&hellip;Read More...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/\" \/>\n<meta property=\"og:site_name\" content=\"Giacomo Tanganelli\" \/>\n<meta property=\"article:modified_time\" content=\"2017-11-15T10:07:24+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/om2m-startup\\\/\",\"url\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/om2m-startup\\\/\",\"name\":\"OM2M Startup - Giacomo Tanganelli\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/#website\"},\"datePublished\":\"2017-11-14T11:09:53+00:00\",\"dateModified\":\"2017-11-15T10:07:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/om2m-startup\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/om2m-startup\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/om2m-startup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teaching\",\"item\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OM2M\",\"item\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/teaching\\\/om2m\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"OM2M Startup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/#website\",\"url\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/\",\"name\":\"Giacomo Tanganelli\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/people.unipi.it\\\/giacomo_tanganelli\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OM2M Startup - Giacomo Tanganelli","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/","og_locale":"en_US","og_type":"article","og_title":"OM2M Startup - Giacomo Tanganelli","og_description":"Start IN-CSE In the following I will assume you are using a linux environment running in a 64 bit machine,&hellip;Read More...","og_url":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/","og_site_name":"Giacomo Tanganelli","article_modified_time":"2017-11-15T10:07:24+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/","url":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/","name":"OM2M Startup - Giacomo Tanganelli","isPartOf":{"@id":"https:\/\/people.unipi.it\/giacomo_tanganelli\/#website"},"datePublished":"2017-11-14T11:09:53+00:00","dateModified":"2017-11-15T10:07:24+00:00","breadcrumb":{"@id":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/om2m-startup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/people.unipi.it\/giacomo_tanganelli\/"},{"@type":"ListItem","position":2,"name":"Teaching","item":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/"},{"@type":"ListItem","position":3,"name":"OM2M","item":"https:\/\/people.unipi.it\/giacomo_tanganelli\/teaching\/om2m\/"},{"@type":"ListItem","position":4,"name":"OM2M Startup"}]},{"@type":"WebSite","@id":"https:\/\/people.unipi.it\/giacomo_tanganelli\/#website","url":"https:\/\/people.unipi.it\/giacomo_tanganelli\/","name":"Giacomo Tanganelli","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/people.unipi.it\/giacomo_tanganelli\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/pages\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/users\/450"}],"replies":[{"embeddable":true,"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":6,"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/pages\/76\/revisions"}],"predecessor-version":[{"id":103,"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/pages\/76\/revisions\/103"}],"up":[{"embeddable":true,"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/pages\/80"}],"wp:attachment":[{"href":"https:\/\/people.unipi.it\/giacomo_tanganelli\/wp-json\/wp\/v2\/media?parent=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}