blink что это такое

Blink что это такое

Краткое описание:
Мобильное приложение для IOT.

Blynk это украинский стартап успешно запущен на Kickstarter.

Создавайте классные интерфейсы для своих проектов добавляя различные виджеты, такие как: кнопки: ползунки, графики, терминал и многие многие другие!

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

Все очень просто! Как 1-2-3:
1. Добавьте и настройте виджеты за несколько прикосновений
2. Загрузите программу с библиотекой Blynk на свое железо
3. Готово!

Blynk подходит для любых проектов: мигание LED-ами, отображение температуры по собственной метеостанции, управления игрушками и работами и даже домашняя автоматизация!

Платы расширения и способы соединения:
• USB, подключенный к ноутбуку или ПК
• Ethernet shield (W5100)
• Adafruit CC3000 WiFi
• Official Arduino WiFi shield
• ENC28J60
• RN-XV WiFly

И этот список постоянно дополняется. Вы также можете модифицировать библиотеку, ее код в открытом доступе (Open Source).
Полный список аппаратуры:
http://community.blynk…-supported-by-blynk/16

В библиотеке много примеров, которые помогут начать строить Ваш Интернет Вещей (IoT), без разницы профессионал вы или любитель.

Вы можете использовать бесплатный Blynk Cloud, или запустить собственный сервер Blynk в минуту и получить полный контроль над своими данными (детали на сайте). Сервер можно запустить даже на Raspberry Pi!

Требуется Android: 4.2 и выше
Русский интерфейс: Нет

Поддерживаемое оборудование
Исправление проблем
Безопасность
Blynk сервер
Blynk Firmware
Вопросы-Ответы
Лицензия
Этот проект выпущен под лицензией MIT (MIT)

Скачать библиотеку: версия: 0.6.1
Blynk_Release_v0.6.1.zip ( 672.9 КБ )

Скачать сервер: версия: 0.41.5

Источник

Практический опыт использования Blynk для датчика СО2. Часть 1

Всем привет. Это еще одна статья из разряда ESP8266 + Blynk = . Прошу не воспринимать как рекламу, а только как дань уважения разработчикам платформы Blynk и личный опыт, который может быть полезен кому то еще, кроме меня.

Начало

Идея проекта родилась несколько лет назад, когда в порыве DYI-энтузиазма на Ali был куплен датчик качества воздуха MQ-135. По спецификации этот датчик реагирует на наличие в воздухе таких веществ как: NH3, NOx, спирт, бензин, дым и CO2 и выдает свою абстрактную оценку качества воздуха на аналоговом выходе [да я знаю, что существуют подстроечные резисторы и способы калибровки, но как то это слишком сложно].

Испытания показали, что на всякие вредные и «вонючие» соединения датчик реагирует отлично, показывая достаточно резкое изменение выходного уровня. Хуже дело обстояло с определением невидимого врага, а именно углекислого газа СО2. Про вред и очевидную повсеместность этого диоксида сказано немало, повторяться не будем.

Поэтому для меня, датчик MQ-135 оказался бесполезным, поскольку не мог «заметить» существенную разницу в качестве воздуха в переполненном людьми помещении и на свежем воздухе. Но вызов был уже принят, поэтому несколько итераций спустя родилась последняя (текущая) версия платы OpenWindAir с ИК-датчиком MH-Z19 [да не идеальный, да китайский]. Подробнее про получившуюся железку и ее аппаратные возможности написано в статье Система сбора данных на ESP. Часть I.

Для задачи измерения уровня углекислого газа в жилом помещении датчик оказался идеальным и оптимальным по цене (1200 рублей на Ali с доставкой) решением.

Blynk — помогает соединить железо, облако и телефон

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

Запуск тестового скетча BlynkSimpleEsp8266, не вызвал никаких проблем. Однако по мере усложнения и наращивания функционала — пришлось столкнуться с некоторыми трудностями, о которых и хочется рассказать подробнее.

Архитектура ПО

Главный плюс разработки ПО под ESP8266 в среде Arduino IDE – что можно совместить в одном скетче совершенно разные библиотеки и вам за это почти ничего не будет.

Перед началом разработки ТЗ было сформулировано тезисно и включало следующие пункты:

1. Необходимо с определенным интервалом считывать показания датчика CO2 (MH-Z19) и отображать результаты с помощью трех (зеленый, желтый, красный) светодиодов. Пределы были выбраны почти с учетом ГОСТ 30494-2011 (Здания жилые и общественные. Параметры микроклимата в помещениях.): до 900 PPM – зеленый, от 901 до 1400 PPM — желтый, выше 1401 PPM — красный. Также у нас есть бипер, порог бибикания которого задан на уровне 1100 PPM, но его можно настроить или вообще отключить через Blynk. Во время отладки выяснилось, что иногда MH-Z19 может глюкануть и выдать свое максимальное значение (в зависимости от установленного предела: 1000, 2000, 3000 или 5000 PPM), вместо фактически измеренного. Это немного осложнило обработку результатов и могло привести к ложным сообщениям пользователю, а нервы пользователя надо беречь. И поскольку нет абсолютно верного (кроме многократных измерений) способа отличить неверно измеренные 2000 PPM (дикое значение для жилого помещения) от ситуации, когда пользователь сидит и специально дышит в датчик. То было принято две меры по маскировке данной проблемы: установлен предел измерения в 2000 PPM (предполагается использование прибора в жилых помещениях и все что больше 1400 для нас уже красная зона) и добавлено усреднение результатов последних 10 измерений. Как итог — единичные ложные срабатывания (на 2000 PPM) не дают больших всплесков на усредненном графике. Но при желании через Blynk можно настроить предел измерения датчика и посмотреть фактическое (не усредненное значение CO2).

2. Для работы с датчиком температуры\влажности (AM2302) была использована библиотека DHT Sensor Library от Adafruit. Было сделано два небольших изменения: добавил повторное считывание AM2302 (иногда считывается не с первого раза) и введены поправочные коэффициенты для значений температуры и влажности. Если используется встроенный датчик, то опытным путем установлено, что воздух внутри прибора «суше» на 15% и теплее на 2 градуса C (1 градус F) чем снаружи, при использовании выносного датчика (выбирается джампером) — поправку в измеренные результаты вносить не надо и можно отключить.

3. Пользователь должен иметь возможность настроить устройство (подключиться к WiFi, указать auth token и тд) без дополнительного софта или перепрошивки. Наиболее оптимальным решением стало использование библиотеки WiFiManager, которая переводит ESP в режим точки доступа и позволяет через Captive портал сохранить во флешку настройки WiFi сети и другие параметры.

В дальнейшем при старте библиотека пытается подключится к сохраненной WiFi точке и в случае неудачи снова переходит в режим точки доступа и Captive портала. А если пользователь вдруг не захочет использовать Blynk или у него не окажется WiFi-роутера, то в этом случае OpenWindAir никогда на загрузится и будет только стартовать в AP-режиме и перезагружаться по таймауту.

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

4. Blynk требует подключения к Интернету (если сервер не локальный) и поэтому необходимо контролировать наличие подключения к WiFi. Библиотека WiFiManager на данный момент не умеет восстанавливать соединение с WiFi и если в квартире «моргнет» свет и роутер перезагрузится, то восстановить подключение ESP8266 к WiFi поможет только перезагрузка. Поэтому пришлось добавить простой таймер, который через 60 непрерывных секунд отсутствия коннекта перезагрузит устройство.

Читайте также:  какой маршрут троллейбуса оставили в москве

5. В качестве альтернативы использования Blynk пользователь может выбрать отправку показаний по протоколу MQTT на сервер Народного мониторинга или любого другого подобного сервиса. Для этих целей была выбрана библиотека PubSubClient, которая написана на наиболее понятном мне языке Си и единственная (из представленных в каталоге Arduino IDE), которая имела понятные примеры.

6. Перепрошивка устройства дело хоть и не частое и не очень сложное (особенно при наличии встроенного CP2102), но все равно захотелось максимально упростить этот процесс. Библиотека ArduinoOTA позволяет легко загрузить новый бинарник и прошить его. Активировать ОТА можно как кнопкой на устройстве, так и удаленно через телефон. Однако без сюрпризов не обошлось, оказывается мной были куплены модули ESP8266-12E с разным размером файловой системы (SPIFFS).

Примерное распределение Flash

Внешне не отличимые модули ESP8266-12E могут иметь файловую систему размером 1 или 3 Мб и требовать разные прошивки (опции сборки в Arduino IDE). Поэтому, чтобы избежать возможных проблем, при загрузке надо проверять фактический размер памяти и при ОТА апгрейде запрашивать на сервере соответствующий бинарник (пока не сделано). Или можно пойти чуть более простым путем и собирать все прошивки под SPIFFS c меньшим номиналом 1 Мб, т. к. они вполне работают на ESP8266-12E c большим объемом памяти.

Для таких проверок в SDK есть удобные функции позволяющие определить размер фактической и выбранной в IDE памяти.

7. Чтобы самому не путаться в разных версиях ПО и отличать их друг от друга, был немного переписан файл arduino-1.8.5\hardware\platform.txt от Arduino IDE так, чтобы во время компиляции запускался bat файл, который делает копию текущего скетча и полученного бинарника, а также автоматически инкрементирует номер версии.

Таким образом, после каждой сборки\прошивки имеем зашитый в бинарнике номер версии и копию скетча с таким же номером. А если папку со скетчем положить в Dropbox — то получится самодельная система контроля версий.

Инструкция по настройке автоинкремента версии для Arduino IDE и bat-файл выложены на гитхабе.

8. Ну а раз есть встроенный USB-UART переходник (с драйвером для CP2102 нет никаких проблем в Windows и Linux), то нельзя было не добавить вывод результатов измерений через Терминал (на скорости 9600). Раз в двадцать секунд выводятся результаты измерений и сообщения об ошибках.

Humidity: 36.20%
Temperature: 27.20C \ 83.56F
C02: 1153 ppm
C02 average: 462 ppm
ADC: 99
UpTime: 0 days, 0 hours, 3 minutes, 45 seconds.
Time: 16:25:56 20/3/2018
===================================================

Самая неприятная проблема

Самое неприятное с чем пришлось столкнуться при разработке, это когда при одновременной отправке результатов измерений на сервер MQTT и в Blynk, часть данных может начать теряться и не доходить до сервера. Как оказалось, на то, чтобы подключиться к серверу MQTT и отправить данные — может понадобиться несколько секунд и за это время библиотека Blynk успевает потерять соединение со своим сервером и в результате если вручную не инициировать переподключение к серверу — может пройти достаточно много времени и часть результатов измерений потеряется. Пришлось добавить проверку состояния WiFi клиента _blynkWifiClient и случае отсутствия коннекта делать принудительный стоп _blynkWifiClient.stop(), а потом подключаться к серверу Blynk заново.

Заключение

Это моя первая статья, хотя с момента регистрации на Хабре прошло уже 7 лет. Прошу не судить очень строго и не обращать внимание на говнокод, который пока является единственным языком программирования, которым я владею.

Ознакомиться с проектом целиком можно в репозитории на гитхабе.

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

Источник

Многобукфф

Vladislav’s personal blog site

Феномен Blynk и его альтернативы

Любой домашний разработчик микроэлектроники, рано или поздно сталкивается с необходимостью управления своим, созданным своими руками, устройством посредством некоего пульта, которым будет удобно переключать режимы работы или же просто просматривать текущее состояние. Вообще, словосочетание «домашний разработчик микроэлектроники» еще лет 15 тому назад, вызывало бы жуткий хохот, ведь в то время и помыслить никто не мог, что дома кто-то будет возиться с миниатюрными платами, заниматься прошивками, да и вообще. А оказалось, что единичные энтузиасты превратились в сонмы увлеченных людей, а само дело получило массовый оборот.

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

Приложение Blynk

Что дает Blynk любителю домашней автоматизации? Ответ на поставленный вопрос — двоякий. С одной стороны — совсем не много, а вот с другой, немного превращается чуть ли не в половину «стоимости» всего реализованного проекта. Blynk позволяет превратить обычный смартфон или планшет, под управлением Android или iOS, в настоящий пульт управления самостоятельно разрабатываемой электроники. Blynk очень удачно вписался в экоструктуру Arduino и появился в самый подходящий момент.

По сути, Blynk есть ни что иное, как приложение под мобильное устройство, позволяющее в форме графического конструирования создавать полнофункциональные приложения для связи их с устройствами на платформе Arduino и совместимыми (по правде сказать, скоро совместимых платформ станет куда больше). Основной фишкой Blynk я смело могу назвать простоту, с которой создается как само приложение, так и то, как реализуется связь с программным кодом в устройстве.

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

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

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

Откуда взялся Blynk?

Появление Blynk произошло не по чистой случайности. Я бы даже отметил, что появление Blynk на свет — есть ни что иное, как образцовый, счастливый случай удачного краудфандинга. Некий Паша Байдурин, надеюсь, что фамилию не исковеркал, завел кампанию на Kikstarter со скромной суммой сбора всего в 10.000$. В итоге, кампания набрала сумму в пятеро большую, что позволило развернуться на полную катушку. Сбор средств стартовал в середине января 2015 и уже к концу месяца набрал требуемый объем средств. Вот именно таким способом мозги и побеждают бабло, мотайте на ус.

Читайте также:  с каким зазором укладывать террасную доску

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

Уникальность бизнес модели

Так чем же еще уникален Blynk, кроме как возможностью создать приложение для телефона за пять минут и связать его с Arduino за дополнительные пять? А уникален он примененной бизнес моделью. В мире программного обеспечения приняты стандартные условия использования продуктов: Freeware (бесплатно), Shareware (условно бесплатно, с тестовым периодом), Donationware (заплати, если понравилось), платные продукты. Допускаются различные комбинации, например, для частного использования продукт может быть бесплатен, а корпоративный сектор обязан заплатить за каждую копию. Впрочем, существуют и другие типы лицензий, например, множество OpenSource, когда продукт рассматривается как некий кирпичик исходного кода доступного всем. Но не будем углубляться в дебри и посмотрим пристально на Blynk.

Интерфейс в приложении Blynk на смартфоне

По умолчанию обычному частному пользователю, скачавшему Blynk из маркета, выдается лимитированный набор, нет, не элементов, а заряда батареи. Оный заряд тратится на использование элементов интерфейса для создания своего приложения. Допустим, изначально вам доступна величина в 1000 единиц заряда. Каждая кнопка, установленная в проекте, обойдется вам в 200 единиц, а что-то посложнее, к примеру, построитель графика, выйдет уже в 400. Таким образом, строя свое приложение из элементов вы тратите энергию, выделенную вам изначально. Как только энергия истощится, добавить новые элементы в приложение будет уже нельзя. Придется либо докупать энергию за настоящие деньги, а операция происходит чрезвычайно просто, как и все остальное в Blynk, либо удалять элементы из приложения. При удалении, энергия, затраченная на установку, возвращается обратно в полном объеме.

Тем самым разработчики позволяют новому пользователю оценить возможности Blynk и создать как минимум одно более-менее функциональное приложение. А дальше – хочешь плати, не хочешь, разбирай то, что наваял и используй повторно. Уникальность ситуации заключается в том, что пользователю предлагается покупать не приложение, не подписку на него, не ограничение по трафику, а элементы интерфейса его приложения! Пополнение заряда батареи Blynk стоит не дорого, и его можно отнести к микроплатежам. Поэтому расставание с кровно заработанным происходит незаметно и безболезненно.

Но все же оцените идею. Представьте, что вы используете MS Word и вам предлагается писать тексты не более десяти страниц. А чтобы написать одиннадцатую, потребуется либо прикупить еще виртуальной бумаги, либо возвести краткость в благодетель и сократить свой текст до минимума. А после печати и вовсе его весь стереть. Несмотря на абсурдность реализации примера, с Blynk все работает. И работает отлично.

Для корпоративных же пользователей, чья работа непосредственно связана с выпуском приложений в коммерческих или около коммерческих целях, предлагается немного другая схема оплаты за труд разработчиков в Blynk. Корпораты получают stand alone приложение, работающее не в «песочнице» Blynk, а отдельно. Blynk там все равно будет, скрытый за фасадом. А платить придется за подписку, в течение которой приложение останется работоспособным.

Представьте, что вы производите ультразвуковые увлажнители воздуха. Вы уже вдоволь украсили каждую из своих моделей синими светодиодами и всерьез подумываете, как бы прикрутить туда еще и IoT. Blynk предоставляет вам почти готовое решение. Прикручиваете к увлажнителю, нечто на подобие ESP8266, а пользователям предлагаете скачать приложение. Voilà! Все работает, все довольны. Ровно до тех пор, пока вы не решите выпустить новую, усовершенствованную линейку увлажнителей, щеголяющую не только синими, но и фиолетовыми светодиодами. И вполне разумно полагаете, что за старое приложение можно уже не платить. Денег оно потребляет, а потребителю пора прийти за новым увлажнителем, ибо у вас дети, им надо поступать в колледж.

Программируемый срок службы потребительских товаров — заветная мечта любого производителя. Решить которую, при помощи Blynk, очень легко. Как, впрочем, и все, что касается Blynk.

Что взамен?

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

Веб-сервер

Самым простым способом реализовать удаленное управление я бы назвал использование Web-сервера на вашем устройстве. Такие современные чипы как EPS8266 и многие другие позволяют подключаться к IP-сетям, в том числе локальным сетям в квартире и даже с выходом в Internet. А свободного места в памяти контроллера достаточно для размещения полноценного сервера.

Соответственно на подобном устройстве можно развернуть несложный web-сервер, оптимизированный под экраны мобильных устройств. Вызывать же его можно через ярлык на рабочем столе вашего смартфона. Да, в большинстве случаев, и устройство и мобильный должны находиться в пределах одной сети, но часто-ли вам приходит в голову включить ваш увлажнитель дома, когда вы сами находитесь в Гималаях, карабкаясь с веревками на очередную вершину?

При использовании варианта с веб-сервером потребуется обрабатывать ответы от клиента, да выводить элементы управления в виде HTML. Получится может быть не так красиво и быстро, как при помощи Blynk, но зато совершенно бесплатно.

Cayenne

Добавление элементов на панель управления в Caynne (браузер)

Что было сделано? При помощи специалистов Cayenne был перегружен метод CayenneWiFiClient, в который добавился конструктор для создания объекта Cayenne с передачей в него только идентификатора аутентификации на сервисе Cayenne. Соединение с интернет в таком случае требуется создать самостоятельно.

Необходимо модернизировать штатную библиотеку Cayenne и положить измененный файл в каталог с вашим скетчем:

И собственно сам скетч:

Если из вышеописанного ничего не понятно, то попробую объяснить. Во-первых, Cayenne опирается на Blynk… Да, Cayenne использует Blynk, только не то приложение, что я описал несколькими абзацами выше, а фреймворк Blynk, выпущенный под лицензией MIT. Таким образом получается, что и приложение Blynk, и Cayenne, так или иначе, выполняют одну и туже функцию. В действительности же оно так и есть.

Готовая панель управления в Cayenne при просмотре через браузер

Разница между проектами в следующем: Blynk делает упор на мобильное приложение и простоту разработки приложения, Blynk уже сейчас активно монетизируется. Cayenne же помимо мобильного приложения предлагает еще и полнофункциональную панель управления на своем Web-сайте. И пока не собирает деньги со своих пользователей. Концепция работы в Cayenne идентична концепции Blynk. В приложении или через веб-браузер, пользователь создает проект, добавляет кнопки, лампочки и прочие показометры, которые можно связать с виртуальным или реальным пином вашего, конкретного, устройства. Дополнительно у Cayenne имеется механизм триггеров и событий. Триггеры обрабатывают события, получаемые от устройств. А событийная модель опирается на календарное расписание.

Читайте также:  что делать если волнуешься перед школой

Связь устройства и приложения осуществляется так же, как и у Blynk, посредством добавления небольших кусочков программного кода для обработки бизнес-логики зашитой в ваше устройство. Но первоначально проект затачивался на применение минимального количества программирования на стороне устройства клиента. Все так или иначе должно быть подхвачено библиотеками Cayenne. Именно по этой причине в Cayenne можно найти множество плат и вариантов подключения к сети, представлены, в том числе, и различные сенсоры конкретных производителей. С одной стороны, разнообразие снижает необходимость в программировании скетчей, с другой, понижает возможности использования универсальных устройств.

Интерфейс рабочей панели Cayenne на планшете

Именно по этой причине у меня и возникло затруднение в том, как можно подключить Cayenne к уже подключенному Wi-Fi соединению. И мне пришлось объяснять разработчикам, для чего мне это потребовалось. Возможно, что система была задумана для самого начального уровня подготовки оконечных разработчиков, о чем косвенно говорит количество примеров скетчей, вылезающих при каждом действии.

Немного удивил построитель на веб-сайте. К его логике нужно привыкать. Сначала добавляем устройство, получаем код идентификации, затем подключаем его на устройстве и пробуем подключиться к серверам Cayenne. Если подключение нам удалось, к подключенному устройству можно будет подключать виджиты, кнопки, табло и прочие средства визуализации.

Подводя итог после тестирования Cayenne, могу отметить я так и не смог определиться, понравилась ли мне система или нет. С одной стороны, да, все, что от нее требуется, все на месте. С другой стороны, меня постоянно не покидало ощущение, что тут что-то недоделано. Оно и понятно, система новая и план работ по реализации всех функций еще наверняка не завершен. Еще больше беспокойства вызывает «завлекалочка» Try it for Free, без какой-либо публикации, а что будет, когда «тестовый» период завершится? По крайней мере в настоящий момент (декабрь 2016), Cayenne можно пользоваться в своих целях без какой-либо платы, тренироваться, создавать свои приложения. И самое главное — никаких ограничений в плане запаса энергии в батарейке.

Virtuino

В отличие от Blynk или Cayenne, разработкой Virtuino занимается один единственный человек. И несмотря на сильно ограниченные ресурсы, результат получился не хуже, а может быть даже и лучше, нежели описано выше. Итак, Virtuino — плод усердий греческого разработчика, ознакомиться с которым можно как на отдельной страничке (на греческом языке), так и прямиком на странице загрузки приложения Virtuino из маркета. Для спешащих в бой, даю прямую ссылку на tutorial по подключению Virtuino, поскольку поначалу процедура может быть не тривиальной.

Как и Blynk, Virtuino подразумевает использование только мобильного приложения для создания пользовательского интерфейса. Как и Cayenne с Blynk, Virtuino использует технологию приложения в приложении. Это означает, что ваши наработки остаются в «песочнице» Virtuino и не могут существовать отдельно от Virtuino. Но у Virtuino присутствует и отличие от двух конкурентов. Virtuino не использует промежуточный сервер.

Интерфейс приложения Virtuino на планшете

Остановлюсь немного подробнее именно на этом факте, поскольку для меня он является ключевым. Blynk и Cayenne используют серверную часть и работают только через нее. Нельзя обратиться к устройству без подключения к Интернет, по крайней мере для подключений, не касающихся Bluetooth и USB подключения. А если соединение нестабильное, то ваш скетч будет затормаживаться на сетевых соединениях. Для каких-то применений, замедление исполнения инструкций может быть весьма критично. Причем, и Blynk и Cayenne могут работать из-под сурового NAT, то это означает, что ваше устройство будет периодически опрашивать, буквально в каждом цикле, сервер в Интернет. При плохой связи исполнение скетча может пойти вообще не так, как задумано изначально.

В Virtuino разработчик может пойти двумя путями. Во-первых, он может воспользоваться сервисом ThingSpeak, в качестве того самого, промежуточного сервера. А во-вторых, коммуникация между приложением и устройством осуществляется при помощи веб-сервера, поднятого на самом устройстве! Да, в этом случае, доступ извне вашей локальной сети к устройству, скорее всего, будет невозможен. С другой стороны, он мало кому и нужен. Но зато никаких задержек и проблем с внешним соединением. Все реализовано прозрачно до невозможности, вот чего не хватает грандам IoT. При работе с Cayenne тебя постоянно не покидает ощущение, что в любой момент может быть введена плата за использование сервиса, а у Blynk будут подняты расценки и ваш, уже оплаченный, набор окажется неработоспособным. С Virtuino вы продолжите пользоваться приложением и будите управлять им устройством. Во всяком случае приложение можно и не обновлять.

Как и у Cayenne в Virtuino реализована жесткая возможность по подключению к сети Wi-Fi средствами Virtuino без возможности использовать уже установленное соединение. Наличие двух одинаковых подходов к реализации наводит на невеселые мысли. По какой-то невероятной причине, разработчики значительно ограничивают возможность пользователей их продуктов. Если с Cayenne мне удалось решить вопрос про использование моего собственного подключения к сети, то в Virtuino я потерпел фиаско. Даже при помощи разработчика мне не удалось подключить мой ESP8266 к сети и использовать Virtuino. Дело в том числе и в том, что Virtuino поддерживает ESP8266 только как внешний модуль Wi-Fi для Arduino, а не как самостоятельную плату. А я полностью перешел в своих устройствах на ESP8266 в виду их выдающихся характеристик.

Да, в погоне за облегчением жизни потребителя, некоторые разработчики загоняет его, потребителя, в очень узкие рамки и не позволяют за них выходить. На примере 1С, мы помним, чем гибче и открытие платформа, тем больший успех ждет ее на рынке. Где все те «парусы», «галактики» и «абакусы»? Тем не менее, я связался с разработчиком и выяснил его ближайшие планы. Первым делом будут реализованы настраиваемые кнопки и индикаторы. Эта работа должна быть завершена к моменту публикации статьи, а затем настанет черед добавления новых плат к штатной библиотеке. Надеюсь, что в библиотеке появится нативная поддержка ESP8266 для Arduino.

Выводы

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

Конечно, рассчитывать на тотальную унификацию не стоит. Помните историю с умными домами? Когда весь бум сошел на нет? А все из-за несовместимости систем между собой и отсутствию четкого, единого стандарта. Подобный риск существует и с IoT. В принципе, как-то мы обходились без умных розеток, холодильников и стиральных машин, а добавление новых «умных» функций не добавляет много ценности к устройствам. Поэтому будем внимательно следить за назревающей битвой, возможно, что на наших глазах победит один из рассматриваемых выше способов коммуникации между человеком и устройством. Поглядим, посмотрим.

Опубликовано 15.02.2017 автором kvv в следующих категориях:
DIY Soft

Источник

Сказочный портал