Первый проект. мигаем светодиодом arduino при помощи кнопки на смартфоне

Содержание

Шаг 3. Сформируйте токен устройства

Нажмите кнопку «Мои токены». Для регистрации токена устройства регистрация на сайте обязательна.

Примечание: Каждое устройство, которое регистрируется на облачном сервере RemoteXY, должно обладать уникальным зарегистрированным токеном. Для подключения к устройству с мобильного приложения необходимо так же указать этот токен. Токены создаются в личном кабинете сайта RemoteXY.

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

Новый токен должен появиться в списке токенов.

Примечание: В списке токенов устройств в личном кабинете вы можете контролировать состояние вашего устройства — колонка «Состояние устройства». Состояние может быть одно из трех:

  • disconnected – устройство не подключено к облачному серверу;
  • connecter – устройство зарегистрировалось на облачном сервере и готово для подключения с мобильного приложения;
  • used — устройство используется мобильным приложением;
  • ? — облачный сервер недоступен.

Вернитесь в редактор и в правой панели в разделе «Подключение модуля» выберите в поле «Токен» ваш новый созданный токен.

Шаг 7. Подключитесь с мобильного приложения.

Установите мобильное приложение на ваш смартфон/планшет.

Примечание: В приложении для iOS перед подключением необходимо вручную подключить смартфон к точке доступа, используя системные настройки операционной системы. Приложение для Android умеет самостоятельно переключить систему на точку доступа устройства и вернуть предыдущую точку доступа после отключения.

В приложении нажмите кнопку нового подключения «+» в верхней панели. В открывшемся окне выберите подключение «WiFi точка доступа».

В приложении для iOS предварительно зайдите в системные настройки и подключитесь к точке доступа «RemoteXY» с паролем «12345678». Подключенная точка доступа должна отображаться в открывшемся окне. Нажмите кнопку «Connect».

В приложении для Android включите WiFi и нажмите кнопку обновления списка доступных точек доступа. Выберите точку доступа RemoteXY. В открывшемся окне введите пароль точки доступа «12345678», нажмите кнопку «Подключиться».

Шаг 6. Загрузите скетч в Arduino.

Скетч загружается в Arduino обычным способом. Однако из за того что модуль ESP8266 подключен к контактам 0 и 1, программирование становится невозможным. Компилятор будет показывать ошибку.

Перед программированием отсоедините провода идущие к ESP8266 от контактов 0 и 1. Произведите программирование. Затем верните контакты на место. Нажмите кнопку сброса Arduino.

Примечание: Первый признак того, что программирование прошло успешно, это мерцание синего светодиода на модуле ESP8266 в течении полсекунды сразу после сброса. Мерцание синего светодиода означает обмен данными между Arduino и ESP8266. В эти полсекунды Arduino производит настройку ESP8266 для работы в качестве точки доступа.

Virtuino

Программа для Андроид, предназначенная для мониторинга сенсора. Управляет электро устройствами через Bluetooth, Wi-Fi или Интернет.

При помощи Виртуино создаются:

 Приложение способно совмещать несколько проектов в один. Управляет отличными платформами единовременно через Bluetooth и Wi-fi. Бесплатно в использовании. Относится к подкатегории System Maintenance. Есть возможность проектировать внутреннее оформление с разной визуализацией.

К ним относятся:

  • светодиоды;
  • переключатели;
  • диаграммы;
  • счетчики;
  • аналоговые приборы.

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

Connecting the Bluetooth module

Now we need to physically connect a Bluetooth module to the board Arduino. Module HC-04 has the 4th contact (they are signed directly on the board). Two of them — the power. For module used a standard Power + 5V from Arduino board.

The other two — a UART interface: RX and TX, responsible for receiving and transmitting data. RX is necessary to connect to pin on the Arduino, which we have function TX, TX and pin to pin on the Arduino, having a function RX. How do you know which pins on the Arduino are responsible for the RX and TX module communication? Very simple.

In the sketch code there are two definitions pins, it connected to the Bluetooth module. It has two definitions, find these lines of code. They defined, what pins will be used when configuring SerialSoftware:

Thus, contact RX of Bluetooth module connected to pin number 3 of board Arduino, and contact TX — to pin number 2 of the board. Of course you can change the pin numbers of your choice (see the documentation at SerialSoftware, since not all the pins can be used in emulation software UART).

Now you can download code to microcontroller. Do it!

Функция loop

Функция loop() имеет вызов обработчика RemoteXY_Handler (). Не удаляйте этот код. Обработчик RemoteXY_Handler должен вызываться в каждом цикле программы. Вызов необходим для того, что бы библиотека RemoteXY могла обработать очередную порцию данных об элементах управления, переданных со смартфона и предать на смартфон новые данные о состоянии элементов индикации.

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

Внимание. Не рекомендуется в процедуре loop использовать задержки delay () и другие

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

Пример кода для взаимодействия с элементами управления и индикации

Получаем домен второго уровня бесплатно

Если у Вас уже есть собственный домен и DNS, тогда вы должны создать DNS запись типа А и вписать туда общедоступный IP-адрес VPS. После этого можете переходить к следующему пункту.

Если у Вас еще нет собственного домена, то идем на Freenom.com (кредитная карта не понадобится) подбираем свободный домен и регистрируем его. Большинство доменов, даже 4-х буквенные бесплатны, кроме премиальных (по мнению авторов сервиса). Регистрация аккаунта происходит в момент регистрации домена, также пусть вас не смущает кнопка Оформить заказ — да, для регистрации бесплатного домена нужно оформить заказ. Еще не забудьте указать, что регистрируете домен на 12 месяцев (по умолчанию регистрируют только на 3).

Регистрация бесплатного домена

В момент регистрации домена (на большом мониторе, а не на маленьком как у меня на скриншоте) вы можете сразу указать общедоступный IP адрес вашей виртуалки для нового доменного имени. Указать его нужно два раза (обычно для каждого WEB сервера создается две DNS записи: первая только с именем домена и вторая www.+имя домена). Если у Вас нет поля для ввода IP адреса при регистрации, то ничего страшного, Вы сможете это сделать после регистрации.

После регистрации домена и аккаунта на freenom нужно залогиниться и перейти в меню Services — My Domains — напротив Вашего домена нажать Manage Domain, выбрать вкладку Manage Freenom DNS, ввести два раза общедоступный IP-адрес в поле Target и сохранить изменения.

Дальше можете подождать и попить кофе пока обновится кэш DNS.

Успешным результатом этого шага станет возможность подключаться по SSH к Вашей VPS не только по общедоступному IP-адресу, но и по доменному имени.

Если не подключается…

Вы можете проверить наличие связи между Arduino и ESP8266 используя Serial Monitor, который можно открыть во вкладке Tools в Arduino IDE.

Откройте Serial Monitor и установите скорость 115200. Нажмите кнопку сброса на плате Arduino.

Проверьте наличие правильно загруженной программы

Если после сброса Arduino в Serial Monitor нет никаких сообщений, это скорее всего означает, что Arduino не выполнят вашу программу. Возможно:

  • нужный скетч не был загружен;
  • ваша Arduino не включена;
  • Serial Monitor не подключился к Arduino;
  • с вашей Arduino что то не так.
  • внесены недопустимые изменения в код, например откорректирована структура RemoteXY или массив RemoteXY_CONF, удалены вызовы функций RemoteXY_Init() или RemoteXY_Handler().

Если вы уже добавили в проект какой либо код вашей задачи, попробуйте протестировать RemoteXY без этого кода, используя только тот код который генерирует редактор.

Проверьте связь между Arduino и ESP8266

Если после сброса Arduino в Serial Monitor вы видите следующую последовательность команд, это означает, что инициализация ESP8266 проходит успешно и связь между Arduino и ESP8266 есть:

Если вы видите только повторяющиеся команды «AT», это означает что нет связи между Arduino и ESP8266.

Связь может отсутствовать по разным причинам. Ниже перечислены основные:

  • контакты RX и TX подключены не верно, перепутаны контакты, или подключены не к тем контактам, или не подключены совсем;
  • скорость передачи данных не совпадает, ESP8266 по умолчанию использует скорость 115200;
  • нет питания на ESP8266, при подаче питания на ESP8266 должен светиться красный светодиод;
  • не хватает мощности источника питания 3.3 В для ESP8266;
  • модуль ESP8266 неисправен.

Проверьте прошивку ESP8266

Если после сброса Arduino в Serial Monitor вы видите только начало последовательности команд, но нет завершающей команды AT+CIPSERVER=1,6377 это означает, что модуль ESP8266 имеет устаревшую прошивку. Требуется обновление прошивки.

Если инициализация проходит успешно и вы видите последнюю команду AT+CIPSERVER=1,6377, но при попытке подключения с мобильного приложения возникает ошибка, возможно, что модуль ESP8266 имеет устаревшую прошивку.

Проверьте объем памяти вашего ESP8266. Это можно сделать так же посмотрев маркировку чипа памяти, который находится на плате рядом с чипом ESP8266. Если размер памяти составляет 4 Mbit и меньше (установлен чип 25Q40), скорее всего этот модуль не будет работать как точка доступа для RemoteXY.

Проверьте питание ESP8266

Так же возможно, что вашей ESP8266 не хватает мощности источника питания. Некоторые платы Arduino имеют слабый стабилизатор напряжения 3.3 В, который не способен выдавать 200-300 мА в пиковых режимах. В этом случае в Serial Monitor вы так же увидите обрыв последовательности команд.

Проверьте особенности вашего смартфона

Некоторые модели смартфонов на Android имеют особенности подключения точек доступа WiFi, и возможно точка доступа не включается автоматически. Попробуйте подключиться к точке доступа предварительно в ручную, используя системные настройки. После этого попробуйте соединиться с устройством из приложения RemoteXY. Если в этом случае соединение устанавливается, значит ваш смартфон имеет такую особенность. Сообщите нам об этом.

ESP-07

Особенности этого модуля — керамическая антенна и разъем для внешней антенны, металлический экран.

Подключение к IoT

Аппаратная часть

Работа с этим модулем, к сожалению, прошла не слишком гладко. Ни один из возможных вариантов подключения не сработал, и я, уже отчаявшись, решила удалять его описание из статьи. Но тут мне дали новый модуль и сказали попробовать еще раз — о чудо, он заработал с первого раза! В чем было дело и как сломался первый модуль, который я мучила, — неизвестно, но скорее всего он был убит нещадной статикой. Мораль этого лирического отступления такова — если у вас что-то не заработало по инструкции, написанной ниже, не вините инструкцию — сначала прозвоните и проверьте все контакты, а потом попробуйте на другом модуле.

1) Собираем схему

ESP-07

USB-Serial

VCC

VCC

CH_PD (рекомендуется через резистор)

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 (рекомендуется через резистор)

GND

GPIO 0 — сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод

все остальные контакты не подключены

RTS, CTS — не подключены

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

2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)

2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0  к GND

2.2) Подключаем пин GPIO 0  к GND

ESP-07

USB-Serial

VCC

VCC

CH_PD

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 

GND

GPIO 0

GND

все остальные контакты не подключены

RTS, CTS — не подключены

2.3) Подключаем модуль к питанию

2.4) Железо готово, приступаем к программной части.

Программная часть

1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-07 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

В Китае

Connection via Hardware Serial

It allows to connect the module to the microcontroller pins, supporting one of the hardware serial ports. For different Arduino boards are different ports and contacts. Hardware serial allows to work motule at a maximum connection speed of 115200 baud. The baud rate for Arduino is selected in the module interface settings of editor. ESP8266 must be to pre-configured to work at the same speed as the Arduino. The baud rate setting of module can be made via AT commands. Next Arduino serial ports are available:

  • Arduino UNO and Nano: Serial (RX-0, TX-1);
  • Arduino MEGA and MEGA2560: Serial (RX-0, TX-1), Serial1 (RX-19 и TX-18), Serial2 (RX-17 и TX-16), Serial3 (RX-15 и TX-14);

>Which port to use, and therefore the pins should be connected to the module, you must select in interface settings of editor. It should also be borne in mind that for Arduino boards Serial port enabled for the microcontroller programming, and if you decide to use this port, you must disconnect the ESP8266 module when programming it. A good solution is to use the boards Arduino MEGA any port other than Serial.

Example of HC-05(06) module connecting via HardwareSerial by pins 0(RX) and 1(TX) on the picture. Please note that you must connect to pins the cross hairs, pin 0(RX) of Arduino to TX of ESP8266 module and pin 1(TX) to the RX pin of module.

Налаштування

Для налаштування вам необхідно на телефоні під’єднатися до Wi-Fi мережі Wemos_00000000 (замість нулів буде серійний номер вашої плати).
Стандартний пароль — 12345678. Ви можете його змінити за вашим бажанням.

Після підключення відкриваєте веб-переглядач і переходите за адресою 192.168.4.1 — це адреса для налаштувань.

Налаштування точки доступу

  • SSID — назва вашої моделі у Wi-Fi мережі. Це може бути, наприклад, номерний знак, або ваш нікнейм…
  • PASSWORD — пароль доступу. Типово встановлено 12345678

Налаштування сервоприводу

  • center — Положення сервоприводу при русі прямо, в градусах
  • left — Положення сервопривду при вивороті коліс до упору в ліво, в градусах
  • right — Положення сервопривду при вивороті коліс до упору в право, в градусах
  • Stearing potenciometer linearity — лінійність керма
    • Linear — кермо лінійне. Відхилення керма на 1 градус повертає колеса на 1 градус.
    • Y = X^2/X кермо не лінійне. При позиціях, близьких до нуля, на один градус зміни положення керма колеса повертаються менше.
      При позиціях, близьких до крайніх положень, колеса повертаються швидко. На високих швидкостях це дозволяє маневрувати плавніше.

Налаштування тягового мотора

  • Minimum PWM speed — мінімальне значення ШІМ, яке необхідне для того, щоб мотор міг зрушити модель з місця.
  • Speed potenciometer linearity — лінійність значень потенціометра.
    • Linear — потенціометр лінійний.
    • Y = X^2/X Потенціометр не лінійний. При позиціях близьких до нуля на одиницю зміни положення потенціометра швидкусть наростає повільно.
      При позиціях, близьких до максимальних положень, швидкість наростає швидко.

Налаштування світла

  • Head light PWM — значення ШІМ для переднього світла фар
  • High light PWM — значення ШІМ для дальнього світла фар
  • Parking light PWM — значення ШІМ для габаритних стоянкових вогнів
  • Turn light PWM — значення ШІМ для поворотів та аварійної світлової сигналізації
  • Stop light duration — проміжок часу, на який включається стоп-сигнал після зупинки моделі
  • Back light timeout — проміжок часу, через який вимикається світло заднього ходу після зупинки моделі
  • Back light PWM — Значення ШІМ для світла заднього ходу

Работа с устройством

Вставьте microSD карту памяти (макс. 32 ГБ) в установленный на монтажной плате адаптер и подключите все устройство к любому USB-совместимому порту (или источнику питания 5 В). Мы подали питание на устройство. Следует удостовериться, что выбранный USB порт способен обеспечить выходной ток 1 А, – модуль ESP-12E потребляет большой ток при передаче файлов.

Как только устройство получит питание, будет создана беспроводная Wi-Fi точка доступа с именем «SD Reader». Подключитесь к этой точке доступа, используя пароль, который указан в исходном коде (скетче). Затем, в зависимости от того, какое устройство вы используете для подключения к точке доступа, откройте соотвествующее приложение: если вы подключаетесь с ПК, можно использовать ПО FileZilla или WinSCP, если вы подключаетесь с Android-устройства, то можно использовать приложение AndFTP.

В приложении настройте учетные данные. Например, для AndFTP потребуется ввести имя пользователя и пароль (по умолчанию в исходном коде имя пользователя и пароль «esp8266») и адрес хоста – 192.168.12.7. После настройки подключитесь к FTP серверу; как только подключение будет установлено, вы сможете загружать любые файлы с SD-карты памяти, а также загружать файлы со своего телефона на SD-карту памяти (Рисунок 7).

Рисунок 7. Подключение к FTP серверу на ESP-12E с Android
-смартфона.

В видеоролике ниже вы можете посмотреть порядок сборки, настройки и работы устройства

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

Несмотря на то, что устройство выполняет свою функцию, оно очень медленное. Для передачи четырех файлов (каждый примерно по 100 Кбайт) потребуется около 30 секунд. Если взять файл большего размера (около 10 Мбайт), то его передача займет около 3-4 минут. Есть некоторые способы  оптимизации и увеличения скорости обмена данными до 450 Кбит/с, а в случае применения Wi-Fi модуля на ESP32 – скорость обмена данными может достигать 1 Мбит/с.

Автор называет две основные причины, по которым он не пытался оптимизировать устройство. Во-первых, хотелось наряду с FTP-сервером иметь возможность использовать интерфейс USB для обмена данными, но данный интерфейс не поддерживается в ESP8266 или ESP32. Во-вторых, низкая скорость передачи данных по FTP. По этой же причине не имеет смысла использовать ESP32 вместо ESP-12E.

Тем не менее, вероятно, одну из проблем можно решить, если использовать Wi-Fi модуль ESP32 S2, который поддерживает полноскоростной USB интерфейс.

Компоненты умного дома

Теперь я хотел бы подробнее остановится на компонентной схеме умного дома. Все компоненты уместились в следующей схеме:

Компоненты умного дома

Слева-направо: сначала идет ваше устройство на ESP8266, далее это прошивка ESP Easy (ее ставим на ESP8266), прошивку подключаем к MQTT-брокеру (например WQTT.ru или свой брокер на своем сервере), веб-сервис WQTT.ru уже имеет подключение к Алисе (на своем брокере это подключение придется сделать самостоятельно, что в общем несложно, потому что это наша привычная работа программиста), далее сервер логики Node RED, который подключен к MQTT-брокеру и управляет всем умным домом. И в конце можно поставить Homebridge для связи умного дома с Homekit.

Как вы наверное догадались, homebridge с голосовыми помощниками не обязательные компоненты. Главное это MQTT-брокер и Node RED. Эти два сервера вам обеспечат практический полный функционал и доступ к настройке любой логики.

Думаю общая картинка умного дома уже появилась и можно переходить к самим компонентам в отдельности. В этой статье рассмотрим MQTT-брокер и само устройство. В следующих статьях будем рассматривать настройку прошивки ESP Easy и Node RED. Этого будет достаточно, чтобы запустить простейший вариант умного дома.

В качестве устройства у нас будет светодиод, который встроен в ESP8266 и сидит на пине GPIO2. Этот светодиод будет имитировать освещение в гостиной например. Также подключим кнопку, которая будет включать этот светодиод. И еще в нашем устройстве будут два датчика: DHT11 и BMP085 (влажности и барометр с термометром). 

В логику (которая будет хранится в Node RED) заложим управление кнопкой и светодиодом, оповещение по телеграму о резком похолодании в комнате и вывод значений датчиков в Homekit и Алису.

Connection via Software Serial

It allows to connect the module to an arbitrary microcontroller pins. The pins used must be select in the module interface settings of editor. Also in the settings must be select the baud rate for serial port. ESP8266 default configured to 115200 baud. To work through SoftwareSerial, must configure the transmission speed ESP8266 to a lower speed. Stable operation of the module is possible at a speed of no more than 19200 baud. To change the speed of module serial interface, must to connect it to the console to the possibility of the AT commands. Module serial interface speed can be changed with the AT command «AT+UART_DEF=19200,8,1,0,0».

There are some limitations on the use of the RX pin for Arduino boards. Limitations associated with do not support to pins interrupt of the microcontroller.

  • On Arduino RX doesn’t work on pin 13;
  • On Mega and Mega2560 only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8(62), A9(63), A10(64), A11(65), A12(66), A13(67), A14(68), A15(69);
  • On Leonardo and Micro only the following can be used for RX: 8, 9, 10, 11, 14, 15, 16;

Also, when using SoftwareSerial you should take the following limitations:

  • No ability to work at high baud rates. It is not recommended to use a baud rate of more than 19200.
  • Some libraries, which also uses interrupt may not work correctly. For example Servo library, the servos will twitch.

Example of ESP8266 module connecting via SoftwareSerial by pins 2(RX) and 3 (TX) on the picture. Please note that you must connect to pins the cross hairs, pin 2(RX) of Arduino to TX of ESP8266 module and pin 3(TX) to the RX pin of module.

Последние штрихи

Итак, смотрим что получилось:

https://example.com/ — это ваш сайт заглушка, можно разместить что-то полезное, положив html файлы в conf/nginx/www

https://example.com/manager/rabbit/ — интерфейс управления RabbitMQ, доступ по умолчанию guest пароль guest — пароль нужно сразу же сменить — помните про китайцев! Создание новых пользователей MQTT на вкладке Admin. Если укажете TAG administrator, то этот пользователь сможет логиниться в WEB интерфейс RabbitMQ и управлять другими пользователями. Если нужно только подключение по MQTT то задавайте TAG None. Создайте нового пользователя, которого прописали в конфиге Telegraf, перезапустите Telegraf. Каждому пользователю после создания нужно дать права на доступ к Virtual host (это внутренний термин RabbitMQ, наш единственный Virtual host это «/»), жмите Set permission.

https://example.com/manager/grafana/ — самое интересное — Grafana. По умолчанию там только один источник данных — Prometheus. Из него берутся данные для мониторинга RabbitMQ и VPS. Нужно создать еще один источник данных InfluxDB — туда Telegraf будет складывать данные из всех топиков, полученные по MQTT. Вообще, в Grafana все интуитивно понятно да и в интернете множество инструкций. Смотрите готовые dashboards, импортируйте чужие и создавайте свои.

https://example.com/manager/portainer/ — WEB интерфейс для управления контейнерами. Тоже нужно задать нормальный пароль после первого входа (admin admin). Можно останавливать/перезапускать контейнеры, смотреть логи каждого контейнера и многое другое — смотрите, изучайте. Именно здесь найдете причину в логах, если что-то не работает.

Download RemoteXY: Arduino control PRO 4.5.1 APK

Download APK File (5.70 MB)
Get from Google Play

App Description

RemoteXY: Arduino control PRO is shevauto,remotexy,tools,remote, content rating is Everyone (PEGI-3). This app is rated 5 by 1 users who are using this app. To know more about the company/developer, visit Shemanuev Evgeny website who developed it. com.shevauto.remotexy.pro.apk apps can be downloaded and installed on Android 2.3.x and higher Android devices. The Latest Version of 4.5.1 Available for download. Download the app using your favorite browser and click Install to install the application. Please note that we provide both basic and pure APK files and faster download speeds than APK Mirror. This app APK has been downloaded 1859+ times on store. You can also download com.shevauto.remotexy.pro APK and run it with the popular Android Emulators.

RemoteXY is easy way to make and use a mobile graphical user interface for controller boards. Using the editor of mobile graphical interfaces, located on the site http://remotexy.com , you can make your own unique graphical user interface and load it into the controller. Using this mobile app you will be able to connect to the controller and manage with them through a graphical interface.
The graphical interface supports the following elements:
- Button;
- Switch;
- Select;
- Slider;
- Joystick;
- RGB color;
- LED;
- Level;
- Text print;
- Other design elements of the GUI.
Connection between the controller and the mobile device using:
- Bluetooth;
- WiFi client and access point;
- Ethernet by IP or URL;
The source code generator have support next controllers:
- Arduino UNO, Arduino MEGA, Arduino Leonardo, Arduino Pro Mini, Arduino Nano, Arduino MICRO;
- WeMos D1, WeMos D1 R2, WeMos D1 mini;
- NodeMCU V2, NodeMCU V3;
- The AirBoard;
Supported comunication modules:
- Bluetooth HC-05, HC-06 or compatible;
- Bluetooth BLE HM-10 or compatible;
- WiFi ESP8266;
- Ethernet Shield W5100;
Supported IDE:
- Arduino IDE;
- FLProg IDE;
 

App ChangeLog

New features:
— Connection via Cloud Server. Your devices are available from anywhere in the world.
— Support the access password of device.

Apk scan results


Detected 1 From 55 Scan.
Scan Stats:confirmed-timeout:0|failure:1|harmless:0|malicious:0|suspicious:0|timeout:6|type-unsupported:11|undetected:56|
Name:com-shevauto-remotexy-pro-451-50946264-f5a06fbc4e77d379f79d616a5833c81a.apk
SHA-1:6454c71b285ac9b1464aa5deab595eab75745b04
SHA-256:ac4385862e8fe39d00cd21ee16067b158502a21892c3452a9cffcbf9cd4934d7
SSDEEP:98304:FDKNeg5NeBljboCdN08Wt8uQY2VFxnXUw7ply4ATDS2FoVHLi:t25NeBBlnLnuQYgFxnv7q/GyoVri
File type:Android
Magic:Zip archive data
File size:5981303
Uncompressed Size:7299404
Contained Files	:373
Contained Files By Type:MF:1,RSA:1,SF:1,dex:1,mp3:89,png:212,wav:19,xml:47,

Как все это еще улучшить?

Улучшать можно бесконечно (в тех пределах, которые позволит оперативка, конечно)

Alertmanager-bot — telegram бот для отправки PUSH уведомлений в Telegram
 

cAdvisor — мониторинг ресурсов занятых каждым контейнером
 
Можно прикрутить на алармы amixr чтобы получать уведомления в виде звонков на телефон и SMS.
 
Добавить в prometheus мониторинг и статистику nginx
 
Добавить в prometheus мониторинг influx

 
Добавить в prometheus мониторинг чего-нибудь еще 🙂
 
Добавить контейнер Loki для просмотра логов в Grafana
 
Добавить контейнер с сервером OpenVPN, чтобы ходить в интернет через облако Oracle
 
Можно сделать стартовые скрипты создания пользователей, брать пароли из защищенного хранилища…
 
и много чего еще — было бы желание 🙂
 
 
 
 
Эта статья написана специально для пользователей мобильного приложения IoT Manager (telegraf ожидает сообщения MQTT в JSON формате)
Обсуждение этой статьи у нас на форуме

Обсуждение этой статьи в telegram канале Дмитрия Борисенко 
 
Спасибо, что дочитали до конца.

Установка приложения NODE.JS для генерации данных

Установим менеджер NVM, который позволяет быстро устанавливать и переключать версии NODEJS

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

1 curl-o-https//raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

(в команде выше указана последняя версия NVM на момент написания статьи — январь 2021 года, лучше сходить на и взять актуальную версию на момент установки)

Чтобы nvm заработал необходимо заново войти в терминал или выполнить команду 

source /home/ubuntu/.bashrc

1 sourcehomeubuntu.bashrc

Далее установим LTS версию NODEJS

nvm install —lts