I'm planning to build a web server on my NodeMCU device to read temperature and humidity from a BME280 sensor. What Lua modules are necessary for this setup, and what are the NodeMCU documentation's key architectural recommendations for implementing web servers on the ESP8266, especially regarding resource management and system design?
Navigate to the NodeMCU Documentation homepage (nodemcu.readthedocs.io). Locate the 'Lua Modules' section and identify the 'httpserver' and 'bme280' modules. Navigate to the 'Lua Developer FAQ' section. Within the FAQ, find and access the 'Techniques for Reducing RAM and SPIFFS footprint' section. Read the content to extract key architectural advice regarding web server implementation and resource management on the ESP8266. Synthesize the identified modules and architectural advice into a concise answer.
Identify 'httpserver' as the necessary module for web server functionality. Identify 'bme280' as the necessary module for the BME280 sensor. State that the documentation advises against implementing complex user interfaces or HTTP web servers directly on the ESP8266. Explain that the ESP8266 is an IoT device with limited scope and is not a general-purpose system. State that complex tasks should be offloaded to a more capable general-purpose system (e.g., Raspberry Pi) in a tiered approach.