Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| Ultraschallsensor HC-SR04 | × | 1 |
| Steckbrett | × | 1 |
| Widerstand 1 kΩ | × | 4 |
| ESP8266 ESP-01 (WiFi Modul) | × | 1 |
| Jumper-Kabel | × | 15 |
Apps & Online-Dienste
- Arduino IDE
Über dieses Projekt
Machen Sie Ihre Küche smart! Dieses Projekt liefert Echtzeit-Daten über den Füllstand eines Vorratsglases – ideal für geheime Rezepte.
Schritt 1: Benötigte Teile
Hardware: Arduino UNO, HC-SR04 Ultraschallsensor, leeres Glas (Kunststoff/transparent), Steckbrett, ESP8266 ESP-01, Jumper-Kabel (~15–20), USB-Kabel, 2× 2 kΩ Widerstände (für ESP8266 Spannungsteiler).
Software: Arduino IDE, Sublime Text/Notepad++, Apache Server (z. B. XAMPP), MySQL Datenbank.
Schritt 2: ESP8266 & Ultraschallsensor Verdrahtung
Der ESP8266 (3,3 V) wird über einen Spannungsteiler (2× 2 kΩ) an die Arduino TX/RX Pins (SoftwareSerial Pins 2, 3) angebunden. Der HC-SR04 wird an 5 V, GND, Trig (Pin 9), Echo (Pin 10) angeschlossen.
Schritt 3: Arduino Programmierung
Verwendete Software: Notepad++, XAMPP Server, Arduino IDE.
#include <SoftwareSerial.h>
SoftwareSerial esp(2, 3); // RX, TX
long duration;
int distance;
void setup() {
Serial.begin(9600);
esp.begin(9600);
esp.println("AT"); response(3000);
esp.println("AT+CIOBAUD=9600"); response(1000);
esp.println("AT+CWMODE=1"); response(2000);
esp.println("AT+CWJAP=\"WIFI_SSID\",\"WIFI_PASS\""); response(10000);
pinMode(9, OUTPUT); // Trig
pinMode(10, INPUT); // Echo
}
void loop() {
digitalWrite(9, LOW); delayMicroseconds(2);
digitalWrite(9, HIGH); delayMicroseconds(10);
digitalWrite(9, LOW);
duration = pulseIn(10, HIGH);
distance = duration * 0.034 / 2;
esp.println("AT+CIPSTART=\"TCP\",\"DEINE_IP\",80"); response(5000);
esp.println("AT+CIPSEND=80"); response(2000);
esp.print("GET /dein_pfad/insert.php?dist=");
esp.print(distance);
esp.println("\r\nabcd1234"); response(5000);
}
void response(int waitTime) {
for(int i=0; i
Schritt 4: Webseitencodierung – Daten einfügen (PHP)
Ein PHP-Skript (insert.php) nimmt den GET-Parameter dist entgegen und speichert ihn mit Timestamp in die MySQL-Datenbank.
Schritt 5: Webseitencodierung – Daten anzeigen (PHP)
Ein zweites Skript (display.php) liest die letzten Einträge und zeigt sie tabellarisch oder grafisch an.
Schritt 6: Datenbank einrichten (phpMyAdmin)
Tabelle z. B. smartjar mit Spalten: id (AI, PK), distance (INT), timestamp (DATETIME). Bei Fragen: santhoshnarendra@gmail.com (Betreff: "Tutorial - Smart Jar").
Schritt 7: Test & Betrieb
Auf korrekte Baudrate achten (9600). Falls ESP8266 Fehler zeigt, Baudrate zurücksetzen. Ende Februar 2017 folgt Android-App & Web-GUI. Stay tuned!
Projekt von: Narendra Santhosh N, Ajay Karthik K, Subash C
Code
GitHub Repository mit allen Dateien & README: https://github.com/santynaren/iotsmartjar
Herstellungsprozess
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Präzise Temperatur- & Feuchtigkeitsüberwachung mit SHT15 unter Windows 10 IoT Core
- DHT11 Temperatur- & Feuchtesensor mit LED-Anzeige & Piezo-Summer
- Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
- DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
- Smart Home Automatisierung & Sicherheitssystem mit 1Sheeld
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- WLAN-Türschloss mit Arduino & ESP8266 – Per Smartphone entsperren