Публичные облачные сервера для IoT устройств

Замечательная штука – ESP8266. Довольно мощный процессор, много памяти, встроенный WiFi контроллер. ESP32, конечно, еще лучше, но и стоит заметно дороже. Но речь сейчас не о них. Точнее не совсем о них. На ESP очень легко соорудить практически любую домашнюю автоматику, причем с удаленным контролем и управлением со смартфона или компьютера. Пример такого устройства есть на этом сайте. Одна проблема – для работы с таким устройством не только из домашней сети, а и из любой точки планеты (где есть доступ к интернету, разумеется), потребуется некий сервер – посредник, который будет принимать сообщения от устройства и передавать их Вам, и наоборот. Конечно, есть варианты и прямой связи, но я их не буду здесь рассматривать ввиду сложности реализации или дороговизны.

Приведенный в этот статье список не претендует на полноту и уж тем более на уникальность, просто я попытался проанализировать и структурировать возможности тех или иных бесплатных сервисов. В первую очередь для себя, но если это окажется полезным кому-либо еще – пользуйтесь на здоровье. Когда я искал публичный MQTT сервер для себя, то перерыл массу интернет ресурсов. Искал в первую очередь на esp8266.ru, но увы, там половина сервисов либо уже не рабочие, либо не подходят лично мне по тем или иным параметрам. Все, что здесь написано – в первую очередь мой личный опыт, Ваш опыт работы с данными сервисами может быть совсем другим. Если Вы знаете какие-либо еще подобные сервисы – напишите в комментариях или на почту (почта и другие контакты находятся в верхнем правом углу шапки сайта), и я постараюсь проверить и дополнить список.


MQTT брокеры

Протокол MQTT – это пожалуй самое первое, на что натыкаешься в поисковиках, когда ищешь способ удаленного управления различными “умными штуками”. Не могу поручиться, что это самый простой протокол (мне просто не с чем сравнивать особо, я как-то сразу на нем и остановился), но лично у меня он не вызвал никаких сложностей. Примеров – очень много. Готовых библиотек для Arduino IDE – тоже не одна, как говорится “выбирай на вкус”. Мобильных приложений – достаточно, чтобы выбрать и для смартфона, и для контрольной панели, сделанной из древнего планшета. Так что это, наверное, самый популярный вариант для реализации удаленного управления. Облачных серверов тоже достаточно много, называются они MQTT брокерами. Принцип работы протокола и серверов я здесь рассматривать не буду, этой информации вполне достаточно и на других сайтах.

 

CloudMQTT.com

Начинал я с этого сервиса. Просто потому, что почти все примеры работы с MQTT протоколом основаны именно на нем. Сервис достаточно удобный и простой, все интуитивно понятно. В 2018 году сервис допускал на бесплатном тарифном плане подключение до 10 устройств, что меня вполне устраивало. Однако к концу 2018 владельцы сервиса пересмотрели свою политику и на бесплатном тарифном плане “Cute Cat” теперь доступно только 5 подключений. Лично для меня это очень мало. У меня одновременно могут подключены три “управляющих” устройства – два смартфона и планшет, и для собственно ESP остается только два подключения. А различной “автоматики” у меня уже достаточно много, и планируется еще. Конечно, можно наплодить несколько экземпляров брокеров внутри одной учетной записи, это вроде бы не запрещается. Но в таком случае три контрольных устройства все равно “отожрут” три подключения для каждого экземпляра, а уж настраивать такое хозяйство – и врагу не пожелаешь. Самый дешевый платный тарифный план “Humble Hedgehog” стоит на момент написания статьи 5$ в месяц. Нет, меня одно довольно известное земноводное душит платить такие деньги каждый месяц. Да и возможностей при этом не так уж и шикарно – 25 подключений. Поэтому пришлось искать другие варианты.

 
Плюсы: удобно и просто
Минусы: только 5 подключений на бесплатном тарифном плане

 

flespi.io

Довольно долго я пользовался брокером mqtt.flespi.io. Привлек он меня тем, что на момент, когда я начал с ним работать, он допускал аж 100 конкурирующих подключений одновременно и огромные объемы передаваемых и сохраняемых сообщений. Шикарно! Однако сервис не так удобен, как CloudMQTT. Контрольная панель не удобна, настройка прав доступа не понятна на первый взгляд, авторизация и устройств, и смартфонов по токенам с ограниченным сроком действия. Многого либо вовсе нет, либо я не нашел как пользоваться. Например, как удалить сохраненные (retained) сообщения из базы – я так и не нашел. Строго говоря, это далеко не только MQTT брокер, так что возможно я просто не понял всех его возможностей. Кроме того, обнаружилось, что сервис не обрабатывает Last Will Message – устройство давно “отвалилось”, а статус его в топике Last Will Message не меняется. Иногда на разных смартфонах перестает обновляться информация в некоторых топиках. Но все это можно было бы простить за такие возможности. Но увы, и здесь желание заработать взяло верх – с этого года на бесплатном тарифе введено ограничение в 10 подключений. В этом нет ничего предосудительного, но я не готов еще платить за хобби такие деньги, да еще за услуги довольно сомнительного качества. В общем, будем искать такой же, но с перламутровыми пуговицами…

 
Плюсы: раньше было до 100 подключений
Минусы: не удобен, сложен в настройке доступов, will message не работает, retained из панели не удалить

 

HiveMQ Public Broker

Полностью бесплатный публичный брокер без каких либо ограничений. По крайней мере на главной странице брокера о них не написано. Но есть большие “НО” – этот брокер не имеет никакой авторизации, то есть вообще никакой. То есть все пересылаемые между устройством и Вами сообщения может прочесть кто-угодно. В этом не было бы большой трагедии, если это только какие-нибудь показатель температуры и влажности, секрета они не представляют. Но когда дело касается удаленного управления “умным домом”, то такой брокер уже в принципе не подходит. Ведь Вам же не хотелось бы, чтобы кто угодно мог включить какое-либо устройство в доме, или отключить сигнализацию,  например.

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

 

Eclipse MQTT

Еще один публичный брокер без авторизации. Как и написано на сайте, этот брокер предназначен в первую очередь для тестирования и не предназначен для хранения и передачи конфиденциальной информации. Для подключения к серверу нужно использовать следующие параметры: сервер iot.eclipse.org, порт 1883; для TLS v1.2, v1.1 или v1.0 – порт 8883. Доступно подключение и по WebSockets. В общем, то же самое что и HiveMQ, только в боковой проекции…

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

 

mosquitto.org

И еще один публичный брокер без авторизации. Можно не повторяться, все то же самое, что и у HiveMQ и Eclipse MQTT. Обратите внимание – то, что все эти серверы поддерживают шифрование TLS отнюдь не означает, что Ваши данные защищены. Защищен канал передачи между устройством и сервером, но сами данные находятся в открытом доступе.

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

 

IBM Cloud (Bluemix)

Это не mqtt брокер, это целая платформа “Internet of Things Platform”. Но в ее составе есть и mqtt брокер. На бесплатном тарифном плане “Lite” допускается аж до 500 зарегистрированных устройств, и по 200 МБ информации на каждую метрику. Вполне шикарно не только для дома, но и для коммерческих устройств. Но, как всегда, не без “НО”. Во-первых, с этой платформой очень сложно разобраться. Документация есть, но ее очень много. Нет ОЧЕНЬ много! Я потратил не один час, чтобы более – менее понять, как настроить подключение. Во-вторых, платформа позволяет публиковать топики строго в определенном формате: “iot-2/evt/event_id/fmt/format_string. Точно также с командами: “iot-2/cmd/command_id/fmt/format_string“. И все – никаких вольностей – то есть  только номер сообщения и само сообщение. А вот форматов передаваемых сообщений уже больше –  “json”, “xml”, “txt”, и “csv”. Возможно кому-то такой подход покажется очень правильным и удобным, но меня он не привлек. Да и сложно все устрено – возможностей, судя по всему, очень много, но с этим всем придется вначале разбираться.

Плюсы: очень большие лимиты по подключениям
Минусы: очень сложный для новичка, ограничения по топикам

 

mqtt.dioty.co

Это уже полностью бесплатный брокер. Пока. На странице параметров подключения написано следующее: “Этот MQTT-брокер в настоящее время работает в бета-версии. На этом этапе бета-тестирования мы не будем взимать плату, если вы превысите лимит в 50000 сообщений в месяц. Однако мы оставляем за собой право временно приостановить действие вашей учетной записи в случае, если вы влияете на обслуживание других пользователей. В этом случае мы всегда будем связываться с вами по электронной почте, чтобы попытаться понять ваши конкретные потребности и то, как мы можем их удовлетворить.”. 50000 сообщений в месяц – это примерно 70 сообщений в час, что не так уж и много, если учесть что одно устройство может публиковать за сеанс отправки данных с датчиков до 50 сообщений. Брокер поддерживает авторизацию и TLS-подключение. Регистрация привязана к учетной записи Google. Есть небольшое ограничение – все Ваши топики должны начинаться с адреса электронной почты, через которую вы зарегистрировались в сервисе, например так: “/kotyara12@yandex.ru/…/…/…”. Но это проблема более-менее существенна только при  настройке MQTT клиентов на смартфоне (больше текста набирать), да и то не всегда. На мой взгляд, этот сервис вполне заслуживает внимания. Работу с ним я не проверял, только зарегистрировался.

Плюсы: полностью бесплатен
Минусы: требуется определенный префикс для топиков, ограничение примерно 70 сообщений в час

 

Solace.Cloud (PubSub+)

Это не столько MQTT брокер, сколько целая IoT платформа. На бесплатном тарифном плане допускается до 50 подключений, до 1 GB передаваемых данных в месяц, до 4 GB хранимых данных (retianed сообщений). Неплохо. Но имеет даже в free версии очень много настроек – в нем сложно разобраться “с наскоку”. Именно поэтому в свое время я и не стал им пользоваться. Возможно, придет время, разберусь и настрою.

Плюсы: до 50 подключений
Минусы: довольно сложен в освоении

 

myqtthub.com

По всей видимости эстонский брокер. На бесплатном тарифном плане допускает: до 100 пользователей, но до 50 подключений; 10MB хранимых данных; до 50 подписок на подключение, максимум 250 подписок (причем не ясно, подписка “home/#” – это одна подписка или много?); 300 сообщений в минуту, но не более 800 в час и не более 10000 в день. Если исходить из регулярных (каждые пять минут) публикаций, то получается не более 34 сообщений за раз. Есть и еще ограничения – боле подробнее смотрите на главной странице сервиса. Ограничения, впрочем, выглядят вполне реальными для домашнего использования. Не пробовал…

Плюсы: до 50 подключений
Минусы: ограничения по количеству сообщений

 

mqtt.by

Простой в использовании белорусский брокер. Про ограничения не сказано нечего. Поддерживает авторизацию, но есть возможность сделать некоторые топики публичными, то есть открыть для всех остальных пользователей сервиса. Но нет поддержки безопасного соединения (TLS), это может быть критично для некоторых приложений. Каждый публикуемый топик должен начинаться с префикса “/user/имя_пользователя”, что несколько усложняет настройку мобильных mqtt клиентов, но не существенно. Из плюсов – на сервере есть общедоступные топики с датой и временем, что очень удобно для контрольной панели на основе планшета, которая работает 24 часа в сутки – заодно и часики еще одни (сто двенадцатые 🙂 ). В общем, вполне себе нормальный брокер, лишь бы работал стабильно.

Плюсы: без каких либо ограничений, есть публичные топики, можно опубликовать свои топики
Минусы: нет SSL/TLS шифрования подключений

 

mqtt.4api.ru

Российский бесплатный брокер – “мы предоставляем доступ к бесплатному mqtt серверу для всех желающих”. Авторизация и регистрация на сервисе через социальные сети. Появился, судя по всему, не очень давно. Хотя сам сайт имеет SSL сертификат, в параметрах подключения указаны данные только для “Без SSL”, видимо SSL подключение для устройств не доступно. Еще на странице подключения написано следующее: “Мы не рекомендуем использовать данный сервер для жизненно важных проектов”.

Плюсы: без каких либо ограничений
Минусы: нет SSL/TLS шифрования подключений

 

Список публичных MQTT серверов можно посмотреть здесь. Если Вы знаете еще бесплатные MQTT брокеры – пожалуйста, напишите мне.


Другие сервисы

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

ThingSpeak

ThingSpeak доступен как бесплатный сервис для некоммерческих небольших проектов (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, пример на этом сайте. Из особенностей сервиса – он имеет интеграцию с MatLab Analytics, но я сколько не пытался настроить скрипты MatLab, так у меня ничего и не вышло. Ну, не очень-то и хотелось. В бесплатном аккаунте сервис позволяет создавать до четырех каналов, в каждом из каналов можно хранить до 8 полей с различными данными. Еще в бесплатном аккаунте существует еще одно ограничение – нельзя публиковать данные чаще одного раза в 15 секунд (рекомендуется пауза в 20 секунд), это как бы “защита” от превышения лимита 8 200 сообщений в день. В принципе, все мои “публикаторы” легко вписываются в данный лимит, мне хватает. Пользуюсь сервисом довольно давно, достаточно удобен и прост, если не считать MatLab. Есть несколько программы – клиентов для android, но гораздо меньше, чем для MQTT.

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

 

beebotte

На главной странице этого сервиса написано следующее: “подключение всего и вся в режиме реального времени с использованием богатого API, поддерживающего REST, WebSockets и MQTT”. Если честно, то этот сервис я нашел только вчера, и еще не успел его попробовать. Судя по тому что я понял, это дикая смесь mqtt брокера и  thingspeak.com. В бесплатном режиме количество каналов и ресурсов не ограничено, но ограничено количество сообщений: 0.05 Million per day | 1.5 Million per month. Для хранимых сообщений лимиты еще меньше: 5 000 per day | 150 000 per month. Кроме того, сообщения хранятся только максимум три месяца, после чего удаляются. То есть погоду за весь год не посмотришь. Про мобильный клиент для смартфона мне пока ничего не известно. Зарегистрировался. Буду пробовать. Выводы делать пока рано.

Blynk

Активно продвигаемый сервис для удаленного управления “умными устройствами”. Я бы даже сказал, агрессивно – во все форумы пишут, где надо и где не надо. В целом, на мой лично взгляд, эта платформа не для любителей, а скорее для бизнеса. На “бесплатном режиме” дается очень мало ресурсов, разве что помигать светодиодиком или включить одно реле. В общем я один раз попробовал – и забросил, сразу ресурсы и кончились. Слишком жадные.

Плюсы: не нашел
Минусы: жадюги, мобильный клиент только один

 


Пока на этом все. Если Вы знаете другие способы управления ESP удаленно (обязательно с “мобилы”) – пожалуйста, напишите мне. Обсудим и, возможно, дополним статью.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *