• Обратная связь
  • Карта сайта
  • Отзыв
  • Комментарии
  • Форум
discord
Технические заметки
  • Главная
  • Лекции
  • Практикум
  • Обзоры
  • Сравнение
  • Нормы
  • События
  • Вход
ГлавнаяArduinoМониторинг
Способы дистанционного мониторинга объектового прибора.
Мониторинг Arduino UNO + ESP8266 через облачный сервер RemoteXY

Подключаем Arduino UNO при помощи ESP8266-12E к облаку Cayenne

26 июля 2019 г.Просмотров: 3383Комментарии: 0
ArduinoМониторингArduinoCayenneESP8266WiFiИнтернет ВещейМониторингОблачный Сервис
Подключаем Arduino UNO при помощи ESP8266-12E  к облаку Cayenne

Подключить Arduino UNO к облаку RemoteXY по WiFi получилось за час. Еще тогда предположил, что с облаком Cayenne так быстро не получится. Так и вышло.

Почему-то примеры из интернета и даже автоматически генерируемые сервисом облака скетчи не работали. Возможно что дело в Arduino UNO.

Как заставить Arduino UNO в связке с ESP8266-12E работать с облаком Cayenne?

Используем 3 платы, соединенные бутербродом, из предыдущего опыта.

Выяснил что для того чтобы передача данных в облако Cayenne и обратная связь управления cayenne.mydevices.com заработали надо сделать такие действия:

Показать действия

1. Добавить дополнительный адрес для менеджера библиотек:

2. Найти и установить пакеты из менеджера библиотек:

3. Подключить плату по USB и добиться, чтобы ее увидел на 3-м шаге WEB-интерфейс в личном кабинете облачного сервера.

Это произойдет автоматически, если корректно выполнены предыдущие действия.

4. Скачать и добавить zip-библиотеки:

https://s3.amazonaws.com/mydevices-cayenne/arduino/lib/prod/Cayenne.zip

https://codeload.github.com/myDevicesIoT/Cayenne-MQTT-Arduino/zip/master

Добавить zip-библиотеку, находящуюся в папке \extras\libraries\ESP8266SerialLibrary.zip скачанного выше архива zip-библиотеки Cayenne-MQTT-Arduino.

Я еще добавил https://codeload.github.com/myDevicesIoT/Cayenne-MQTT-ESP/zip/master - не знаю нужна ли она.

В менеджере плат установлены такие пакеты:

И залить такой скетч:

Показать скетч

/*
This sketch connects to the Cayenne server using an ESP8266 WiFi module as a shield connected via a hardware serial to an Arduino.
The CayenneMQTT Library is required to run this sketch. If you have not already done so you can install it from the Arduino IDE Library Manager.
Steps:
1. Install the ESP8266SerialLibrary.zip library via the Arduino IDE (Sketch->Include Library->Add .ZIP Library) from the Cayenne extras/libraries
   folder (e.g. My Documents\Arduino\libraries\CayenneMQTT\extras\libraries) to compile this example.
2. Connect the ESP8266 as a shield to your Arduino. This example uses the Serial1 hardware serial pins available on the Mega. You can also try 
   using a software serial, though it may be less stable.
3. Set the Cayenne authentication info to match the authentication info from the Dashboard.
4. Set the network name and password.
5. Compile and upload the sketch.
6. A temporary widget will be automatically generated in the Cayenne Dashboard. To make the widget permanent click the plus sign on the widget.
NOTE: This code requires ESP8266 firmware version 1.0.0 (AT v0.22) or later.
*/
//#define CAYENNE_DEBUG       // Uncomment to show debug messages
#define CAYENNE_PRINT Serial  // Comment this out to disable prints and save space
#include <CayenneMQTTESP8266Shield.h>
#include "DHT.h"
// WiFi network info.
char ssid[] = "**********";
char wifiPassword[] = "*********";
// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "****************";
char password[] = "****************";
char clientID[] = "****************";
int raw = 0;
float temp = 0;
float hum = 0;
float old_temp = 0;
float old_hum = 0;
#define VIRTUAL_CHANNEL13 13
#define VIRTUAL_CHANNEL1 1
#define VIRTUAL_CHANNEL2 2
#define VIRTUAL_CHANNEL3 3
#define VIRTUAL_CHANNEL4 4
/*
#define VIRTUAL_CHANNEL5 5
#define VIRTUAL_CHANNEL6 6
*/
#define DHTPIN 7
#define DHTTYPE DHT11     // DHT 11
DHT dht(DHTPIN, DHTTYPE);
const int analogSignal = A3; //подключение аналогового сигналоьного пина
const int digitalSignal = 8; //подключение цифрового сигнального пина
boolean noGas; //переменная для хранения значения о присутствии газа
boolean old_noGas;
int gas = 0; //переменная для хранения количества газа
int old_gas = 0;
#define ACTUATOR_PIN 13 // Do not use digital pins 0 or 1 since those conflict with the use of Serial.
// Set ESP8266 Serial object. In this example we use the Serial1 hardware serial which is available on boards like the Arduino Mega.
#define EspSerial Serial
ESP8266 wifi(&EspSerial);
void setup()
{
  analogReference(INTERNAL);
  pinMode( A2, INPUT );
  pinMode( A1, INPUT );
  Serial.begin(9600);
  delay(10);
  // Set ESP8266 baud rate
  EspSerial.begin(9600);
  delay(10);
  dht.begin();
  pinMode(ACTUATOR_PIN, OUTPUT);
  Cayenne.begin(username, password, clientID, wifi, ssid, wifiPassword);
}
void loop()
{
  Cayenne.loop();
}
CAYENNE_OUT(VIRTUAL_CHANNEL1)
{
  float temp = dht.readTemperature();
  if (temp != old_temp) 
  {  
    Cayenne.virtualWrite(VIRTUAL_CHANNEL1, temp);
    old_temp = temp;
  }
}
CAYENNE_OUT(VIRTUAL_CHANNEL2)
{
  float hum = dht.readHumidity();
  if (hum != old_hum) 
  {  
    Cayenne.virtualWrite(VIRTUAL_CHANNEL2, hum);
    old_hum = hum;
  }
}
CAYENNE_OUT(VIRTUAL_CHANNEL3)
{
  noGas = digitalRead(digitalSignal); //считываем значение о присутствии газа
  if (noGas != old_noGas) 
  { 
    Cayenne.virtualWrite(VIRTUAL_CHANNEL3, noGas);
    old_noGas = noGas;
  }
}
CAYENNE_OUT(VIRTUAL_CHANNEL4)
{
  gas = analogRead(analogSignal); // и о его количестве  
  if ( (gas > old_gas+10) or (gas < old_gas-10))
  {    
     Cayenne.virtualWrite(VIRTUAL_CHANNEL4, gas);
     old_gas = gas;
  }   
}
/*
CAYENNE_OUT(VIRTUAL_CHANNEL5)
{
  raw = analogRead(A2);
  temp = raw/9.31;
  
  Cayenne.virtualWrite(VIRTUAL_CHANNEL5, temp);
}
CAYENNE_OUT(VIRTUAL_CHANNEL6)
{
  raw = analogRead(A1); 
  Cayenne.virtualWrite(VIRTUAL_CHANNEL6, raw);
}
*/
CAYENNE_IN(VIRTUAL_CHANNEL13)
{
  int value = getValue.asInt();
  // Write the value received to the digital pin.
  CAYENNE_LOG("Channel %d, pin %d, value %d", VIRTUAL_CHANNEL13, ACTUATOR_PIN, value);  
  digitalWrite(ACTUATOR_PIN, value);
}

Мы будем передавать значения только если они изменились. Поскольку значение газа плавает, мы будем его передавать только если есть значительные изменения.

Шаг влево или вправо - и облако перестает принимать информацию, хотя она продолжает передаваться платой.

Функция Cayenne.virtualWrite не работает вне CAYENNE_OUT, хотя в сети полно примеров с произвольными вариантами применения.

Действия в интерфейсе облака, чтобы сразу увидеть сигналы платы - не требуются.

В интерфейсе облачного сервиса Cayenne не надо добавлять никаких блоков, кроме блока управления светодиодом на плате. Виджеты для полученных от платы каналов отображаются автоматически и надо только нажать кнопку "Добавить".

Собственно это и написано в комментариях в скрипте:

A temporary widget will be automatically generated in the Cayenne Dashboard. To make the widget permanent click the plus sign on the widget.

И можем наблюдать работу:

Особенности работы с облачным сервером Cayenne.

1. Есть возможность настроить оповещение по СМС или Email. Только осторожно. При наступлении условия оповещения мне прислало сразу 12 писем.

2. Корректно работает обратная связь (подтверждение изменения состояния управляемого выхода): кнопочка меняет свое состояние. Если подтверждение не пришло то кнопочка так и остается с бегунком.

3. Есть возможность строить график принятых значений и скачивать эти значения.

4. Ну и конечно же мобильное приложение для дублирования информации, поступающей в облако и управления каналами управления.

Еще записи по теме

Отправляем состояния теплых полов из Arduino UNO ESP8266 WiFi на сервер ThingSpeak
Отправляем состояния теплых полов из Arduino UNO ESP8266 WiFi на сервер ThingSpeak
Версия 02 плагина My_ESP8266 для MaxSiteCMS.
Версия 02 плагина My_ESP8266 для MaxSiteCMS.
Отправка данных из ESP8266WiFi на сервер с CMS MaxSite
Отправка данных из ESP8266WiFi на сервер с CMS MaxSite
Как у меня заработал WIFI для Arduino ESP8266 ESP-12E
Как у меня заработал WIFI для Arduino ESP8266 ESP-12E
Мониторинг Arduino UNO + ESP8266 через облачный сервер RemoteXY
Мониторинг Arduino UNO + ESP8266 через облачный сервер RemoteXY
Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер
Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер
Оставьте комментарий.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Выберите для анонимного комментирования (комментарий будет опубликован после проверки).

     

  

Выберите если нужно войти или зарегистрироваться и оставить комментарий от своего аккаунта.

Войти, используя

(обязательно)

Подписка на новости
discord

Email:

Регистрация

Вход через
Разделы
  • Пожарная сигнализация123
    • Инструкции13
    • Проекты1
  • Автоматика52
  • Отопление33
  • Мониторинг30
  • Электрика16
  • Пожаротушение29
  • Умный дом32
  • Arduino12
  • Гаджеты32
  • MaxSite CMS26
Актуальное
  • СП 484
  • Автоматизация теплого пола
  • Болид vs Рубеж
  • С2000-АСПТ
  • ПЦН в кармане
  • Системы противопожарной зашиты
  • Cloud IoT
  • Проектирование
  • Программирование
  • Ссылки
Последние комментарии
Можно ли заставить работать "C2000-Ethernet"?
  • Вячеслав » Спасибо добрый человек! Строчки "Я не увидел здесь информации, что в прозрачном режиме система со структурой C2000M-Ethernet-Приб оры работать в прозрачном...
  • Андрей » Строчки ... меня спасли от долгих мучений! Я думаю для службы поддержки это само собой разумеющаяся информация.
Требуется ли контроль нормально-замкнутых линий управления СППЗ согласно СП 484.
  • Алексей » Добрый день! П.5.17 СП484: компоненты СПА и инженерные системы - это, наверное, разные вещи. Так, например, между какими-либо ППКиУ и...
Тестирование новых СП 484 на сложном объекте
  • Андрей » Да с охранкой вообще нет никаких проблем сейчас.
Как настроить байпас смесительного узла TIM JH-1036
  • Андрей » Я бы пробовал повращать регулировочный цилиндр байпаса. В разных положениях посмотреть как меняется температура. Вдруг там наклейка неправильно. И ещё проверить...
Последние загрузки
Все загрузки
Дискуссии на форуме
  • Пожарные системы
  • Проблемы совместимости речевых оповещателей со встроенными конденсаторами
  • Противопожарные шторы.
Реклама

8-50W LED Lamp Driver Light Transformer Input AC175-265V Power Supply Adapter 280mA-300mA Current for LED Spot light Bulb Chip

NEWACALOX EU/US 60w DIY Adjustable Temperature Electric Soldering Iron Welding Kit Screwdriver Glue Gun Repair Carving Knife

48W Quick Charger 3.0 USB Charger for Samsung A50 A30 iPhone 7 8 Xiaomi mi9 Tablet QC 3.0 Fast Wall Charger US EU UK Plug Adapte

Пожарка 120 Проектирование 93 Болид 63 Лекции 58 Социальное 52 Рубеж 48 Обзор 46 Автоматика 44 Инженерные системы 38 Адресные системы 34 Отопление 33 Курьез 32 Практикум 32 Пожаротушение 31 Интернет Вещей 29 MaxSite 28 Терморегуляторы 24 Облачный Сервис 24 ГОСТ 24 Мониторинг 22 Плагин 21 Теплый пол 21 Сравнение 20 ППУ 20 AliExpress 20 Законы Ома 19 СП 484 19 Техобслуживание 18 Эксплуатация 17 Астра 17 ППК 17 Вентиляция 16 Электрика 14 Клапана 14 Оповещение 13 Рубикон 13 С2000-АСПТ 13 Arduino 13 С2000М 12 WiFi 12 Датчики 11 Гранд Магистр 11 Ritm 11 ESP8266 10 Юнитест 10 Насосная Станция 10 ВЭРС 9 ПЦН 9 Сценарии 8 Авария 8 Жилой дом 8 Диспетчеризация 7 Taggallery 7 Сообщества 7 Отзыв 7 Программирование 7 Плазма-Т 6 Освещение 6 Гаджеты 5 Спрут-2 5 ПО 5 С2000-СП4 5 GeoRITM 4 Радиоканал 4 МПТ 4 МПН 4 ИПДЛ 3 Гранит 3 Navigard 3 Учет ресурсов 3 Баня 3 Visio 3 Версет 3 My_ESP8266 3 Рубеж-2ОП 3 Firesec3 3 РИП 3 Zigbee 2 ТО 2 Security Hub 2
  • Обратная связь
  • Карта сайта
  • Отзыв
  • События
  • Комментарии
  • Форум
© Технические заметки 2023. Работает на MaxSite CMS. ( Вход )
Автор не несет ответственность за последствия применения материалов сайта на практике.