{"id":4771,"date":"2017-06-02T17:20:06","date_gmt":"2017-06-02T17:20:06","guid":{"rendered":"https:\/\/blog-stg.cheesecakelabs.com\/?p=4771\/"},"modified":"2022-07-01T18:35:57","modified_gmt":"2022-07-01T18:35:57","slug":"glue-internet-node-red","status":"publish","type":"post","link":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/","title":{"rendered":"The Glue of the Internet: What is Node-RED?"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Have you ever wanted to prototype a RESTful API, integrate Internet services or IoT devices in a few minutes without having to learn how to use several APIs and libraries? Here you go.<\/span><\/p>\n<p><!--more--><\/p>\n<h2><span style=\"font-weight: 400;\">Node-WHAT?<\/span><\/h2>\n<p><a href=\"https:\/\/nodered.org\/\"><span style=\"font-weight: 400;\">Node-RED<\/span><\/a><span style=\"font-weight: 400;\"> is &#8220;a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways&#8221;. It uses a visual web interface, where blocks \u2013 also called <strong>nodes<\/strong> \u2013 can receive and send messages to other nodes. It makes the whole integration process easier by abstracting a lot of repetitive and boilerplate code needed to make these simple things.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This tool is built on top of <\/span><a href=\"https:\/\/nodejs.org\"><span style=\"font-weight: 400;\">node.js<\/span><\/a><span style=\"font-weight: 400;\">, and each node runs some JavaScript code. You can also use <\/span><i><span style=\"font-weight: 400;\">function nodes<\/span><\/i><span style=\"font-weight: 400;\"> to write your own logic. Here&#8217;s an example with a simple Hello World:<\/span><\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_4640\" aria-describedby=\"caption-attachment-4640\" style=\"width: 862px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4640 size-full\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/hello.gif\" alt=\"Shows a flow which outputs &quot;Hello World&quot;\" width=\"862\" height=\"296\"><figcaption id=\"caption-attachment-4640\" class=\"wp-caption-text\"><em>A simple Hello World<\/em><\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">In this example, an <\/span><i><span style=\"font-weight: 400;\">inject<\/span><\/i> <i><span style=\"font-weight: 400;\">node<\/span><\/i><span style=\"font-weight: 400;\"> is used to send a message object manually to a <\/span><i><span style=\"font-weight: 400;\">function<\/span><\/i> <i><span style=\"font-weight: 400;\">node<\/span><\/i><span style=\"font-weight: 400;\">, where we&#8217;ve set a &#8220;Hello World&#8221; phrase as the <\/span><i><span style=\"font-weight: 400;\">payload<\/span><\/i><span style=\"font-weight: 400;\"> of that message. Then, it passes the message forward to a <\/span><i><span style=\"font-weight: 400;\">debug<\/span><\/i> <i><span style=\"font-weight: 400;\">node<\/span><\/i><span style=\"font-weight: 400;\">, which&nbsp;prints it on the debug tab.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can run Node-RED on your computer using <\/span><a href=\"https:\/\/nodered.org\/docs\/getting-started\/installation\"><span style=\"font-weight: 400;\">Linux, MacOS and Windows<\/span><\/a><span style=\"font-weight: 400;\">. It is also supported on other platforms, such as <\/span><a href=\"https:\/\/nodered.org\/docs\/hardware\/raspberrypi\"><span style=\"font-weight: 400;\">Raspberry Pi<\/span><\/a> <span style=\"font-weight: 400;\">a<\/span><span style=\"font-weight: 400;\">n<\/span><span style=\"font-weight: 400;\">d<\/span> <a href=\"https:\/\/nodered.org\/docs\/hardware\/beagleboneblack\"><span style=\"font-weight: 400;\">BeagleBone Boards<\/span><\/a><span style=\"font-weight: 400;\">, cloud services like <\/span><a href=\"https:\/\/nodered.org\/docs\/platforms\/bluemix\"><span style=\"font-weight: 400;\">IBM Bluemix<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/nodered.org\/docs\/platforms\/aws\"><span style=\"font-weight: 400;\">AWS<\/span><\/a><span style=\"font-weight: 400;\">, and even on <\/span><a href=\"https:\/\/nodered.org\/docs\/platforms\/android\"><span style=\"font-weight: 400;\">Android<\/span><\/a><span style=\"font-weight: 400;\">. I have two&nbsp;instances running on Raspberry Pis, one at home and another at our&nbsp;company&#8217;s office. We also host&nbsp;one on a <\/span><a href=\"https:\/\/www.digitalocean.com\/\"><span style=\"font-weight: 400;\">DigitalOcean<\/span><\/a><span style=\"font-weight: 400;\"> droplet.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Nice! But what can I&nbsp;do with it?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">One of the things that Node-RED excels is <strong>integrating Internet services<\/strong>. Let&#8217;s say you want a notification on your phone every morning with the weather of&nbsp;the day. You may use something like <\/span><a href=\"https:\/\/darksky.net\/\"><span style=\"font-weight: 400;\">darksky.net<\/span><\/a><span style=\"font-weight: 400;\"> to get the forecast, format a message, and send it to you&nbsp;using something like <\/span><a href=\"https:\/\/www.pushbullet.com\/\"><span style=\"font-weight: 400;\">Pushbullet<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/pushover.net\/\"><span style=\"font-weight: 400;\">Pushover<\/span><\/a><span style=\"font-weight: 400;\">. You might&nbsp;do it easily writing some code, but can you do it in <strong>10 minutes<\/strong>?<\/span><\/p>\n<figure id=\"attachment_4642\" aria-describedby=\"caption-attachment-4642\" style=\"width: 968px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4642 size-full\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-06-01-at-17.17.56.png\" alt=\"Sending weather information to mobile device\" width=\"968\" height=\"111\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-06-01-at-17.17.56.png 968w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-06-01-at-17.17.56-768x88.png 768w\" sizes=\"(max-width: 968px) 100vw, 968px\" \/><figcaption id=\"caption-attachment-4642\" class=\"wp-caption-text\">Sending weather information to mobile device<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Done. A simple <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-bigtimer\"><i><span style=\"font-weight: 400;\">timer node<\/span><\/i><\/a><span style=\"font-weight: 400;\"> fires on sunrise (the actual time is defined by your latitude and longitude), sending a flag to a <\/span><i><span style=\"font-weight: 400;\">function node<\/span><\/i><span style=\"font-weight: 400;\"> that gets the current time and date. This&nbsp;information is sent to a <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-node-darksky\"><i><span style=\"font-weight: 400;\">darksky node<\/span><\/i><\/a><span style=\"font-weight: 400;\"> that uses darksky&#8217;s API to get the weather, passing it as a JSON to a <\/span><i><span style=\"font-weight: 400;\">template node<\/span><\/i><span style=\"font-weight: 400;\"> that formats it using the pattern below:<\/span><\/p>\n<p style=\"text-align: center;\"><code>Good morning! Today we have {{payload.detail}} With temperatures from {{payload.mintemp}}\u02daC to {{payload.maxtemp}}\u02daC.<\/code><\/p>\n<p><span style=\"font-weight: 400;\">The message then goes to a <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-node-pushover\"><i><span style=\"font-weight: 400;\">pushover node<\/span><\/i><\/a><span style=\"font-weight: 400;\">,<\/span> <span style=\"font-weight: 400;\">w<\/span><span style=\"font-weight: 400;\">h<\/span><span style=\"font-weight: 400;\">i<\/span><span style=\"font-weight: 400;\">c<\/span><span style=\"font-weight: 400;\">h makes a push notification pop on your phone every morning.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">IoT devices<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Ok, let&#8217;s make things more interesting. Say you have some <\/span><a href=\"https:\/\/www.lifx.com\/\"><span style=\"font-weight: 400;\">LiFX bulbs<\/span><\/a><span style=\"font-weight: 400;\"> and you&#8217;d like to integrate them with Apple HomeKit, so you can control&nbsp;them with&nbsp;your iPhone&#8217;s Home app and Siri. You could use something like <\/span><a href=\"https:\/\/github.com\/nfarina\/homebridge\"><span style=\"font-weight: 400;\">Homebridge<\/span><\/a><span style=\"font-weight: 400;\"> and the LiFX&#8217;s API, but that would require a lot of time and code. And if you decide to add a new bulb, you&#8217;d have to do it all over again.<\/span><\/p>\n<figure id=\"attachment_4645\" aria-describedby=\"caption-attachment-4645\" style=\"width: 712px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4645 size-full\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/lifx.gif\" alt=\"A flow showing Integration of LiFX bulbs and HomeKit\" width=\"712\" height=\"426\"><figcaption id=\"caption-attachment-4645\" class=\"wp-caption-text\"><em>Integration of LiFX bulbs and HomeKit<\/em><\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">That&#8217;s what we did on our office. We made two group of lights that are now controllable by any authorized iPhone. We used a <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-homekit\"><i><span style=\"font-weight: 400;\">homekit node<\/span><\/i><\/a><span style=\"font-weight: 400;\">,<\/span> <span style=\"font-weight: 400;\">making the whole process <strong>a lot easier <\/strong>than adding devices by code using Homebrigde. Those <\/span><i><span style=\"font-weight: 400;\">function nodes<\/span><\/i><span style=\"font-weight: 400;\">&nbsp;on the center just adapt the incoming messages to the format that the next node expects.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But at home, I&#8217;ve some light bulbs and sensors that don&#8217;t have any APIs, communicating only through the <\/span><a href=\"http:\/\/mqtt.org\/\"><span style=\"font-weight: 400;\">MQTT<\/span><\/a><span style=\"font-weight: 400;\"> protocol. I wanted to integrate these devices and a few others, like a <\/span><a href=\"https:\/\/store.lockitron.com\/products\/bolt-bridge\"><span style=\"font-weight: 400;\">Lockitron Bolt<\/span><\/a><span style=\"font-weight: 400;\"> and my PS4, with <strong>Amazon Echo <\/strong>and<strong> iPhone\/Siri<\/strong>. Also, having a <strong>web dashboard<\/strong> to see some charts would totally be awesome. Here&#8217;s what I&#8217;ve came up with:<\/span><\/p>\n<figure id=\"attachment_4651\" aria-describedby=\"caption-attachment-4651\" style=\"width: 690px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4651 size-full\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/ezgif-3-50b0f72f05.gif\" alt=\"This shows all my home integration flows\" width=\"690\" height=\"463\"><figcaption id=\"caption-attachment-4651\" class=\"wp-caption-text\"><em>All my home integration flows<\/em><\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Using some simple nodes like <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-alexa-home-skill\"><i><span style=\"font-weight: 400;\">alexa home skill<\/span><\/i><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-dashboard\"><i><span style=\"font-weight: 400;\">dashboard<\/span><\/i><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/flows.nodered.org\/node\/node-red-contrib-firebase\"><i><span style=\"font-weight: 400;\">firebase<\/span><\/i><\/a><span style=\"font-weight: 400;\"> and nodes that let me run <\/span><i><span style=\"font-weight: 400;\">shell<\/span><\/i><span style=\"font-weight: 400;\"> commands, I&#8217;ve manage to effortlessly integrate everything with everything much quicker than if I tried to do it actually coding. Here&#8217;s how the integrations look like (in Portuguese, sorry):<\/span><\/p>\n<figure id=\"attachment_4665\" aria-describedby=\"caption-attachment-4665\" style=\"width: 864px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4665 size-full\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/resized-dashboard.png\" alt=\"Generated Dashboard showing Living Room's temperature, humidity and other variables\" width=\"864\" height=\"764\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/resized-dashboard.png 864w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/resized-dashboard-768x679.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><figcaption id=\"caption-attachment-4665\" class=\"wp-caption-text\"><em>Resulting Dashboard<\/em><\/figcaption><\/figure>\n<figure id=\"attachment_4653\" aria-describedby=\"caption-attachment-4653\" style=\"width: 278px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4653\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/ezgif.com-optimize_abajur.gif\" alt=\"Gif turning on a table light using Siri and turning it off using Alexa\" width=\"278\" height=\"495\"><figcaption id=\"caption-attachment-4653\" class=\"wp-caption-text\"><em>Table light integrating with Siri and Alexa<\/em><\/figcaption><\/figure>\n<h2>Prototyping APIs<\/h2>\n<p><span style=\"font-weight: 400;\">Besides integrating existing services, you are able to <strong>create your own<\/strong>. Node-RED can integrate with most databases \u2013 SQL or NoSQL \u2013 as well as reading and writing from files. The possibilities here are endless.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once upon a time, I needed a very simple API with an endpoint that would return the &#8220;Hello World&#8221; phrase in a random language, and also another endpoint&nbsp;to fetch all possibles values of the &#8220;Hello World&#8221;.&nbsp;<\/span><span style=\"font-weight: 400;\">I made a simple CRUD (actually, without the Create part) that reads a list of &#8220;greetings&#8221; from a text file and operates over it.<\/span><\/p>\n<figure id=\"attachment_4646\" aria-describedby=\"caption-attachment-4646\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-4646\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-05-28-at-17.30.23.png\" alt=\"shows a full api flow\" width=\"800\" height=\"316\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-05-28-at-17.30.23.png 2142w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Screen-Shot-2017-05-28-at-17.30.23-768x303.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-4646\" class=\"wp-caption-text\"><em>The full API<\/em><\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Here&#8217;s the working API in Postman:<\/span><\/p>\n<figure id=\"attachment_4671\" aria-describedby=\"caption-attachment-4671\" style=\"width: 634px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\" wp-image-4671\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/ezgif.com-resize-api.gif\" alt=\"Postman calling the API\" width=\"634\" height=\"629\"><figcaption id=\"caption-attachment-4671\" class=\"wp-caption-text\"><em>The API calls<\/em><\/figcaption><\/figure>\n<h2><span style=\"font-weight: 400;\">Great!<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">So, that&#8217;s it. Node-RED is great to <\/span><strong>glue<\/strong><span style=\"font-weight: 400;\"> Internet services and devices. It&#8217;s probably not ideal or scalable enough for a final product, but you can quickly prototype how your product will behave, avoiding blocking anyone who is depending on, let&#8217;s say, your API.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Also it is great to automate your home or office, integrating smart bulbs, smart outlets, plants, TVs, video-games and everything else.&nbsp;<\/span><span style=\"font-weight: 400;\">You can find a lot of useful flows and nodes in the <\/span><a href=\"https:\/\/flows.nodered.org\/\"><span style=\"font-weight: 400;\">Node-RED&#8217;s website<\/span><\/a><span style=\"font-weight: 400;\">. There&#8217;s also a <\/span><a href=\"http:\/\/nodered.org\/slack\/\"><span style=\"font-weight: 400;\">Slack Team<\/span><\/a><span style=\"font-weight: 400;\">, where you can get help and learn new things.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thanks and keep hacking!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever wanted to prototype a RESTful API, integrate Internet services or IoT devices in a few minutes without having to learn how to use several APIs and libraries? Here you go.<\/p>\n","protected":false},"author":65,"featured_media":4683,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[471],"tags":[1148,1152],"class_list":["post-4771","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engenharia","tag-tag-development-br","tag-tag-javascript-br"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Glue of the Internet: What is Node-RED?<\/title>\n<meta name=\"description\" content=\"Node-RED is &quot;a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways&quot;.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Glue of the Internet: What is Node-RED?\" \/>\n<meta property=\"og:description\" content=\"Node-RED is &quot;a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways&quot;.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-02T17:20:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T18:35:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_nodered3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/\",\"url\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/\",\"name\":\"The Glue of the Internet: What is Node-RED?\",\"isPartOf\":{\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/#website\"},\"datePublished\":\"2017-06-02T17:20:06+00:00\",\"dateModified\":\"2022-07-01T18:35:57+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Marcio Granzotto Rodrigues\"},\"description\":\"Node-RED is \\\"a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways\\\".\",\"breadcrumb\":{\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Glue of the Internet: What is Node-RED?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/#website\",\"url\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Empresa de desenvolvimento e design de aplicativos mobile &amp; web que est\u00e1 reinventando o desenvolvimento de produtos com times remotos. N\u00f3s desenvolvemos aplicativos iOS, Android e aplica\u00e7\u00f5es Web com as melhores empresas dos EUA, do Brasil e do mundo.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"name\":\"Marcio Granzotto Rodrigues\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/marcio3-300x300.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/marcio3-300x300.jpg\",\"caption\":\"Marcio Granzotto Rodrigues\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/blog-stg.cheesecakelabs.com\/br\/\/autor\/marcio-granzotto-rodrigues\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Glue of the Internet: What is Node-RED?","description":"Node-RED is \"a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways\".","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"pt_BR","og_type":"article","og_title":"The Glue of the Internet: What is Node-RED?","og_description":"Node-RED is \"a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways\".","og_url":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2017-06-02T17:20:06+00:00","article_modified_time":"2022-07-01T18:35:57+00:00","og_image":[{"width":2000,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_nodered3.png","type":"image\/png"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Escrito por":null,"Est. tempo de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/","url":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/","name":"The Glue of the Internet: What is Node-RED?","isPartOf":{"@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/#website"},"datePublished":"2017-06-02T17:20:06+00:00","dateModified":"2022-07-01T18:35:57+00:00","author":{"@type":"person","name":"Marcio Granzotto Rodrigues"},"description":"Node-RED is \"a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways\".","breadcrumb":{"@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/glue-internet-node-red\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog-stg.cheesecakelabs.com\/br\/"},{"@type":"ListItem","position":2,"name":"The Glue of the Internet: What is Node-RED?"}]},{"@type":"WebSite","@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/#website","url":"https:\/\/blog-stg.cheesecakelabs.com\/br\/","name":"Cheesecake Labs","description":"Empresa de desenvolvimento e design de aplicativos mobile &amp; web que est\u00e1 reinventando o desenvolvimento de produtos com times remotos. N\u00f3s desenvolvemos aplicativos iOS, Android e aplica\u00e7\u00f5es Web com as melhores empresas dos EUA, do Brasil e do mundo.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog-stg.cheesecakelabs.com\/br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","name":"Marcio Granzotto Rodrigues","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog-stg.cheesecakelabs.com\/br\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/marcio3-300x300.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/marcio3-300x300.jpg","caption":"Marcio Granzotto Rodrigues"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/blog-stg.cheesecakelabs.com\/br\/\/autor\/marcio-granzotto-rodrigues\/"}]}},"_links":{"self":[{"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/posts\/4771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/comments?post=4771"}],"version-history":[{"count":1,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/posts\/4771\/revisions"}],"predecessor-version":[{"id":10474,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/posts\/4771\/revisions\/10474"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/media\/4683"}],"wp:attachment":[{"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/media?parent=4771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/categories?post=4771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog-stg.cheesecakelabs.com\/br\/wp-json\/wp\/v2\/tags?post=4771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}