{"componentChunkName":"component---src-templates-blog-post-js","path":"/tutorials/esp8266-control-led-lights/","result":{"data":{"site":{"siteMetadata":{"title":"TinoIoT","author":"TinoIoT Officers"}},"markdownRemark":{"id":"98b6f07d-5042-5df5-b65f-93368237486c","html":"<h2>What you will need:</h2>\n<ul>\n<li>5mm LEDs</li>\n<li>220 Ohm Resistor</li>\n<li>2 Jump Wires</li>\n<li>Node MCU/ESP8266</li>\n<li>A Breadboard</li>\n<li>Arduino IDE</li>\n<li>A <a href=\"https://thingspeak.com/\">ThingSpeak Account</a></li>\n</ul>\n<h2>Project Background</h2>\n<p>This tutorial will walk you through how to build your own RGB lights that can be controlled from the internet! Through this project, you will learn the basics of electronics, hardware, and software by setting up your own light module and writing code to interact with ThingSpeak to control your light.</p>\n<h2>Setting up the LED Module</h2>\n<p>To set up the LED Module, we first place the NodeMCU on the breadboard by placing the port side of the Node facing outwards and firmly pressing the Node into the breadboard. <strong>Make sure the NodeMCU is completely inside the breadboard or else the module may not be powered properly.</strong> </p>\n<p>Following this, add a jumper wire from the GND pin on the Node to the ”-” column on the breadboard. Following this, insert the longer side of the LED prong (Anode) into the same ”-” column where you placed the jump wire. Place the shorter side of the LED (Cathode) prong into another column in the breadboard. </p>\n<p>Place a second jumper wire from the D7 pin on the Node to the same row as the shorter prong of the LED. Finally, place your resistor between both jump wires and the corresponding prong on the LED. The resistor is used to control the flow of current to LED. </p>\n<p>Your board should look like this when you are done.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 650px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/22dcdf8fa78770fef7d8fd3023f1cc23/6d28f/meeting-3-afterwards-copy.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 166.25766871165646%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAhABQDASIAAhEBAxEB/8QAGQABAQADAQAAAAAAAAAAAAAAAAQBAwUC/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHRTqozeYpVhy+seUJJrwjB/8QAHxAAAwACAAcAAAAAAAAAAAAAAQIDBBEAEBIUISM0/9oACAEBAAEFAsaKUn28OKIBTHOsZKEtUe2XxyJ6qHVA7AU8IW23P//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BX//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BX//EACAQAAICAQMFAAAAAAAAAAAAAAABAhExAxBxEiFBYZH/2gAIAQEABj8CuV5PP0aWBv2JUkiXI+TJIpN0Q6JO6sffbS42/8QAHxAAAgICAQUAAAAAAAAAAAAAASEAETFBEFFhcbHB/9oACAEBAAE/ISh5EYwi1jCqKcRwLIy6UDUsyxm93yECwAt5lAB3KDXRajsytDrBhiDY3wM+f2eP/9oADAMBAAIAAwAAABBLCz/8L//EABcRAAMBAAAAAAAAAAAAAAAAAAABQRD/2gAIAQMBAT8QgyD3/8QAGBEBAAMBAAAAAAAAAAAAAAAAARARIEH/2gAIAQIBAT8QVuO4/8QAHxABAAICAgIDAAAAAAAAAAAAAQARITFBcVFhEIGx/9oACAEBAAE/EMOQ9Uqh8SgDNL4591Mm9RtsdwECjcDgjJTqHyFwUBlw6m2GoKiu7DDHB5jKaZ2udESNuyrfUKs5Ox9DeX9jCrNq3cOO/gyT/9k='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/22dcdf8fa78770fef7d8fd3023f1cc23/94563/meeting-3-afterwards-copy.webp 163w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/647a8/meeting-3-afterwards-copy.webp 325w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/c1dc5/meeting-3-afterwards-copy.webp 650w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/1e975/meeting-3-afterwards-copy.webp 975w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/063bf/meeting-3-afterwards-copy.webp 1300w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/df8c7/meeting-3-afterwards-copy.webp 2130w\"\n              sizes=\"(max-width: 650px) 100vw, 650px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/22dcdf8fa78770fef7d8fd3023f1cc23/d2f63/meeting-3-afterwards-copy.jpg 163w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/c989d/meeting-3-afterwards-copy.jpg 325w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/6aca1/meeting-3-afterwards-copy.jpg 650w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/7c09c/meeting-3-afterwards-copy.jpg 975w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/01ab0/meeting-3-afterwards-copy.jpg 1300w,\n/static/22dcdf8fa78770fef7d8fd3023f1cc23/6d28f/meeting-3-afterwards-copy.jpg 2130w\"\n            sizes=\"(max-width: 650px) 100vw, 650px\"\n            type=\"image/jpeg\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/22dcdf8fa78770fef7d8fd3023f1cc23/6aca1/meeting-3-afterwards-copy.jpg\"\n            alt=\"breadboard\"\n            title=\"breadboard\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2>Connecting to ThingSpeak</h2>\n<p>Before you begin, make sure you create a ThingSpeak account first. </p>\n<p>Steps:</p>\n<ol>\n<li>\n<p>Create a channel</p>\n<ol>\n<li>In the “My Channels” page click on “New Channel”</li>\n<li>Enter a name and brief description for your channel</li>\n<li>Enable Field 1 by checking the checkbox and provide a name (The field corresponds to the led on your module)</li>\n<li>Click “Save Channel”</li>\n</ol>\n</li>\n<li>\n<p>Modify Channel Sharing Settings</p>\n<ol>\n<li>After creating your channel, go the “Sharing” tab and enable “Share Channel With Everyone”</li>\n</ol>\n</li>\n<li>\n<p>Copy Channel ID</p>\n<ol>\n<li>Head to the “Channel Settings” tab and copy the “Channel ID” (you will need to input this ID in your code)</li>\n</ol>\n</li>\n</ol>\n<p>Once you have completed your steps, you are ready to move on! Check out our more detailed <a href=\"https://tinoiot.com/tutorials/thingspeak-with-esp-mc/\">ESP ThingSpeak tutorial</a> to learn more. </p>\n<h2>Controlling the LED</h2>\n<p>Open your Arduino IDE and ensure that you have the <em>ESP8266</em> and <em>ThingSpeak</em> libraries installed.</p>\n<p>In your file, add the code below. To connect to the internet you must first acquire your <strong>SSID and password of your wifi-router</strong>. In addition, paste the “Channel ID” you copied earlier into the “channel” variable. </p>\n<div class=\"gatsby-highlight\" data-language=\"cpp\"><pre class=\"language-cpp\"><code class=\"language-cpp\"><span class=\"token macro property\"><span class=\"token directive-hash\">#</span><span class=\"token directive keyword\">include</span> <span class=\"token string\">\"ThingSpeak.h\"</span></span>\n<span class=\"token macro property\"><span class=\"token directive-hash\">#</span><span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;ESP8266WiFi.h></span></span>\n\n<span class=\"token comment\">// Replace your wifi credentials here</span>\n<span class=\"token comment\">// ssid: your wifi name</span>\n<span class=\"token comment\">// password: your wifi password</span>\n<span class=\"token keyword\">const</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span> ssid     <span class=\"token operator\">=</span> <span class=\"token string\">\"YourWiFiName\"</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span> password <span class=\"token operator\">=</span> <span class=\"token string\">\"YourWiFiPassword\"</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">// Replace with your own ThingSpeak Account Channel ID</span>\n<span class=\"token keyword\">unsigned</span> <span class=\"token keyword\">long</span> channel <span class=\"token operator\">=</span> <span class=\"token number\">11111</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">// 1 is a channel field. You don't need to change if you are following</span>\n<span class=\"token comment\">// this tutorial. You can modify it according to your application</span>\n<span class=\"token keyword\">unsigned</span> <span class=\"token keyword\">int</span> led <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n\nWiFiClient  client<span class=\"token punctuation\">;</span>\n\n\n<span class=\"token keyword\">void</span> <span class=\"token function\">setup</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">begin</span><span class=\"token punctuation\">(</span><span class=\"token number\">115200</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token function\">delay</span><span class=\"token punctuation\">(</span><span class=\"token number\">100</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  \n  <span class=\"token function\">pinMode</span><span class=\"token punctuation\">(</span>D7<span class=\"token punctuation\">,</span> OUTPUT<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token comment\">// We start by connecting to a WiFi network</span>\n \n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Connecting to \"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>ssid<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  \n  WiFi<span class=\"token punctuation\">.</span><span class=\"token function\">begin</span><span class=\"token punctuation\">(</span>ssid<span class=\"token punctuation\">,</span> password<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  \n  <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>WiFi<span class=\"token punctuation\">.</span><span class=\"token function\">status</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> WL_CONNECTED<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">delay</span><span class=\"token punctuation\">(</span><span class=\"token number\">500</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    Serial<span class=\"token punctuation\">.</span><span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\".\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n \n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"WiFi connected\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>  \n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"IP address: \"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>WiFi<span class=\"token punctuation\">.</span><span class=\"token function\">localIP</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Netmask: \"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>WiFi<span class=\"token punctuation\">.</span><span class=\"token function\">subnetMask</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Gateway: \"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>WiFi<span class=\"token punctuation\">.</span><span class=\"token function\">gatewayIP</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  ThingSpeak<span class=\"token punctuation\">.</span><span class=\"token function\">begin</span><span class=\"token punctuation\">(</span>client<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">void</span> <span class=\"token function\">loop</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n \n  <span class=\"token comment\">// get the last data of the fields</span>\n  <span class=\"token keyword\">int</span> led_1 <span class=\"token operator\">=</span> ThingSpeak<span class=\"token punctuation\">.</span><span class=\"token function\">readFloatField</span><span class=\"token punctuation\">(</span>channel<span class=\"token punctuation\">,</span> led<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  \n  <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>led_1 <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n    <span class=\"token function\">digitalWrite</span><span class=\"token punctuation\">(</span>D7<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"D1 is On..!\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>led_1 <span class=\"token operator\">==</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n    <span class=\"token function\">digitalWrite</span><span class=\"token punctuation\">(</span>D7<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"D1 is Off..!\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n    \n  Serial<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>led_1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token function\">delay</span><span class=\"token punctuation\">(</span><span class=\"token number\">5000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>After this is complete, connect your NodeMCU with a micro-usb cable to your laptop and upload the code by pressing Cmd/Ctrl + U. While it is uploading, click on <em>Tools</em> > <em>Serial Monitor</em> to view log updates (such as connecting to Wifi and LED status). </p>\n<p>Following this, head back to your ThingSpeak channel, click on “API Keys” tab and copy the “Write to Channel Feed” API link. Paste the link in the browser and you should be all set! From this page, in the edit the url periodically, changing the “field1=” attribute to between 0 and 1 (this is to toggle the LED on and off). As you do this, you should see your LED turning on and off (there will be a delay) as well as status updates in the Serial Monitor Log. </p>\n<p>After a couple of changes to the “field1” value, you should see some data in your chart! The data represents the time the LED status changed and the status it was changed to. </p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 458px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/224abdbefb509ed8ed02353a84b24203/f7a31/screen-shot-2020-10-06-at-11.44.52-pm.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.71165644171779%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAACQklEQVQ4y51T2U4UQRSdX1PAKCFEfNNHEz/GDVxeeDH+BgxgIML4pA8aZYAZcHZn69l6qaW7j+cW3SMaNcY7ubnVtZx7zqmawoPXR7i7eYD7rw5x5+UbXHu4hYVH21lu/ZKX89e55/aLPaxs7GJ5fQerz/ewxrOLj7dRuLe5jzUuSl19tosFbl7k4SUu3nhS/CllPs/l9SJuPi26eot1ZWMHS5wvhMpAaYNQaVeNMbBMxe/x1MeE6erMv1yzFoapOZ6nlmoRBCEK+EOYOEaj66HjTVFr99HqDpGmKf4WWmsUZJPrrBRUu42o2UTw+Qv0YADT6SA6PkaSxEj5E3aSMc/o0Riq14OZTt05iSiKfjBMkwTq/JwAZfhvD6FrdahKFVG5DDscImHDfJ9EPJtBX1wgnhCwUnFzSgCDSCNhx4QfptFwAOH7D1DlEwdosu5Sc1CJhPJUtYrY85wS+kHfFQrt3hgRF/VohIisIrKcHpUQfPyE8ISgzRZiAriL4tiQmXwbXlJ4dgbV7VJyBige5h1jemHFk3odfqkEdXrq/IvZ6GrYzjekVOM8y9bFkjlDt0nkspOmLDF4un9A0HfwydT6PsS1hLcuFyj2KErUjSZC2qNbZN3vIxUFOcMoDDFgZ0UZIk17I4y+1uDRAuvenKUtBgMyCdjc2hh66CGg/OFgCC2M5VJzhtLVCoMr0oSVzcZdb4Z2f4KY4MJ0Lp82ifcJCblbzgH/KwicEDCVzADdw5ZH/S+pfzdPUJfZ3zEIAnwH16UIKRHu08cAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/224abdbefb509ed8ed02353a84b24203/94563/screen-shot-2020-10-06-at-11.44.52-pm.webp 163w,\n/static/224abdbefb509ed8ed02353a84b24203/647a8/screen-shot-2020-10-06-at-11.44.52-pm.webp 325w,\n/static/224abdbefb509ed8ed02353a84b24203/c763a/screen-shot-2020-10-06-at-11.44.52-pm.webp 458w\"\n              sizes=\"(max-width: 458px) 100vw, 458px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/224abdbefb509ed8ed02353a84b24203/222b7/screen-shot-2020-10-06-at-11.44.52-pm.png 163w,\n/static/224abdbefb509ed8ed02353a84b24203/ff46a/screen-shot-2020-10-06-at-11.44.52-pm.png 325w,\n/static/224abdbefb509ed8ed02353a84b24203/f7a31/screen-shot-2020-10-06-at-11.44.52-pm.png 458w\"\n            sizes=\"(max-width: 458px) 100vw, 458px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/224abdbefb509ed8ed02353a84b24203/f7a31/screen-shot-2020-10-06-at-11.44.52-pm.png\"\n            alt=\"data\"\n            title=\"data\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Congratulations on creating your own LED light module and controlling it using ThingSpeak!</p>\n<p><strong>Challenge:</strong> Create a software UI that allows you to toggle the status of the LED switch using the ThingSpeak API. This can be as simple as creating an on/off button using html which makes a GET request to the ThingSpeak API or as complicated as you would like! </p>\n<p>Send us a message on Slack if you need help and make sure to <a href=\"join.tinoiot.com\">join.tinoiot.com</a> to join our groups : )</p>","snippet":" This tutorial will walk you through how to build your own RGB lights that can be controlled from the internet!…","fields":{"keywords":["channel","led","thingspeak","wifi","breadboard"],"slug":"/tutorials/esp8266-control-led-lights/"},"frontmatter":{"title":"Control LED Lights","keywords":["tinoiot","iot","led","thingspeak","lights"],"description":null,"author":"Shrinandan Narayanan","date":"October 06, 2020","featuredImage":{"childImageSharp":{"fluid":{"src":"/static/6e78f69515f2f05181d38afea546bb73/48c04/rgb-cover-image-2.jpg","srcSet":"/static/6e78f69515f2f05181d38afea546bb73/07ab6/rgb-cover-image-2.jpg 225w,\n/static/6e78f69515f2f05181d38afea546bb73/32fd5/rgb-cover-image-2.jpg 450w,\n/static/6e78f69515f2f05181d38afea546bb73/48c04/rgb-cover-image-2.jpg 607w","aspectRatio":1.7857142857142858,"sizes":"(max-width: 607px) 100vw, 607px","base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAIBAwQF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAwL/2gAMAwEAAhADEAAAAYuTQs88YNP/xAAaEAADAAMBAAAAAAAAAAAAAAAAAQIDEBIy/9oACAEBAAEFAkkXCOSfWTX/xAAXEQEAAwAAAAAAAAAAAAAAAAABAhAR/9oACAEDAQE/AYOtf//EABYRAQEBAAAAAAAAAAAAAAAAAAACEf/aAAgBAgEBPwGmP//EABgQAAIDAAAAAAAAAAAAAAAAAAABICEi/9oACAEBAAY/ArMqP//EABsQAQACAgMAAAAAAAAAAAAAAAEAESExEHGB/9oACAEBAAE/IXKW1juV8xW4i+JU+R3P/9oADAMBAAIAAwAAABDL7//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAEDAQE/EEQn/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQARITH/2gAIAQIBAT8Q0lxF8n//xAAaEAEAAwEBAQAAAAAAAAAAAAABABExQWGR/9oACAEBAAE/EGJC4+sj6WVs+wCFfkziBSloa7kb0z//2Q==","srcWebp":"/static/6e78f69515f2f05181d38afea546bb73/059e1/rgb-cover-image-2.webp","srcSetWebp":"/static/6e78f69515f2f05181d38afea546bb73/975bf/rgb-cover-image-2.webp 225w,\n/static/6e78f69515f2f05181d38afea546bb73/b8a88/rgb-cover-image-2.webp 450w,\n/static/6e78f69515f2f05181d38afea546bb73/059e1/rgb-cover-image-2.webp 607w"}}}}}},"pageContext":{"slug":"/tutorials/esp8266-control-led-lights/","pinned":false,"previous":{"fields":{"slug":"/blogs/our-links/","pinned":false,"source":"regular"},"snippet":" Make sure you are using your student account (we won’t allow-in any other!) Right click on the link above ->…","frontmatter":{"title":"Our Links","category":"blog","thumbnailText":"🔗","author":"TinoIoT Officers","date":"October 5, 2020","redirect_from":null,"featuredImage":null}},"next":{"fields":{"slug":"/meetings/20-meeting-two-intro-electronics/","pinned":false,"source":"regular"},"snippet":" In this meeting we introduced electronic concepts such as voltage, amperage, resistance, power, and Ohm’s law. We also went through…","frontmatter":{"title":"Introduction to Electronics","category":"meeting","thumbnailText":null,"author":null,"date":"October 7, 2020","redirect_from":null,"featuredImage":{"childImageSharp":{"fluid":{"src":"/static/db3d4108b9bf50234080b2089cc1b87b/497c6/introduction-to-electronics.png","srcSet":"/static/db3d4108b9bf50234080b2089cc1b87b/65e33/introduction-to-electronics.png 100w,\n/static/db3d4108b9bf50234080b2089cc1b87b/69585/introduction-to-electronics.png 200w,\n/static/db3d4108b9bf50234080b2089cc1b87b/497c6/introduction-to-electronics.png 400w,\n/static/db3d4108b9bf50234080b2089cc1b87b/2a4de/introduction-to-electronics.png 600w,\n/static/db3d4108b9bf50234080b2089cc1b87b/ee604/introduction-to-electronics.png 800w,\n/static/db3d4108b9bf50234080b2089cc1b87b/40ffe/introduction-to-electronics.png 960w","aspectRatio":1.7857142857142858,"sizes":"(max-width: 400px) 100vw, 400px","base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABjUlEQVQoz42Sy0rDQBRAh/YPhL5M09c0bR7N5NUmaZu+on0FCwouFAURFTfWhW79ABGsKLrUZZWi3fgvLlz4Ld42WkuVIpy5XIY5c+fODFogmxSNfSHWH0wtxoQwFql4Zg40JglWc0Go2sf1/dWT3Xb3gFGMYJgNYzLfjySlL9mzPPC2huu3D9fvL91+DxM9SLHhhPgfH9H6tmdpgMqPnfO7q7en436PUcxQhHd9aMRlJnfPjzJEjehb3sYzsofOxf3Nx2v7aM8fSBVtx7AaxZoD6MW6WWqa5RbEtGiEorzrI04uCiSX0FZC6oYv7excnnVODwOBlN1es2qOVR1RqLYLlRbmtHhajTLypDjCXBZ8XtL5jIIZkRENoVChooKiV1WzllEtopVFrSTnKtAI1JyYIxkGbAk+kCb5BKfFGAXuIxjhAjQ3juwYblr7kcd+lpPyALQEOdwk+FAKiDISHPUbCeZn5V++5vpUXGAlSzGbJGezxAQYQf9Dnvi8XIBF7jcY1ccSnVQgTr+TyyckVXoWGnGBRAAAAABJRU5ErkJggg==","srcWebp":"/static/db3d4108b9bf50234080b2089cc1b87b/1f5c5/introduction-to-electronics.webp","srcSetWebp":"/static/db3d4108b9bf50234080b2089cc1b87b/d1f52/introduction-to-electronics.webp 100w,\n/static/db3d4108b9bf50234080b2089cc1b87b/61e93/introduction-to-electronics.webp 200w,\n/static/db3d4108b9bf50234080b2089cc1b87b/1f5c5/introduction-to-electronics.webp 400w,\n/static/db3d4108b9bf50234080b2089cc1b87b/ad85c/introduction-to-electronics.webp 600w,\n/static/db3d4108b9bf50234080b2089cc1b87b/58556/introduction-to-electronics.webp 800w,\n/static/db3d4108b9bf50234080b2089cc1b87b/1fb14/introduction-to-electronics.webp 960w"}}}}}}},"staticQueryHashes":["2390832784"]}