You work for a consulting firm and have been contracted to develop an IoT solution for a customer with a greenhouse. The customer would like you to develop a web server that allows them to monitor the conditions in the greenhouse when they are away. The system should monitor the temperature, light, and hunidity every so often (say every T seconds for testing) and keep a record of the K most recent values (let K=25 for testing). Also record the current time of the entry (by simply calling millis().) Whenever they use a browser to access the web server, it should present a web page with the K most recent time, temperature, lighting, and humidity information in an HTML table. (You may wish to add this line to the header section of the HTML that is created by your server:
<meta http-equiv="refresh" content="5" >
It requests that the browser refresh the web page automatically every 5 seconds.)
You do not need to use timers for this exercise. In fact, timers and the DHT11 support library may conflict with each other.
Additionally, they need the system to monitor the temperature and sound an alarm in the greenhouse if the temperature exceeds some value (THIGH). The system must also sound an alarm if the temperature falls below some value (TLOW). The two alarms should sound differently. You should also flash an LED as well (for the hearing impaired). (Eventually, if the first version works well, they will pay you to connect this up to their HVAC system and control it. So do a good job.) The web page above should also present this information as well, but you only need to report that last occurrence of both too high and/or too low.
Answer the following question: What percentage of program storage space is used by your program?
Deliverables: Submit the following via Canvas: your source code, an answer to the above question, a powerpoint or word document (or similar) containing screen dumps of a browser connecting to your web server and illustrating all of the functionality, and a video of your working project.