This article presents the design and implementation of a software-based IoT monitoring system with interactive data visualization. The system simulates a pneumatic piston controlled by a virtual PLC server, transmits process variables through the OPC UA communication protocol, and displays real-time and historical data through a web interface. The backend is implemented in Python using FastAPI library; the frontend uses HTML, CSS, and JavaScript. The architecture follows a three-layer IoT model: a data-generation layer (OPC UA server), a collection and storage layer (OPC UA client, JSON), and a visualization layer (web application). The system requires no physical hardware and validates the full communication chain from process simulation to user display. Results confirm data transfer at 200 ms polling intervals, correct piston position derivation from chamber volumes, and usable historical querying across custom time ranges. The solution provides a foundation for deploying remote human-process interfaces aligned with Industry 5.0 principles.