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

Надёжная личная метеостанция на Arduino, ESP8266 и ThingSpeak

Компоненты

Датчик давления/температуры BMP180 (Adafruit)×1
Датчик влажности/температуры DHT11 (4 пина)×1
Фоторезистор (LDR)×1
Wi-Fi модуль ESP8266 ESP-01×1
Arduino Nano R3×1
Резисторы 4.75 кОм, 51 кОм×1 каждый
Понижающий модуль LM2596×1
DC-джек, выключатель, БП 12В/2А×1 каждый
Макетная плата (PCB), разъёмы, корпус 4×4×2 дюйма×1

Инструменты

Сервисы и софт

О проекте

Проект позволяет мониторить микроклимат в помещении: температура, влажность, атмосферное давление и уровень освещённости. Данные собирает Arduino Nano, передаёт по UART на ESP8266, который отправляет их на ThingSpeak через Wi-Fi. Питание — от сетевого адаптера 12В/2А с понижением до 3.3В для сенсоров и ESP.

Шаг 1: Создание канала на ThingSpeak

  1. Регистрация на thingspeak.com → New Channel → включить 4 поля.
  2. Сохранить Write API Key — он понадобится в коде.

Шаг 2: Схема подключения

Шаг 3: Монтаж на макетной плате

Используйте гнездовые колодки для Nano и ESP, продвинутые разъёмы для сенсоров (они будут закреплены на крышке корпуса). Проверьте на короткие замыкания мультиметром перед включением.

Шаг 4: Корпус

В пластиковом боксе 4×4×2 дюйма вырезайте отверстия под DC-джек, выключатель (стенка) и сенсоры (крышка). Отшлифуйте края, зафиксируйте компоненты клеем, закройте крышку винтами.

Шаг 5: Прошивка

Скачайте код с GitHub. Перед загрузкой укажите в скетче:
— SSID и пароль Wi-Fi (строки 14–15)
— Write API Key ThingSpeak (строка 17)
Загрузите скетч при отключенном 12В питании.

Код (фрагмент)

#include <SoftwareSerial.h>
#include <Wire.h>
#include <dht.h>
#include <Adafruit_BMP085.h>
// ... настройка пинов, Wi-Fi, ThingSpeak ...
void loop() {
  setupEsp8266();
  DHT.read11(dht_pin);
  double humi = DHT.humidity;
  double temp = bmp.readTemperature();
  double press = bmp.readPressure();
  int light = analogRead(lightSensor);
  updateTemp(String(temp), String(light), String(press), String(humi));
  delay(30000); // 30 сек
}

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

  1. DIY солнечная метеостанция на Raspberry Pi
  2. Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
  3. Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
  4. Интеграция метеостанции с CWOP: практическое руководство
  5. Weather Monitor — DIY метеостанция на Raspberry Pi с загрузкой в Dropbox
  6. Продвинутая метеостанция v2.0: мониторинг температуры, давления, влажности и высоты в реальном времени
  7. Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
  8. Загрузка данных датчика DHT11 на ThingSpeak с использованием Arduino MKR1000
  9. Портативная метеостанция на Arduino Nano за $10: DHT22, BMP180 и LCD
  10. eDOT: точные Arduino-часы и метеостанция с встроенным ИК-пультом