PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Софт

Ответ
 
Опции темы Поиск в этой теме
Старый 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 вне форума   Ответить с цитированием
Старый 18.04.2016, 22:21   #2
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
По умолчанию

Интеграция c Zooper Widget Pro и Tasker


С Arduino приходят следующие данные (прим. 20, 30, 40 - данные температурного датчика):
<InDoor:20>
<OutDoor:30>
<Engine:40>

Вы хотите их вывести в Zooper Widget Pro.
Для этого в Tasker'е:
1.0 Создаём новый Profile: + > Event > System > Intent Received
1.1 В поле Action пишем kg.delletenebre.serial.NEW_DATA
1.2 Сохраняемся (нажимаем назад). При выборе задачи нажимаем на New Task
2.0 Задаём любое имя новой задачи, например, ZooperTemperatureData
2.1 Нажимаем + > Task > If
2.2 В поля Condition:
%key [Equals] InDoor
Сохраняем
2.3 Нажимаем + > Plugin > Zooper Widget Pro
2.4 Нажимаем на карандаш справа от Configuration
2.5 В поле ZW Переменная пишем indoortemp
В поле ZW Текст пишем %value
Нажимаем Сохранить
Сохраняемся (нажимаем назад)
2.6 Нажимаем + > Task > Else
2.7 Нажимаем + напротив If
2.8 В появившиеся поля пишем
%key [Equals] OutDoor
Сохраняем
2.9 Повторяем пункты 2.3, 2.4
2.10 В поле ZW Переменная пишем outdoortemp
В поле ZW Текст пишем %value
Нажимаем Сохранить
Сохраняемся (нажимаем назад)
2.11 Повторяем 2.6 - 2.10 для <Engine:40>. Соответственно в условии: %key [Equals] Engine
В ZW Переменная пишем enginetemp
2.12 Нажимаем + > Task > End If
2.13 Нажимаем назад до тех пор пока не выйдем на главный экран Android'а

3.0 Добавляем виджет Zooper желаемого размера.
3.1 Выбираем желаемый вид (пустой или встроенный шаблон)
3.2 Заходим в Макет
3.3 Вверху нажимаем (+) ADD
3.4 Выбираем модуль Текст или Текст с форматированием
3.5 В категории Текст выбираем пункт Отредактировать вручную
3.6 В верхнем (почти неприметном) поле пишем #Tindoortemp#
Сохраняемся (кнопка OK)

3.? Для остальных аналогично с пункта 3.3, можно добавить в новые виджеты или для этого же виджета создать два модуля Текст или Текст с форматированием. Соответственно в пункте 3.6 будут значения #Toutdoortemp# и #Tenginetemp#
Миниатюры
Нажмите на изображение для увеличения
Название: zw1.1.jpg
Просмотров: 1175
Размер:	92.9 Кб
ID:	43531   Нажмите на изображение для увеличения
Название: zw2.2.jpg
Просмотров: 1125
Размер:	90.6 Кб
ID:	43532   Нажмите на изображение для увеличения
Название: zw2.5.jpg
Просмотров: 1114
Размер:	120.8 Кб
ID:	43537   Нажмите на изображение для увеличения
Название: zw2.5.1.jpg
Просмотров: 1515
Размер:	81.3 Кб
ID:	43538   Нажмите на изображение для увеличения
Название: zw2.12.jpg
Просмотров: 1203
Размер:	126.7 Кб
ID:	43539  

Нажмите на изображение для увеличения
Название: zw3.2.jpg
Просмотров: 1288
Размер:	149.7 Кб
ID:	43540   Нажмите на изображение для увеличения
Название: zw3.3.jpg
Просмотров: 1219
Размер:	98.0 Кб
ID:	43541   Нажмите на изображение для увеличения
Название: zw3.4.jpg
Просмотров: 1185
Размер:	151.4 Кб
ID:	43542   Нажмите на изображение для увеличения
Название: zw3.5.jpg
Просмотров: 1192
Размер:	128.2 Кб
ID:	43543   Нажмите на изображение для увеличения
Название: zw3.6.jpg
Просмотров: 1144
Размер:	110.6 Кб
ID:	43544  

__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17)
Serial Manager для обработки данных с Arduino
Calls Assistant - замена TabletTalk
DelleTenebre вне форума   Ответить с цитированием
Старый 20.04.2016, 23:58   #3
djdonatas
Пользователь
 
Регистрация: 16.03.2015
Регион: Украина
Сообщений: 32
djdonatas is on a distinguished road
По умолчанию

Круто! А есть (будет) какой-то вариант получить данные с двух источников (устройств), например с двух ардуин или с V4 контроллера Юры +по блютусу (когда будет) с ардуины?
djdonatas вне форума   Ответить с цитированием
Старый 21.04.2016, 09:29   #4
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
По умолчанию

Цитата:
Сообщение от djdonatas Посмотреть сообщение
вариант получить данные с двух источников
Хорошая идея, попробую реализовать USB + Bluetooth
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17)
Serial Manager для обработки данных с Arduino
Calls Assistant - замена TabletTalk
DelleTenebre вне форума   Ответить с цитированием
Старый 24.04.2016, 10:12   #5
ali_vlad
Старший Пользователь
 
Регистрация: 21.06.2014
Возраст: 46
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
ali_vlad is on a distinguished road
По умолчанию

У меня такое предложение: добавить реакции на команду в ком-порте и добавить в "Категория" "Управление питанием" - "Сон" и "Выключение".
Ещё хотелка: перехват и отслеживание уровня яркости с отправкой команд в ком-порт.

Последний раз редактировалось ali_vlad; 24.04.2016 в 13:02.
ali_vlad вне форума   Ответить с цитированием
Старый 24.04.2016, 11:49   #6
kotya
Пользователь
 
Регистрация: 24.12.2008
Возраст: 46
Город: Прокопьевск
Регион: 42
Машина: 2003/honda/inspire
Сообщений: 39
kotya is on a distinguished road
По умолчанию

подскажите,есть подобное на windows?
kotya вне форума   Ответить с цитированием
Старый 24.04.2016, 19:42   #7
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
По умолчанию

Выпуск 1.5 - многое изменил/оптимизировал, надеюсь к лучшему Есть небольшой минус, при обновлении скорее всего удалятся настроенные виджеты, а их настройки останутся мусором лежать в папке программы. Поэтому лучше или их удалить предварительно, или удалить программу и накатить по новой.

djdonatas, добавил возможность соединения по USB и Bluetooth одновременно.

ali_vlad, Сон теперь должен работать по "Эмуляция клавиатуры" > POWER. Выключение пока не реализовано, есть два варианта (c root'ом и без) буду пробовать (оставлю тут чтобы не потерять):
Код:
Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
i.putExtra("android.intent.extra.KEY_CONFIRM", true);
startActivity(i);
Код:
Runtime.getRuntime().exec(new String[]{ "su", "-c", "reboot -p" });

Цитата:
Сообщение от ali_vlad
Ещё хотелка: перехват и отслеживание уровня яркости с отправкой команд в ком-порт.
Уточните, пожалуйста, Вы хотите отправлять уровень яркости с android'a к arduino или от arduino к android.

kotya, для Windows подобного подсказать не смогу, никогда не встречал.
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17)
Serial Manager для обработки данных с Arduino
Calls Assistant - замена TabletTalk
DelleTenebre вне форума   Ответить с цитированием
Старый 24.04.2016, 21:35   #8
ali_vlad
Старший Пользователь
 
Регистрация: 21.06.2014
Возраст: 46
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
ali_vlad is on a distinguished road
По умолчанию

По поводу управления питанием: некоторые андроид-боксы не реагируют на клавиатурные кнопки "сон" и "power", только физической кнопкой на самой плате андроида.
По поводу перехвата яркости. В андроид-боксах есть бегунок изменения яркости, как в телефонах, но он естественно ничего не меняет, а менять яркость только на внешнем контроллере с пульта. Так вот суть моего предложения в следующем: прога при загрузке считыаает уровень яркости в системе и отсылает команду в ком-порт. Далее прога отслеживает состояние уровня яркости, и, если он изменяется, то отсылает соответствующую команду в ком-порт. На том конце ардуина или контроллер YAM уже обрабатывает поступившую команду, ну и занимается её выполнением. Как-то так...
ali_vlad вне форума   Ответить с цитированием
Старый 24.04.2016, 21:37   #9
djdonatas
Пользователь
 
Регистрация: 16.03.2015
Регион: Украина
Сообщений: 32
djdonatas is on a distinguished road
По умолчанию

Воу воу! Очень круто, я б купил! Когда, конечно дойдут руки настроить все =)
Может тогда к "протоколам" и например http добавить с простеньким api?
Тогда, по идеи, вообще количество и тип "источников" будет неограниченно. Да и те-же, допустим, 5 ардуин смогут скидывать свою инфу на шестую, которая будет сервером и будет отдавать уже оформленные данные. Сервер может и локальным быть и внешним.
зы: а сотрудничество с Юрой и его v4 контроллером продолжается? будет реализована отправка данных с виджета в контроллер и в шину?
djdonatas вне форума   Ответить с цитированием
Старый 24.04.2016, 21:57   #10
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 39
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от ali_vlad Посмотреть сообщение
По поводу управления питанием: некоторые андроид-боксы не реагируют на клавиатурные кнопки "сон" и "power", только физической кнопкой на самой плате андроида.
По поводу перехвата яркости. В андроид-боксах есть бегунок изменения яркости, как в телефонах, но он естественно ничего не меняет, а менять яркость только на внешнем контроллере с пульта. Так вот суть моего предложения в следующем: прога при загрузке считыаает уровень яркости в системе и отсылает команду в ком-порт. Далее прога отслеживает состояние уровня яркости, и, если он изменяется, то отсылает соответствующую команду в ком-порт. На том конце ардуина или контроллер YAM уже обрабатывает поступившую команду, ну и занимается её выполнением. Как-то так...
по поводу яркости не проще ли датчик освещенности в контроллере поставить? тупо +1 нога
oleg707 вне форума   Ответить с цитированием
Ответ

Метки
android, arduino, управление


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 13:20.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot