{"id":19726,"date":"2016-05-05T21:34:01","date_gmt":"2016-05-05T18:34:01","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=19726"},"modified":"2018-08-01T17:13:36","modified_gmt":"2018-08-01T14:13:36","slug":"an-iot-prototype-light-monitoring-with-nodered-components-in-predix","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/","title":{"rendered":"An IoT Prototype: Light Monitoring with NodeRED Components in Predix"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/GE-Predix-Industrial-Lighting-Monitor.png\" alt=\"GE-Predix-Industrial-Lighting-Monitor\" width=\"180\" style=\"margin: 0px 0px 15px 20px\" class=\"alignright size-full wp-image-19739\" \/><\/p>\n<p><a href=\"https:\/\/nodered.org\" target=\"_blank\">NodeRED<\/a> is an open-source IoT tool that helps to reduce development efforts when working with hardware, APIs, and services. However, how long exactly would it take to build something tangible? What if we used it with a PaaS?<\/p>\n<p>Our team has created some NodeRED components for GE Predix when working on a prototype for a light monitoring system. Here is a detailed account of the project, including its source code, data flow, hardware details, etc.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#A_description_of_the_prototype\" >A description of the prototype<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#The_hardware\" >The hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#The_back_end\" >The back end<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#The_front_end\" >The front end<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#Conclusions\" >Conclusions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"A_description_of_the_prototype\"><\/span>A description of the prototype<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The prototype models an industrial light monitoring system based on an ambient light sensor, which is a simple photoresistor.<\/p>\n<p>The device identifies the level of lighting conditions; the data is then processed and sent into Predix by Raspberry Pi. From there, a NodeRED app forwards the information to Dashboard Seed, which draws a graph\u2014showing how lighting conditions change over time.<\/p>\n<p>Each component is relatively independent, so the system can be easily scaled and adapted for larger enterprise use cases. This may include managing lighting conditions within manufacturing facilities, greenhouses, farms, etc.<\/p>\n<p>The prototype is powered by three GE Predix services:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.predix.io\/services\/service.html?id=1177\" target=\"_blank\">Time Series<\/a>, a component for managing time series data<\/li>\n<li><a href=\"https:\/\/www.predix.io\/services\/service.html?id=1172\" target=\"_blank\">User Account and Authentication<\/a>, Cloud Foundry\u2019s multi-tenant identity management service<\/li>\n<li><a href=\"https:\/\/www.predix.io\/services\/starter-pack.html?id=1225\" target=\"_blank\">Dashboard Seed<\/a>, a set of UI modules for building industrial monitoring apps<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_hardware\"><\/span>The hardware<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For this prototype, I used the <a href=\"https:\/\/learn.sunfounder.com\/lesson-10-photoresistor-3\/\" target=\"_blank\">Universal Starter Kit for Raspberry PI<\/a>. The device is Raspberry Pi 3:<\/p>\n<ul>\n<li><strong>CPU:<\/strong> 4\u00d7ARM Cortex-A53, 1.2 GHz<\/li>\n<li><strong>RAM:<\/strong>1 GB LPDDR2 (900 MHz)<\/li>\n<li><strong>Networking:<\/strong> Ethernet, 802.11n wireless<\/li>\n<li><strong>Bluetooth:<\/strong> 4.1 Classic, Bluetooth Low Energy<\/li>\n<li><strong>Storage:<\/strong> microSD<\/li>\n<li><strong>GPIO:<\/strong> a 40-pin header, populated<\/li>\n<\/ul>\n<p>Raspberry Pi is connected to a board with a photoresistor and a two-channel analogue-to-digital converter (ADC), which converts analogue signals from the photoresistor into digital signals.<\/p>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Predix-Lighting-Control-Prototype.png\" alt=\"Predix-Lighting-Control-Prototype\" width=\"400\" class=\"aligncenter size-full wp-image-19743\" \/><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_back_end\"><\/span>The back end<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The back end is made up of three components:<\/p>\n<ol>\n<li style=\"margin-bottom: 6px;\">On Raspberry Pi, we have a C app that reads light values from ADC, using the I\u00b2C protocol, and saves them to a file.\n<p><small><a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/photoresistor.c\" target=\"_blank\">GitHub repo<\/a><\/small><\/p>\n<\/li>\n<li style=\"margin-bottom: 6px;\">A NodeRED app deployed to the same Raspberry Pi reads from the file and converts everything into a format supported by Predix Time Series. After that, it ingests the data directly into Time Series.\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.png\" alt=\"iot-prototype-light-monitoring-with-nodered-components-in-predix-v1\" width=\"640\" class=\"aligncenter size-full wp-image-19741\" \/><\/center><\/p>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/iot-prototype-flow-v1.png\" alt=\"iot-prototype-flow-v1\" width=\"640\" class=\"aligncenter size-full wp-image-19740\" \/><\/center><\/p>\n<p><small><a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/backend-flow.json\" target=\"_blank\">GutHub repo<\/a><\/small><\/p>\n<\/li>\n<li style=\"margin-bottom: 6px;\">We\u2019ve also configured another NodeRED flow that provides a way to query the Time Series Service and receive data in a format supported by Predix\u2019s UI Chart components.\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/NodeRED-and-Predix-for-Fast-Prototyping-Example.png\" alt=\"NodeRED-and-Predix-for-Fast-Prototyping-Example\" width=\"640\" class=\"aligncenter size-full wp-image-19742\" \/><\/center><\/p>\n<p><small><a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/query.js\" target=\"_blank\">GitHub repo<\/a><\/small><\/p>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_front_end\"><\/span>The front end<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The UI app draws a chart based on the data. It is powered by Predix Seed and uses Predix\u2019s UI Chart components. Data is updated dynamically through a method available in Predix\u2019s UI. See these links for the source code of the chart app: <a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/chart.js\" target=\"_blank\">chart.js<\/a> and <a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/chart.html\" target=\"_blank\">chart.html<\/a>.<\/p>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Predix-Seed-UI-Lighting-Prototype.png\" alt=\"Predix-Seed-UI-Lighting-Prototype\" width=\"640\" class=\"aligncenter size-full wp-image-19744\" \/><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Conclusions\"><\/span>Conclusions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This prototype is another proof that NodeRED really does save a considerable amount of effort, whether you are working with software or hardware. Using Predix\u2019s Chart and our NodeRED components, I was able to build an end-to-end application, design the circuit, and set up the hardware in under 12 hours. Most of this time was spent on the hardware, the circuit, and the low-level application in C. Dashboard Seed has a steep learning curve, but with due experience, creating charts based on data from Time Series should not take too much time.<\/p>\n<p>On the downside, Time Series has shown a significant latency in our use cases. Data becomes visible in 3\u20135 minutes after being ingested. The response latencies average at several seconds and can reach 10 seconds. Hopefully, this is temporary and performance will be improved in the coming months.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/collecting-time-series-data-with-predix-a-golang-api-wrapper-included\/\">Collecting Time Series Data with Predix (a Golang API Wrapper Included)<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\">Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/how-to-use-snap-packages-when-collecting-iot-data-with-predix-time-series\/\">How to Use Snap Packages when Collecting IoT Data with Predix Time Series<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<\/p>\n<p>NodeRED is an open-source IoT tool that helps to reduce development efforts when working with hardware, APIs, and services. However, how long exactly would it take to build something tangible? What if we used it with a PaaS?<\/p>\n<p>Our team has created some NodeRED components for GE Predix when working on [&#8230;]<\/p>\n","protected":false},"author":71,"featured_media":33714,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[873,117,647],"class_list":["post-19726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-cloud-native","tag-iot","tag-predix"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros<\/title>\n<meta name=\"description\" content=\"Learn how to build an end-to-end IoT app and set up the edge device in just 12 hours\u2014with Predix\u2019s Chart and NodeRED components.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros\" \/>\n<meta property=\"og:description\" content=\"NodeRED is an open-source IoT tool that helps to reduce development efforts when working with hardware, APIs, and services. However, how long exactly would it take to build something tangible? What if we used it with a PaaS? Our team has created some NodeRED components for GE Predix when working on [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-05T18:34:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-08-01T14:13:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Ilya Drabenia\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ilya Drabenia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\",\"name\":\"An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif\",\"datePublished\":\"2016-05-05T18:34:01+00:00\",\"dateModified\":\"2018-08-01T14:13:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An IoT Prototype: Light Monitoring with NodeRED Components in Predix\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2\",\"name\":\"Ilya Drabenia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/1108467-150x150.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/1108467-150x150.jpg\",\"caption\":\"Ilya Drabenia\"},\"description\":\"Ilya Drabenia is a Technical Lead at Altoros. He has broad experience in building software architectures, including design and development of complex solutions. Ilya is passionate about microservices, domain-driven design, as well as scalable and parallel algorithms. He also holds an MSc degree in Computer Science. See his profile on GitHub.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/ilya-drabenia\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros","description":"Learn how to build an end-to-end IoT app and set up the edge device in just 12 hours\u2014with Predix\u2019s Chart and NodeRED components.","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:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/","og_locale":"en_US","og_type":"article","og_title":"An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros","og_description":"NodeRED is an open-source IoT tool that helps to reduce development efforts when working with hardware, APIs, and services. However, how long exactly would it take to build something tangible? What if we used it with a PaaS? Our team has created some NodeRED components for GE Predix when working on [...]","og_url":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/","og_site_name":"Altoros","article_published_time":"2016-05-05T18:34:01+00:00","article_modified_time":"2018-08-01T14:13:36+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif","type":"image\/gif"}],"author":"Ilya Drabenia","twitter_misc":{"Written by":"Ilya Drabenia","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/","url":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/","name":"An IoT Prototype: Light Monitoring with NodeRED Components in Predix | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif","datePublished":"2016-05-05T18:34:01+00:00","dateModified":"2018-08-01T14:13:36+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/05\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix-v1.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"An IoT Prototype: Light Monitoring with NodeRED Components in Predix"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2","name":"Ilya Drabenia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/1108467-150x150.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/1108467-150x150.jpg","caption":"Ilya Drabenia"},"description":"Ilya Drabenia is a Technical Lead at Altoros. He has broad experience in building software architectures, including design and development of complex solutions. Ilya is passionate about microservices, domain-driven design, as well as scalable and parallel algorithms. He also holds an MSc degree in Computer Science. See his profile on GitHub.","url":"https:\/\/www.altoros.com\/blog\/author\/ilya-drabenia\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/19726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=19726"}],"version-history":[{"count":9,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/19726\/revisions"}],"predecessor-version":[{"id":33717,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/19726\/revisions\/33717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/33714"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=19726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=19726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=19726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}