Отображение значений датчиков в IoT Cloud

Этот проект покажет как настроить панель Arduino IoT Cloud и отобразить в ней значения нескольких датчиков от платы Ардуино.

Комплектующие

  1. Arduino MKR WiFi 1010 (или другая плата, совместимая с IoT Cloud)
  2. Поворотный потенциометр (универсальный)
  3. Перемычки (типовые)
  4. Макетная плата (обычная)

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

Arduino IoT Cloud — Arduino IoT Cloud — это онлайн-платформа, которая упрощает создание, развертывание и мониторинг IoT-проектов.

О проекте

В этом проекте используются 2 потенциометра, которые подключены к макетной плате Arduino. В результате значения, считанные с потенциометров, будут отображаться на панели Arduino IoT Cloud, когда они будут отрегулированы.

Вы можете применить те же методы, которые используются в этом уроке, для отображения значений с любого другого датчика.

Вам понадобится плата Arduino, совместимая с IoT Cloud, мы используем Arduino MKR WiFi 1010.

Шаг 1. Соединение комплектующих

Начнем с подключения всех компонентов к макетной плате, ниже вы найдете пошаговое руководство.

  • Поместите плату Arduino на макетную плату.
  • Установите потенциометры на макетную плату.
  • Подключите средний вывод одного из потенциометров к выводу аналогового входа A1, а средний вывод другого потенциометра — к выводу аналогового входа A2.
  • Подключите остальные выводы потенциометров к питанию и к земле, направление не имеет значения.

После завершения работы схема должна выглядеть следующим образом.

Отображение значений датчиков в IoT Cloud

Шаг 2. Arduino IoT Cloud

В облаке необходимо создать новую Thing (вещь), настроить устройство и сеть.

Затем следует добавить две Variables (переменные). Назовите их «Pot1» и «Pot2». Они должны иметь тип переменной Integer Number, и поскольку нет необходимости записывать в них данные из облака, ограничьте разрешение переменной Read Only (только чтение).

Отображение значений датчиков в IoT Cloud

Теперь вам нужно создать Dashboard (панель управления), чтобы увидеть значения, полученные с помощью потенциометров. Перейдите в раздел Dashboards и создайте новую панель.

Внутри создайте два виджета: оба — датчики.

Затем вам нужно связать их:

Потенциометр 1 -> Переменная Pot1
Потенциометр 2 -> Переменная Pot 2

Пока что они будут пустыми, так как мы еще не загрузили скетч на нашу плату, что мы сделаем на следующем шаге.

Шаг 3. Код проекта

Скетч:

#include "thingProperties.h"
const int potPin1 = A1;
const int potPin2 = A2;
void setup() {
// Инициализация последовательного порта и ожидание открытия порта:
Serial.begin(9600);
// Эта задержка дает возможность дождаться последовательного монитора без блокировки, если он не найден.
delay(1500);
pinMode(potPin1, INPUT);
pinMode(potPin2, INPUT);
// Определено в thingProperties.h
initProperties();
// Соединение с Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
/*
Следующая функция позволяет получить более подробную информацию о состоянии сети и подключении IoT Cloud, а также об ошибках. Чем выше число, тем более подробную информацию вы получите. По умолчанию установлено значение 0 (только ошибки).
Максимум - 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
// Код здесь
pot1 = analogRead(potPin1);
pot2 = analogRead(potPin2);
Serial.println(pot1);
Serial.println(pot2);
}

Теперь давайте пройдемся по коду.

Код для этого проекта очень прост, все, что нам нужно сделать, это прочитать выход с потенциометров, что можно сделать всего за несколько строк кода.

Первое, что нам нужно сделать, это код настройки, мы объявим, к каким выводам подключены потенциометры, добавив следующие строки кода под включением файла thingProperties.h, который автоматически включается в скетч.

const int potPin1 = A1;
const int potPin2 = A2;

Затем, внутри функции setup, мы хотим объявить эти контакты входами. Для этого добавьте в функцию setup следующие строки:

pinMode(potPin1, INPUT);
pinMode(potPin2, INPUT);

Теперь осталось только прочитать значения, что мы и делаем, добавив две строки в функцию loop:

pot1 = analogRead(potPin1);
pot2 = analogRead(potPin2);

Полный код проекта (скетч) вы найдете в самом начале этого шага.

Заключение

Отображение значений датчиков в IoT Cloud

После загрузки этого скетча в Arduino вы сможете считывать значения и отображать их на панели IoT Cloud. Простой урок по чтению данных с датчиков в облаке Arduino IoT. В нем изложены основы настройки ваших датчиков и подключения их к облаку. Всё это очень легко повторить, используя другие датчики.

Была ли эта страница полезной?