nuttx/Documentation/applications/examples/webserver/index.rst

45 lines
1.8 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

==============================
``webserver`` Simple Webserver
==============================
This is a port of uIP tiny webserver example application. Settings specific to
this example include:
- ``CONFIG_EXAMPLES_WEBSERVER_NOMAC`` (may be defined to use software assigned
MAC)
- ``CONFIG_EXAMPLES_WEBSERVER_IPADDR`` Target IP address.
- ``CONFIG_EXAMPLES_WEBSERVER_DRIPADDR`` Default router IP address.
- ``CONFIG_EXAMPLES_WEBSERVER_NETMASK`` Network mask.
- ``CONFIG_EXAMPLES_WEBSERVER_DHCPC`` Select to get IP address via DHCP.
If you use DHCPC, then some special configuration network options are required.
These include:
- ``CONFIG_NET=y`` of course.
- ``CONFIG_NET_UDP=y`` UDP support is required for DHCP (as well as various
other UDP-related configuration settings).
- ``CONFIG_NET_BROADCAST=y`` UDP broadcast support is needed.
- ``CONFIG_NET_ETH_PKTSIZE=650`` or larger. Per RFC2131 (p. 9), the DHCP client
must be prepared to receive DHCP messages of up to ``576`` bytes (excluding
Ethernet, IP, or UDP headers and FCS). **Note** that the actual MTU setting
will depend upon the specific link protocol. Here Ethernet is indicated.
Other configuration items apply also to the selected ``webserver`` net utility.
Additional relevant settings for the uIP ``webserver`` net utility are:
- ``CONFIG_NETUTILS_HTTPDSTACKSIZE``
- ``CONFIG_NETUTILS_HTTPDFILESTATS``
- ``CONFIG_NETUTILS_HTTPDNETSTATS``
Applications using this example will need to enable the following ``netutils``
libraries in their ``defconfig`` file: ::
CONFIG_NETUTILS_NETLIB=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETUTILS_WEBSERVER=y
**Note**: This example does depend on the ``perl`` script at
``nuttx/tools/mkfsdata.pl``. You must have ``perl`` installed on your development
system at ``/usr/bin/perl``.