{"id":20023,"date":"2016-09-06T20:31:04","date_gmt":"2016-09-07T04:31:04","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=20023"},"modified":"2021-03-19T14:57:47","modified_gmt":"2021-03-19T11:57:47","slug":"prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/","title":{"rendered":"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours"},"content":{"rendered":"<p>In the agriculture industry, the Internet of Things helps to build smart farming systems. Using information from sensors and machinery, such solutions enable farmers to optimize their decisions and overcome many challenges they face.<\/p>\n<p>With proper technologies and expertise at your disposal, these systems can be created in a very reasonable amount of time. Here are the details about the prototype of an automation system for greenhouse farming that we managed to create in 48 hours\u2014employing Raspberry Pi 3, an I2C light sensor, Node.js, and GE Predix.<\/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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#Description_of_the_prototype\" >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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#Hardware\" >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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#Software\" >Software<\/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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#Greenhouse_management_application\" >Greenhouse management application<\/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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Description_of_the_prototype\"><\/span>Description of the prototype<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The problem we wanted to address by implementing this prototype was the automation of greenhouse farm management. On the market today, you will hardly find a platform that provides complex management for industrial greenhouse farms.<\/p>\n<p>With such a solution available, it is possible to integrate all automation applications into one system that manages farms as a whole and optimizes resource utilization across the greenhouses.<\/p>\n<p>We included the following functionality in our platform:<\/p>\n<ul>\n<li>Gathering light data from multiple devices connected to Wi-Fi<\/li>\n<li>Saving and processing this data using <a href=\"https:\/\/www.predix.io\/docs\/#Y5J5gFHz\" target=\"_blank\" rel=\"noopener noreferrer\">Predix Time Series<\/a><\/li>\n<li>Displaying greenhouse farm health<\/li>\n<li>Displaying farm structure<\/li>\n<li>Displaying sensor data charts and statistics for greenhouses<\/li>\n<\/ul>\n<p>The prototype was first presented at the Cloud Foundry Summit 2016 in Santa Clara, CA.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hardware\"><\/span>Hardware<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To assemble edge devices, we used:<\/p>\n<ul>\n<li>Raspberry Pi 3<\/li>\n<li><a href=\"https:\/\/www.amazon.com\/gp\/product\/B00K9M6PZ8\/ref=oh_aui_detailpage_o03_s00?ie=UTF8&#038;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">Adafruit Light Sensor TSL2561<\/a><\/li>\n<li><a href=\"https:\/\/www.amazon.com\/gp\/product\/B00WPFF9OA\/ref=oh_aui_detailpage_o02_s00?ie=UTF8&#038;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">Breadboard<\/a><\/li>\n<li>Green LED, push button, and wires<\/li>\n<\/ul>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/iot-app-on-ge-predix-prototype-scheme.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/iot-app-on-ge-predix-prototype-scheme.png\" alt=\"iot-app-on-ge-predix-prototype-scheme\" width=\"320\" height=\"289\" class=\"aligncenter size-full wp-image-20086\" \/><\/a><small>Figure 1. Hardware and software integration diagram<\/small><\/center><\/p>\n<p>The <strong>TSL2561<\/strong> sensor was connected to the power and I2C pins of Raspberry Pi on the breadboard (see <em>Figure 1<\/em>).<\/p>\n<p>The <strong>LED<\/strong> was connected to one of the programmable pins set to logic 1 (3.3 V) by default and to a 5 V power source. Switching this pin to logic 0 (0 V, GRND) allows us to deliver 5 V to the LED and increase the power of its flash. Also, the push button was made to gracefully shut down the device.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/raspberry-pi-iot-prototype-for-ge-predix-greenhouse-management-app_v2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/raspberry-pi-iot-prototype-for-ge-predix-greenhouse-management-app_v2-1024x752.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-29530\" \/><\/a><small>Figure 2. Raspberry Pi-based device<\/small><\/center><\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/breadboard-in-iot-prototype-for-ge-predix-greenhouse-management-app_v2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/breadboard-in-iot-prototype-for-ge-predix-greenhouse-management-app_v2-1024x752.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-29531\" \/><\/a><small>Figure 3. Soldering components to the breadboard<\/small><\/center><\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/edge-devices-in-iot-prototype-for-ge-predix-greenhouse-management-app_v2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/edge-devices-in-iot-prototype-for-ge-predix-greenhouse-management-app_v2-1024x752.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-29532\" \/><\/a><small>Figure 4. Devices ready for demo<\/small><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Software\"><\/span>Software<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Let&#8217;s move on to the software required to make the devices work. Using the architectural principles of Linux systems, our application can be split into a set of daemons. Each daemon is responsible for only one role in the system:<\/p>\n<ul>\n<li>\n<p><strong>Node-RED<\/strong> saves sensor data to Predix. <a href=\"https:\/\/nodered.org\" target=\"_blank\" rel=\"noopener noreferrer\">Node-RED<\/a> is a tool that provides you with a visual domain-specific language for building and deploying data processing workflows in minutes. It is quite a good fit for prototyping and configuring existing systems in runtime. At Altoros, we developed a custom set of components for Node-RED that allows you to process data using GE Predix.<\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-ingestion-flow.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-ingestion-flow-1024x582.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-29533\" \/><\/a><small>Figure 5. Node-RED ingestion flow<\/small><\/center><\/p>\n<p>Our Node-RED flow is fairly simple. The system generates messages every second, reads light data from the sensor, and sends it to the Predix Time Series service. Also, in parallel, it flashes the LED when the data is sent to the cloud (<em>Figure 5<\/em>).<\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-led-flow.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-led-flow.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-29534\" \/><\/a><small>Figure 6. Node-RED flow for flashing the LED<\/small><\/center><\/p>\n<p>The flow for flashing the LED is also simple: turn on the LED, wait 50 ms, and then turn off the  LED (<em>Figure 6<\/em>).<\/p>\n<\/li>\n<li>\n<p><strong>Lux<\/strong> provides access to the TSL2561 component and allows you to gather light data. It is written using Node.js and employs the WiringPi and Express libraries. Using the I2C protocol, the Lux daemon reads data from two light sensors provided by TSL2561. Then, it calculates the light value in lux. This functionality is exposed through a REST API built on the Express library. You can find the source code of the Lux daemon in this <a href=\"https:\/\/gist.github.com\/idrabenia\/143fbdabb4bbe3b2f7120a90c9f97d35\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub Gist<\/a>.<\/p>\n<\/li>\n<li><strong>Power Button<\/strong> shuts down the device when the specified button is clicked. The code for the <em>power.js<\/em> file:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">var gpio = require('rpi-gpio');\r\nvar exec = require('child_process').exec;\r\n\r\nfunction noop() { }\r\n\r\ngpio.on('change', function(channel, value) {\r\n console.log('Channel ' + channel + ' value is now ' + value);\r\n exec('halt', noop);\r\n});\r\n\r\ngpio.setup(7, gpio.DIR_IN, gpio.EDGE_FALLING);<\/pre>\n<p>The code for the <em>Power-Off-Button.service<\/em> file:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">&#x5B;Unit]\r\nDescription=App that shutdown device when button pressed\r\n\r\n&#x5B;Service]\r\nType=idle\r\nUser=root\r\nExecStart=\/usr\/local\/bin\/node \/home\/pi\/Projects\/power-off-button\/main.js\r\nRestart=always\r\n\r\n&#x5B;Install]\r\nWantedBy=multi-user.target<\/pre>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Greenhouse_management_application\"><\/span>Greenhouse management application<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For the cloud part of our system, we developed a microservice-based application\u2014to accelerate its implementation. Each of the components can now be easily combined from a set of ready-to-use services in Predix. (Below is a high-level architecture of the application deployment.)<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/greenhouse-management-app-with-node-red-and-ge-predix.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/greenhouse-management-app-with-node-red-and-ge-predix.png\" alt=\"greenhouse-management-app-with-node-red-and-ge-predix\" width=\"320\" height=\"398\" class=\"aligncenter size-full wp-image-20084\" \/><\/a><small>Figure 7. Deployment architecture of the greenhouse management app<\/small><\/center><\/p>\n<p>The app consisted of two services:<\/p>\n<ul>\n<li>\n<p>Node-RED implementation of a REST API for querying the Predix Time Series service (<em>Figure 8<\/em>)\u2014it is a basic Node-RED flow that creates a correct Time Series JSON query, executes it, and converts the result to the format expected by the front end.<\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-led-flow-1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-greenhouse-management-node-red-led-flow-1.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-29535\" \/><\/a><small>Figure 8. Node-RED flow that implements the required REST API<\/small><\/center>\n<\/li>\n<li style=\"margin-top:12px;\">\n<p>A front-end application created using the Predix Seed app\u2014the front-end application enables us to see the health of a greenhouse farm (<em>Figure 9<\/em>). If something goes wrong, it is possible to open the details for every greenhouse and find the zone where the failure occurs (<em>Figure 10<\/em>).<\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-ge-predix-app-greenhouse-manager-dashboard.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-ge-predix-app-greenhouse-manager-dashboard.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-29536\" \/><\/a><small>Figure 9. Dashboard of the greenhouse management app<\/small><\/center><\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-ge-predix-app-greenhouse-health.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/iot-ge-predix-app-greenhouse-health.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-29537\" \/><\/a><small>Figure 10. Selected greenhouse health highlighting<\/small><\/center><\/p>\n<p>Using GE Predix, it was quite easy to create such a basic front-end app. Check out the code <a href=\"https:\/\/gist.github.com\/idrabenia\/fdb758ef9a7475227f572410566caded\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p>Also, you can see charts with the data received from the sensors (<em>Figure 11<\/em>).<\/p>\n<p>\t<center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/smart-farming-with-ge-predix-and-node-red-iot-prototype.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/smart-farming-with-ge-predix-and-node-red-iot-prototype.png\" alt=\"smart-farming-with-ge-predix-and-node-red-iot-prototype\" width=\"640\" class=\"aligncenter size-full wp-image-20094\" \/><\/a><small>Figure 11. Light data details<\/small><\/center><\/p>\n<p>To implement this app, we used AngularJS, Predix Seed, Polymer, and the Predix UI components. Here&#8217;s the source code for the chart app: <em><a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/chart.js\" target=\"_blank\" rel=\"noopener noreferrer\">chart.js<\/a><\/em> and <em><a href=\"https:\/\/github.com\/Altoros\/Light-Monitoring\/blob\/master\/chart.html\" target=\"_blank\" rel=\"noopener noreferrer\">chart.html<\/a><\/em>.<\/p>\n<\/li>\n<\/ul>\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>The main difficulties we encountered while creating our greenhouse management system were related to the integration of the TSL2561 component (light sensor) with Raspberry Pi using I2C.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/presenting-iot-prototype-with-ge-predix-and-node-red-on-cloud-foundry-summit-.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/presenting-iot-prototype-with-ge-predix-and-node-red-on-cloud-foundry-summit-.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-29538\" \/><\/a><small>Figure 12. Demonstrating the prototype to <a href=\"https:\/\/www.linkedin.com\/in\/sramji\" target=\"_blank\" rel=\"noopener noreferrer\">Sam Ramji<\/a> during the Cloud Foundry Summit 2016<\/small><\/center><\/p>\n<p>At the same time, we found out that Node-RED is a rather good fit for making prototypes on both sides: on edge and for a cloud-based implementation of the back end. The stability of Predix and its services was sufficient for prototyping. However, for production development, it would be great to wait until Predix becomes even more reliable.<\/p>\n<p>When working with the Predix Time Series service, there were several significant delays between the data ingestion and the time when it was ready to be read on some workloads. We think that the platform stability might be the reason, and this behavior will be improved in the future.<\/p>\n<p>This prototype was created by my colleague <a href=\"https:\/\/www.altoros.com\/blog\/author\/razhnov-igor\/\">Igor Razhnov<\/a> and me. Let us know if you want a demo or need assistance in creating a similar prototype in 48 hours.<\/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\/an-iot-prototype-light-monitoring-with-nodered-components-in-predix\/\">IoT Prototype: Light Monitoring with NodeRED Components in Predix<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/how-to-configure-predix-analytics-services-and-use-them-from-a-node-js-app\/\">How to Set Up Predix Analytics Services and Use Them from a Node.js App<\/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<hr>\n<p><center><small>The post was written by <a href=\"https:\/\/www.altoros.com\/blog\/author\/ilya-drabenia\/\">Ilya Drabenia<\/a> and edited by <a href=\"https:\/\/www.altoros.com\/blog\/author\/viktoryia-fedzkovich\/\">Viktoria Fedzkovich<\/a>.<\/center><\/small><br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the agriculture industry, the Internet of Things helps to build smart farming systems. Using information from sensors and machinery, such solutions enable farmers to optimize their decisions and overcome many challenges they face.<\/p>\n<p>With proper technologies and expertise at your disposal, these systems can be created in a very reasonable [&#8230;]<\/p>\n","protected":false},"author":71,"featured_media":29528,"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-20023","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>Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros<\/title>\n<meta name=\"description\" content=\"Learn how to build an IoT-based system\u2014automating management, monitoring health, and gathering statistics of greenhouse farms\u2014in 48 hours.\" \/>\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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros\" \/>\n<meta property=\"og:description\" content=\"In the agriculture industry, the Internet of Things helps to build smart farming systems. Using information from sensors and machinery, such solutions enable farmers to optimize their decisions and overcome many challenges they face. With proper technologies and expertise at your disposal, these systems can be created in a very reasonable [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-07T04:31:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-19T11:57:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"369\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\",\"name\":\"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif\",\"datePublished\":\"2016-09-07T04:31:04+00:00\",\"dateModified\":\"2021-03-19T11:57:47+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif\",\"width\":640,\"height\":369},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours\"}]},{\"@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":"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros","description":"Learn how to build an IoT-based system\u2014automating management, monitoring health, and gathering statistics of greenhouse farms\u2014in 48 hours.","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\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/","og_locale":"en_US","og_type":"article","og_title":"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros","og_description":"In the agriculture industry, the Internet of Things helps to build smart farming systems. Using information from sensors and machinery, such solutions enable farmers to optimize their decisions and overcome many challenges they face. With proper technologies and expertise at your disposal, these systems can be created in a very reasonable [...]","og_url":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/","og_site_name":"Altoros","article_published_time":"2016-09-07T04:31:04+00:00","article_modified_time":"2021-03-19T11:57:47+00:00","og_image":[{"width":640,"height":369,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif","type":"image\/gif"}],"author":"Ilya Drabenia","twitter_misc":{"Written by":"Ilya Drabenia","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/","url":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/","name":"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif","datePublished":"2016-09-07T04:31:04+00:00","dateModified":"2021-03-19T11:57:47+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/48c2eaf6d86abc9fa945bc3860fa2dc2"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/09\/smart-farming-with-ge-predix-and-node-red-iot-prototype_version-3.gif","width":640,"height":369},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/prototyping-a-greenhouse-management-system-with-node-red-and-predix-in-48-hours\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Prototyping a Greenhouse Management System with Node-RED and Predix in 48 Hours"}]},{"@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\/20023","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=20023"}],"version-history":[{"count":15,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/20023\/revisions"}],"predecessor-version":[{"id":60738,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/20023\/revisions\/60738"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/29528"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=20023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=20023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=20023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}