Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Printing
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Printing
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Printing
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home IoT & Smart Home

IoT Dashboard with Grafana and InfluxDB on Local Network

IoT Dashboard with Grafana and InfluxDB on Local Network

March 11, 2026 /Posted byJayesh Jain / 0

An IoT Grafana InfluxDB dashboard is the professional way to visualise data from your ESP32 sensor nodes on your local network. Instead of sending data to cloud platforms that may have privacy concerns or API limits, this stack stores everything on your own server — whether that is a Raspberry Pi, an old laptop, or a mini-PC running 24/7 — and gives you beautiful, real-time graphs accessible from any device on your home network.

Table of Contents

  1. System Architecture Overview
  2. Installing InfluxDB on Your Server
  3. Installing Grafana on Your Server
  4. Wiring and Programming ESP32 Sensors
  5. Using MQTT and Telegraf as the Bridge
  6. Building Your Grafana Dashboard
  7. Setting Up Alerts and Notifications
  8. Frequently Asked Questions

System Architecture Overview

The classic local IoT monitoring stack uses four components working together:

  1. ESP32 sensor nodes — read temperature, humidity, pressure, or any other data and publish it over Wi-Fi
  2. MQTT broker (Mosquitto) — a lightweight message broker that receives data from the ESP32 nodes and makes it available to subscribers
  3. InfluxDB — a time-series database purpose-built for storing sensor measurements efficiently. Every reading is tagged with a timestamp, making it trivial to query “temperature over the last 7 days”
  4. Grafana — an open-source analytics platform with a rich dashboard editor. Connect it to InfluxDB and build beautiful graphs, gauges, and heatmaps

The data flow looks like this: ESP32 → MQTT Broker → Telegraf → InfluxDB → Grafana

This architecture is extremely popular in India’s maker community because every component is free and open-source, and the entire stack runs comfortably on a Raspberry Pi 4 with 4GB RAM, or even on a Raspberry Pi 3B+ if you reduce Grafana’s memory usage.

DHT11 Digital Relative Humidity and Temperature Sensor Module

DHT11 Digital Relative Humidity and Temperature Sensor Module

The most popular entry-level sensor for ESP32 IoT dashboards in India — reads both temperature and humidity with a single data wire, perfect for Grafana monitoring.

View on Zbotic

Installing InfluxDB on Your Server

We recommend InfluxDB v2.x as it has a much improved UI and native Flux query language. Install it on Ubuntu/Debian (the most common server OS for Indian home setups):

# Add InfluxDB repo
curl -s https://repos.influxdata.com/influxdata-archive_compat.key 
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' 
  | sudo tee /etc/apt/sources.list.d/influxdata.list

sudo apt update && sudo apt install influxdb2 -y
sudo systemctl enable --now influxdb

Once installed, open http://[your-server-ip]:8086 in your browser. You will be taken through the initial setup wizard to create your first organisation, user account, and bucket. A bucket in InfluxDB is equivalent to a database — create one called iot_sensors with a retention period of 30 days to start with.

Generate an API token during setup — you will need this token for Telegraf and Grafana to authenticate with InfluxDB.

Installing Grafana on Your Server

sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update && sudo apt install grafana -y
sudo systemctl enable --now grafana-server

Grafana runs on port 3000 by default. Open http://[server-ip]:3000 and log in with admin/admin (change the password when prompted).

Adding InfluxDB as a data source in Grafana:

  1. Go to Connections → Data Sources → Add data source
  2. Select InfluxDB
  3. Set Query Language to Flux
  4. Set URL to http://localhost:8086
  5. Under InfluxDB Details, enter your organisation, default bucket (iot_sensors), and API token
  6. Click Save and Test

Wiring and Programming ESP32 Sensors

You can use any sensor with your ESP32. The most popular choices for Indian home monitoring dashboards are:

  • DHT11 / DHT22 — temperature and humidity (indoor climate monitoring)
  • BME280 — temperature, humidity, and barometric pressure (weather station)
  • DS18B20 — waterproof temperature probe (water tank temperature, outdoor use)
  • PIR sensor — motion detection events

Here is a minimal Arduino sketch that reads a DHT11 and publishes the data to MQTT:

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>

#define DHTPIN 4
#define DHTTYPE DHT11

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
const char* mqtt_server = "192.168.1.100"; // Your server IP
const char* topic_temp = "home/livingroom/temperature";
const char* topic_hum  = "home/livingroom/humidity";

WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(DHTPIN, DHTTYPE);

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) delay(500);
    client.setServer(mqtt_server, 1883);
    dht.begin();
}

void loop() {
    if (!client.connected()) {
        client.connect("ESP32_LivingRoom");
    }
    float temp = dht.readTemperature();
    float hum  = dht.readHumidity();
    if (!isnan(temp)) client.publish(topic_temp, String(temp).c_str());
    if (!isnan(hum))  client.publish(topic_hum,  String(hum).c_str());
    delay(30000); // Read every 30 seconds
}
GY-BME280-3.3 Precision Altimeter Sensor

GY-BME280-3.3 Precision Altimeter Atmospheric Pressure Sensor Module

The BME280 measures temperature, humidity, AND barometric pressure over I2C — ideal for a home weather station dashboard in Grafana with three metrics per sensor.

View on Zbotic

Using MQTT and Telegraf as the Bridge

Telegraf is InfluxData’s data collection agent. It acts as the bridge between your MQTT broker and InfluxDB, consuming MQTT messages and writing them as InfluxDB measurements. Install it:

sudo apt install telegraf -y

Edit /etc/telegraf/telegraf.conf and add these sections:

[[outputs.influxdb_v2]]
  urls = ["http://127.0.0.1:8086"]
  token = "YOUR_INFLUX_TOKEN"
  organization = "home"
  bucket = "iot_sensors"

[[inputs.mqtt_consumer]]
  servers = ["tcp://127.0.0.1:1883"]
  topics = [
    "home/#",
  ]
  qos = 0
  data_format = "value"
  data_type = "float"

Restart Telegraf: sudo systemctl restart telegraf

Now every MQTT message published by your ESP32 nodes will automatically flow into InfluxDB. The MQTT topic structure (home/livingroom/temperature) becomes the measurement name in InfluxDB.

DHT20 SIP Packaged Temperature and Humidity Sensor

DHT20 SIP Packaged Temperature and Humidity Sensor

The DHT20 is an upgraded DHT11/22 replacement using I2C instead of a one-wire protocol — simpler wiring and better accuracy for multi-room Grafana monitoring setups.

View on Zbotic

Building Your Grafana Dashboard

Now for the fun part — visualising your sensor data. In Grafana:

  1. Click + → New Dashboard → Add a new panel
  2. Select your InfluxDB data source
  3. Write a Flux query to pull your temperature data:
from(bucket: "iot_sensors")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["topic"] == "home/livingroom/temperature")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

Choose the Time series visualization type for temperature trends. Use Gauge for current readings, Stat for max/min, and Heatmap for day-of-week patterns.

Some popular dashboard layouts for Indian home monitoring:

  • Climate Overview: Temperature and humidity for each room, last 24 hours
  • Daily Patterns: Heatmap showing temperature by hour of day and day of week
  • Weather Station: BME280 pressure history with monsoon prediction potential
  • Energy Monitor: If you add a current sensor, track electricity usage by appliance

Setting Up Alerts and Notifications

Grafana’s built-in alerting can notify you when sensor values go out of range. This is extremely useful for:

  • Temperature rising above 40°C in a server room or equipment cabinet
  • Humidity exceeding 80% (mould risk during Indian monsoon season)
  • A sensor going offline (no data received for 10 minutes)

Set up alerting under Alerting → Alert Rules → New Alert Rule. Choose your Flux query as the data source, set conditions (e.g. temperature > 40), and configure notification channels. Grafana supports email, Telegram, Slack, PagerDuty, and webhooks — all configurable under Alerting → Contact Points.

Telegram alerts for India: Creating a Telegram bot and using it as a Grafana contact point is extremely popular among Indian IoT enthusiasts. You get instant WhatsApp-like notifications on your phone when any sensor goes out of range.

JSN-SR04T Waterproof Ultrasonic Rangefinder

A86 JSN-SR04T Waterproof Ultrasonic Rangefinder Module

Monitor water tank levels automatically with this waterproof ultrasonic sensor and plot fill levels on your Grafana dashboard — a very popular project in Indian homes.

View on Zbotic

Frequently Asked Questions

Can I run Grafana and InfluxDB on a Raspberry Pi?

Yes — a Raspberry Pi 4 with 4GB RAM handles the full stack (Mosquitto + Telegraf + InfluxDB 2 + Grafana) comfortably with headroom to spare for up to 20–30 sensor nodes publishing every 30 seconds. On a Pi 3 you may need to increase swap space and reduce InfluxDB’s cache settings.

Do I need internet access for this setup to work?

No — the entire stack runs on your local network. Once set up, sensor data flows from ESP32 to MQTT to InfluxDB to Grafana without touching the internet. This makes it ideal for privacy-conscious setups and locations with unreliable internet.

What is the difference between InfluxDB v1 and v2?

InfluxDB v2 has a unified web UI, uses the Flux query language (more powerful than InfluxQL), and includes built-in tasks and alerting. InfluxDB v1 is still widely used (especially on Raspberry Pi due to lower resource usage) and uses InfluxQL which is similar to SQL. Both integrate with Grafana.

How many ESP32 sensor nodes can I connect to one Grafana/InfluxDB server?

A Pi 4 or a modest home server (Intel N100 mini-PC) can easily handle 50–100 sensor nodes publishing every 30 seconds. At this scale, InfluxDB’s compression means storage is very manageable — about 1GB per year for 50 nodes sending 2 fields every 30 seconds.

Can I access my Grafana dashboard from outside my home?

Yes — use Tailscale or WireGuard VPN to securely access your home server from anywhere. Avoid exposing Grafana directly to the internet without authentication. Tailscale is the easiest option and has a free tier that works well for personal use.

Build Your IoT Sensor Network with Zbotic

Zbotic stocks ESP32 boards, temperature sensors, humidity sensors, and all the components you need to build a professional IoT monitoring dashboard. Fast delivery across India.

Shop Sensors and IoT Modules at Zbotic

Tags: ESP32 Sensor, Grafana, home server, InfluxDB, IoT Dashboard
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
IoT Smart Lock with ESP32 and ...
blog iot smart lock with esp32 and fingerprint sensor 595396
blog arduino timer library millis vs delay explained 595400
Arduino Timer Library: millis ...

Related posts

Svg%3E
Read more

IoT Home Insurance Sensor Kit: Leak, Smoke, and Motion

April 1, 2026 0
Table of Contents IoT and Home Insurance Water Leak Detection Smoke and Fire Detection Motion and Intrusion Sensing Building the... Continue reading
Svg%3E
Read more

IoT Pet Tracker: GPS Collar with Geofencing Alerts

April 1, 2026 0
Table of Contents Introduction and Overview Hardware Components Required GPS Module Integration with ESP32 Cloud Platform Setup Real-Time Tracking Dashboard... Continue reading
Svg%3E
Read more

IoT Aquaponics Controller: Fish and Plant Automation

April 1, 2026 0
Table of Contents The Water Monitoring Challenge in India Sensor Technologies for Water Building the Sensor Node Data Transmission and... Continue reading
Svg%3E
Read more

IoT Composting Monitor: Temperature and Moisture Tracking

April 1, 2026 0
Table of Contents Why Temperature Monitoring Matters Sensor Selection Guide Hardware Assembly and Wiring Firmware Development Cloud Data Logging Alert... Continue reading
Svg%3E
Read more

IoT Beehive Monitor: Weight, Temperature, and Humidity

April 1, 2026 0
Table of Contents Why Monitor Beehives Weight Measurement System Temperature and Humidity Sensing Building the Monitor Data Analysis for Bee... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Customer Support Email: [email protected]
WhatsApp: 020 6913 4444

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now
Chat with us