{"id":253,"date":"2021-04-07T09:06:18","date_gmt":"2021-04-07T09:06:18","guid":{"rendered":"https:\/\/forum.iotize.com\/?p=253"},"modified":"2021-04-26T14:38:43","modified_gmt":"2021-04-26T14:38:43","slug":"timerswitch","status":"publish","type":"post","link":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/","title":{"rendered":"TimerSwitch"},"content":{"rendered":"<div class=\"markdown-body\"><p>This project implements TapNLink in a relay, so that the state of the relay can be changed from a mobile app. The project uses TapNLink's embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program to control the relay.<\/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\/TimerSwitch-demo\">Github<\/a> !<\/p>\n<p>The project has 4 folders:<\/p>\n<ul>\n<li>\n<code>app_generated\/TimerSwitch.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\/TimerSwitch.java<\/code>: The Java code that is executed by the <code>JVM<\/code>.<\/li>\n<li>\n<code>iotize_studio\/WattTap.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 java 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 of this project, and where you can purchase them are:<\/p>\n<ul>\n<li>\n<p>TapNLink communication module <a href=\"https:\/\/www.iotize.com\/iotize-distributors.html\" rel=\"nofollow\">is available from these distibutors<\/a>.<\/p>\n<\/li>\n<li>\n<p>Plastic casing <a href=\"https:\/\/www.aliexpress.com\/item\/4000287507400.html?spm=a2g0o.productlist.0.0.309d44dfcbyy66&amp;algo_pvid=642dec70-5635-4468-b159-30d6b13c2028&amp;algo_expid=642dec70-5635-4468-b159-30d6b13c2028-3&amp;btsid=2100bb5116136655014285201e8088&amp;ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_\" rel=\"nofollow\">is available here<\/a>.<\/p>\n<\/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>These pictures show the hardware. An extension cord has been cut and each half has been connected to the relay board.<\/p>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/picture_1.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/picture_1.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>Assembly of the relay<\/em>\n<\/p>\n<p>\nThe relay acts as a switch between the mains plug and the load.\n<\/p>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/picture_2.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/picture_2.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>Inside of the relay casing<\/em>\n<\/p>\n<p>\nInside the plastic casing, the TapNLink module is linked to the relay with a ribbon cable.\n<\/p>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/picture_3.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/picture_3.jpg\" width=\"250\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>Tap relay<\/em>\n<\/p>\n<p>\nThe relay element switches the current to the device on and off. \n<\/p>\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\/TimerSwitch-demo\/doc\/images\/overview.png\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/overview.png\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>General view of the project<\/em>\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\/TimerSwitch-demo\/doc\/images\/schematic.png\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-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>The <code>Java<\/code> code embedded in the <code>JVM<\/code> allows us to do an <code>onCheck()<\/code> call at each time interval (This interval is defined in a <code>TapNLinkVar<\/code> construct). With this <code>onCheck()<\/code> method, by verifying that the provided <code>id<\/code> corresponds to the desired <code>id<\/code>, we will be able to perform data recovery tasks. The <code>TapNLinkVar<\/code> value updates or sends an MQTT message.<\/p>\n<ul>\n<li>For more <code>java<\/code> code information, <a href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/tree\/main\/TimerSwitch-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\/TimerSwitch.iotz<\/code> with IoTize Studio. For more information about IoTize 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\/TimerSwitch.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>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 'TimerSwitch' App<\/h2><a id=\"user-content-running-the-timerswitch-app\" class=\"anchor\" aria-label=\"Permalink: Running the 'TimerSwitch' App\" href=\"#running-the-timerswitch-app\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Because this app has not been published on app stores, you have to install it manually. See how this is done <a href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/tree\/main\/TimerSwitch-demo\/app_generated\/TimerSwitch.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<li>With <code>TapNLink<\/code>, you can now monitor and control the relay status.<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Active Mode<\/h2><a id=\"user-content-active-mode\" class=\"anchor\" aria-label=\"Permalink: Active Mode\" href=\"#active-mode\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>Defining the mode in the State panel allows you to either force the state of the relay (On\/Off), or to set it to Auto so that the system manages the state according to a daily set up.<\/p>\n<p align=\"center\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/view_1.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/view_1.jpg\" width=\"200\" style=\"max-width: 100%;\"><\/a>\n<\/p>\n<p align=\"center\">\n    <em>State panel<\/em>\n<\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Manual On<\/h2><a id=\"user-content-manual-on\" class=\"anchor\" aria-label=\"Permalink: Manual On\" href=\"#manual-on\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>Pressing the button to manually change the state to On has priority. Pressing the button switches the state to On for the amount of time that is defined in the Access panel.<\/p>\n <p align=\"center\">\n <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/view_3.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/view_3.jpg\" width=\"200\" style=\"max-width: 100%;\"><\/a>\n <\/p>\n <p align=\"center\">\n     <em>Manual On duration and progress<\/em>\n <\/p>\n<div class=\"markdown-heading\"><h2 class=\"heading-element\">Automatic Run<\/h2><a id=\"user-content-automatic-run\" class=\"anchor\" aria-label=\"Permalink: Automatic Run\" href=\"#automatic-run\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>This option makes it possible to automatically return to Auto mode at the change of the hour. When Automatic Run is active, the mode is retrieved from the daily setup at the change of the hour.<\/p>\n <p align=\"center\">\n <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/blob\/main\/TimerSwitch-demo\/doc\/images\/view_2.jpg\"><img decoding=\"async\" src=\"https:\/\/github.com\/iotize-sas\/Open-Projects\/raw\/main\/TimerSwitch-demo\/doc\/images\/view_2.jpg\" width=\"200\" style=\"max-width: 100%;\"><\/a>\n <\/p>\n <p align=\"center\">\n     <em>Return to Auto mode<\/em>\n <\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This project implements TapNLink in a relay, so that the state of the relay can be changed from a mobile app. The project uses TapNLink&#8217;s embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program to control the relay. <span class=\"more-tag\"><a class=\"more-link\" href=\"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/\">more<span class=\"screen-reader-text\"> \"TimerSwitch\"<\/span><\/a><\/span><!-- .more-tag --><\/p>\n","protected":false},"author":1,"featured_media":144,"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-253","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>TimerSwitch - 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\/04\/07\/timerswitch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TimerSwitch - IoTize Support\" \/>\n<meta property=\"og:description\" content=\"This project implements TapNLink in a relay, so that the state of the relay can be changed from a mobile app. The project uses TapNLink&#039;s embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program to control the relay.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/\" \/>\n<meta property=\"og:site_name\" content=\"IoTize Support\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-07T09:06:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-26T14:38:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1308\" \/>\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\\\/04\\\/07\\\/timerswitch\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#\\\/schema\\\/person\\\/868a30be4ef1b454ada5232ec26d2f58\"},\"headline\":\"TimerSwitch\",\"datePublished\":\"2021-04-07T09:06:18+00:00\",\"dateModified\":\"2021-04-26T14:38:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/\"},\"wordCount\":13,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/view_3.jpg\",\"articleSection\":[\"IoTized Demo with Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/\",\"name\":\"TimerSwitch - IoTize Support\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/view_3.jpg\",\"datePublished\":\"2021-04-07T09:06:18+00:00\",\"dateModified\":\"2021-04-26T14:38:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#primaryimage\",\"url\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/view_3.jpg\",\"contentUrl\":\"https:\\\/\\\/support.iotize.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/view_3.jpg\",\"width\":1080,\"height\":1308},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/support.iotize.com\\\/index.php\\\/2021\\\/04\\\/07\\\/timerswitch\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/support.iotize.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TimerSwitch\"}]},{\"@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":"TimerSwitch - 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\/04\/07\/timerswitch\/","og_locale":"en_US","og_type":"article","og_title":"TimerSwitch - IoTize Support","og_description":"This project implements TapNLink in a relay, so that the state of the relay can be changed from a mobile app. The project uses TapNLink's embedded Java Virtual Machine (JVM) as the application processor. The JVM runs a simple Java program to control the relay.","og_url":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/","og_site_name":"IoTize Support","article_published_time":"2021-04-07T09:06:18+00:00","article_modified_time":"2021-04-26T14:38:43+00:00","og_image":[{"width":1080,"height":1308,"url":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.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\/04\/07\/timerswitch\/#article","isPartOf":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/"},"author":{"name":"admin","@id":"https:\/\/support.iotize.com\/#\/schema\/person\/868a30be4ef1b454ada5232ec26d2f58"},"headline":"TimerSwitch","datePublished":"2021-04-07T09:06:18+00:00","dateModified":"2021-04-26T14:38:43+00:00","mainEntityOfPage":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/"},"wordCount":13,"commentCount":0,"publisher":{"@id":"https:\/\/support.iotize.com\/#organization"},"image":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#primaryimage"},"thumbnailUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.jpg","articleSection":["IoTized Demo with Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/","url":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/","name":"TimerSwitch - IoTize Support","isPartOf":{"@id":"https:\/\/support.iotize.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#primaryimage"},"image":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#primaryimage"},"thumbnailUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.jpg","datePublished":"2021-04-07T09:06:18+00:00","dateModified":"2021-04-26T14:38:43+00:00","breadcrumb":{"@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#primaryimage","url":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.jpg","contentUrl":"https:\/\/support.iotize.com\/wp-content\/uploads\/2021\/03\/view_3.jpg","width":1080,"height":1308},{"@type":"BreadcrumbList","@id":"https:\/\/support.iotize.com\/index.php\/2021\/04\/07\/timerswitch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.iotize.com\/"},{"@type":"ListItem","position":2,"name":"TimerSwitch"}]},{"@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\/253","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=253"}],"version-history":[{"count":4,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/posts\/253\/revisions\/266"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/media\/144"}],"wp:attachment":[{"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.iotize.com\/index.php\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}