The IoT infrastructure problem
You’ve got sensors. They measure things. Temperature, humidity, pressure, motion, light levels, soil moisture, air quality, water flow. Whatever. The sensors work great.
Now you need somewhere for that data to go.
The typical advice: spin up a cloud instance, install a time-series database, configure an MQTT broker, set up Grafana, manage SSL certificates, handle security updates. Suddenly you’re spending more time on infrastructure than on the actual project.
For a lot of IoT setups, that’s overkill. If your devices can upload files, a web hosting account does the job.
How IoT data logging works on web hosting
The flow is straightforward:
- Device takes a reading (temperature, humidity, whatever it measures)
- Device writes a line to a file or creates a small data file (CSV, JSON, or plain text)
- Device uploads the file to your hosting account via FTP or HTTP POST
- You view the data through a web browser, download it for analysis, or build a simple dashboard
That’s the entire system. No database servers, no message brokers, no infrastructure to maintain.
What the device side looks like
Most IoT platforms (Arduino, ESP32, Raspberry Pi) can make HTTP requests or FTP uploads. Here’s the general pattern:
ESP32/Arduino (HTTP POST)
HTTPClient http;
http.begin("https://example.com/log.php");
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String data = "sensor=temp1&value=23.5&time=" + String(millis());
http.POST(data);
http.end();
Raspberry Pi (append to remote file via FTP)
import ftplib
from datetime import datetime
reading = f"{datetime.now()},23.5,65.2\n" # timestamp, temp, humidity
ftp = ftplib.FTP('your-hosting')
ftp.login('iot-user', 'password')
ftp.cwd('/data/sensor-01/')
# Append to today's log file
filename = f"log-{datetime.now().strftime('%Y-%m-%d')}.csv"
ftp.storbinary(f'APPE {filename}', io.BytesIO(reading.encode()))
ftp.quit()
On the hosting side (simple PHP receiver)
<?php
$sensor = $_POST['sensor'];
$value = $_POST['value'];
$time = date('Y-m-d H:i:s');
$line = "$time,$sensor,$value\n";
file_put_contents("data/$sensor.csv", $line, FILE_APPEND);
echo "ok";
?>
Viewing the data
Your hosting account is a web server. Once data files are there, you can:
- Browse them directly at
example.com/data/if directory listing is enabled - Download CSV files and open in Excel or Google Sheets for analysis
- Build a simple dashboard with a PHP or JavaScript page that reads the CSV files and displays charts
- Use the file manager in your control panel to check on files without any technical tools
For quick checks, just browsing the CSV files in your control panel’s file manager works. For something nicer, plenty of free JavaScript charting libraries (Chart.js, Plotly) can read CSV files and display graphs.
How much data can you store?
IoT sensor readings are tiny. A single reading (timestamp + sensor ID + value) is about 50-100 bytes. That means:
| Setup | Readings/day | Daily storage | Monthly storage |
|---|---|---|---|
| 1 sensor, every 5 min | 288 | ~30 KB | ~1 MB |
| 10 sensors, every 5 min | 2,880 | ~300 KB | ~10 MB |
| 50 sensors, every minute | 72,000 | ~7 MB | ~200 MB |
| 100 sensors, every minute | 144,000 | ~14 MB | ~400 MB |
Even a basic web hosting plan with a few gigabytes of storage can hold years of sensor data. Image uploads from cameras use more space, but sensor readings themselves are almost nothing.
When to level up
Web hosting data logging works great until it doesn’t. Signs you’ve outgrown it:
- You need real-time dashboards with sub-second updates (web hosting serves files, not websockets)
- You need complex queries across millions of records (CSV files aren’t databases)
- You’re running hundreds of devices hitting the server every few seconds (FTP connections have overhead)
- You need alerting and automation based on incoming data in real time
At that point, a VPS with InfluxDB, Grafana, and an MQTT broker is the right next step. Our sister brand ColossusCloud offers VPS hosting for exactly this kind of workload.
But start with web hosting. It’s simpler, cheaper, and good enough for most small and medium IoT projects. You can always migrate data to a bigger setup later.
APlusHosting web hosting plans work as IoT data collection points. FTP access, web serving, and enough storage for years of sensor data. No server management required.