mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
31b2702387
esp_netif_init() returns standard esp_err_t error code (unlike tcpip_adapter init), so shall be checked for the return value Also to make the initialization code more consistent.
Simple HTTPD Server Example
The Example consists of HTTPD server demo with demostration of URI handling : 1. URI \hello for GET command returns "Hello World!" message 2. URI \echo for POST command echoes back the POSTed message
-
Open the project configuration menu (
idf.py menuconfig
) to configure Wi-Fi or Ethernet. See "Establishing Wi-Fi or Ethernet Connection" section in examples/protocols/README.md for more details. -
In order to test the HTTPD server persistent sockets demo :
- compile and burn the firmware
idf.py -p PORT flash
- run
idf.py -p PORT monitor
and note down the IP assigned to your ESP module. The default port is 80 - test the example :
- run the test script : "python2 scripts/client.py <IP> <port> <MSG>"
- the provided test script first does a GET \hello and displays the response
- the script does a POST to \echo with the user input <MSG> and displays the response
- or use curl (asssuming IP is 192.168.43.130):
- "curl 192.168.43.130:80/hello" - tests the GET "\hello" handler
- "curl -X POST --data-binary @anyfile 192.168.43.130:80/echo > tmpfile"
- "anyfile" is the file being sent as request body and "tmpfile" is where the body of the response is saved
- since the server echoes back the request body, the two files should be same, as can be confirmed using : "cmp anyfile tmpfile"
- "curl -X PUT -d "0" 192.168.43.130:80/ctrl" - disable /hello and /echo handlers
- "curl -X PUT -d "1" 192.168.43.130:80/ctrl" - enable /hello and /echo handlers
- run the test script : "python2 scripts/client.py <IP> <port> <MSG>"
- compile and burn the firmware
See the README.md file in the upper level 'examples' directory for more information about examples.