{"id":3489,"date":"2023-09-11T09:36:43","date_gmt":"2023-09-11T09:36:43","guid":{"rendered":"https:\/\/iot-ngin.eu\/?p=3489"},"modified":"2023-09-11T09:36:45","modified_gmt":"2023-09-11T09:36:45","slug":"android-d2d-strategies-under-the-microscope","status":"publish","type":"post","link":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/","title":{"rendered":"Android D2D strategies under the microscope"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>In IoT-NGIN, we use Nearby Connections as an off-the-shelf framework to showcase the project\u2019s contribution toward device-to-device communications. Contributions include 5G coverage extension and direct link characterization. Recently, we have investigated Nearby Connections deeply and have derived several observations. In the following, we present a summary of them.<\/p>\n\n\n\n<p>In a nutshell, the Nearby Connections API provides three strategies to establish D2D communications: CLUSTER, STAR, and POINT-TO-POINT. As their names indicate, they differ in the network topology and, consequently, in the flexibility that they offer to the application. CLUSTER allows (\ud835\udc5b \u00d7 \ud835\udc5a) connectivity, STAR leads to a (1 \u00d7 \ud835\udc5a) network, and POINT-TO-POINT constrains the topology to (1 \u00d7 1). Besides the topology, another fundamental difference is in their performance. While CLUSTER uses Bluetooth for data transfers, both STAR and POINT-TO-POINT rely on both Bluetooth and Wi-Fi. The high topological flexibility that CLUSTER provides is then highly penalized by much slower links.<\/p>\n\n\n\n<p>The difficulty is to know exactly the performance differences between the STAR and POINT-TO-POINT strategies. Google gives some advice in their documentation but reality shows different numbers. In this work, we address exactly this point by digging into the operation of the Nearby Connections API. Our contributions are:<\/p>\n\n\n\n<ul class=\"ul-custom\"><li>We review the different strategies that Google proposes through the Nearby Connections API. We also identify the aspects that need specific attention from developers when designing their own applications on top of the API.<\/li><\/ul>\n\n\n\n<ul class=\"ul-custom\"><li>We share with the community AtomD. A tool we developed to perform a number of tests of the Nearby Connections API. We show the steps we follow as well as a methodology that developers can follow to characterize their own setups.<\/li><\/ul>\n\n\n\n<ul class=\"ul-custom\"><li>We report on the experiments we have run using different smartphones and discuss the performance that one may achieve in terms of throughput. As we will see, different strategies lead to very different performance levels, which forces developers to think thoroughly when deciding which strategy to adopt in their applications.<\/li><\/ul>\n\n\n\n<p>We conducted several experiments to evaluate the performance of the STAR and POINT-TO-POINT strategies using five Android smartphones. To ensure a strong and stable D2D wireless connection, we distribute these nodes no more than 20 cm away from each other. The distribution of the nodes consisted of placing one of them in the center while the other four smartphones were placed around, forming a square-shaped network topology. The Nearby Connections API version we used was 18.3.0.<\/p>\n\n\n\n<p>To generate data, we configured our application (see blog post \u201dAtomD &#8211; An Android application for D2D measurements in real conditions\u201d) to run a \u201cfile experiment\u201d, in which the application generates and sends a 4 \u00d7 10^8 byte file. It is important to note that the Nearby Connections API splits large files into chunks of no more than 1,047,552 bytes. However, the exact sizes of the chunks depend on an estimation of the available bandwidth at the time of the transmission. As a consequence, we must run the experiment for enough time to avoid any bias due to a temporary condition affecting the bandwidth. This behavior can be seen in the example shown in Figure 1, where Node 3 received a file from Node 1.<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"433\" src=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1-1024x433.jpg\" alt=\"\" data-id=\"3491\" data-full-url=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1.jpg\" data-link=\"https:\/\/iot-ngin.eu\/?attachment_id=3491\" class=\"wp-image-3491\" srcset=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1-1024x433.jpg 1024w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1-300x127.jpg 300w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1-768x324.jpg 768w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1-600x253.jpg 600w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/3-1-1.jpg 1148w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Figure 1. Throughput of the receiver during the transfer of a file. Considering that the Nearby connection API splits the file into several chunks for transmission, the calculation of the throughput takes place from the beginning of the transfer until the total transferred byte count.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Therefore, we saturated the sample set with a large number of chunks to calculate the throughput accurately and performed ten runs of the same transmission to satisfy the reliability interval of the data. We can see that as chunks are received, the chunk\u2019s saturation shows the actual throughput of the link. However, due to the random nature of wireless networks, each saturation point of each transmission may be at different zones. More specifically, while most of the saturation points of each transmission attempt converge to around 0.25 \u00d7 10^8 bytes, the saturation point of the third attempt reaches values of around 2.5 \u00d7 10^8 bytes.<\/p>\n\n\n\n<p>One of the results is illustrated in the following (Figures 2 and 3). Each boxplot represents data from the first (\ud835\udc441) to the third (\ud835\udc443) quartile, as well as the median. We also show the mean as a number at the top of the plot. Whiskers show the data range and extend no more than 1.5 \u00d7 (\ud835\udc443 \u2212 \ud835\udc441) from the box\u2019s edges, ending at the furthest data point within that range. Outliers appear as circles.<\/p>\n\n\n\n<p>Based on the results obtained using Node 1 as the Advertiser (Figure 2), we found that it lacked consistent throughput performance across all nodes. In fact, in both plots, it can be observed that the link between Node 1 and Node 3 has a better throughput than the other nodes, while the link performance of the rest of the nodes remains below the 20 Mbit\/s. On top of that, we can observe that Node 1 has a better throughput performance when acting as a receiver (Fig. 6(b)).<\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"351\" src=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star-1024x351.jpg\" alt=\"\" data-id=\"3492\" data-full-url=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star.jpg\" data-link=\"https:\/\/iot-ngin.eu\/?attachment_id=3492\" class=\"wp-image-3492\" srcset=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star-1024x351.jpg 1024w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star-300x103.jpg 300w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star-768x263.jpg 768w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star-600x206.jpg 600w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/star.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Figure 2. Reception throughput of nodes in a STAR strategy with Node 1 acting as the access point. (a) displays the reception throughput of all nodes when Node 1 is transmitting, while (b) shows Node 1\u2019s reception throughput when other nodes are transmitting to it.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>From the results obtained with Node 1 as the Advertiser (Figure 3), we can see that its throughput is higher when it acts as a transmitter (left plot). Furthermore, for each link generated, the throughput performance of each node doubled when Node 1 acted as a transmitter. Also, Node 1 has a better throughput with its link with Node 3 than the rest.<\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"355\" src=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point-1024x355.jpg\" alt=\"\" data-id=\"3493\" data-full-url=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point.jpg\" data-link=\"https:\/\/iot-ngin.eu\/?attachment_id=3493\" class=\"wp-image-3493\" srcset=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point-1024x355.jpg 1024w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point-300x104.jpg 300w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point-768x266.jpg 768w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point-600x208.jpg 600w, https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/point-to-point.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Figure 3. Reception throughput of nodes in a POINT-TO-POINT strategy with Node 1 acting as the access point. (a) displays the reception throughput of all nodes when Node 1 is transmitting, while (b) shows Node 1\u2019s reception throughput when other nodes are transmitting to it.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Among other observations we could make in our study, the one that we want to underline here is the asymmetric nature of the D2D links generated by the Nearby Connections API. Our results demonstrate that the performance of the links is highly dependent on the node established as the access point and the node to which it is connected. The results also indicate the importance of considering the nodes\u2019 hardware characteristics when selecting the access point to ensure optimal throughput performance. The study added three reference nodes with similar parameters, which maintained a low coefficient of variation due to their similar hardware characteristics, resulting in better throughput performance. In contrast, other nodes had much higher coefficients of variation, resulting in worse throughput performance, representing the real case scenario.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\">\n\n\n\n<p>Further details can be found in the following paper:<\/p>\n\n\n\n<p style=\"background-color: rgb(244,244,244); padding: 10px; border-radius: 10px;\">\n    Tomas Lagos Jenschke, Marcelo Dias de Amorim, Serge Fdida,\n    &#8220;Nearby connections strategies: Features, usage, and empirical performance evaluation&#8221;,\n    Internet of Things, vol. 23, October 2023.\n    (<a href=\"https:\/\/www.sciencedirect.com\/science\/article\/pii\/S2542660523002184\" target=\"_blank\" rel=\"noreferrer noopener\" style=\"text-decoration:\">link<\/a>)\n<\/p>\n\n\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In IoT-NGIN, we use Nearby Connections as an off-the-shelf framework to showcase the project\u2019s contribution toward device-to-device communications. Contributions include 5G coverage extension and direct link characterization. Recently, we have investigated Nearby Connections deeply and have derived several observations. In &hellip;<\/p>\n","protected":false},"author":3,"featured_media":3499,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[17],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Android D2D strategies under the microscope - IOT NGIN<\/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:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android D2D strategies under the microscope - IOT NGIN\" \/>\n<meta property=\"og:description\" content=\"In IoT-NGIN, we use Nearby Connections as an off-the-shelf framework to showcase the project\u2019s contribution toward device-to-device communications. Contributions include 5G coverage extension and direct link characterization. Recently, we have investigated Nearby Connections deeply and have derived several observations. In &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/\" \/>\n<meta property=\"og:site_name\" content=\"IOT NGIN\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-11T09:36:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-11T09:36:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1595\" \/>\n\t<meta property=\"og:image:height\" content=\"442\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Karadimos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/iot-ngin.eu\/#website\",\"url\":\"https:\/\/iot-ngin.eu\/\",\"name\":\"IOT NGIN\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/iot-ngin.eu\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png\",\"contentUrl\":\"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png\",\"width\":1595,\"height\":442},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#webpage\",\"url\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/\",\"name\":\"Android D2D strategies under the microscope - IOT NGIN\",\"isPartOf\":{\"@id\":\"https:\/\/iot-ngin.eu\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#primaryimage\"},\"datePublished\":\"2023-09-11T09:36:43+00:00\",\"dateModified\":\"2023-09-11T09:36:45+00:00\",\"author\":{\"@id\":\"https:\/\/iot-ngin.eu\/#\/schema\/person\/f83a0bc16da095b9011cb2b7032968f6\"},\"breadcrumb\":{\"@id\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/iot-ngin.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android D2D strategies under the microscope\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/iot-ngin.eu\/#\/schema\/person\/f83a0bc16da095b9011cb2b7032968f6\",\"name\":\"Mike Karadimos\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/iot-ngin.eu\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fe4489547f8763a17eacf8f929db8662?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fe4489547f8763a17eacf8f929db8662?s=96&d=mm&r=g\",\"caption\":\"Mike Karadimos\"},\"url\":\"https:\/\/iot-ngin.eu\/index.php\/author\/karadimossynelixis-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android D2D strategies under the microscope - IOT NGIN","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:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/","og_locale":"en_US","og_type":"article","og_title":"Android D2D strategies under the microscope - IOT NGIN","og_description":"In IoT-NGIN, we use Nearby Connections as an off-the-shelf framework to showcase the project\u2019s contribution toward device-to-device communications. Contributions include 5G coverage extension and direct link characterization. Recently, we have investigated Nearby Connections deeply and have derived several observations. In &hellip;","og_url":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/","og_site_name":"IOT NGIN","article_published_time":"2023-09-11T09:36:43+00:00","article_modified_time":"2023-09-11T09:36:45+00:00","og_image":[{"width":1595,"height":442,"url":"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mike Karadimos","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/iot-ngin.eu\/#website","url":"https:\/\/iot-ngin.eu\/","name":"IOT NGIN","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iot-ngin.eu\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#primaryimage","inLanguage":"en-US","url":"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png","contentUrl":"https:\/\/iot-ngin.eu\/wp-content\/uploads\/2023\/09\/D2D1.png","width":1595,"height":442},{"@type":"WebPage","@id":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#webpage","url":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/","name":"Android D2D strategies under the microscope - IOT NGIN","isPartOf":{"@id":"https:\/\/iot-ngin.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#primaryimage"},"datePublished":"2023-09-11T09:36:43+00:00","dateModified":"2023-09-11T09:36:45+00:00","author":{"@id":"https:\/\/iot-ngin.eu\/#\/schema\/person\/f83a0bc16da095b9011cb2b7032968f6"},"breadcrumb":{"@id":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iot-ngin.eu\/index.php\/2023\/09\/11\/android-d2d-strategies-under-the-microscope\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/iot-ngin.eu\/"},{"@type":"ListItem","position":2,"name":"Android D2D strategies under the microscope"}]},{"@type":"Person","@id":"https:\/\/iot-ngin.eu\/#\/schema\/person\/f83a0bc16da095b9011cb2b7032968f6","name":"Mike Karadimos","image":{"@type":"ImageObject","@id":"https:\/\/iot-ngin.eu\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/fe4489547f8763a17eacf8f929db8662?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe4489547f8763a17eacf8f929db8662?s=96&d=mm&r=g","caption":"Mike Karadimos"},"url":"https:\/\/iot-ngin.eu\/index.php\/author\/karadimossynelixis-com\/"}]}},"cc_featured_image_caption":{"caption_text":"","source_text":"","source_url":""},"_links":{"self":[{"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/posts\/3489"}],"collection":[{"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/comments?post=3489"}],"version-history":[{"count":15,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/posts\/3489\/revisions"}],"predecessor-version":[{"id":4035,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/posts\/3489\/revisions\/4035"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/media\/3499"}],"wp:attachment":[{"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/media?parent=3489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/categories?post=3489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iot-ngin.eu\/index.php\/wp-json\/wp\/v2\/tags?post=3489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}