Показать сообщение отдельно
Старый 18.04.2016, 22:01   #1
DelleTenebre
Старший Пользователь
 
Регистрация: 10.01.2015
Возраст: 32
Город: Бишкек
Регион: Казахстан
Машина: Subaru Outback
Сообщений: 163
DelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant futureDelleTenebre has a brilliant future
Lightbulb Serial Manager - автоматизация/управление Android с помощью Arduino

Serial Manager v1.6.8 (обновлён 11.09.2016)

Serial Manager 2 v2.2.2 (обновлён 18.06.2017)

Уже реализовано / Планы на будущее:
  • Подключение по USB | v1.0
  • Виджеты для отображения данных | v1.2
  • Интеграция с Tasker | v1.2
  • Настройки data bits, stop bits, parity для usb-подключения | v1.3
  • Виджеты для отображения данных - интеграция с Remote Inputs Manager | v1.3
  • Виджеты для отправки данных | v1.4
  • Ручной выбор устройства для подключения | v1.5
  • Bluetooth соединение | v1.5
  • Команда <ключ:значение> - действие отправки команды | v1.6.0
  • Более удобный выбор иконок и цвета для виджетов
  • Категория Run Shell с правами su | v1.6.0
  • Категория Эмуляция клавиатуры [ Root ] | v1.6.0
  • Уведомления поверх остальных окон (для распознанной команды) | v1.6.6
  • Отправление сообщений на контроллер с помощью Tasker, Automate и т.д. | v1.6.0 [ как настроить ]
  • Считывание состояния GPIO [ Root ] | v1.6.2 [ как настроить ]
  • Установка состояния GPIO: low, high, invert [ Root ] | v1.6.3 [ как настроить ]
  • Формулы и доп. функции для виджетов и уведомлений | v1.6.3 [ как настроить ]
  • Работа через WebSocket | v1.6.5 [ как настроить ]
  • Распознавание нажатий клавиш клавиатуры [ Root ] | v1.6.7 [ как настроить ]
  • Работа напрямую через последовательный порт (/dev/tty*) [ Root ] | v1.6.8 [ как настроить ]
  • Работа по I2C (/dev/i2c-*) [ Root ] | v1.6.8 [ как настроить ]

Примеры скетчей для Arduino:
Fake Serial Manager v1.0.0 - некоторые, например, GPS-приёмники или контроллер от YAM1966 могут определяться как Serial-устройство и SerialManger забирает порт на себя. FakeSerialManager просто "забирает" окошко "запускать приложение при подключении устройства". У программы нет Activity и ярлыка.

Памятка При добавлении новой команды <ключ:значение>, поля Ключ и Значение могут быть автоматически заполнены:
  • включите опцию Определить ключ/значение автоматически;
  • нажмите кнопку на внешнем устройстве (чтобы в serial пришла команда <click:button1> например);
  • поля Ключ и Значение автоматически будут заполнены.

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

Памятка Если в настройках команды поле "Значение" оставить пустым, то команда будет распознана только по ключу (т.е. вторая часть команды ("значение") может быть любая).





Примерный алгоритм работы такой:

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

При включенной опции Останавливать сервис при отключении экрана:
  • При блокировке экрана (ACTION_SCREEN_OFF), через 2 секунды и если экран остаётся выключенным, фоновый сервис завершит работу.
  • При разблокировке экрана (ACTION_USER_PRESENT), через 2 секунды и если экран остаётся включенным, программа автоматически подключается к Arduino.

USB
Запуск/остановка сервиса, считывающено информацию с последовательного порта, производится при получении ACTION_USB_DEVICE_ATTACHED / ACTION_USB_DEVICE_DETACHED.

Bluetooth
Сервис запускается/завершает работу при включении/отключении Bluetooth на устройстве (BluetoothAdapter.STATE_ON / BluetoothAdapter.STATE_TURNING_OFF).





Интеграция с Tasker (и ему подобных):

При отсутствии настроенного <ключ:значение> или при включенной опции Сквозная команда, 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



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

Виджет Serial Manager Send позволяет отправлять данные на Arduino.

При включении опции Виджет-переключатель, Вы сможете последоватьльно отправлять разные данные, используя один и тот же виджет. Как пример - переключатель on/off. Демонстрационный скетч sketch_receive_from_android.ino имеет следующую логику: при считывании из последовательного порта 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
  • ...
Таким же образом можно настроить поля: Текст / Иконка, Цвет шрифта, Размер шрифта, Цвет фона.
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17)
Serial Manager для обработки данных с Arduino
Calls Assistant - замена TabletTalk

Последний раз редактировалось DelleTenebre; 12.11.2017 в 15:00.
DelleTenebre вне форума   Ответить с цитированием