Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умная банка на ESP8266 + Arduino: мониторинг наполненности в реальном времени

Компоненты и материалы

Arduino UNO 1 шт.
Ультразвуковой датчик HC-SR04 1 шт.
Макетная плата 1 шт.
Резисторы 1 кОм 4 шт. (делитель напряжения для ESP8266 RX)
ESP8266 ESP-01 (Wi-Fi модуль) 1 шт.
Перемычки ~15–20 шт.

Программное обеспечение

О проекте

Прототип «умной банки» для кухни: ультразвуковой датчик измеряет уровень наполнения, Arduino опрашивает датчик, ESP8266 отправляет данные на локальный сервер (PHP + MySQL), веб-страница отображает текущее значение. Можно использовать для отслеживания запасов круп, кофе, корма для животных и т.д.

Шаг 1: Комплектующие

Список выше. Провода для ESP-01: питание 3.3 В (от Arduino 3.3В или отдельного LDO), TX→RX Arduino через делитель 1к/2к (или 1к+1к), RX ESP→TX Arduino напрямую (3.3В логика терпима).

Шаг 2: Подключение ESP-01 и HC-SR04

См. фото в оригинале. HC-SR04: Trig→D9, Echo→D10, VCC/GND→5V/GND. ESP-01: VCC/CH_PD→3.3V, GND→GND, TX→D2 (SoftwareSerial RX), RX→D3 через делитель напряжения.

Шаг 3: Скетч Arduino (SoftwareSerial + AT-команды)

#include <SoftwareSerial.h>
SoftwareSerial esp(2, 3); // RX, TX к ESP-01
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=\"SSID\",\"PASSWORD\""); response(10000);
  pinMode(9, OUTPUT); pinMode(10, INPUT);
}

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\",\"YOUR_SERVER_IP\",80"); response(5000);
  esp.println("AT+CIPSEND=80"); response(2000);
  esp.print("GET /your_php_script.php?dist="); esp.print(distance); esp.println(" HTTP/1.1\r\nHost: YOUR_SERVER_IP\r\n\r\n");
  response(5000);
  delay(5000); // период отправки
}

void response(int waitTime) {
  for (int i=0; i

Шаг 4: PHP — запись в БД (insert.php)

<?php
$server="localhost"; $user="root"; $pass=""; $db="smartjar";
$conn = new mysqli($server,$user,$pass,$db);
if($conn->connect_error) die("Connection failed: ".$conn->connect_error);
$dist = $_GET['dist'];
$sql = "INSERT INTO levels (distance, timestamp) VALUES ($dist, NOW())";
$conn->query($sql);
$conn->close();
?>

Шаг 5: PHP — отображение (view.php)

<?php
$conn = new mysqli("localhost","root","","smartjar");
$result = $conn->query("SELECT distance, timestamp FROM levels ORDER BY id DESC LIMIT 1");
$row = $result->fetch_assoc();
echo "Distance: ".$row['distance']." cm
Time: ".$row['timestamp']; $conn->close(); ?>

Шаг 6: База данных (phpMyAdmin)

CREATE DATABASE smartjar;
USE smartjar;
CREATE TABLE levels (
  id INT AUTO_INCREMENT PRIMARY KEY,
  distance INT NOT NULL,
  timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);

Шаг 7: Тестирование

Проверьте baud rate ESP-01 (часто 115200 по умолчанию — измените через AT+CIOBAUD=9600). Откройте view.php в браузере — должно обновляться значение расстояния.

Авторы: Narendra Santhosh N, Ajay Karthik K, Subash C. Планы: Android-приложение, графический веб-интерфейс.

Код и ресурсы

GitHub репозиторий: github.com/santynaren/iotsmartjar (включает README, скетч, PHP-файлы).

Производственный процесс

  1. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  2. Точный мониторинг температуры и влажности с SHT15 на Windows 10 IoT Core
  3. Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
  4. Создание ультразвукового левитатора на Arduino: пошаговое руководство
  5. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  6. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  7. Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
  8. Умный дом и система безопасности на базе 1Sheeld
  9. Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
  10. WiFi-умный замок на Arduino и ESP8266 — открывание с телефона