How to install a local Blynk Legacy Server in your PC and get a Local Blynk Token

Installing Blynk Server on Ubuntu Cloud Server [Digital Ocean VPS]

If you are planning to install Blynk Server on any ubuntu server, then here is a step by step instruction on how to do that.

When I tried to install the Blynk server on Ubuntu cloud server, I didn’t get a clear guide on how to install blynk server, and I wasted a lot of time. So I thought to share this step by step instruction for users who are looking for such a guide.

Tip: Signup to Digital Ocean VPS account and get FREE $100 Credit. Click here to get Free $100 Credit.

My case is little different actually. I own a few domains (
like this blog ashout.com) and I’m running this site on Apache web server on Ubuntu VPS (Virtual Private Server) and I wanted to run Blynk server on my VPS alongside Apache web server without affecting any of my websites.

My question is, is it possible to run WordPress website along with the blynk server? So that I can install blynk server on my VPS?

After doing a lot of research I Still couldn’t get an answer to my above question. So I posted this question on Blynk Community. But unfortunately, I didn’t get an answer to that question. But I got some instruction which I’m missing during my setup and finally, I was able to install Blynk server on my VPS and also got an answer to my own question.

The answer is, YES. We can install the Blynk server along with Apache web server and you can run a WordPress website without any issue. But if you follow official instruction then you won’t be able to run Apace web server and Blynk server both at a same time.

Install Server on local PC

You can install local Blynk server on any computer which has Java 11 (or higher version). Java environment is a basic module which comes with those popular OS such as Windows, MacOS and Linux. So if your computer is not too old, you no need install any Java software to run Blynk server.

In this tutorial, we will teach how to install local Blynk server on Windows, MacOS and Raspbian(Raspberry Pi OS). If you use other OS, the installation is similar, just make sure you have Java 11 and JDK 8+ installed in your OS.

Сервер Блинк

После того, как вы создали приложение для управления вашим устройством, у вас есть два варианта связи с ним.

Облачный сервер Blynk быстрый, отзывчивый и бесплатный в использовании. Подключиться к устройству Wi-Fi так же просто, как скопировать сгенерированный код авторизации в эскиз Arduino и предоставить свои данные Wi-Fi. Для Raspberry Pi Blynk предоставляет тестовый скрипт, который вы можете запустить с кодом авторизации для того же эффекта. Позже в этой статье мы создадим наш собственный скрипт, использующий библиотеку Blynk для подключения к сервису.

Второй вариант — разместить свой собственный сервер Blynk. Blynk предоставляет Java-сервер с открытым исходным кодом на базе Netty, который можно запустить с вашего компьютера или даже с Raspberry Pi. Это имеет различные преимущества для некоторых пользователей с точки зрения функциональности и безопасности, хотя для наших примеров здесь мы сосредоточимся на использовании предоставленного облачного сервера Blynk.

сайт blynk

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

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

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

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

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

Далее будет QR код, просканировав который приложением Blynk (AppSore , Android) можно узнать, какой микроклимат был у меня дома последние 3 месяца.

Проект работает, прошу ничего не ломать.

Things used in this project

Hardware components

Software apps and online services

Concerned about IoT privacy on the cloud? The Blynk solution offers an interesting option for improved security with a local server.

I tested it with the following configuration:

  • The LaunchPad TM4C123 programmed with Energia performs the data acquisition with the Grove BoosterPack and the same sensors as in the Weather and Security Station with Blynk . Connection to the server is done through WiFi with the CC3100 WiFi BoosterPack.
  • A BeagleBone White running on Debian hosts the server , with Blynk server release 0.8.0,
  • The Blynk version 1.0 RC7 for Android displays the data on a Slate 7 Plus tablet from Hewlett Packard running on Android 4.2.2 .

Prepare the Hardware

As for the project Weather and Security Station with Blynk , the hardware includes a LaunchPad CC3200 and a Grove BoosterPack with 4 elements:

  • a PIR detector (input pin 27),
  • a DHT22 temperature and humidity sensor (input pin 24),
  • a BMP180 pressure sensor (I²C port) and
  • a relay (output pin 23).

The Grove system makes connections very easy. Just plug and play!

Configure the Server

The server is hosted in a BeagleBone, connected through Ethernet to a WiFi router.

$ java -version java version «1.8.0_60» Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

  • First install Java 8 following this procedure

# apt-get install oracle-java8-installer

  • Second, create a Blynk folder and install the Blynk server

# mkdir ~/Blynk# wget https://github.com/blynkkk/blynk-server/releases/download/v0.8.0/server-0.8.0.jar

  • Third and finally, launch the server and note the IP address of the BeagleBone.

# cd ~/Blynk # java -jar server-0.8.0.jar -dataFolder ~/Blynk &

Open the Blynk Application

Connecting the Blynk application to the server was the tricky part. I wasn’t able to connect to the server directly from the application. d> The procedure should have been:

  • On the main screen, select the server to connect to.
  • On the Server Settings, select Custom and enter the IP Address of the server.
  • Press OK to return to the main screen.
  • Press Create Account and enter the credentials.

The credentials consist on an e-mail address with a @ and a . like in name@mail.com, and a non-empty password. Both are compulsory. Otherwise, the app displays a cryptic message.This last part didn’t work for me. I reported the bug and Blynk is working on an fix.

As an option, Blynk provides a client to emulate a smartphone , with handy commands to create and configure a client.

  • First, check Java 8 is installed. If required, download and install it.

$ java -version java version «1.8.0_60» Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

  • Second, download the client.
  • Third, launch the client. 192.168.1.26 is the IP address of the BeagleBone and 8443 is the default port of the Blynk server.

$ /usr/bin/java -jar client-0.8.0.jar -mode app -host 192.168.1.26 -port 8443

  • Finally, create the user, a dashboard and note the authentication string, like «1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p».

register name@mail.com password login name@mail.com password saveProfile <"dashBoards":[<"id":1, "name":"Local Weather", "boardType":"LaunchPad CC3200">]> getToken 1 activate 1

Cayenne

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

Добавление элементов на панель управления в 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 можно пользоваться в своих целях без какой-либо платы, тренироваться, создавать свои приложения. И самое главное — никаких ограничений в плане запаса энергии в батарейке.

Подключаемся методом webhooks к Умному дому Яндекса

Будем использовать хорошо зарекомендовавший себя навык УД «Домовенок Кузя». Для этого:

  1. Переходим на сайт навыка и авторизуемся там с помощью учетной записи Яндекс.
  2. Выбираем кнопку «Добавить правило GET».
  3. Заполняем «по вкусу». Можно похулиганить и дать устройству имя «Розетка Яндекс».
  4. Не забываем в поле «URL управления устройством, доступный из интернета» вставить ссылку на наш вебхук.
  5. Создаём ВТОРОЕ правило GET — одно на включение устройства, второе — на его выключение.
  6. Выбираем кнопку «Виртуальные устройства умного дома» и создаем новое устройство (у меня лучше всего работают «лампы»).
  7. Указываем ранее созданные «Правило на включение» и «Правило на выключение».
  8. Задаем имя устройства и комнату, в которой оно находится.

Правило на включение

Правило на выключение

Приложение «Яндекс»

В приложении «Яндекс» (раздел «Устройства») находим навык «Домовенок Кузя». При первом запуске навык попросит авторизоваться. После авторизации нажимаем единственную кнопку «Обновить список устройств». Готово! После загрузки мы увидим наше устройство в списке.

Выбираем навык «Домовенок Кузя»

Осталось сказать «Алиса, включи Розетку Яндекс» и услышать радостное пощелкивание реле.

Вместо заключения

Подводя итоги создания системы автополива с использованием Blynk можно сказать следующее:

1. Сам по себе сервис Blynk является очень удобным и простым для освоения инструментом, который, благодаря обилию поддерживаемых плат и устройств, легко интегрируется практически в любое устройство. Вкупе с низкой ценой Wi-Fi модуля ESP8266 указанные преимущества позволяют осуществить добавление удаленного управления в конкретный проект с наименьшими усилиями.
Минусами использования такого решения, безусловно, является меньшая гибкость в настройки системы под себя и зависимость от разработчиков приложения, что, однако, нисколько не снижает его заслуг при использовании в небольших DIY-проектах.

2. Двумя основными недостатками описанной выше реализации системы автоматического полива являются её стоимость и низкое качество используемого датчика влажности почвы.

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

В ближайшем будущем планируется собрать электронную часть воедино и поместить ее в какой-нибудь достойный корпус и, надеюсь, наконец установить всё на даче.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector