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

Загрузка данных датчика DHT11 на ThingSpeak с использованием Arduino MKR1000

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

О проекте

Ранее я разрабатывал код для ESP8266 12-E для беспроводной передачи данных с датчика DHT11 на ThingSpeak. Для работы с Arduino MKR1000 потребовались лишь незначительные изменения.

Шаг 1. Подключение

Соедините линию данных DHT с выводом 1 платы MKR1000 (пятый вывод от края на обратной стороне).

Шаг 2. Установка библиотек

Скачайте и установите в Arduino IDE:

Шаг 3. Добавление поддержки плат SAMD

В менеджере плат (Инструменты → Плата → Менеджер плат) найдите «Arduino SAMD Boards (32-bits ARM Cortex M0+)» и установите версию 1.6.3 (версия 1.6.4 может не установить плату MKR1000).

Шаг 4. Настройка ThingSpeak

  1. Создайте бесплатный аккаунт на ThingSpeak.com.
  2. Настройте поля для графика (влажность, температура).
  3. Скопируйте «Write API Key», SSID и пароль Wi-Fi в скетч.

Шаг 5. Загрузка и запуск

Выберите правильный COM-порт для MKR1000, скомпилируйте и загрузите код. В мониторе порта вы увидите сообщения об отправке данных на ThingSpeak.

Код

Скетч объединяет примеры Adafruit DHT, WiFi101 WebClient и шаблон ThingSpeak для Arduino. Полный код доступен на GitHub.

/* Скетч для MKR1000 + DHT11 + ThingSpeak */
#include <SPI.h>
#include <WiFi101.h>
#include <DHT.h>

#define DHTPIN 1
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
String apiKey = "YourApiKeyHere";
char ssid[] = "YourSSIDHERE";
char pass[] = "YourPasswordHere";
int keyIndex = 0;
char server[] = "api.thingspeak.com";
WiFiClient client;

void setup() {
  Serial.begin(9600);
  while (!Serial);
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    while (true);
  }
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    WiFi.begin(ssid, pass);
    delay(10000);
  }
  Serial.println("Connected to wifi");
  printWifiStatus();
}

void loop() {
  delay(2000);
  int h = dht.readHumidity();
  int t = dht.readTemperature();
  int f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  int hif = dht.computeHeatIndex(f, h);
  int hic = dht.computeHeatIndex(t, h, false);
  Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t");
  Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C ");
  Serial.print(f); Serial.print(" *F\t");
  Serial.print("Heat index: "); Serial.print(hic); Serial.print(" *C ");
  Serial.print(hif); Serial.println(" *F\n");
  Serial.println("\nStarting connection to server...");
  if (client.connect(server, 80)) {
    Serial.println("connected to server");
    String tsData = "field1=" + String(h) + "&field2=" + String(t) + "&field3=" + String(f) + "&field4=" + String(hic) + "&field5=" + String(hif);
    client.print("POST /update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(tsData.length());
    client.print("\n\n");
    client.print(tsData);
    client.stop();
    delay(1000);
  }
}

void printWifiStatus() {
  Serial.print("SSID: "); Serial.println(WiFi.SSID());
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: "); Serial.println(ip);
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm");
}

Схема подключения

Линия данных DHT → вывод 1 MKR1000. Питание 5V и GND от MKR1000 к датчику.

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

  1. PicoCoreMX8MM: Ультракомпактный ARM модуль на базе NXP i.MX 8M Mini
  2. Kontron представляет COM HPC: новый стандарт высокопроизводительных встроенных вычислений
  3. Компактный breakout для DHT температуры и влажности на Raspberry Pi — ATtiny85 и DHT22/DHT11
  4. Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
  5. Создайте свой первый IoT-проект с Raspberry Pi, DHT11 и ThingSpeak
  6. Arduino MKR1000: полное руководство по распиновке, питанию и старту для IoT
  7. Parts.Cat.Com: упрощение закупки запчастей, экономия времени и денег
  8. Shop.Cat.Com: ваш универсальный ресурс для техники, навесного и инструментов
  9. Оптимизация техники Cat®: полное руководство по My.Cat.com
  10. Сталь ASTM A551 Class DHT после термической обработки: ключевые свойства и производительность