{"id":277,"date":"2021-06-23T13:28:51","date_gmt":"2021-06-23T11:28:51","guid":{"rendered":"https:\/\/support.iotize.com\/?p=277"},"modified":"2021-06-29T14:39:06","modified_gmt":"2021-06-29T12:39:06","slug":"tapc02","status":"publish","type":"post","link":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/","title":{"rendered":"TapC02"},"content":{"rendered":"<div class=\"markdown-body\"><div class=\"markdown-heading\"><h1 class=\"heading-element\">TapCO2<\/h1><a id=\"user-content-tapco2\" class=\"anchor\" aria-label=\"Permalink: TapCO2\" href=\"#tapco2\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n\n<p>This project creates a connected CO2 sensor using a TapNLink module. The project uses TapNLink's embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program retrieves data from sensor.<\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">*** DISCLAIMER ***<\/h2><a id=\"user-content--disclaimer-\" class=\"anchor\" aria-label=\"Permalink: *** DISCLAIMER ***\" href=\"#-disclaimer-\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>This example is not a product. This example is not Certified, Qualified, Approved, or Recommended for any commercial use, or for any use by the general public.<\/p>\n<blockquote>\n<blockquote>\n<p>Note: Before starting, learn how TapNLink and the associated tools work in this <a href=\"http:\/\/docs.iotize.com\/GettingStarted\/\" rel=\"nofollow\">Getting Started<\/a>.<\/p>\n<\/blockquote>\n<\/blockquote>\n<p>This project is on <a href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/tree\/main\/TapCO2-demo\">GitHub<\/a> !<\/p>\n<p>The project has 4 folders:<\/p>\n<ul>\n<li>\n<code>app_generated\/TapCO2.apk<\/code>: The sources for the mobile application that was automatically generated by the IoTize mobile app build server.<\/li>\n<li>\n<code>java\/TapCO2.java<\/code>: The Java code that is executed by the <code>JVM<\/code>.<\/li>\n<li>\n<code>iotize_studio\/TapCO2.iotz<\/code>: The IoTize Studio configuration file that is used to configure the TapNLink for this demo.<\/li>\n<li>\n<code>doc<\/code>: The illustrations and the readme file for the <code>Java<\/code> code.<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">The Main Components<\/h2><a id=\"user-content-the-main-components\" class=\"anchor\" aria-label=\"Permalink: The Main Components\" href=\"#the-main-components\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>The main components in this project, and where you can purchase them are:<\/p>\n<ul>\n<li>The TapNLink communication module <a href=\"https:\/\/www.iotize.com\/iotize-distributors.html\" rel=\"nofollow\">is available from these distributors<\/a>.<\/li>\n<li>A CO2 sensor (STC31-R3) from Sensirion connected to the Tap by I\u00b2C.<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">How it Works<\/h2><a id=\"user-content-how-it-works\" class=\"anchor\" aria-label=\"Permalink: How it Works\" href=\"#how-it-works\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>The components are placed in a plastic case (vertical cylinder) with a few holes for aeration. The pictures below show the hardware set up :<\/p>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/1.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/1.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>TapCO2 components<\/em>\n<\/p>\n<ul>\n<li>Tap and CO2 Sensor are separated so that the heat released by Tap does not affect the recovered values (but the heat from the regulator impacts the measurement).<\/li>\n<\/ul>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/2.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/2.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>The CO2 sensor<\/em>\n<\/p>\n<ul>\n<li>The co2 sensor is powered by the 5V power pack USB battery.<\/li>\n<\/ul>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/3.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/3.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>TapNLink<\/em>\n<\/p>\n<ul>\n<li>The Tap is connected to the CO2 sensor by I2C and is powered by the sensor board. Note that the regulator is (unfortunately) on the same board that the sensor. This is NOT a good idea because the quality of the measurement depends on the temperature. But it makes things easier since we use a 5V USB rechargeable battery (power pack).<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Overview<\/h2><a id=\"user-content-overview\" class=\"anchor\" aria-label=\"Permalink: Overview\" href=\"#overview\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/overview.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/overview.jpg\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>General view of the project<\/em>\n<\/p>\n<p>\nThe general diagram shows the battery connected to the sensor. The TapNLink module reads the information from the sensor with I2C communication. This data is viewed in an app that is generated automatically by the IoTize software tools based on the configuration of the TapNLink.\n<\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Schematic<\/h2><a id=\"user-content-schematic\" class=\"anchor\" aria-label=\"Permalink: Schematic\" href=\"#schematic\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/schematic.png\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/schematic.png\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>Electrical diagram<\/em>\n<\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Java Code<\/h2><a id=\"user-content-java-code\" class=\"anchor\" aria-label=\"Permalink: Java Code\" href=\"#java-code\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>In the <code>Java<\/code> code executed by the <code>JVM<\/code>, the <code>onCheck()<\/code> method is called periodically (the period is specified in the <code>TapNLinkVar<\/code> construct). With this method, we get an image of the power by considering the differences of the pulse counts during the elapsed time period.<\/p>\n<ul>\n<li>For more <code>Java<\/code> code information, <a href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/tree\/main\/TapCO2-demo\/doc\/Java_code\/Java_code.md\">click here<\/a> !<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">IoTize Studio<\/h2><a id=\"user-content-iotize-studio\" class=\"anchor\" aria-label=\"Permalink: IoTize Studio\" href=\"#iotize-studio\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ol>\n<li>Open the TapNLink configuration project <code>iotize_studio\/TapCO2.iotz<\/code> with IoTize Studio. For more information about Studio, <a href=\"http:\/\/docs.iotize.com\/UserManuals\/IotizeStudio\/\" rel=\"nofollow\">click here<\/a>.<\/li>\n<li>In the <code>IoTize_Studio\/Tap<\/code> section, set <code>User internal JVM<\/code> to <code>Yes<\/code> and set the <code>.java<\/code> file path <code>java\/TapCO2.java<\/code>.<\/li>\n<li>In IoTize Studio, execute <code>java<\/code> build to generate the <code>.bcb<\/code> file.<\/li>\n<li>Configure your <code>TapNLink<\/code> with <code>IoTize Studio<\/code> :\n<ul>\n<li><a href=\"http:\/\/docs.iotize.com\/UserManuals\/DiverseTools\/\" rel=\"nofollow\">Setup the connection to your TapNLink<\/a><\/li>\n<li>\n<a href=\"http:\/\/docs.iotize.com\/Technologies\/AWSIot\/\" rel=\"nofollow\">Set the IoT Platform (MQTT) information<\/a>.<\/li>\n<li>Click on the <code>Configure<\/code> button and wait for the end of the configuration process.<\/li>\n<\/ul>\n<\/li>\n<li>Reboot the TapNLink to apply the new configuration.<\/li>\n<\/ol>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Running the 'TapCO2' App<\/h2><a id=\"user-content-running-the-tapco2-app\" class=\"anchor\" aria-label=\"Permalink: Running the 'TapCO2' App\" href=\"#running-the-tapco2-app\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Because this app has not been published on the app stores, you have to install it manually. See how this is done <a href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/tree\/main\/TapCO2-demo\/app_generated\/TapCO2.apk\">here<\/a>.<\/li>\n<li>After your circuit is properly connected, and your TapNLink configured, launch the mobile app. The fastest way is to approach your mobile phone (with NFC enabled) to the plastic casing. NFC will launch the app and connect the mobile to the TapNLink automatically.<\/li>\n<\/ul>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/4.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/4.jpg\" width=\"400\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n   <em>TapCO2 connected<\/em>\n<\/p>\n<ul>\n<li>With <code>TapNLink<\/code>, you can now monitor the instantaneous value, or the percentage data that has been stored in the module.<\/li>\n<\/ul>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TapCO2-demo\/doc\/images\/app.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TapCO2-demo\/doc\/images\/app.jpg\" width=\"200\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>Viewing in the app<\/em>\n<\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Known issues<\/h2><a id=\"user-content-known-issues\" class=\"anchor\" aria-label=\"Permalink: Known issues\" href=\"#known-issues\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>we have designed the plastic case for a specific battery: Duracell Powerbank 3350 mAh. This battery features an automatic power off when the consumption is too low, and the problem was to increase the consumption in order to avoir the automatic power off... The solution we found consists in configuring the TapNLink in Access Point (the consumption is higher for AP than for Station mode) and to discard any 'low power' option. Unfortunately, the device is not able to sendMQTT messages (alarm to the Cloud) when it is in Access Point mode... For sure, it would be better to replace the battery by another that does not switch off the power!<\/li>\n<li>because of the 3.3V regulator, the temperature of the sensor board is too high. It impacts on the quality measurement (even more because of the previous issue).<\/li>\n<li>in the same way, it would be much better to get the current atmospheric pressure from the Cloud. But the first issue cancel any direct internet connection...<\/li>\n<\/ul>\n<p>In conclusion, the measurement are neither very accurate nor very stable. Replacing the battery would be a first good step (it would allow to reduce the overall consumption, the temperature of the sensor board and finally it would provide an access to the internet).<\/p>\n<\/div>\n<div>\n    <video src=\"https:\/\/user-images.githubusercontent.com\/38251071\/123762612-43a45e80-d8c3-11eb-8e61-0bc675535db3.mp4\" style=\"width: 250px;margin: auto;display: flex;max-width: 100%;\" controls=\"\">https:\/\/user-images.githubusercontent.com\/38251071\/123762612-43a45e80-d8c3-11eb-8e61-0bc675535db3.mp4<\/video>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This project creates a connected CO2 sensor using a TapNLink module. The project uses TapNLink&#8217;s embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program retrieves data from sensor. <span class=\"more-tag\"><a class=\"more-link\" href=\"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/\">more<span class=\"screen-reader-text\"> \"TapC02\"<\/span><\/a><\/span><!-- .more-tag --><\/p>\n","protected":false},"author":1,"featured_media":280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iotized-demo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TapC02 - IoTize Support<\/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:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TapC02 - IoTize Support\" \/>\n<meta property=\"og:description\" content=\"This project creates a connected CO2 sensor using a TapNLink module. The project uses TapNLink&#039;s embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program retrieves data from sensor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/\" \/>\n<meta property=\"og:site_name\" content=\"IoTize Support\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-23T11:28:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-29T12:39:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"2400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#\\\/schema\\\/person\\\/868a30be4ef1b454ada5232ec26d2f58\"},\"headline\":\"TapC02\",\"datePublished\":\"2021-06-23T11:28:51+00:00\",\"dateModified\":\"2021-06-29T12:39:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/\"},\"wordCount\":30,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/app.jpg\",\"articleSection\":[\"IoTized Demo with Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/\",\"name\":\"TapC02 - IoTize Support\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/app.jpg\",\"datePublished\":\"2021-06-23T11:28:51+00:00\",\"dateModified\":\"2021-06-29T12:39:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#primaryimage\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/app.jpg\",\"contentUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/app.jpg\",\"width\":1080,\"height\":2400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/06\\\/23\\\/tapc02\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/support.iotize.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TapC02\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#website\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/\",\"name\":\"IoTize Forum\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/support.iotize.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#organization\",\"name\":\"IOTIZE\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/forum.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/iotize-logo-lg.png\",\"contentUrl\":\"https:\\\/\\\/forum.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/iotize-logo-lg.png\",\"width\":240,\"height\":100,\"caption\":\"IOTIZE\"},\"image\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/iotize\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7_vBk7g7je67jFcVsLA2xw\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#\\\/schema\\\/person\\\/868a30be4ef1b454ada5232ec26d2f58\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/192.168.64.2\\\/WordPress\"],\"url\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TapC02 - IoTize Support","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:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/","og_locale":"en_US","og_type":"article","og_title":"TapC02 - IoTize Support","og_description":"This project creates a connected CO2 sensor using a TapNLink module. The project uses TapNLink's embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program retrieves data from sensor.","og_url":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/","og_site_name":"IoTize Support","article_published_time":"2021-06-23T11:28:51+00:00","article_modified_time":"2021-06-29T12:39:06+00:00","og_image":[{"width":1080,"height":2400,"url":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#article","isPartOf":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/"},"author":{"name":"admin","@id":"https:\/\/support.iotize.com\/#\/schema\/person\/868a30be4ef1b454ada5232ec26d2f58"},"headline":"TapC02","datePublished":"2021-06-23T11:28:51+00:00","dateModified":"2021-06-29T12:39:06+00:00","mainEntityOfPage":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/"},"wordCount":30,"commentCount":0,"publisher":{"@id":"https:\/\/support.iotize.com\/#organization"},"image":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#primaryimage"},"thumbnailUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg","articleSection":["IoTized Demo with Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/","url":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/","name":"TapC02 - IoTize Support","isPartOf":{"@id":"https:\/\/support.iotize.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#primaryimage"},"image":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#primaryimage"},"thumbnailUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg","datePublished":"2021-06-23T11:28:51+00:00","dateModified":"2021-06-29T12:39:06+00:00","breadcrumb":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#primaryimage","url":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg","contentUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/06\/app.jpg","width":1080,"height":2400},{"@type":"BreadcrumbList","@id":"https:\/\/support.iotize.com\/index.php\/2021\/06\/23\/tapc02\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.iotize.com\/"},{"@type":"ListItem","position":2,"name":"TapC02"}]},{"@type":"WebSite","@id":"https:\/\/support.iotize.com\/#website","url":"https:\/\/support.iotize.com\/","name":"IoTize Forum","description":"","publisher":{"@id":"https:\/\/support.iotize.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/support.iotize.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/support.iotize.com\/#organization","name":"IOTIZE","url":"https:\/\/support.iotize.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/support.iotize.com\/#\/schema\/logo\/image\/","url":"https:\/\/forum.iotize.com\/wp-content\/uploads\/2021\/01\/iotize-logo-lg.png","contentUrl":"https:\/\/forum.iotize.com\/wp-content\/uploads\/2021\/01\/iotize-logo-lg.png","width":240,"height":100,"caption":"IOTIZE"},"image":{"@id":"https:\/\/support.iotize.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/iotize","https:\/\/www.youtube.com\/channel\/UC7_vBk7g7je67jFcVsLA2xw"]},{"@type":"Person","@id":"https:\/\/support.iotize.com\/#\/schema\/person\/868a30be4ef1b454ada5232ec26d2f58","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d3f4e022858515d615d68e4596e93946d9525324c3168bf53c7c4491c42a9a0?s=96&d=mm&r=g","caption":"admin"},"sameAs":["http:\/\/192.168.64.2\/WordPress"],"url":"https:\/\/support.iotize.com\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts\/277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/comments?post=277"}],"version-history":[{"count":6,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts\/277\/revisions"}],"predecessor-version":[{"id":284,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts\/277\/revisions\/284"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/media\/280"}],"wp:attachment":[{"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/media?parent=277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/categories?post=277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/tags?post=277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}