Cayenne. Сервис для интернет вещей.

Альтернатива Blynk.

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#1

Сообщение pvorobei » 07.10.2018{, 22:06}

О Cayenne:
Cayenne https://mydevices.com - это ещё один облачный сервис, наряду с Blynk, ThingSpeak и пр. для создания собственных графических интерфейсов управления и обработки данных своих IoT-устройств(доступен как веб интерфейс, так и моб приложение).
На сколько мне известно изначально этот сервис создавался для работы с малиной, но со временем подтянулась и поддержка плат arduino, esp и т.п. К слову сказать при работе с arduino и другими мк Cayenne использует фреймворк Blynk, из чего можно сделать вывод, что это одно и тоже, только подход разный. Blynk бесплатно дает на старте ограниченное кол-во энергии для использования виджетов (это количество на все устройства созданные в нем), по окончанию можно докупить энергии, или ставить свой локальный сервер с Blynk. Cayenne же никак не ограничивает в количестве виджетов, но ограничивает в интервалах времени отправки данных (1 значение в секунду, т.е. если вы отправляете в интерфейс данные с 3х температурных датчиков, то делать это желательно не чаще 1 раза в 3 сек), во всяком случае я так понял покурив немного их форум, поскольку на сайте не нашел ни слова об ограничениях(может плохо искал). Ну и по скольку исходники Cayenne закрыты, то поднятие своего локального сервера не представляется возможным. Тем не менее инструментов предоставляемых Cayenne вполне достаточно для большинства домашних проектов.
Итак приступим.

1. Установка библиотек:
Я не стал прикреплять к блокам библиотеки, считаю так оно надежней и работа в Flprog легче.
Для начала нужно установить библиотеки CayenneMQTT и SimpleTimer.
1.1 CayenneMQTT берем из менеджера Arduino IDE: Компилируем любой проект в Flprog, при открытии IDE заходим во вкладку скетч, подключить библиотеку, управлять библиотеками. Откроется окно "Менеджер библиотек", в поиске начинаем вводить имя библиотеки, в списке появится CayenneMQTT, ставим последнюю версию(1.2.0). Закрываем IDE.
1.2 SimpleTimer качаем здесь:
SimpleTimer-master.zip
(3.89 КБ) 143 скачивания
или по ссылке: https://github.com/jfturcot/SimpleTimer . Повторяем те же шаги, только теперь жамкаем не "управлять библиотеками", а "добавить .ZIP библиотеку", ищем место куда скачали, выбираем, добавляем.
1.3 Если вы хотите работать с модулем ESP подключенным по UART к Ардуино, то понадобится ещё одна библиотека - ESP8266SerialLibrary. Она находится в папке уже установленной библы CayenneMQTT, как правило по пути: C:\ Users\ Documents\ Arduino\ libraries\ CayenneMQTT\ extras\ libraries, устанавливаем также как предыдущую .ZIP библиотеку.
Блоки:
Cayenne.ubl
(151.31 КБ) 154 скачивания

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#2

Сообщение pvorobei » 07.10.2018{, 22:17}

продолжение:
2.Работа с блоками:
СпойлерПоказать
3. 2 подхода.jpg
4. инициализация.jpg
На данный момент реализовано два пути общения с сервисом - работа с заданными интервалами(имя блоков заканчивается на(V) - variable) и работа с интервалами по умолчанию(имя блоков заканчивается на(D) - default). В первом случае мы сами задаем интервал отправки данных (для каждой отправки время можно прописать отдельно). Во втором библиотека определит вам интервал отправки для всех значений(это около 15 сек). Сделано так, что вы открываете раздел с нужным вам методом отправки и работаете с блоками только из него(не мешать!). К каждому блоку есть небольшое описание.
Что касается подключения - пока что в наборе три блока инициализации: платы с ESP и NodeMcu на борту, модули 8266 те что общаются с ардуино по UART, и W5100.
Порядок работы с блоками:
Создать минимум 3 платы, в первую вставить блок инициализации, прописать в нем все необходимые параметры(вставлять скопированные строки обязательно между кавычками).
В последнюю вставить блоки отправки и приема данных, прописав в них каналы и интервал отправки(для заданных интервалов). Важно! - прописывая в блок отправки время интервала например 5сек., не забываем на конце ставить заглавную L. Блоки приема (начинаются с IN) нужно ставить после всех блоков отправки(это обязательно если работаете с заданными интервалами).
В остальных платах(между первой и последней) собираем свою логику.
СпойлерПоказать
Пример.png
Блок DEBUG использовать не обязательно, он нужен для отладки. Блок передает лог работы библиотеки Cayenne в UART. С этим блоком есть трабл, flprog не хочет вставлять строки define перед include, а без этого отладка работать не хочет. Поэтому, DEBUG лучше ставить в плату перед платой с блоком инициализации, а перед компиляцией кода перенести строки как показано на картинке ниже.
СпойлерПоказать
11. дебаг.jpg
12. дебаг.jpg

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#3

Сообщение pvorobei » 07.10.2018{, 22:33}

Продолжение:
3. Пример:
Для лучшего усвоения создадим простенький проект. По управляем светодиодом на NodeMcu, отправим на график рандомные значения каждые 5 сек. с тем же интервалом будем зажигать огонек(лампочку) в интерфейсе.
Для начала набросаем проект в flprog -
проект.flp
(116.78 КБ) 106 скачиваний
СпойлерПоказать
18. Проект.png
Затем заходим на сайт Cayenne https://mydevices.com ,регистрируемся и попадаем в панель добавления устройств и виджетов.
Выбираем нужную нам плату:
СпойлерПоказать
1. выбор платы.jpg
Обзываем наше устройство, по очереди копируем и переносим строки MQTT Username, MQTT FOO Password и Client ID в параметры блока инициализации.
СпойлерПоказать
2. копирование строк.jpg
5. настройка блока инициализации.jpg

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#4

Сообщение pvorobei » 07.10.2018{, 22:45}

Продолжение:
Компилируем проект, загружаем, возвращаемся к сайту. После подключения появится страница и 2 входящих параметра, плюсы на них пока не нажимаем.
СпойлерПоказать
13. Не добавленные виджеты.jpg
Приступаем к добавлению виджетов:
СпойлерПоказать
7. добавить виджеты.jpg
8.нажать кастом виджет.jpg
Пример настройки виджета:
СпойлерПоказать
15. добавление графика рандом.jpg
В итоге получаем простой и действенный интерфейс связи со своей железкой:
СпойлерПоказать
17. Что получилось в итоге.jpg
Есть вопросы, предложения, просьбы - спрашивай, предлагай.
А пока все. Спасибо за внимание.

P.S. На неделе если все будет в порядке - запишу и выложу видос, в котором расскажу примерно тоже, но с учетом предложений и вопросов. А так же бонусом расскажу про пару интересных фич этого сервиса.

Аватара пользователя
Anydy
Администратор
Сообщения: 1987
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 130
Имя: Андрей

Cayenne. Сервис для интернет вещей.

#5

Сообщение Anydy » 09.10.2018{, 16:00}

Проверил отправку с датчика DS18B20 - работает. Спасибо за блоки.
Единственное сразу на NodeMCU никак не подключалось к WiFi, как уже говорили на форуме нужно стереть "хвосты" от старых прошивок чистым файлом. После чистки все заработало. Буду ковырять дальше. Файл для флешки на 4Мб прикрепляю.
blank4M.zip
(4.2 КБ) 91 скачивание

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#6

Сообщение pvorobei » 09.10.2018{, 16:45}

Anydy, Cпасибо, про хвосты не знал.
Сегодня подьехали модули ESP-01. При проверке с заданными интервалами не хотят нормально работать, в дэфолте все работает корректно. Причину пока не нашел.
Шилд w5100 не заказывал, поэтому проверить возможности нет.

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#7

Сообщение pvorobei » 29.10.2018{, 21:40}

Чуток припозднился. Не до этого было :moil:

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#8

Сообщение pvorobei » 10.11.2018{, 17:27}

Небольшое дополнение.
Добиться работы с заданными интервалами по hardware serial c уно или нано пока не удалось, с SoftwareSerial тоже. С интервалами по умолчанию все работает.
Пока что пришел к выводу, что каеновская библиотека кривовата.
Если взять mega, у которой аж 4 жезезных uart все нормально при испозовании 1го, 2го и 3го, а с нулевым таже лажа. Чтобы работать с мега нужно при компиляции из flprog в ide чуток изменить строку #define EspSerial Serial , после Serial добавить номер uart 1, 2 или 3, например #define EspSerial Serial1, и подключать соответственно.
СпойлерПоказать
10.11.png
mega.jpg
Под видео попросили набросать схему подключения модуля с АТ прошивой.
Если нет конвертора уровней, то желательно так:
СпойлерПоказать
Схема2.jpg
Если нет даже резисторов, можно и так:
СпойлерПоказать
Схема3.jpg
не желательно, хотя кайен пишет именно эту схему.
Я пробовал подключать и через платку конвертера уровней и напрямую - работает и так и так, модуль без проблем проглатывает 5и вольтовый логический уровень, правда питать от 5 я пока не рисковал.

stazo
Рядовой
Сообщения: 2
Зарегистрирован: 01.06.2018{, 20:43}
Репутация: 0
Имя: Станислав

Cayenne. Сервис для интернет вещей.

#9

Сообщение stazo » 10.02.2019{, 00:59}

Доброго времени суток. Очень понравился сервис cayenne. Изучаю вместе с flprog. Подскажите, блоки для cayenne не должны конфликтовать с блоками для дисплеев? Задумка такая: nodemcu+dht11+lcd1602+cayenne. Не могу подклюить дисплей. Без дисплея даные на cayenne отправляются коректно. Ставлю блок для дисплея, все падает... Как правельно подключать дисплей подскажите

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#10

Сообщение pvorobei » 10.02.2019{, 21:44}

stazo, Здравствуйте. Все должно работать. Прикрепите проект, посмотрим.

stazo
Рядовой
Сообщения: 2
Зарегистрирован: 01.06.2018{, 20:43}
Репутация: 0
Имя: Станислав

Cayenne. Сервис для интернет вещей.

#11

Сообщение stazo » 11.02.2019{, 00:00}

Так, пока готовил проект, все завелось) но есть опять пару вопросов. Оба канала cayenne определяет как температуру в цельсиях (может я не так подаю значения). И еще примерно два раза в минуту в 1-вый канал выдает значение 48, в 2-й канал 2147483648, потом все с диспея пропадает на секунду и опять появляются правильные значения темп. и влажн (может сам датчик кривой?).

Сам проект (блок инициализации пустой). Подскажите где мой косяк
Вложения
test_cayenne_lcd1602_dht11.flp
(144.2 КБ) 19 скачиваний

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#12

Сообщение pvorobei » 11.02.2019{, 16:18}

stazo,
1. Оба в цельсиях это нормально, вы уже на странице добавления виджета выберите как определять это значение(как темп или влажность). если не поможет, тогда можно попробовать после компиляции удалить выделенное:
СпойлерПоказать
11.02.png
11.02.png (9.71 КБ) 762 просмотра
Или использовать другой блок:
СпойлерПоказать
11.03.png
11.03.png (4.31 КБ) 762 просмотра
Заметил, что у вас true на входе дисплеев. попробуйте обновлять их при изменении строки.
СпойлерПоказать
11.04.png
11.04.png (9.52 КБ) 762 просмотра
По поводу непонятных цифИрок - вполне может и датчик. Попробуйте его подключить с помощью пайки, а еще лучше заменить хотя бы на 22.
Если не ошибаюсь 11 показывает все что угодно, только не реальные значения.

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 413
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 28

Cayenne. Сервис для интернет вещей.

#13

Сообщение fsergei70 » 12.02.2019{, 10:33}

Немного переделал блок инициализации под ESP. Теперь настройки WIFi сети и Cayenne вводятся через WEb интерфейс.
MQTTusername у меня содержат 36 символов
MQTTpassword у меня содержат 40 символов
clientID у меня содержат 36 символов.
Все компилируется в железе не проверял.
Вложения
cayenne mqtt.flp
(131.07 КБ) 26 скачиваний

Аватара пользователя
diman27
Сержант
Сообщения: 159
Зарегистрирован: 06.09.2015{, 07:33}
Репутация: 0
Откуда: Белово

Cayenne. Сервис для интернет вещей.

#14

Сообщение diman27 » 18.02.2019{, 10:08}

Проверил в железе. С ds18b20 не работает, жалуется на отсутствие onewire библиотеки, хотя она есть. Дальше не экспериментировал.

Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20.02.2019{, 17:18}
Репутация: 0
Имя: Тимофей

Cayenne. Сервис для интернет вещей.

#15

Сообщение Timmy101 » 20.02.2019{, 17:28}

Добрый день всем. Сразу хочу поблагодарить что отвечаете. Многое удалось сделать и разобраться благодаря таким людям.
Теперь вопрос. Планирую сделать на базе NodeMcu v3 ( esp-12e) модуль управления вытяжкой с ограничением по уличной температуре. В качестве датчиков 18ds. Для вывода - дисплей I2c 20x4. В качестве управляющих - 2 реле( твердотельное и перекидное на всякий на будущее). Устройство собрал упаковал в коробку вывел датчики ... В общем все работает. Прикрутил настройку параметров через Web интерфейс ( клиент и точка) одновременно. Клиент для передачи показаний и удаленного входа. А точка больше для первоначальной настройки. И венцом успеха решил прикрутить Cayenne mqtt. Но стоит мне добавить блоки инициализации и передачи как после компиляции ( проходит без ошибок) отваливается точка доступа. Т.е. устройство работает как и пологалось. Только точки доступа не создаётся. Кто сталкивался?

ps в упор не понимаю зачем в настройках блока для инициализации необходимы параметры wifi, если эти параметры настраиваются через дерево проекта....

Отправлено спустя 3 минуты 3 секунды:
fsergei70 писал(а):
12.02.2019{, 10:33}
Немного переделал блок инициализации под ESP. Теперь настройки WIFi сети и Cayenne вводятся через WEb интерфейс.
MQTTusername у меня содержат 36 символов
MQTTpassword у меня содержат 40 символов
clientID у меня содержат 36 символов.
Все компилируется в железе не проверял.
Сегодня проверю свое устройство с вашим блоком. Откомпилировать без ошибок. Но все равно , не смотря на то что настраиваете web интерфейсом параметры вайфай. Для чего их повторно передавать в блок инициализации? Он же не должен повторно открывать порт для соединения? Зачем ему параметры вайфая.

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 413
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 28

Cayenne. Сервис для интернет вещей.

#16

Сообщение fsergei70 » 20.02.2019{, 18:40}

Timmy101 писал(а):
20.02.2019{, 17:31}
Зачем ему параметры вайфая.
В блок при инициализации cayenne.begin используется в том числе логин и пароль от WiFi

Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20.02.2019{, 17:18}
Репутация: 0
Имя: Тимофей

Cayenne. Сервис для интернет вещей.

#17

Сообщение Timmy101 » 20.02.2019{, 20:08}

fsergei70 писал(а):
20.02.2019{, 18:40}
Timmy101 писал(а):
20.02.2019{, 17:31}
Зачем ему параметры вайфая.
В блок при инициализации cayenne.begin используется в том числе логин и пароль от WiFi
Ну собственно проверил я блок, при вставке его вместо блока инициализации - вообще виснет прошивка.
При попытке запустить тупо ваше пример cayenne_mqtt (с настройками через web) - аналогичная ситуация что и ранее - включенный режим точки доступа - не работает, точка вроде как включена в дереве проекта, но по факту ESP не создает wifi сеть...

Отправлено спустя 1 час 39 минут 56 секунд:
Я думаю что тут проблема не модернизированного блока инициализации, а блоков инициализации полностью. Даже в вашем примере. Если его тупо залить и попробовать простейший скетч с отправкой 1 переменной в Cayenne, то даже при полностью выключенных настройках web интерфейса, связь с Cayenne прекрасно работает. Соответственно, если настройки "Точки доступа " или "Клиента" включить в "дереве", то один фиг, при компиляции и запуске они не отрабатываются, блок инициализации судя по всему как-то подавляет создание точки доступа, и виной тому, (если я конечно разобрался с вашим блоками...) сама библиотека ESPCayenne_mqtt. Кто знает что можно сделать, мне точка доступа нужна позарез совместно с трансфером данных в Cayenne...
test_NOTworked!.flp
(108.64 КБ) 9 скачиваний

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 413
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 28

Cayenne. Сервис для интернет вещей.

#18

Сообщение fsergei70 » 20.02.2019{, 22:25}

Timmy101 писал(а):
20.02.2019{, 21:47}
мне точка доступа нужна позарез
Как вариант можно попробовать прикрутить к блоку вход разрешения. Чтоб он включался при 1 на нем. а в веб интерфейсдобавить переменную bollean? для запуска этого блока. в общем пробовать надо

Аватара пользователя
pvorobei
Рядовой
Сообщения: 30
Зарегистрирован: 14.09.2018{, 20:30}
Репутация: 11
Откуда: СПБ
Имя: Иван

Cayenne. Сервис для интернет вещей.

#19

Сообщение pvorobei » 20.02.2019{, 22:57}

Timmy101, Маловероятно, что cayeновцы при создании библиотеки для ардуино(для бесплатного использования), предусмотрели использование платы клиента еще и как точку доступа для настройки. Во всяком случае в примерах ничего подобного не видел. Но на всякий случай на днях если будет время - покурю их форум на эту тему.

Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20.02.2019{, 17:18}
Репутация: 0
Имя: Тимофей

Cayenne. Сервис для интернет вещей.

#20

Сообщение Timmy101 » 20.02.2019{, 23:13}

pvorobei писал(а):
20.02.2019{, 22:57}
ятно, что cayeновцы при создании биб
Понимаете как интересно получается, что если в дереве проекта вбить и точку доступа и клиента, а в настройках блока инициализации вбить 3 вариант вайфая (отличный от клиента) то несмотря на настройки в "дереве" - работать будет именно та, что вбита в блок. а все что находится в дереве тупо как будто не работает, при этом, страницы и параметры которые добавлены "в дереве" - отображаются, но по хосту который выдается устройству из параметров блока инициализации. Иными словами, при добавлении блока инициализации подавляется полностью настройкка "Точка доступа", а так же параметры "Клиента" - "Имя сети" и "Пароль". Остальное функционирует.

А еще что характерно, что если в блок инициализации вбить ложные параметры вайфая, при этом в дереве например будут правильные, то прошивка вообще не стартует, тупо виснет. Интересно проверить что будет с прошивкой если вдруг пропадет вай фай при уже запущенной прошивке, я так подозреваю что она тоже зависнет....

По поводу прикручивания 1 или 0 на признак запуска блока.... пробовал сделать что-то подобное через условие запуска платы(в которой находился только один блок инициализации) - при компиляции в IDE - выдает ошибку. Что-то связано с добавление {} (ковычек) - кароч вариант не прокатил, пробовал подставить самостоятельно.... не вышло. Кароче пока варианта на**бать судьбу нет.

Либо cayene либо точка доступа..

Ответить

Вернуться в «Коммуникация и связь»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость