Using the Arduino as a Web Server, sensor apparatus can send data over long distances through the internet.

Internet communication works via Server-Client systems. A server is a computer that is constantly running, listening for requests. A client on the other hand is a computer that sends requests to the server to get the requested information. When a server receives a request, it will, depending on the request, send back data to the client. This constant communication between server and client is handled by Hyper Text Transfer Protocol (HTTP) and is what powers websites and most applications that require internet access. In addition, for a server to be able to communicate with any client, the server must be connected to a Wide Area Network (WAN). Under usual situations, when a device connects to the internet, it is actually connecting to the Local Area Network (LAN) provided by the router. The router acts as a sort of valve, distributing the connection to the various devices connected to the LAN. In addition, the router also prevents external clients (Clients not connected to the same router) from accessing the devices on the local network to prevent malicious hackers from obtaining private information. To allow a server to be accessed via external clients, the router must be configured to broadcast the server onto the internet. This is known as port forwarding.

However, this alone is not sufficient as data needs to be obtained via sensors. A method for obtaining this data and passing it into either a server or client is required. For this, an Arduino can be used. The Arduino can run as either a server or a client, so long as a module that allows for internet connection is provided. On top of this, the Arduino makes it easy to connect sensor apparatus and process the data. There is also an abundance of documentation for various sensors on the Arduino platform making it the ideal choice for this project.

By adding a graphic user interface as shown above, the user can easily track multiple sensors. The image below shows an example of data being received from a sound sensor.