Всем доброго дня!
На днях заказал на aliexpress датчик MH-Z19B уровня CO2 для установки на рабочем месте через Arduino, т.к. кабинет небольшой по объему и появился помощник.
В ожидании доставки решил размять пальцы на датчике влажности и температуре DHT22 и Arduino Uno и отправки значений в Zabbix. Возможно об этом опыте напишу позже заметку. В связи с этим в выходные время от времени обращал свой взор на различные материалы об автоматизации (Arduino, ESP, Rapsberry Pi, etc….). И наткнулся на клиент-серверный проект Blynk. Для него доступны нативные клиентские приложения для платформ Android и iOs, облачный сервер и доступный для локальной установки сервер (при чем доступен как в исходных текстах, так и скомпилированный). Вот об установке и начальной настройке локального сервера Blynk мы поговорим. Скорей всего будет еще заметка на эту тему про настройку Blynk server для работы с postgress базой данных.
Сервер написан на Java, соответственно нам необходимо будет ее поставить, все устанавливалось на свежую установку FreeBSD12.0, все команды выполняем от root.
Ставить будем через пакетный менеджер pkg, сам сервер установим по пути /usr/local/etc/blynk
# pkg install openjdk8 wget # mkdir -p /usr/local/etc/blynk/data # wget --no-check-certificate https://github.com/blynkkk/blynk-server/releases/download/v0.41.2/server-0.41.2-java8.jar -O /usr/local/etc/blynk/server-0.41.2-java8.jar
Создадим конфигурационный файл для возможности отправки email (отправка токенов приложений и возможность сбросить забытый пароль)
Для почты Yandex:
vi /usr/local/etc/blynk/mail.properties mail.smtp.auth=true mail.smtp.ssl.enable=true mail.smtp.host=smtp.yandex.ru mail.smtp.port=465 mail.smtp.username=blynk@yandex.ru mail.smtp.password=password
Где:
- mail.smtp.username=blynk@yandex.ru
Ваша учетная запись на yandex - mail.smtp.password=password
Ваш пароль
Или для google:
mail.smtp.auth=true mail.smtp.starttls.enable=true mail.smtp.host=smtp.gmail.com mail.smtp.port=587 mail.smtp.username=blynk@google.com mail.smtp.password=password
Запустим сервер:
# java -jar /usr/local/etc/blynk/server-0.41.2-java8.jar -dataFolder /usr/local/etc/blynk/data
В вывод получим:
Blynk Server 0.41.3-SNAPSHOT successfully started. All server output is stored in folder '/usr/home/vino/logs' file. Your Admin url is https://10.10.10.10:9443/admin Your Admin login email is admin@blynk.cc Your Admin password is admin
Обратите внимание, что по-умолчанию логи создаются в директории из которой вы запустили сервер.
Заходим через браузер:
http://ip-address-server:9443
Авторизуемся указанными параметрами:
Login: admin@blynk.cc
Password: admin
Переходим на вкладку Users — меняем админу имя-пароль.
Ставим клиента на android
Или на iOS
Логинимся клиентом на наш сервер (указываем, что сервер у нас CUSTOM) указав IP адрес сервера и порт 9433, пробуем создать проект, проверяем пришло ли письмо, если нет, то смотрим логи сервера (blynk.log)
Гасим сервер командой CTRL+c
Для сервера нет скрипта запуска, авторы рекомендуют запускать сервер с помощью crontab при загрузке операционной системы сервера, сделаем:
# crontab -e @reboot java -jar /usr/local/etc/blynk/server-0.41.2-java8.jar -dataFolder /usr/local/etc/blynk/data
Возможно стоит перезагрузить сервер, чтобы проверить корректность запуска.
После перезапуска, проверяем:
# sockstat | grep 443 root java 726 50 tcp46 *:9443 *:*
На этом пока все, в планах использовать рекомендованную разработчиками базу данных postgress (обязательно расскажу об этом позже).