Skip to content
This repository has been archived by the owner on Feb 8, 2022. It is now read-only.

Latest commit

 

History

History
86 lines (62 loc) · 7.12 KB

README.md

File metadata and controls

86 lines (62 loc) · 7.12 KB

Serial Manager

Обсуждение на pccar.ru

Алгоритм работы

При подключении Arduino, запускается сервис, который считывает информацию с последовательного порта. При получении информации в формате <ключ:значение> будет исполнена заранее настроенная (на данный ключ) команда. Если ключ не был настроен в программе или была включена опция Сквозная команда, то создаётся Broadcast Intent, который могут получить сторонние программы.

При блокировке экрана (ACTION_SCREEN_OFF) фоновый сервис завершит работу.

При разблокировке экрана (ACTION_USER_PRESENT) программа автоматически подключается к Arduino.

Интеграция

При отсутствии настроенного <ключ:значение> или при включенной опции Сквозная команда, Serial Manager создаёт Broadcast Intent со следующими параметрами:

  • Action: kg.delletenebre.serial.NEW_DATA
  • Extras: key, value

Виджеты

Используя встроенные виджеты Serial Manager Receive Вы сможете, например, выводить данные с подключенных к Arduino датчиков.

По умолчанию в виджетах используется шрифт Font Awesome и Вы можете совместно с текстом использовать иконки. Для вывода иконки необходимо использовать следующий формат \uXXXX, где XXXX код Unicode. Например для вывода иконки Android:

Можно использовать любой шрифт, для этого в настройках виджета необходимо включить опцию Использовать свой шрифт и указать путь к ttf файлу шрифта (предварительно скопированного во внутреннюю память устройства).

Для вывода текста по вертикали используется управляющий символ перевода на новую строку \n

Пример: Текст\nперед\nзначением\n\uf17b\n

Виджет отправки данных

В версии 1.4 добавлен виджет Serial Manager Send, который позволяет отправлять данные на Arduino.

При включении опции Виджет-переключатель, Вы сможете последоватьльно отправлять разные данные, используя один и тот же виджет. Как пример - переключатель on/off. В папке arduino находится скетч sketch_receive_from_android.ino, который имеет следующую логику для Arduino: при считывании из последовательного порта on подаётся питание на пин 8, при получении off убирается питание. Подключив светодиод можно получить наглядную индикацию.

Добавьте новый виджет Serial Manager Send и настройте следующим образом:

  • Виджет-переключатель: ☑
  • Отправляемые данные: on|off
  • Текст / Иконка: \uf186|\uf185
  • Цвет шрифта: #9e9e9e|yellow
  • Размер шрифта: 64

Подключите Arduino к устройству Android и нажимайте на виджет. При отправленной команде on виджет будет иметь жёлтое солнце, при отправленной команде off - серый полумесяц.

Вы можете настроить сколько угодно переключаемых команд, для этого в поле Отправляемые данные добаляйте команды разделённые вертикальной чертой (pipe): |. Например pie|eclair|honey|marshmallow; данные будут отправляться следующим образом:

  • нажатие 1: pie
  • нажатие 2: eclair
  • нажатие 3: honey
  • нажатие 4: marshmallow
  • нажатие 5: pie
  • нажатие 6: eclair
  • нажатие 7: honey
  • ...

Таким же образом можно настроить поля: Текст / Иконка, Цвет шрифта, Размер шрифта, Цвет фона.

Библиотеки

Альтернативы