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

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

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

Сообщение pvorobei »

О 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
или по ссылке: https://github.com/jfturcot/SimpleTimer . Повторяем те же шаги, только теперь жамкаем не "управлять библиотеками", а "добавить .ZIP библиотеку", ищем место куда скачали, выбираем, добавляем.
1.3 Если вы хотите работать с модулем ESP подключенным по UART к Ардуино, то понадобится ещё одна библиотека - ESP8266SerialLibrary. Она находится в папке уже установленной библы CayenneMQTT, как правило по пути: C:\ Users\ Documents\ Arduino\ libraries\ CayenneMQTT\ extras\ libraries, устанавливаем также как предыдущую .ZIP библиотеку.
Блоки:
Cayenne.ubl
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

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

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

Сообщение pvorobei »

Продолжение:
3. Пример:
Для лучшего усвоения создадим простенький проект. По управляем светодиодом на NodeMcu, отправим на график рандомные значения каждые 5 сек. с тем же интервалом будем зажигать огонек(лампочку) в интерфейсе.
Для начала набросаем проект в flprog -
проект.flp
[spoiler]
18. Проект.png
[/spoiler]
Затем заходим на сайт Cayenne https://mydevices.com ,регистрируемся и попадаем в панель добавления устройств и виджетов.
Выбираем нужную нам плату:
[spoiler]
1. выбор платы.jpg
[/spoiler]
Обзываем наше устройство, по очереди копируем и переносим строки MQTT Username, MQTT FOO Password и Client ID в параметры блока инициализации.
[spoiler]
2. копирование строк.jpg
5. настройка блока инициализации.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

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

Есть вопросы, предложения, просьбы - спрашивай, предлагай.
А пока все. Спасибо за внимание.

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

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

Сообщение Anydy »

Проверил отправку с датчика DS18B20 - работает. Спасибо за блоки.
Единственное сразу на NodeMCU никак не подключалось к WiFi, как уже говорили на форуме нужно стереть "хвосты" от старых прошивок чистым файлом. После чистки все заработало. Буду ковырять дальше. Файл для флешки на 4Мб прикрепляю.
blank4M.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

[ref=#aa0000]Anydy[/ref], Cпасибо, про хвосты не знал.
Сегодня подьехали модули ESP-01. При проверке с заданными интервалами не хотят нормально работать, в дэфолте все работает корректно. Причину пока не нашел.
Шилд w5100 не заказывал, поэтому проверить возможности нет.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

Чуток припозднился. Не до этого было :moil:
https://www.youtube.com/watch?v=j8h32gmeQ4w&t=181s
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

Небольшое дополнение.
Добиться работы с заданными интервалами по hardware serial c уно или нано пока не удалось, с SoftwareSerial тоже. С интервалами по умолчанию все работает.
Пока что пришел к выводу, что каеновская библиотека кривовата.
Если взять mega, у которой аж 4 жезезных uart все нормально при испозовании 1го, 2го и 3го, а с нулевым таже лажа. Чтобы работать с мега нужно при компиляции из flprog в ide чуток изменить строку #define EspSerial Serial , после Serial добавить номер uart 1, 2 или 3, например #define EspSerial Serial1, и подключать соответственно.[spoiler]
10.11.png
mega.jpg
[/spoiler]
Под видео попросили набросать схему подключения модуля с АТ прошивой.
Если нет конвертора уровней, то желательно так:
[spoiler]
Схема2.jpg
[/spoiler]
Если нет даже резисторов, можно и так:
[spoiler]
Схема3.jpg
не желательно, хотя кайен пишет именно эту схему.
[/spoiler]
Я пробовал подключать и через платку конвертера уровней и напрямую - работает и так и так, модуль без проблем проглатывает 5и вольтовый логический уровень, правда питать от 5 я пока не рисковал.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

[ref]stazo[/ref], Здравствуйте. Все должно работать. Прикрепите проект, посмотрим.
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

[ref]stazo[/ref],
1. Оба в цельсиях это нормально, вы уже на странице добавления виджета выберите как определять это значение(как темп или влажность). если не поможет, тогда можно попробовать после компиляции удалить выделенное:
[spoiler]
11.02.png
[/spoiler]
Или использовать другой блок:
[spoiler]
11.03.png
[/spoiler]
Заметил, что у вас true на входе дисплеев. попробуйте обновлять их при изменении строки.
[spoiler]
11.04.png
[/spoiler]
По поводу непонятных цифИрок - вполне может и датчик. Попробуйте его подключить с помощью пайки, а еще лучше заменить хотя бы на 22.
Если не ошибаюсь 11 показывает все что угодно, только не реальные значения.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

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

Сообщение fsergei70 »

Немного переделал блок инициализации под ESP. Теперь настройки WIFi сети и Cayenne вводятся через WEb интерфейс.
MQTTusername у меня содержат 36 символов
MQTTpassword у меня содержат 40 символов
clientID у меня содержат 36 символов.
Все компилируется в железе не проверял.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
diman27
Сержант
Сообщения: 291
Зарегистрирован: 06 сен 2015, 07:33
Откуда: Белово
Благодарил (а): 4 раза

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

Сообщение diman27 »

Проверил в железе. С ds18b20 не работает, жалуется на отсутствие onewire библиотеки, хотя она есть. Дальше не экспериментировал.
Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20 фев 2019, 17:18
Имя: Тимофей

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

Сообщение Timmy101 »

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

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

Отправлено спустя 3 минуты 3 секунды:
fsergei70 писал(а): 12 фев 2019, 10:33 Немного переделал блок инициализации под ESP. Теперь настройки WIFi сети и Cayenne вводятся через WEb интерфейс.
MQTTusername у меня содержат 36 символов
MQTTpassword у меня содержат 40 символов
clientID у меня содержат 36 символов.
Все компилируется в железе не проверял.
Сегодня проверю свое устройство с вашим блоком. Откомпилировать без ошибок. Но все равно , не смотря на то что настраиваете web интерфейсом параметры вайфай. Для чего их повторно передавать в блок инициализации? Он же не должен повторно открывать порт для соединения? Зачем ему параметры вайфая.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

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

Сообщение fsergei70 »

Timmy101 писал(а): 20 фев 2019, 17:31Зачем ему параметры вайфая.
В блок при инициализации cayenne.begin используется в том числе логин и пароль от WiFi
Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20 фев 2019, 17:18
Имя: Тимофей

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

Сообщение Timmy101 »

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

Отправлено спустя 1 час 39 минут 56 секунд:
Я думаю что тут проблема не модернизированного блока инициализации, а блоков инициализации полностью. Даже в вашем примере. Если его тупо залить и попробовать простейший скетч с отправкой 1 переменной в Cayenne, то даже при полностью выключенных настройках web интерфейса, связь с Cayenne прекрасно работает. Соответственно, если настройки "Точки доступа " или "Клиента" включить в "дереве", то один фиг, при компиляции и запуске они не отрабатываются, блок инициализации судя по всему как-то подавляет создание точки доступа, и виной тому, (если я конечно разобрался с вашим блоками...) сама библиотека ESPCayenne_mqtt. Кто знает что можно сделать, мне точка доступа нужна позарез совместно с трансфером данных в Cayenne...
test_NOTworked!.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

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

Сообщение fsergei70 »

Timmy101 писал(а): 20 фев 2019, 21:47мне точка доступа нужна позарез
Как вариант можно попробовать прикрутить к блоку вход разрешения. Чтоб он включался при 1 на нем. а в веб интерфейсдобавить переменную bollean? для запуска этого блока. в общем пробовать надо
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

[ref]Timmy101[/ref], Маловероятно, что cayeновцы при создании библиотеки для ардуино(для бесплатного использования), предусмотрели использование платы клиента еще и как точку доступа для настройки. Во всяком случае в примерах ничего подобного не видел. Но на всякий случай на днях если будет время - покурю их форум на эту тему.
Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20 фев 2019, 17:18
Имя: Тимофей

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

Сообщение Timmy101 »

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

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

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

Либо cayene либо точка доступа..
Аватара пользователя
pvorobei
Рядовой
Сообщения: 42
Зарегистрирован: 14 сен 2018, 20:30
Откуда: СПБ
Имя: Иван

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

Сообщение pvorobei »

[ref]Timmy101[/ref],
Timmy101 писал(а): 20 фев 2019, 23:13Интересно проверить что будет с прошивкой если вдруг пропадет вай фай при уже запущенной прошивке
примерно такой тест я проводил. Переподключение происходит примерно через минуту и в последующем все работает без вмешательста. правда не помню как ведет себя во время переподключения основная программа.
Думается мне чтоб нае..ать судьбу нужно таки курить их форум и копать библу. Но это не точно.
Timmy101
Рядовой
Сообщения: 12
Зарегистрирован: 20 фев 2019, 17:18
Имя: Тимофей

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

Сообщение Timmy101 »

pvorobei писал(а): 20 фев 2019, 23:27мер
pvorobei писал(а): 20 фев 2019, 23:27[ref]Timmy101[/ref],
Timmy101 писал(а): 20 фев 2019, 23:13Интересно проверить что будет с прошивкой если вдруг пропадет вай фай при уже запущенной прошивке
примерно такой тест я проводил. Переподключение происходит примерно через минуту и в последующем все работает без вмешательста. правда не помню как ведет себя во время переподключения основная программа.
Думается мне чтоб нае..ать судьбу нужно таки курить их форум и копать библу. Но это не точно.
К сожалению у меня и через 5 минут не стартанула основная программа. Согласен что тут либо самим на базе команд MQTT делать библиотеку либо ковырять родную. Вариантов нет. Проблема сидит именно в библиотеке CayenneMQTT... она гасит wifi

Отправлено спустя 5 минут 29 секунд:
Встает еще один вопрос, можно ли обработать например долгое нажатие на кнопку RS или flash на самой плате? И залить 2 прошивки в nodemcu. Чтобы например по долгому нажатию переводить плату в режим конфигурирования и работала прошивка с вебмордой для настройки wi-fi.

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

Без режима точки доступа, получается что для перенастройки устройства его нужно по сути перепрошивать... а это как-то глупо....
Опять же нужно еще будет решить как передавать настройки брокера MQTT через пользовательские переменные.... иначе и для перенастройки брокера необходимо перепрошивать.

А это сводит к тому что и веб морда то особо не нужна на стороне wifi-клиента.... ну так если в глобальном смысле.
Ответить

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

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

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