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

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

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

Сервисы и ПО

О проекте

Первые шаги в IoT

Вход в IoT может пугать новичком. ThingSpeak — идеальная стартовая площадка: дешево, понятно, круто. Проект: DHT11 шлёт данные в облако ThingSpeak через Arduino + ESP-01.

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Подключение

ESP-01Arduino / Питание
VCC3.3V (от Breadboard PSU)
GNDGND
CH_PD3.3V
RESET3.3V
TXPin 2 (SoftwareSerial RX)
RXPin 3 (SoftwareSerial TX) — через делитель напряжения!
DHT11Arduino
VCC5V
OUTA0
GNDGND

На Breadboard Power Supply переключите джампер на 3.3V.

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Настройка ThingSpeak

  1. Регистрация на thingspeak.com.
  2. New Channel → два поля: Temperature и Humidity.
  3. Сохраните Write API Key — понадобится в коде.
Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Настройка Arduino IDE

Ключевой момент — библиотеки. Нужно установить вручную через Sketch → Include Library → Add .ZIP Library:

  1. DHT sensor library by Adafruit: GitHub
  2. Adafruit Unified Sensor Library: GitHub

SoftwareSerial.h — встроена.

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Скетч

Полный код: GitHub

В коде перед загрузкой:

  1. Вставьте свой Write API Key в переменную myAPIkey.
  2. Укажите SSID и пароль Wi-Fi в команде AT+CWJAP.
String myAPIkey = "Your Write API key here";
#include <SoftwareSerial.h>
#include <DHT.h>

SoftwareSerial ESP8266(2, 3); // Rx, Tx
#define DHTTYPE DHT11
#define DHTPIN A0
DHT dht(DHTPIN, DHTTYPE, 11);

float humidity, temp_f;
long writingTimer = 17; // интервал отправки, сек
long startTime = 0;
boolean error;

void setup() {
  Serial.begin(9600);
  ESP8266.begin(9600);
  dht.begin();
  startTime = millis();
  ESP8266.println("AT+RST");
  delay(2000);
  Serial.println("Connecting to Wifi");
  // ... подключение к Wi-Fi через AT-команды ...
}

void loop() {
  if (millis() - startTime > writingTimer * 1000) {
    readSensors();
    writeThingSpeak();
    startTime = millis();
  }
}

void readSensors() {
  temp_f = dht.readTemperature();
  humidity = dht.readHumidity();
}

void writeThingSpeak() {
  ESP8266.flush();
  String cmd = "AT+CIPSTART=\"TCP\",\"184.106.153.149\",80"; // api.thingspeak.com
  ESP8266.println(cmd);
  if(ESP8266.find("Error")) return;

  String getStr = "GET /update?api_key=" + myAPIkey;
  getStr += "&field1=" + String(temp_f);
  getStr += "&field2=" + String(humidity);
  getStr += "\r\n\r\n";

  String cmdSend = "AT+CIPSEND=" + String(getStr.length());
  ESP8266.println(cmdSend);
  if(ESP8266.find(">")) {
    ESP8266.print(getStr);
    delay(500);
    // чтение ответа...
  } else {
    ESP8266.println("AT+CIPCLOSE");
  }
}

После загрузки: на канале ThingSpeak появятся графики с обновлением каждые 15 секунд.

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Схемы

Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке

Код: GitHub

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

  1. Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
  2. Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
  3. Продвинутая метеостанция v2.0: мониторинг температуры, давления, влажности и высоты в реальном времени
  4. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  5. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  6. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  7. Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
  8. DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
  9. Портативная метеостанция на Arduino Nano за $10: DHT22, BMP180 и LCD
  10. eDOT: точные Arduino-часы и метеостанция с встроенным ИК-пультом