{"id":51088,"date":"2018-01-23T15:10:08","date_gmt":"2018-01-23T15:10:08","guid":{"rendered":"http:\/\/randomnerdtutorials.com\/?p=51088"},"modified":"2019-04-02T10:23:24","modified_gmt":"2019-04-02T10:23:24","slug":"esp8266-wi-fi-button-diy-amazon-dash-button-clone","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/esp8266-wi-fi-button-diy-amazon-dash-button-clone\/","title":{"rendered":"ESP8266 Wi-Fi Button &#8211; DIY Amazon Dash Button Clone"},"content":{"rendered":"<p>In this project you\u2019re going to build an <strong>ESP8266 Wi-Fi Button<\/strong> that can trigger any home automation event. This is like a remote control that you can take in your pocket or place anywhere that when pressed sends out an email. It can also be called a\u00a0DIY Amazon Dash Button clone.<!--more--><\/p>\n<p><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-51125\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"1200\" height=\"675\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h2>Watch the Video Version<\/h2>\n<p><em>This guide is available in video format (watch below) and in written format (continue reading this page).<\/em><\/p>\n<p style=\"text-align:center\"><iframe width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/I2GA5DcIQ5A?rel=0\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<h2>Prerequisites<\/h2>\n<p>Before proceeding with this tutorial we recommend taking a look at these resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/randomnerdtutorials.com\/getting-started-with-esp8266-wifi-transceiver-review\/\">Getting Started with ESP8266 Wi-Fi<\/a><\/li>\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp8266-deep-sleep-with-arduino-ide\/\">ESP8266 Deep Sleep with Arduino IDE<\/a><\/li>\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp8266-voltage-regulator-lipo-and-li-ion-batteries\/\">ESP8266 Voltage Regulator (LiPo and Li-ion Batteries)<\/a><\/li>\n<\/ul>\n<p>If you like ESP8266 and you want to learn more about it. I recommend downloading my course:\u00a0<a href=\"https:\/\/randomnerdtutorials.com\/home-automation-using-esp8266\/\">Home Automation using ESP8266<\/a>.<\/p>\n<h2>Introduction<\/h2>\n<p>The Wi-Fi button is not a new idea and this concept was popularized by Amazon that created the Dash button, which is a small button that instantly orders a product to your home.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-51108\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide2.png?resize=800%2C223&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"223\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide2.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide2.png?resize=300%2C84&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide2.png?resize=768%2C214&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Since the ESP boards are so inexpensive, we can make a similar project that works like the Dash button, but with our own twist.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-51109\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide3.png?resize=660%2C311&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"660\" height=\"311\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide3.png?w=660&amp;quality=100&amp;strip=all&amp;ssl=1 660w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide3.png?resize=300%2C141&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/p>\n<p>Instead of ordering a product we can turn on a light, toggle a lamp, send a value, trigger an email notification and much more, as you\u2019re going to see by the end of this project.<\/p>\n<h2>IFTTT<\/h2>\n<p>For this project we\u2019re going to use a free service called <strong>IFTTT<\/strong> that stands for If This Than That.<\/p>\n<p>This service is used to automate a wide variety of tasks online. In this case, we will send an email when the ESP pushbutton is pressed.<\/p>\n<p>Type in your browser <a href=\"https:\/\/ifttt.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/ifttt.com<\/a> and click the \u201c<strong>Get started<\/strong>\u201d button in the middle of the page. Complete the form with your details and create your account.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51104\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-website.png?resize=928%2C374&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"928\" height=\"374\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-website.png?w=928&amp;quality=100&amp;strip=all&amp;ssl=1 928w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-website.png?resize=300%2C121&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-website.png?resize=768%2C310&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-website.png?resize=250%2C100&amp;quality=100&amp;strip=all&amp;ssl=1 250w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/p>\n<h2>Creating the Applet<\/h2>\n<p>Open the \u201c<strong>My Applets<\/strong>\u201d tab, press the create \u201c<strong>New Applet<\/strong>\u201d button.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51105\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/new-applet.png?resize=919%2C196&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"919\" height=\"196\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/new-applet.png?w=919&amp;quality=100&amp;strip=all&amp;ssl=1 919w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/new-applet.png?resize=300%2C64&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/new-applet.png?resize=768%2C164&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 919px) 100vw, 919px\" \/><\/p>\n<p>Click the \u201c<strong>This<\/strong>\u201d word and search for the \u201c<strong>Webhooks<\/strong>\u201d service.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51107\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=702%2C373&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"702\" height=\"373\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?w=702&amp;quality=100&amp;strip=all&amp;ssl=1 702w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=300%2C159&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=280%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 280w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/p>\n<h3>Receive a web request<\/h3>\n<p>You need to type in the event name <strong>button_pressed<\/strong>. With the Webhooks service you can trigger an action when you make an HTTP request to a specific URL.<\/p>\n<p>Click the \u201c<strong>Create trigger<\/strong>\u201d button:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51091\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/webhooks-event-name.png?resize=441%2C464&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"441\" height=\"464\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/webhooks-event-name.png?w=441&amp;quality=100&amp;strip=all&amp;ssl=1 441w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/webhooks-event-name.png?resize=285%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 285w\" sizes=\"(max-width: 441px) 100vw, 441px\" \/><\/p>\n<p>Now press the \u201c<strong>That<\/strong>\u201d word and search for the <strong>Gmail<\/strong> service.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51098\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail.png?resize=477%2C334&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"477\" height=\"334\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail.png?w=477&amp;quality=100&amp;strip=all&amp;ssl=1 477w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail.png?resize=300%2C210&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><\/p>\n<h3>Send email<\/h3>\n<p>If it\u2019s the first time using the Gmail service with IFTTT, a new window opens and you\u2019ll have to grant access, so IFTTT can send out emails through your account.<\/p>\n<p>Choose the \u201c<strong>Send email<\/strong>\u201d option and enter the email address in the \u201c<strong>To address<\/strong>\u201d field where you want to receive your notification.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-51099 size-full\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail_send_an_email.png?resize=433%2C491&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"433\" height=\"491\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail_send_an_email.png?w=433&amp;quality=100&amp;strip=all&amp;ssl=1 433w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail_send_an_email.png?resize=265%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 265w\" sizes=\"(max-width: 433px) 100vw, 433px\" \/><\/p>\n<p>You can customize the subject and body of the email, but for demonstration purposes I\u2019ll leave the default values. Finally press the \u201c<strong>Create action<\/strong>\u201d button.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51097\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail-create-action.png?resize=329%2C496&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"329\" height=\"496\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail-create-action.png?w=329&amp;quality=100&amp;strip=all&amp;ssl=1 329w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/gmail-create-action.png?resize=199%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 199w\" sizes=\"(max-width: 329px) 100vw, 329px\" \/><\/p>\n<p>You should have your Applet created after clicking \u201c<strong>Finish<\/strong>\u201d:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51103\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-finish.png?resize=300%2C520&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"300\" height=\"520\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-finish.png?w=300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-finish.png?resize=173%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 173w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>Testing the Applet<\/h2>\n<p>Open the \u201c<strong>Search<\/strong>\u201d tab, find the Webhooks service and open it.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51107\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=702%2C373&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"702\" height=\"373\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?w=702&amp;quality=100&amp;strip=all&amp;ssl=1 702w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=300%2C159&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/search-ifttt.png?resize=280%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 280w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/p>\n<p>Go to the \u201c<strong>Documentation<\/strong>\u201d tab.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51101\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-documentation-Copy.png?resize=795%2C397&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"795\" height=\"397\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-documentation-Copy.png?w=795&amp;quality=100&amp;strip=all&amp;ssl=1 795w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-documentation-Copy.png?resize=300%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ifttt-documentation-Copy.png?resize=768%2C384&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/p>\n<p>Here you can find your unique <strong>API KEY<\/strong> that you must keep private. Type in the event name, <strong>button_pressed<\/strong>. Your final URL should appear in the bottom of the web page. Copy that URL.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51090\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/url.png?resize=982%2C588&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"982\" height=\"588\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/url.png?w=982&amp;quality=100&amp;strip=all&amp;ssl=1 982w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/url.png?resize=300%2C180&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/url.png?resize=768%2C460&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 982px) 100vw, 982px\" \/><\/p>\n<p>Open a new tab in your browser and hit enter. You should see this message saying \u201c<strong>Congratulations!<\/strong>\u201d.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51100\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/http-request-success.png?resize=644%2C132&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"644\" height=\"132\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/http-request-success.png?w=644&amp;quality=100&amp;strip=all&amp;ssl=1 644w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/http-request-success.png?resize=300%2C61&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 644px) 100vw, 644px\" \/><\/p>\n<p>Open your email client and the new message should be there.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51095\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/email.png?resize=852%2C388&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"852\" height=\"388\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/email.png?w=852&amp;quality=100&amp;strip=all&amp;ssl=1 852w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/email.png?resize=300%2C137&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/email.png?resize=768%2C350&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/p>\n<p>In case the email didn\u2019t arrive after a few seconds, I recommend double-checking the URL and see if you\u2019re using the correct event name, both in your Applet and in your URL.<\/p>\n<p><strong>Note:<\/strong> if it worked save your unique URL in a Notepad, because you\u2019ll need it later in this project.<\/p>\n<h2>Uploading Code<\/h2>\n<p>Here\u2019s the code that you need to upload to your ESP board. You need to change three variables: SSID, password and resource.<\/p>\n<pre style=\"max-height: 40em; margin-bottom: 20px;\"><code class=\"language-c\">\/*\n * ESP8266 Wi-Fi Button\n * Rui Santos \n * Complete Project Details http:\/\/randomnerdtutorials.com\n *\/\n \n#include &lt;ESP8266WiFi.h&gt;\n\n\/\/ Replace with your SSID and Password\nconst char* ssid     = &quot;REPLACE_WITH_YOUR_SSID&quot;;\nconst char* password = &quot;REPLACE_WITH_YOUR_PASSWORD&quot;;\n\n\/\/ Replace with your unique IFTTT URL resource\nconst char* resource = &quot;REPLACE_WITH_YOUR_IFTTT_URL_RESOURCE&quot;;\n\n\/\/ How your resource variable should look like, but with your own API KEY (that API KEY below is just an example):\n\/\/const char* resource = &quot;\/trigger\/button_pressed\/with\/key\/nAZjOphL3d-ZO4N3k64-1A7gTlNSrxMJdmqy&quot;;\n\n\/\/ Maker Webhooks IFTTT\nconst char* server = &quot;maker.ifttt.com&quot;;\n\nvoid setup() {\n  Serial.begin(115200); \n\n  initWifi();\n  makeIFTTTRequest();\n\n  \/\/ Deep sleep mode until RESET pin is connected to a LOW signal (pushbutton is pressed)\n  ESP.deepSleep(0);\n}\n\nvoid loop() {\n  \/\/ sleeping so wont get here\n}\n\n\/\/ Establish a Wi-Fi connection with your router\nvoid initWifi() {\n  Serial.print(&quot;Connecting to: &quot;); \n  Serial.print(ssid);\n  WiFi.begin(ssid, password);  \n\n  int timeout = 10 * 4; \/\/ 10 seconds\n  while(WiFi.status() != WL_CONNECTED  &amp;&amp; (timeout-- &gt; 0)) {\n    delay(250);\n    Serial.print(&quot;.&quot;);\n  }\n  Serial.println(&quot;&quot;);\n\n  if(WiFi.status() != WL_CONNECTED) {\n     Serial.println(&quot;Failed to connect, going back to sleep&quot;);\n  }\n\n  Serial.print(&quot;WiFi connected in: &quot;); \n  Serial.print(millis());\n  Serial.print(&quot;, IP address: &quot;); \n  Serial.println(WiFi.localIP());\n}\n\n\/\/ Make an HTTP request to the IFTTT web service\nvoid makeIFTTTRequest() {\n  Serial.print(&quot;Connecting to &quot;); \n  Serial.print(server);\n  \n  WiFiClient client;\n  int retries = 5;\n  while(!!!client.connect(server, 80) &amp;&amp; (retries-- &gt; 0)) {\n    Serial.print(&quot;.&quot;);\n  }\n  Serial.println();\n  if(!!!client.connected()) {\n     Serial.println(&quot;Failed to connect, going back to sleep&quot;);\n  }\n  \n  Serial.print(&quot;Request resource: &quot;); \n  Serial.println(resource);\n  client.print(String(&quot;GET &quot;) + resource + \n                  &quot; HTTP\/1.1\\r\\n&quot; +\n                  &quot;Host: &quot; + server + &quot;\\r\\n&quot; + \n                  &quot;Connection: close\\r\\n\\r\\n&quot;);\n                  \n  int timeout = 5 * 10; \/\/ 5 seconds             \n  while(!!!client.available() &amp;&amp; (timeout-- &gt; 0)){\n    delay(100);\n  }\n  if(!!!client.available()) {\n     Serial.println(&quot;No response, going back to sleep&quot;);\n  }\n  while(client.available()){\n    Serial.write(client.read());\n  }\n  \n  Serial.println(&quot;\\nclosing connection&quot;);\n  client.stop();\n}\n<\/code><\/pre>\n\t<p style=\"text-align:center\"><a class=\"rntwhite\" href=\"https:\/\/github.com\/RuiSantosdotme\/Random-Nerd-Tutorials\/raw\/master\/Projects\/ESP8266_WiFi_Button.ino\" target=\"_blank\">View raw code<\/a><\/p>\n<p><strong>Here\u2019s how the code works:<\/strong><\/p>\n<ol>\n<li>It starts the serial communication at a baud rate of 115200;<\/li>\n<li>Runs the <em>initWifi<\/em> function that establishes a Wi-Fi connection between your ESP and your router;<\/li>\n<li>Then, it executes the <em>makeIFTTTRequest<\/em> function that will make a request to the IFTTT service and ultimately IFTTT will send out an email.<\/li>\n<\/ol>\n<h2>About the Deep Sleep Function<\/h2>\n<p>Finally, we\u2019re using the <a href=\"https:\/\/randomnerdtutorials.com\/esp8266-deep-sleep-with-arduino-ide\/\">Deep Sleep function<\/a>, so that the ESP is always off and consumes very little power. The Deep Sleep function with ESP8266 was covered in greater detail in a previous guide that you can find <a href=\"https:\/\/randomnerdtutorials.com\/esp8266-deep-sleep-with-arduino-ide\/\">here<\/a>.<\/p>\n<p>In summary, when you press the pushbutton the ESP wakes up, performs an action and it goes back to Deep Sleep mode to save battery power. It\u2019s pretty simple how it works.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-51111 size-full\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide23.png?resize=800%2C394&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"394\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide23.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide23.png?resize=300%2C148&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide23.png?resize=768%2C378&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>After adding your SSID, password and URL, upload the code to the ESP. You can <a href=\"https:\/\/randomnerdtutorials.com\/getting-started-with-esp8266-wifi-transceiver-review\/\">click here<\/a> to learn how to upload code to an ESP-01 using an FTDI programmer.<\/p>\n<h2>About the circuit<\/h2>\n<p>We want this device to be portable and easy to make, so we\u2019re going to power the ESP with a Lithium battery.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-47772\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/lipo-battery.jpg?resize=600%2C456&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"600\" height=\"456\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/lipo-battery.jpg?w=600&amp;quality=100&amp;strip=all&amp;ssl=1 600w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/lipo-battery.jpg?resize=300%2C228&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<h2>Voltage Regulator<\/h2>\n<p>To power the ESP8266 safely with a Lithium battery you need to make a <a href=\"https:\/\/randomnerdtutorials.com\/esp8266-voltage-regulator-lipo-and-li-ion-batteries\/\">voltage regulator circuit<\/a>. We\u2019ve also covered that subject in a previous guide that you can <a href=\"https:\/\/randomnerdtutorials.com\/esp8266-voltage-regulator-lipo-and-li-ion-batteries\/\">read here<\/a>.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-47774\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/voltage-regulator.jpg?resize=600%2C179&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"600\" height=\"179\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/voltage-regulator.jpg?w=600&amp;quality=100&amp;strip=all&amp;ssl=1 600w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/voltage-regulator.jpg?resize=300%2C90&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<h2>Parts Required<\/h2>\n<p>After having the code running on the ESP-01, these are the components that you need for your circuit:<\/p>\n<ul>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/esp-01-wi-fi-board\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESP-01<\/a>\u00a0\u2013 read\u00a0<a href=\"https:\/\/makeradvisor.com\/best-esp8266-wi-fi-development-board\/\" target=\"_blank\" rel=\"noopener noreferrer\">Best ESP8266 Wi-Fi Development Boards<\/a><\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/pushbuttons-kit\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pushbutton<\/a><\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/resistors-kits\/\" target=\"_blank\" rel=\"noopener noreferrer\">10k ohm resistor<\/a><\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/rechargeable-li-ion-batteries\/\" target=\"_blank\" rel=\"noopener noreferrer\">Li-ion\/LiPo battery<\/a><\/li>\n<li>Voltage regulator:\n<ul>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/low-dropout-ldo-regulator-mcp1700-3320e\/\" target=\"_blank\" rel=\"noopener noreferrer\">MCP1700-3302E<\/a><\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/ceramic-capacitors-kit\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ceramic capacitor \u2013 100nF<\/a><\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/electrolytic-capacitors-kit\/\" target=\"_blank\" rel=\"noopener noreferrer\">Electrolytic capacitor \u2013 1000uF<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/makeradvisor.com\/tools\/project-box-enclosure\/\" target=\"_blank\" rel=\"noopener noreferrer\">Plastic box enclosure<\/a><\/li>\n<\/ul>\n<p>You can use the preceding links or go directly to <a href=\"https:\/\/makeradvisor.com\/tools\/?utm_source=rnt&utm_medium=post&utm_campaign=post\" target=\"_blank\">MakerAdvisor.com\/tools<\/a> to find all the parts for your projects at the best price!<\/p><p style=\"text-align:center;\"><a href=\"https:\/\/makeradvisor.com\/tools\/?utm_source=rnt&utm_medium=post&utm_campaign=post\" target=\"_blank\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/10\/header-200.png?w=1200&#038;quality=100&#038;strip=all&#038;ssl=1\"><\/a><\/p>\n<h2>Schematics<\/h2>\n<p>Here\u2019s the schematics that you need to follow:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51128\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit.png?resize=550%2C717&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"550\" height=\"717\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit.png?w=550&amp;quality=100&amp;strip=all&amp;ssl=1 550w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit.png?resize=230%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 230w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>Here\u2019s the breadboard version:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51129\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit-breadboard.png?resize=1062%2C936&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"1062\" height=\"936\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit-breadboard.png?w=1062&amp;quality=100&amp;strip=all&amp;ssl=1 1062w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit-breadboard.png?resize=300%2C264&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit-breadboard.png?resize=768%2C677&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/ESP8266-Dash-Button-Wi-Fi-Circuit-breadboard.png?resize=1024%2C903&amp;quality=100&amp;strip=all&amp;ssl=1 1024w\" sizes=\"(max-width: 1062px) 100vw, 1062px\" \/><\/p>\n<p>I recommend assembling the circuit first on a breadboard to test if it\u2019s working properly.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-47783\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/final-circuit-breadboard-esp-01.jpg?resize=700%2C599&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"700\" height=\"599\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/final-circuit-breadboard-esp-01.jpg?w=700&amp;quality=100&amp;strip=all&amp;ssl=1 700w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/11\/final-circuit-breadboard-esp-01.jpg?resize=300%2C257&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>Then, you can make a permanent circuit with a small strip board, a few wires and plastic box enclosure to store everything.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51096\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/esp-button-t.jpg?resize=800%2C506&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"506\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/esp-button-t.jpg?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/esp-button-t.jpg?resize=300%2C190&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/esp-button-t.jpg?resize=768%2C486&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>After assembling everything, here\u2019s how the final product looks like:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51094\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo.jpg?resize=700%2C538&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"700\" height=\"538\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo.jpg?w=700&amp;quality=100&amp;strip=all&amp;ssl=1 700w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo.jpg?resize=300%2C231&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>It kinda looks like a remote control. Now you can take it or place it anywhere.<\/p>\n<p>Let\u2019s test it. When I press the pushbutton, I receive an email within a few seconds:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51093\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo-2.jpg?resize=450%2C283&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"450\" height=\"283\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo-2.jpg?w=450&amp;quality=100&amp;strip=all&amp;ssl=1 450w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/demo-2.jpg?resize=300%2C189&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><\/p>\n<p><strong>Note:<\/strong> even though the ESP is powered with a battery it can last weeks or even months, because it\u2019s always in Deep Sleep mode.<\/p>\n<h2>Wrapping Up<\/h2>\n<p>I think it\u2019s important that you keep in mind that the applications for this project are endless. For example, the event \u201c<strong>button_pressed<\/strong>\u201d, depending on where you place your ESP can have a different meaning.<\/p>\n<p>If you place it as a doorbell button, you can use it to know if someone is at your home.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51112\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide24.png?resize=800%2C309&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"309\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide24.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide24.png?resize=300%2C116&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide24.png?resize=768%2C297&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Also note that instead of using a 3rd party service like IFTTT, you could:<\/p>\n<ul>\n<li>Turn on relay that is connected to another ESP8266;<\/li>\n<li>Send a request to another device in your network;<\/li>\n<li>Make an HTTP request to Node-RED to trigger an action;<\/li>\n<li>Publish an MQTT message;<\/li>\n<li>Connect to any other home automation software.<\/li>\n<\/ul>\n<h2>Taking It Further<\/h2>\n<p>You can also replace the pushbutton with other sensors or actuators. For instance if you replace the pushbutton with a PIR motion sensor, you can be notified when someone enters a room in your house. Or you can use it to detect smoke in a room:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51113\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide26.png?resize=800%2C484&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"484\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide26.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide26.png?resize=300%2C182&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide26.png?resize=768%2C465&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Replacing the pushbutton with a magnetic reed switch allows you to detect if someone opened a door or window. You can even attach it to a mailbox to see when you receive actual letters in the mail or other packages.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51114\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide27.png?resize=800%2C458&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" width=\"800\" height=\"458\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide27.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide27.png?resize=300%2C172&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/Slide27.png?resize=768%2C440&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>That\u2019s it for now. I hope this project was interesting and you can apply these concepts to your own home automation projects.<\/p>\n<p><em>This is an excerpt<\/em>\u00a0from my\u00a0<a href=\"https:\/\/randomnerdtutorials.com\/home-automation-using-esp8266\/\">Home Automation using ESP8266 eBook<\/a>. If you like ESP8266 and you want to learn more about it. I recommend downloading my course:\u00a0<a href=\"https:\/\/randomnerdtutorials.com\/home-automation-using-esp8266\/\">Home Automation using ESP8266<\/a>.<\/p>\n<p>I hope this guide was useful. Thanks for reading!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this project you\u2019re going to build an ESP8266 Wi-Fi Button that can trigger any home automation event. This is like a remote control that you can take in your &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"ESP8266 Wi-Fi Button &#8211; DIY Amazon Dash Button Clone\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/esp8266-wi-fi-button-diy-amazon-dash-button-clone\/#more-51088\" aria-label=\"Read more about ESP8266 Wi-Fi Button &#8211; DIY Amazon Dash Button Clone\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":51125,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[265,214,300,240,220,264],"tags":[],"class_list":["post-51088","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp8266-project","category-esp8266","category-0-esp8266","category-esp8266-projects","category-http-client","category-project"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/01\/wi-fi-button-thumbnail-jpg.jpg?fit=1280%2C720&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/51088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=51088"}],"version-history":[{"count":0,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/51088\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/51125"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=51088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=51088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=51088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}