Skip to content

Commit 5f779e5

Browse files
committed
docs: Added README.md file to support the new ESP-WebServer sketch
1 parent 5b8c9c3 commit 5f779e5

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

examples/ESP-WebServer/README.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# 🌡️ Arduino Sketch: DS18B20 Sensor via Wi-Fi (REST Endpoints & Dashboard)
2+
3+
This **example Sketch** demonstrates how to use the [Arduino Temperature Control Library](https://github.com/milesburton/Arduino-Temperature-Control-Library) on an **ESP8266** or **ESP32** to read temperature data from **Maxim (Dallas) DS18B20** sensors. The Sketch publishes the readings via Wi-Fi in two ways:
4+
5+
1. **REST Endpoints** - Ideal for Node-RED, Home Assistant, or other automation platforms.
6+
2. **A Human-Friendly Dashboard** - A simple web interface, powered by [Chart.js](https://www.chartjs.org/) and [Tailwind CSS](https://tailwindcss.com/), displaying current and historical temperatures.
7+
8+
---
9+
10+
## 🔎 Features
11+
- Reads from one or more **DS18B20** temperature sensors
12+
- Configurable **polling interval** (in milliseconds) and **history length** (number of readings)
13+
- **Lightweight dashboard** that visualizes the last N readings
14+
- **REST endpoints** for easy integration:
15+
- `/temperature` - current readings
16+
- `/sensors` - sensor addresses
17+
- `/history` - historical data
18+
19+
---
20+
21+
## 📚 Potential Use Cases
22+
- **Node-RED** automation flows: Perform regular HTTP GET requests against `/temperature` or `/history`
23+
- **Home Assistant** integrations: Use built-in REST sensors to track temperature over time
24+
- **Extensible to other sensor types** (humidity, light, pressure, etc.) by following the same approach
25+
26+
---
27+
28+
## 🛠️ Getting Started
29+
1. **Clone or download** this repository
30+
2. **Open the Sketch** (the `.ino` file) in the Arduino IDE (or other environment)
31+
3. **Install dependencies**:
32+
- [Arduino Temperature Control Library](https://github.com/milesburton/Arduino-Temperature-Control-Library)
33+
- ESP8266 or ESP32 core for Arduino
34+
4. **Set your Wi-Fi credentials** in the code:
35+
```cpp
36+
const char* ssid = "YourNetwork";
37+
const char* password = "YourPassword";
38+
```
39+
5. **Adjust** the interval and history:
40+
```cpp
41+
// Configuration
42+
const unsigned long READ_INTERVAL = 10000; // e.g. 10 seconds
43+
const int HISTORY_LENGTH = 360; // 1 hour at 10-second intervals
44+
```
45+
6. **Connect** the DS18B20 sensor(s) to the ESP, using OneWire with a pull-up resistor
46+
7. **Upload** the Sketch to your device
47+
8. **Check** the serial monitor for the IP
48+
9. **Navigate** to that IP in your browser to see the chart-based interface
49+
50+
---
51+
52+
## ❓ Questions & Support
53+
- **Library Matters**: If you have issues with the **Arduino Temperature Control Library** itself, please open a ticket in the [official repository](https://github.com/milesburton/Arduino-Temperature-Control-Library/issues)
54+
- **This Sketch**: For help customizing this example, dealing with Wi-Fi issues, or setting up the chart dashboard, and other device-specific tweaks, please visit the [Arduino Forum](https://forum.arduino.cc/). You will find many friendly developers there ready to help.
55+
56+
---
57+
58+
## 📜 License
59+
This project is distributed under the [MIT License](https://opensource.org/licenses/MIT).
60+
61+
> We hope you find this Sketch useful for monitoring temperatures - both in a machine-readable (REST) and human-friendly (web dashboard) format. Happy hacking! 🚀

0 commit comments

Comments
 (0)