{"id":98407,"date":"2020-07-29T20:42:43","date_gmt":"2020-07-29T20:42:43","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?p=98407"},"modified":"2020-07-29T20:42:52","modified_gmt":"2020-07-29T20:42:52","slug":"esp8266-nodemcu-static-fixed-ip-address-arduino","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/esp8266-nodemcu-static-fixed-ip-address-arduino\/","title":{"rendered":"ESP8266 NodeMCU Static\/Fixed IP Address (Arduino IDE)"},"content":{"rendered":"\n<p>This tutorial shows how to set a static\/fixed IP address for your ESP8266 NodeMCU board. If you\u2019re running a web server or Wi-Fi client with your ESP8266 and every time you restart your board, it has a new IP address, you can follow this tutorial to assign a static\/fixed IP address.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Set ESP8266 NodeMCU Static or Fixed IP Address using Arduino IDE\" class=\"wp-image-98417\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Static\/Fixed IP Address Sketch<\/h2>\n\n\n\n<p>To show you how to fix your ESP8266 IP address, we\u2019ll use the <a href=\"https:\/\/randomnerdtutorials.com\/esp8266-web-server\/\">ESP8266 Web Sever code<\/a> as an example. By the end of our explanation you should be able to fix your IP address regardless of the web server or Wi-Fi project you\u2019re building.<\/p>\n\n\n\n<p>Copy the code below to your Arduino IDE, but don\u2019t upload it yet. You need to make some changes to make it work for you.<\/p>\n\n\n\n<p><strong>Note<\/strong>: if you upload the next sketch to your ESP8266 board, it should automatically assign the fixed IP address <strong>192.168.1.184<\/strong>.<\/p>\n\n\n<pre style=\"max-height: 40em; margin-bottom: 20px;\"><code class=\"language-c\">\/*********\n  Rui Santos\n  Complete project details at https:\/\/RandomNerdTutorials.com\/esp8266-nodemcu-static-fixed-ip-address-arduino\/\n*********\/\n\n\/\/ Load Wi-Fi library\n#include &lt;ESP8266WiFi.h&gt;\n\n\/\/ Replace with your network credentials\nconst char* ssid     = &quot;REPLACE_WITH_YOUR_SSID&quot;;\nconst char* password = &quot;REPLACE_WITH_YOUR_PASSWORD&quot;;\n\n\/\/ Set web server port number to 80\nWiFiServer server(80);\n\n\/\/ Variable to store the HTTP request\nString header;\n\n\/\/ Auxiliar variables to store the current output state\nString output5State = &quot;off&quot;;\nString output4State = &quot;off&quot;;\n\n\/\/ Assign output variables to GPIO pins\nconst int output5 = 5;\nconst int output4 = 4;\n\n\/\/ Current time\nunsigned long currentTime = millis();\n\/\/ Previous time\nunsigned long previousTime = 0; \n\/\/ Define timeout time in milliseconds (example: 2000ms = 2s)\nconst long timeoutTime = 2000;\n\n\/\/ Set your Static IP address\nIPAddress local_IP(192, 168, 1, 184);\n\/\/ Set your Gateway IP address\nIPAddress gateway(192, 168, 1, 1);\n\nIPAddress subnet(255, 255, 0, 0);\nIPAddress primaryDNS(8, 8, 8, 8);   \/\/optional\nIPAddress secondaryDNS(8, 8, 4, 4); \/\/optional\n\nvoid setup() {\n  Serial.begin(115200);\n  \/\/ Initialize the output variables as outputs\n  pinMode(output5, OUTPUT);\n  pinMode(output4, OUTPUT);\n  \/\/ Set outputs to LOW\n  digitalWrite(output5, LOW);\n  digitalWrite(output4, LOW);\n  \n  \/\/ Configures static IP address\n  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {\n    Serial.println(&quot;STA Failed to configure&quot;);\n  }\n  \n  \/\/ Connect to Wi-Fi network with SSID and password\n  Serial.print(&quot;Connecting to &quot;);\n  Serial.println(ssid);\n  WiFi.begin(ssid, password);\n  while (WiFi.status() != WL_CONNECTED) {\n    delay(500);\n    Serial.print(&quot;.&quot;);\n  }\n  \/\/ Print local IP address and start web server\n  Serial.println(&quot;&quot;);\n  Serial.println(&quot;WiFi connected.&quot;);\n  Serial.println(&quot;IP address: &quot;);\n  Serial.println(WiFi.localIP());\n  server.begin();\n}\n\nvoid loop(){\n  WiFiClient client = server.available();   \/\/ Listen for incoming clients\n\n  if (client) {                             \/\/ If a new client connects,\n    Serial.println(&quot;New Client.&quot;);          \/\/ print a message out in the serial port\n    String currentLine = &quot;&quot;;                \/\/ make a String to hold incoming data from the client\n    currentTime = millis();\n    previousTime = currentTime;\n    while (client.connected() &amp;&amp; currentTime - previousTime &lt;= timeoutTime) { \/\/ loop while the client's connected\n      currentTime = millis();         \n      if (client.available()) {             \/\/ if there's bytes to read from the client,\n        char c = client.read();             \/\/ read a byte, then\n        Serial.write(c);                    \/\/ print it out the serial monitor\n        header += c;\n        if (c == '\\n') {                    \/\/ if the byte is a newline character\n          \/\/ if the current line is blank, you got two newline characters in a row.\n          \/\/ that's the end of the client HTTP request, so send a response:\n          if (currentLine.length() == 0) {\n            \/\/ HTTP headers always start with a response code (e.g. HTTP\/1.1 200 OK)\n            \/\/ and a content-type so the client knows what's coming, then a blank line:\n            client.println(&quot;HTTP\/1.1 200 OK&quot;);\n            client.println(&quot;Content-type:text\/html&quot;);\n            client.println(&quot;Connection: close&quot;);\n            client.println();\n            \n            \/\/ turns the GPIOs on and off\n            if (header.indexOf(&quot;GET \/5\/on&quot;) &gt;= 0) {\n              Serial.println(&quot;GPIO 5 on&quot;);\n              output5State = &quot;on&quot;;\n              digitalWrite(output5, HIGH);\n            } else if (header.indexOf(&quot;GET \/5\/off&quot;) &gt;= 0) {\n              Serial.println(&quot;GPIO 5 off&quot;);\n              output5State = &quot;off&quot;;\n              digitalWrite(output5, LOW);\n            } else if (header.indexOf(&quot;GET \/4\/on&quot;) &gt;= 0) {\n              Serial.println(&quot;GPIO 4 on&quot;);\n              output4State = &quot;on&quot;;\n              digitalWrite(output4, HIGH);\n            } else if (header.indexOf(&quot;GET \/4\/off&quot;) &gt;= 0) {\n              Serial.println(&quot;GPIO 4 off&quot;);\n              output4State = &quot;off&quot;;\n              digitalWrite(output4, LOW);\n            }\n            \n            \/\/ Display the HTML web page\n            client.println(&quot;&lt;!DOCTYPE html&gt;&lt;html&gt;&quot;);\n            client.println(&quot;&lt;head&gt;&lt;meta name=\\&quot;viewport\\&quot; content=\\&quot;width=device-width, initial-scale=1\\&quot;&gt;&quot;);\n            client.println(&quot;&lt;link rel=\\&quot;icon\\&quot; href=\\&quot;data:,\\&quot;&gt;&quot;);\n            \/\/ CSS to style the on\/off buttons \n            \/\/ Feel free to change the background-color and font-size attributes to fit your preferences\n            client.println(&quot;&lt;style&gt;html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}&quot;);\n            client.println(&quot;.button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;&quot;);\n            client.println(&quot;text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}&quot;);\n            client.println(&quot;.button2 {background-color: #77878A;}&lt;\/style&gt;&lt;\/head&gt;&quot;);\n            \n            \/\/ Web Page Heading\n            client.println(&quot;&lt;body&gt;&lt;h1&gt;ESP8266 Web Server&lt;\/h1&gt;&quot;);\n            \n            \/\/ Display current state, and ON\/OFF buttons for GPIO 5  \n            client.println(&quot;&lt;p&gt;GPIO 5 - State &quot; + output5State + &quot;&lt;\/p&gt;&quot;);\n            \/\/ If the output5State is off, it displays the ON button       \n            if (output5State==&quot;off&quot;) {\n              client.println(&quot;&lt;p&gt;&lt;a href=\\&quot;\/5\/on\\&quot;&gt;&lt;button class=\\&quot;button\\&quot;&gt;ON&lt;\/button&gt;&lt;\/a&gt;&lt;\/p&gt;&quot;);\n            } else {\n              client.println(&quot;&lt;p&gt;&lt;a href=\\&quot;\/5\/off\\&quot;&gt;&lt;button class=\\&quot;button button2\\&quot;&gt;OFF&lt;\/button&gt;&lt;\/a&gt;&lt;\/p&gt;&quot;);\n            } \n               \n            \/\/ Display current state, and ON\/OFF buttons for GPIO 4  \n            client.println(&quot;&lt;p&gt;GPIO 4 - State &quot; + output4State + &quot;&lt;\/p&gt;&quot;);\n            \/\/ If the output4State is off, it displays the ON button       \n            if (output4State==&quot;off&quot;) {\n              client.println(&quot;&lt;p&gt;&lt;a href=\\&quot;\/4\/on\\&quot;&gt;&lt;button class=\\&quot;button\\&quot;&gt;ON&lt;\/button&gt;&lt;\/a&gt;&lt;\/p&gt;&quot;);\n            } else {\n              client.println(&quot;&lt;p&gt;&lt;a href=\\&quot;\/4\/off\\&quot;&gt;&lt;button class=\\&quot;button button2\\&quot;&gt;OFF&lt;\/button&gt;&lt;\/a&gt;&lt;\/p&gt;&quot;);\n            }\n            client.println(&quot;&lt;\/body&gt;&lt;\/html&gt;&quot;);\n            \n            \/\/ The HTTP response ends with another blank line\n            client.println();\n            \/\/ Break out of the while loop\n            break;\n          } else { \/\/ if you got a newline, then clear currentLine\n            currentLine = &quot;&quot;;\n          }\n        } else if (c != '\\r') {  \/\/ if you got anything else but a carriage return character,\n          currentLine += c;      \/\/ add it to the end of the currentLine\n        }\n      }\n    }\n    \/\/ Clear the header variable\n    header = &quot;&quot;;\n    \/\/ Close the connection\n    client.stop();\n    Serial.println(&quot;Client disconnected.&quot;);\n    Serial.println(&quot;&quot;);\n  }\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\/ESP8266_Fixed_Static_IP.ino\" target=\"_blank\">View raw code<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting Your Network Credentials<\/h3>\n\n\n\n<p>You need to modify the following lines with your network credentials: SSID and password.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>\/\/ Replace with your network credentials\nconst char* ssid = \"REPLACE_WITH_YOUR_SSID\";\nconst char* password = \"REPLACE_WITH_YOUR_PASSWORD\";<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Setting ESP8266 Static IP Address<\/h3>\n\n\n\n<p>Then, outside the <span class=\"rnthl rntliteral\">setup()<\/span> and <span class=\"rnthl rntliteral\">loop()<\/span> functions, you define the following variables with your own static IP address and corresponding gateway IP address.<\/p>\n\n\n\n<p>By default, the next code assigns the IP address <strong>192.168.1.184<\/strong> that works in the gateway <strong>192.168.1.1<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>\/\/ Set your Static IP address\nIPAddress local_IP(192, 168, 1, 184);\n\/\/ Set your Gateway IP address\nIPAddress gateway(192, 168, 1, 1);\n\nIPAddress subnet(255, 255, 0, 0);\nIPAddress primaryDNS(8, 8, 8, 8); \/\/ optional\nIPAddress secondaryDNS(8, 8, 4, 4); \/\/ optional<\/code><\/pre>\n\n\n\n<p><strong>Important<\/strong>: you need to use an available IP address in your local network and the corresponding gateway.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">setup()<\/h3>\n\n\n\n<p>In the <span class=\"rnthl rntliteral\">setup()<\/span> you need to call the <span class=\"rnthl rntliteral\">WiFi.config()<\/span> method to assign the configurations to your ESP8266.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>\/\/ Configures static IP address\nif (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {\n  Serial.println(\"STA Failed to configure\");\n}<\/code><\/pre>\n\n\n\n<p><strong>Note:<\/strong> the <strong><em>primaryDNS <\/em><\/strong>and <strong><em>secondaryDNS<\/em> <\/strong>parameters are optional and you can remove them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing<\/h3>\n\n\n\n<p>After uploading the code to your board, open the Arduino IDE Serial Monitor at the baud rate 115200, restart your ESP8266 board and the IP address defined earlier should be assigned to your board.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"859\" height=\"342\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change.png?resize=859%2C342&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP8266 Fixed Static IP Address Serial Monitor\" class=\"wp-image-98409\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change.png?w=859&amp;quality=100&amp;strip=all&amp;ssl=1 859w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change.png?resize=300%2C119&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change.png?resize=768%2C306&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 859px) 100vw, 859px\" \/><\/figure><\/div>\n\n\n\n<p>As you can see, it prints the IP address <strong>192.168.1.184<\/strong>.<\/p>\n\n\n\n<p>You can take this example and add it to all your Wi-Fi sketches to assign a fixed IP address to your ESP8266.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Assigning IP Address with MAC Address<\/h2>\n\n\n\n<p>If you\u2019ve tried to assign a fixed IP address to the ESP8266 using the previous example and it doesn\u2019t work, we recommend assigning an IP address directly in your router settings through the <a href=\"https:\/\/randomnerdtutorials.com\/get-change-esp32-esp8266-mac-address-arduino\/\">ESP8266 MAC Address<\/a>.<\/p>\n\n\n\n<p>Upload the following code to the ESP8266 board:<\/p>\n\n\n<pre style=\"max-height: 40em; margin-bottom: 20px;\"><code class=\"language-c\">\/*\n  Rui Santos &amp; Sara Santos - Random Nerd Tutorials\n  Complete project details at https:\/\/RandomNerdTutorials.com\/get-change-esp32-esp8266-mac-address-arduino\/\n  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.  \n  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n*\/\n#ifdef ESP32\n  #include &lt;WiFi.h&gt;\n  #include &lt;esp_wifi.h&gt;\n#else\n  #include &lt;ESP8266WiFi.h&gt;\n#endif\n\nvoid setup(){\n  Serial.begin(115200);\n\n  Serial.print(&quot;ESP Board MAC Address: &quot;);\n  #ifdef ESP32\n    WiFi.mode(WIFI_STA);\n    WiFi.STA.begin();\n    uint8_t baseMac[6];\n    esp_err_t ret = esp_wifi_get_mac(WIFI_IF_STA, baseMac);\n    if (ret == ESP_OK) {\n      Serial.printf(&quot;%02x:%02x:%02x:%02x:%02x:%02x\\n&quot;,\n                    baseMac[0], baseMac[1], baseMac[2],\n                    baseMac[3], baseMac[4], baseMac[5]);\n    } else {\n      Serial.println(&quot;Failed to read MAC address&quot;);\n    }\n  #else\n    Serial.println(WiFi.macAddress());\n  #endif\n}\n \nvoid loop(){\n\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\/ESP\/ESP_Get_MAC_Address.ino\" target=\"_blank\">View raw code<\/a><\/p>\n\n\n\n<p>In the <span class=\"rnthl rntliteral\">setup()<\/span>, it prints the ESP8266 MAC Address in the Serial Monitor:<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>\/\/ Print ESP MAC Address\nSerial.println(\"MAC address: \");\nSerial.println(WiFi.macAddress());<\/code><\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"732\" height=\"336\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/10\/ESP32-MAC-address.png?resize=732%2C336&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-74404\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/10\/ESP32-MAC-address.png?w=732&amp;quality=100&amp;strip=all&amp;ssl=1 732w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/10\/ESP32-MAC-address.png?resize=300%2C138&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure><\/div>\n\n\n\n<p>In our case, the ESP8266 MAC Address is <strong>B4:E6:2D:97:EE:F1<\/strong>. Copy the MAC Address, because you\u2019ll need it in just a moment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Router Settings<\/h3>\n\n\n\n<p>If you login into your router admin page, there should be a page\/menu where you can assign an IP address to a network device. Each router has different menus and configurations. So, we can\u2019t provide instructions on how do to it for all the available routers.<\/p>\n\n\n\n<p>We recommend Googling \u201c<strong>assign IP address to MAC address<\/strong>\u201d followed by your router name. You should find some instructions that show how to assign the IP to a MAC address for your specific router.<\/p>\n\n\n\n<p>In summary, if you go to your router configurations menu, you should be able to assign your desired IP address to your ESP8266 MAC address (for example B4:E6:2D:97:EE:F1).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>After following this tutorial you should be able to assign a fixed\/static IP address to your ESP8266. If you have an ESP32, you can read this guide <a href=\"https:\/\/randomnerdtutorials.com\/esp32-static-fixed-ip-address-arduino-ide\/\">Set ESP32 Static\/Fixed IP Address<\/a>.<\/p>\n\n\n\n<p>We hope you&#8217;ve found this tutorial useful. If you like ESP8266, you may also like:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/randomnerdtutorials.com\/home-automation-using-esp8266\/\"><strong>Home Automation Using ESP8266<\/strong><\/a><\/li><li><a href=\"https:\/\/randomnerdtutorials.com\/micropython-programming-with-esp32-and-esp8266\/\">MicroPython Programming with ESP32 and ESP8266<\/a><\/li><li><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp8266\/\">More ESP8266 NodeMCU Projects and Tutorials &#8230;<\/a><\/li><\/ul>\n\n\n\n<p>Thanks for reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to set a static\/fixed IP address for your ESP8266 NodeMCU board. If you\u2019re running a web server or Wi-Fi client with your ESP8266 and every time &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"ESP8266 NodeMCU Static\/Fixed IP Address (Arduino IDE)\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/esp8266-nodemcu-static-fixed-ip-address-arduino\/#more-98407\" aria-label=\"Read more about ESP8266 NodeMCU Static\/Fixed IP Address (Arduino IDE)\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":98417,"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,246,300,240,264],"tags":[],"class_list":["post-98407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp8266-project","category-esp8266","category-esp8266-arduino-ide","category-0-esp8266","category-esp8266-projects","category-project"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/07\/ESP8266-NodeMCU-Static-Fixed-IP-Address-Set-Change-Arduino-IDE.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\/98407","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=98407"}],"version-history":[{"count":0,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/98407\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/98417"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=98407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=98407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=98407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}