|**Project owner:**| [[user:lichnak|lichnak]], [[user:peterbay,|PeterBay]] | |**Interested:** | | |**Related:**| | |**Reference:**| https://Espressif.com | | **License:** | [[http://creativecommons.org/licenses/by-sa/4.0/|Attribution-ShareAlike 4.0 International; CC BY-SA]] | ====== NodeMCU HTTP Server ====== [[user:peterbay,|PeterBay]] hero === Deploy httpd to ESP8266 === * Download ''httpd.c'' [[https://raw.githubusercontent.com/lichnak/nodemcu-labka/master/src/node_server_20170311/firmware/httpd.c|here.]] * Copy file ''httpd.c'' to folder ''app/modules/'' cp httpd.c ~/nodemcu-firmware/nodemcu-firmware-2.0.0-master_20170202/app/modules/ * Edit file ''app/include/user_modules.h'' and add one line to user modules. mcedit ~/nodemcu-firmware/nodemcu-firmware-2.0.0-master_20170202/app/include/user_modules.h #define LUA_USE_MODULES_HTTPD * Compile firmware as was descibed [[:project:nodemcu_lbe:en|here]] or download compiled bootloader [[https://github.com/lichnak/nodemcu-labka/raw/master/src/node_server_20170311/firmware/0x00000.bin|here]] and firmware [[https://github.com/lichnak/nodemcu-labka/raw/master/src/node_server_20170311/firmware/0x10000.bin|here]] * Connect nodeMCU to USB {{ project:wiki_nodemcu_lolin.png }} * Upload bootloader //bin/0x00000.bin// and firmware //bin/0x10000.bin// to ESP8266 as was descibed for Windows 10 [[:project:nodemcu_windev:en|here]] and for Ubuntu [[:project:nodemcu_ubudev:en|here]] {{ project:wiki_nodemcu_esp8266flasher_dual.png?300 }} * Open ESPlorer and connect to nodeMCU Formatting file system. Please wait... Waiting answer from ESP - Timeout reached. Command aborted. Formatting file system. Please wait... NodeMCU 2.0.0 build unspecified powered by Lua 5.1.4 on SDK 2.0.0(656edbf) lua: cannot open init.lua > * Upload httpd files from [[https://github.com/lichnak/nodemcu-labka/tree/master/src/node_server_20170311|here]] to ESP8266 > Uploading to ESP file about.tmpl...Success > Uploading to ESP file api.tmpl...Success > Uploading to ESP file assemble.lua...Success > Uploading to ESP file console.tmpl...Success > Uploading to ESP file edit.tmpl...Success > Uploading to ESP file ext_httpd.lua...Success > Uploading to ESP file ext_wifi.lua...Success > Uploading to ESP file ext_wifi_settings.lua...Success > Uploading to ESP file favicon.ico...Success > Uploading to ESP file gpio.tmpl...Success > Uploading to ESP file gpio_set.tmpl...Success > Uploading to ESP file httpd.lua...Success > Uploading to ESP file index.tmpl...Success > Uploading to ESP file init.lua...Success > Uploading to ESP file page.tmpl...Success > Uploading to ESP file static__console.js...Success > Uploading to ESP file static__favicon.ico...Success > Uploading to ESP file static__node.css...Success > Uploading to ESP file static__node.js...Success > Uploading to ESP file static__svg.js...Success > Uploading to ESP file wifi.tmpl...Success * Configure script ''ext_wifi_settings.lua'' for WiFi connection strings > file.open("ext_wifi_settings.lua","w+"); > w = file.writeline > w([==[wifiSSID="YOUR_WIFI_SSID"]==]); > w([==[wifiPassword="YOUR_WIFI_PASSPHRASE"]==]); > file.close(); * On ESP8266 execute script ''assemble.lua'' > dofile("assemble.lua") remove: static/console.js rename: static__console.js -> static/console.js remove: static/node.css rename: static__node.css -> static/node.css remove: static/node.js rename: static__node.js -> static/node.js remove: static/svg.js rename: static__svg.js -> static/svg.js remove: static/favicon.ico rename: static__favicon.ico -> static/favicon.ico load content file: index.tmpl build: static/index.htm load content file: api.tmpl build: static/api.htm load content file: gpio.tmpl build: static/gpio.htm load content file: wifi.tmpl build: static/wifi.htm load content file: console.tmpl build: static/console.htm load content file: edit.tmpl build: static/edit.htm * Restart nodeMCU with ''RST'' button * Wait for nodeMCU start up NodeMCU 2.0.0 build unspecified powered by Lua 5.1.4 on SDK 2.0.0(656edbf) WIFI initialization - mode(STATION) STATION WIFI - Connecting to SSID (YOUR_WIFI_SSID)... Starting Web Server - port: 80 > IP Info: IP Address: YOUR-NODEMCU-IP-ADDRESS Netmask: YOUR-NETWORK-MASK Gateway Addr: YOUR-NETWORK-GATEWAY * Open ''YOUR-NODEMCU-IP-ADDRESS'' in Web browser {{ project:wiki_nodemcu_httpd.png }}