Содержание
1. Установка TeslaCloud на Repka PI
4. Настраиваем карточки в TeslaCloud
Шаг 1. Создаём проект в TeslaSCADA IDE
Шаг 4. Публикуем экран в облако
В этой статье разберёмся, как установить TeslaCloud на одноплатном компьютере RepkaPI, создать проект для ESP8266, настроить карточки пользователя, интегрировать экран из TeslaSCADA и посмотрим пример ещё одного проекта, работающего с облаком.
Материал подойдёт для:
-
IoT-проектов
-
умного дома
-
учебных лабораторий
-
промышленных проектов
Архитектура решения #
В нашем примере будет следующая схема:
ESP8266 → Wi-Fi → TeslaCloud (Repka PI) → Web-интерфейс ↓ TeslaSCADA RuntimeОдноплатный компьютер выступает в роли локального облачного сервера.
1. Установка TeslaCloud на Repka PI #
Подготовка #
Используется:
-
Repka PI (Repka 3)
-
Repka OS
-
Настроенный интернет
Работать можно напрямую через консоль или по SSH.
Автоматическая установка #
Выполняем:
-
curl -fsSL https://teslascada.com/Downloads/install.sh | sudo bash
Скрипт автоматически:
-
обновляет систему
-
устанавливает PostgreSQL
-
устанавливает NGINX
-
устанавливает Java
-
разворачивает TeslaCloud
-
создаёт сервис
servercloud -
добавляет автозапуск
Проверяем:
systemctl status servercloudЕсли всё корректно — статус будет
active (running):
Вход в веб-интерфейс #
Переходим в браузере:
http://IP_Repka
Откроется страница входа:

2. Пользователи по умолчанию #
После установки доступны:
| Логин | Пароль |
|---|---|
| admin | 123456 |
| user | 111111 |
admin #
Имеет расширенные права:
-
управление пользователями
-
информация о сервере
-
лицензирование
-
язык интерфейса

Для IoT-проектов используем пользователя user.
3. Подключаем ESP8266 #
Поддерживаются:
- Arduino
- ESP8266
- ESP32
Используется библиотека:
https://github.com/fatkhrus/TeslaCloud
Данную библиотеку можно загрузить и через Arduino IDE.
Демонстрационный стенд #
Не буду приводить схему стенда. Она достаточно проста и стандартна для подобных проектов. Подключены:
-
DHT11 (температура + влажность)
-
Потенциометр (аналоговый вход)
-
Светодиод (управление из облака)
Код для ESP8266 #
#define DEBUG // Включаем отладочный вывод #include <DHT.h> // Библиотека для DHT11 #include "TagCloud.h" // Библиотека TeslaCloud // ===== Wi-Fi ===== const char* ssid = "SSID"; const char* password = "password"; // ===== Имена тегов ===== // Используем иерархию через / const char* temperature = "Uly/Home/Temp"; const char* humidity = "Uly/Home/Humidity"; const char* analogTag = "Uly/Home/Analog"; const char* ledTag = "Uly/Home/LED"; // ===== Создаём клиент облака ===== // user — логин // 111111 — пароль // 1 — номер проекта TeslaCloud cloudclient("user", "111111", 1); // ===== DHT11 на GPIO14 ===== DHT dht(14, DHT11); void setup() { Serial.begin(115200); // Запуск Serial delay(1000); // Указываем IP сервера TeslaCloud cloudclient.setHost("192.168.0.136"); // Указываем часовой пояс cloudclient.setGMT(4); // Подключаемся к Wi-Fi cloudclient.connect(ssid, password); dht.begin(); // ===== Создаём тег температуры ===== Tag tagTemp(temperature, dht.readTemperature()); tagTemp.setDeadband(0.1); // Отправлять только при изменении > 0.1 cloudclient.addTag(tagTemp); // ===== Тег влажности ===== Tag tagHum(humidity, dht.readHumidity()); tagHum.setDeadband(0.1); cloudclient.addTag(tagHum); // ===== Тег светодиода (управляемый выход) ===== Tag tagLed(ledTag, 13, OUTPUT); cloudclient.addTag(tagLed); // ===== Аналоговый вход ===== Tag tagAnalog(analogTag, 0, INPUT, ANALOG_PIN); tagAnalog.setScale(0, 1023, 0, 5); // Масштабируем в 0–5 В tagAnalog.setDeadband(0.3); cloudclient.addTag(tagAnalog); } void loop() { // Метод run() поддерживает соединение if (cloudclient.run()) { // Читаем датчик float t = dht.readTemperature(); float h = dht.readHumidity(); // Отправляем значения в облако cloudclient.writeValue(temperature, t); cloudclient.writeValue(humidity, h); } }После прошивки ESP8266 данные начинают поступать в облако.
4. Настраиваем карточки в TeslaCloud #
Заходим в облако под пользователем user (пароль по умолчанию 111111). Переходим на вкладку Настройки → Теги. Нажимаем Обновить:

Выбрав соответствующий тег можно посмотреть его свойства и произвести настройку:

Для каждого тега можно выбрать:
-
тип отображения (график, индикатор, кнопка)
-
диапазон
-
формат
-
цвета
-
и т.д.
После сохранения карточки появляются на главной странице:
-

5. Создаём SCADA-экран #
Карточки — это удобно, но главное преимущество платформы — полноценная SCADA-визуализация. Для этого нам понадобится скачать TeslaSCADA IDE и Runtime на данной странице.
Шаг 1. Создаём проект в TeslaSCADA IDE #
В Настройках проекта → вкладка Облако:

-
IP сервера
-
логин
-
пароль
-
Project ID (не обязательно но для примера создания иерархии Uly/Home)
Шаг 2. Создаём теги #
Создадим теги и разместим их в папочке Home (для получения иерархии пути Uly/Home):

Пример настройки тега:

Шаг 3. Делаем экран #
Теперь пришло время создать графические объекты, расположить их на экране и осуществить привязку тегов к тем или иным их свойствам. В данном примере я для упрощения выбрал объекты которые напоминают карточки, но в принципе можно создать графику любой сложности, которые позволяет сделать SCADA система:

Привязываем теги к данным свойствам графических объектов. Например:

После того как мы привязали все наши теги к графическим объектам можем запустить наш проект в TeslaSCADA Runtime:

Шаг 4. Публикуем экран в облако #
Теперь когда мы откроем Веб браузер мы увидим экран:

Экран подтянулся. Но для того чтобы мы могли его использовать без запущенного TeslaSCADA Runtime. Необходимо зайти в Настройки->Экраны и сохранить и настройки и сам экран:

Теперь можно использовать Экраны и без включенного TeslaSCADA Runtime.
Помимо прочего разработка проекта в TeslaSCADA IDE позволит создать клиенты для подключения к TeslaCloud. Их можно создать в Настройках проекта -> Облако (см. рисунок выше). Можно создать Cloud клиент, MQTT клиент и HTTP клиент. Созданные проекты клиенты можно использовать как десктопных версиях TeslaSCADA Runtime, так и на мобильных версиях Android и iOS (на iOS можно только MQTT и HTTP версию).
6. Использование TeslaCloud на производстве. #
Помимо использования в домашней автоматизации и как IoT проекты, данное решение можно применять на производстве, используя TeslaSCADA Runtime как промежуточное звено между контроллерами и облаком:

Как пример используем проект который подключается к оборудованию по Modbus протоколу и предоставляет данные в TeslaCloud:

Видео версия #
Видео версия: https://rutube.ru/video/84ee51426a0763d509bb6a384e806801/
Итоги #
Мы:
-
Развернули TeslaCloud на Repka PI
-
Подключили ESP8266
-
Настроили веб-карточки
-
Создали полноценный SCADA-экран
-
Опубликовали его в облаке
Получилось компактное локальное IoT-облако, которое масштабируется до промышленного уровня.