"The ESP8266 is a affordable development board the combines control of outputs, inputs and wificapabilities."
Good tutorials: https://randomnerdtutorials.com/projects-esp8266/
With Arduino programming, it's easy to add input sensors and output relays readily controllable through WIfi and apps.
Lets make an ESP8266 AsyncWebServer that serves up a webpage and forward it for access outside your home.
Have a ESP8266 loaded with Ardino programming capability and an Arduino programming app installed on your computer. Link
Download and unzip these files to your Arduino/libraries folder.
Github’s asynchronous TCP library: ESPAsyncTCP
HTTP and WebSocket Server ESPAsyncWebServer
File Wrapper ESP8266 File Wrapper
Open a new Arduino project and write, copy or adapt a code.
Basic web connect code. Now connect some sensors to monitor, or devices to control!
Start the Arduino Tools/Serial Monitor and push the reset button on the ESP8266. Note the host name and MAC address on the readout.
Enter that IP address in your browser address bar and view your webpage.
Logon to your router/gateway as admin and find your connected devices.
Note: The following examples are a comcast gateway, other router/gateways are similar.
Assign your device a desired fixed address.
Find the Port Forwarding on your router and add a Port Forward.
Internet Browse for “What’s my IPv4” from home, or look on your gateway data page.
Unless you are paying for a fixed IP, this address may change intermittently. Alternatively setup a DDNS server.
Now to view your webpage at home or at work, enter ipaddress:port#
An ESP8266 provides a standalone webserver that measures and displays the temperature and PH using the Arduino IDE, a DS1826 OneWire underwater sensor, and a PH probe.