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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Софт (http://pccar.ru/forumdisplay.php?f=172)
-   -   Serial Manager - автоматизация/управление Android с помощью Arduino (http://pccar.ru/showthread.php?t=24120)

ВладимирC 14.11.2016 22:09

Подскажите плиз, поставил программу, на ардуино залит этот скетч который с Remote steering wheel control работает. Но в Сериал менеджер при нажатии кнопки ничего не происходит. Шапку перечитал несколько раз, но честно не въехал, что нужно сделать, чтобы хоть что то увидеть. при запуске появляется плюсик, для нового действия, прописываю в значении "ключ" "Click", в "значение"я так понимаю надо задать значение этого клика, но где его увидеть и что делать дальше вообще не понимаю).

Sergey 4_4 14.11.2016 22:33

Цитата:

Сообщение от ВладимирC (Сообщение 374349)
Подскажите плиз, поставил программу, на ардуино залит этот скетч который с Remote steering wheel control работает. Но в Сериал менеджер при нажатии кнопки ничего не происходит. Шапку перечитал несколько раз, но честно не въехал, что нужно сделать, чтобы хоть что то увидеть. при запуске появляется плюсик, для нового действия, прописываю в значении "ключ" "Click", в "значение"я так понимаю надо задать значение этого клика, но где его увидеть и что делать дальше вообще не понимаю).

Прописывать не нужно,поставить галку напротив "определить автоматически". Ключ/значение при нажатии кнопки автоматом должно определятся.Какую версию поставили?

Angels13 14.11.2016 23:23

Чтото тоже не могу понять. Только начинаю изучение ардуино. Но смысл этой программы? Ведь все равно нужно писать скетчи. Я предположил что заливаешь изночальный скетч на ардуино для определения этой программы а дальше настройки через нее. А тут выходит нужно писать скетчи да еще и определенным образом чтобы прога поняла?

ВладимирC 14.11.2016 23:30

Цитата:

Сообщение от Sergey 4_4 (Сообщение 374353)
Прописывать не нужно,поставить галку напротив "определить автоматически". Ключ/значение при нажатии кнопки автоматом должно определятся.Какую версию поставили?

Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.

ВладимирC 14.11.2016 23:33

Цитата:

Сообщение от Angels13 (Сообщение 374367)
. Я предположил что заливаешь изночальный скетч на ардуино для определения этой программы а дальше настройки через нее. А тут выходит нужно писать скетчи да еще и определенным образом чтобы прога поняла?

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

lti1 14.11.2016 23:47

Цитата:

Сообщение от ВладимирC (Сообщение 374369)
Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.

Remote steering wheel control деинсталировали?

Sergey 4_4 15.11.2016 07:58

Цитата:

Сообщение от ВладимирC (Сообщение 374369)
Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.

Попробуйте удалить 1.6.8 и поставить версию 1.6.1. Если команды будут приходить,настроить,сохранить и обновится до 1.6.8.

ВладимирC 15.11.2016 11:03

Цитата:

Сообщение от lti1 (Сообщение 374373)
Remote steering wheel control деинсталировали?

Да, и поставил СМ после перезагрузки

ВладимирC 15.11.2016 11:40

Цитата:

Сообщение от Sergey 4_4 (Сообщение 374394)
Попробуйте удалить 1.6.8 и поставить версию 1.6.1. Если команды будут приходить,настроить,сохранить и обновится до 1.6.8.

поставил 1,6,1 то же самое, вообще никакой реакции при нажатии на кнопку, при этом андроид ардуино видит как физическую клавиатуру.

Sergey 4_4 15.11.2016 12:39

Цитата:

Сообщение от ВладимирC (Сообщение 374415)
поставил 1,6,1 то же самое, вообще никакой реакции при нажатии на кнопку, при этом андроид ардуино видит как физическую клавиатуру.

А с настройками пробовали поиграться?

ВладимирC 15.11.2016 14:19

Цитата:

Сообщение от Sergey 4_4 (Сообщение 374421)
А с настройками пробовали поиграться?

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

Sergey 4_4 15.11.2016 20:09

Цитата:

Сообщение от ВладимирC (Сообщение 374432)
пробовал и указывать устройство и подключаться автоматически, с остальным не пробовал.

А при подключении Ардуино к хабу,окно "какую программу для устройства использовать" появляется?

ВладимирC 15.11.2016 22:36

Цитата:

Сообщение от Sergey 4_4 (Сообщение 374461)
А при подключении Ардуино к хабу,окно "какую программу для устройства использовать" появляется?

Нет. сейчас попробовал отключить и подкличть Ардуино, окно появилось.

indevor 20.11.2016 20:05

Приветствую. Пробовал новую версию 1.6.8. mk908II finles bob rom 1.6 android 4.2.2. не запускается.. 1,6,7 работает..

Sergey 4_4 20.11.2016 21:14

Цитата:

Сообщение от ВладимирC (Сообщение 374476)
Нет. сейчас попробовал отключить и подкличть Ардуино, окно появилось.

Владимир,что в итоге удалось запустить Serial Manager?

volshebnik12345 21.11.2016 10:50

На Android 4.2.2 работает SerialManager-1.6.9-beta.apk Сергей добавил туда библиотеку termios.h из-за которой 1.6.8.apk не запускалась на Android KitKat

ВладимирC 21.11.2016 13:33

Цитата:

Сообщение от Sergey 4_4 (Сообщение 374807)
Владимир,что в итоге удалось запустить Serial Manager?

Нет, пока вернулся к ремоут инпут контроль, без рулевых кнопок тяжеловато ездить).

almasblh 23.11.2016 15:03

Присоединился к проекту, прочитал всю ветку. Спасибо тебе DelleTenebre за отличную прогу.
Немного поэкспериментировал. Собрал на столе Nexus 2012 Wi-Fi + OTG + USB HUB + Arduino с напаяным датчиком температуры.
Скетч в Arduin-е выводит раз в секунду показания температуры. Планшет отображает ее при помощи уведомлений. В принципе все работает.
Заметил такой баг. При выдергивании Arduin-ы из хаба с последующим вcтавливанием (а равно отключая - включая питание Arduin-ы) последняя перестает обнаруживаться СМ.
Восстановление работы возможно только при передергивании экрана с включенной опцией "запускать сервис при включении экрана". Причем в самом Android-е устройство появляется.
Есть предположение, что все предыдущие посты, связанные с отваливанием устройсnва как то завязаны с таким поведением программы.
Предложение разработчику - контролировать подключенное соединение по USB и переинициализировать его в случае потери-появлении USB устройства.

Sergey 4_4 23.11.2016 15:17

Цитата:

Сообщение от almasblh (Сообщение 375061)
Присоединился к проекту, прочитал всю ветку. Спасибо тебе DelleTenebre за отличную прогу.
Немного поэкспериментировал. Собрал на столе Nexus 2012 Wi-Fi + OTG + USB HUB + Arduino с напаяным датчиком температуры.
Скетч в Arduin-е выводит раз в секунду показания температуры. Планшет отображает ее при помощи уведомлений. В принципе все работает.
Заметил такой баг. При выдергивании Arduin-ы из хаба с последующим вcтавливанием (а равно отключая - включая питание Arduin-ы) последняя перестает обнаруживаться СМ.
Восстановление работы возможно только при передергивании экрана с включенной опцией "запускать сервис при включении экрана". Причем в самом Android-е устройство появляется.
Есть предположение, что все предыдущие посты, связанные с отваливанием устройсnва как то завязаны с таким поведением программы.
Предложение разработчику - контролировать подключенное соединение по USB и переинициализировать его в случае потери-появлении USB устройства.

В настройках галка "переподключать хаб" стоит?

almasblh 23.11.2016 18:36

Цитата:

Сообщение от Sergey 4_4 (Сообщение 375062)
В настройках галка "переподключать хаб" стоит?

Галка стоит. Проблема видимо в том, что сервис не перезапускается, поэтому и хаб не переподключается.

strike990 25.11.2016 16:53

Приветствую! Столкнулся с проблемой, помогите пожалуйста её решить.
Есть Nexus 7 с Тимуровской прошивкой + контроллер от Юры. Контроллер перехватывает данные климат контроля и передает их в Serial Manager, каждое нажатие на кнопки климата передает сразу 5 ключей в таком виде:





Так вот суть проблемы: Serial Manager версии 1.67 (подключение по USB) - видит только 1-ю строчку (), 1.68 не запускается на моей прошивке, а 1.69 - вообще отказывается принимать данные. Подскажите пожалуйста, в какую сторону копать)

papant 26.11.2016 21:18

Цитата:

Сообщение от strike990 (Сообщение 375336)
каждое нажатие на кнопки климата передает сразу 5 ключей в таком виде:





Так вот суть проблемы: Serial Manager версии 1.67 (подключение по USB) - видит только 1-ю строчку (), 1.68 не запускается на моей прошивке, а 1.69 - вообще отказывается принимать данные. Подскажите пожалуйста, в какую сторону копать)

Как вариант попробовать поставить паузы между ключами в 100 милисекунд например, может больше попробовать. По поводу версий программы - 1.67 по-моему тоже самая стабильная, у меня остальные вываливаются с сообщением типа "программа не отвечает, подождать?"

YAM1966 26.11.2016 21:50

Цитата:

Сообщение от papant (Сообщение 375440)
Как вариант попробовать поставить паузы между ключами в 100 милисекунд например, может больше попробовать....

Не вариант, тут же все работает, т.е. проблема в андроиде.

А более вероятна проблема при парсинге входных данных. Данные не могут теряться сами по себе.

papant 26.11.2016 22:43

ну не знаю, предложу еще попробовать версии 1.65 и 1.66 )
а по таскеру - у меня по нему тоже бывают глюки непонятные. срабатывают 2 события например, одно на зарядку, другое на получение данных от СМ. в том, что отрабатывает событие от СМ есть "произнести что-то, подождать 1 сек, произнести еще что-то". иногда (но не всегда, и я не знаю почему) у меня срабатывает произношение первой фразы, потом вместо ожидания 1 секунды доделывается полностью первое событие по зарядке и лишь после этого доделывается произношение для события от СМ. Быть может у вас тоже проблемы с таскером, он чем-то занят в это время и про.бывает половину пакетов. Попробуйте текущее положение дел забекапить, таскер от всего почистить и создать событие только лишь для получение данных от СМ. может заработает? )

strike990 26.11.2016 22:47

Я поставил такие же настройки, разница только в подключении к Serial Manager USB и Serial ( ttyACM). Но я подключиться к ttyACM не могу, версия 1.68 не запускается на моей прошивке.

По поводу танкера - я в него даже ничего не отправляю, пробую выводить данные в виджет Serial Manager Recive

papant 13.12.2016 00:36

Скажите пожалуйста - есть ли те, кто пользует СМ с ардуино нано на нексусе 2013? Дело в том, что хочу повторить БлокПитания от Олега707 (у него там ардуино нано рулит всем), но он не использует возможности ардуины по работе с сериальным портом. Вопрос в том, что определяется ли эта ардуина в нексусе и видно ли ее в порту? (сейчас у меня текущая версия БП на ардуино Леонардо, проблем нет)

yuriy m 19.12.2016 01:17

Афтор не отвечает.. напишу здесь. Может кто подскажет кто знает андроид... Хочу перехватить интент
если я правильно понял в манифесте прописываем




что еще добавлять в манифест ?
и второе как обработать данные,что на первой странице
Action: kg.delletenebre.serial.NEW_DATA
Extras: key, value

в BroadcastReceiver ,что писать ?

DelleTenebre 19.12.2016 09:02

yuriy m, простите что заигнорил :) Я, к сожалению, часто забываю на ЛС отвечать, не знаю почему. Начинаю искать куски кода, информацию для ответа, потом "переключаюсь" и всё - не ответил.

В манифесте, вроде, всё. Затем в классе, для которого Вы прописывали добавить:
PHP код:

@Override
public void onReceive(final Context contextIntent intent) {
    
String action intent.getAction();
    
    if (
action.equals("kg.delletenebre.serial.NEW_DATA")) {
        if (
intent.hasExtra("key") && intent.hasExtra("value")) {
            
String key String.valueOf(intent.getExtras().get("key"));
            
String value String.valueOf(intent.getExtras().get("value"));
            
            
// дальше делайте с key и value что хотите
            
Log.d("Test""key: " key);
            
Log.d("Test""value: " value);
        }
    }



Dmitry8 20.12.2016 20:57

DelleTenebre, отличная программа! Есть пара вопросиков: почему то в SM не работает обмен через /dev/tty... . А конкретно: на планшете подпаялся к разведеным пятакам UART, из shell успешно отправляю команды, например: echo "test" > /dev/ttyMT0, на выходе осциллографом наблюдаю что данные благополучно приходят. А вот если SM отправлять данные в устройство - тишина. Подскажите где искать проблему?

yuriy m 21.12.2016 11:38

Цитата:

Сообщение от DelleTenebre (Сообщение 377761)
yuriy m, простите что заигнорил :) Я, к сожалению, часто забываю на ЛС отвечать, не знаю почему. Начинаю искать куски кода, информацию для ответа, потом "переключаюсь" и всё - не ответил.
[/PHP]

Дело молодое ..бывает:yes4: Спасибо ,теперь все стало ясно. Еще один вопрос - как из метода в одном классе ,передать правильно (в смысле без костылей)стринг или инт в другой класс ? С остальным вроде как разобрался

DelleTenebre 24.12.2016 11:48

Dmitry8, идей нет. Разве что проверить скорость и символ окончания строки.

yuriy m, универсального правильного способа нет. Всё зависит от того зачем и в каких условиях нужно передавать значение. Если взять сферические классы в вакууме, то это геттеры и сеттеры (getValue(), setValue()). И если честно, то Android это костыль на костыле.

Dmitry8 03.01.2017 13:59

DelleTenebre, здесь уже писали про пропуски сообщений, тоже столкнулся с такой проблемой. Из 5-ти отправленных подряд строк приходит 1-2.
Вот пример кода:
Код:

void setup() {
  Serial.begin(115200);
}


void loop() {
  Serial.println("");
  Serial.println("");
  Serial.println("");
  Serial.println("");
  Serial.println("");
  delay(5000);
}

Редко, может придти половина от одной строки, половина от другой, например:
Код:


Пробовал на разных ардуино (nano, pro-micro, pro-mini + usb-ttl), на всех одно и то же. Если задать скорость порта поменьше (9600) - то пропусков становится значительно меньше. Если между отправками строк вставить задержку 15мс - то приходят все, но это не вариант.

lti1 03.01.2017 16:46

Dmitry8, зачем Вам такая частая отправка данных? Сделайте задержку между посылками, думаю в Вашем случае будет достаточно 5 мс.

Dmitry8 03.01.2017 16:56

lti1, говорю же что это не вариант для меня. 5штук подряд может и не надо, а вот два сообщения подряд - запросто. 5мс - недостаточно, проверено опытным путём, минимум 10мс.

lti1 03.01.2017 17:43

Dmitry8, я делал на основе той же библиотеки, что и SM, свое приложение. Так же столкнулся с со сложностью, что часть пакетов терялась при отправке без паузы. Первое решение было отправлять с паузой в 1 мс (в моем случае этого было достаточно, так как стоит скорость порта 2000000 бод), потом добавил ответ приложения о получении и обработке данных. То есть отправляю данные и вешаю флаг, что данные отправлены, при получении ответа от приложения флаг снимается и отправляется следующий пакет.

Dmitry8 03.01.2017 18:05

lti1, в библиотеке felhr85 есть пример, так вот то приложение отображает все приходящие данные с того же самого скетча без единого пропуска. К тому же, с недавнего времени, в этой библиотеке появились методы для синхронного приёма/передачи, прошу автора обратить на это внимание, может это поможет решить проблему?
Что касается задержки - это костыль, а вот подтверждение получения - неплохой вариант, но хотелось бы бОльшего быстродействия.

Absent81 07.01.2017 23:59

При подключении arduino pro micro к включенному планшету, Serial Manager 1.6.7 определяет устройство "/dev/bus/usb/002/005" и работает с ним отлично. Отрабатывает команды указанные в настройках Serial Manager. Но стоит перезагрузить планшет, Serial Manager не находит ардуину и при этом ОТВАЛИВАЕТСЯ СЕТЬ. Долго разбирался в чем дело (симка, прошивка радиомодуля, настройка точки доступа и т.д.), почему теряется сеть. Даже в настройках в разделе о планшете--> прошивка радиомодуля вместо кода 1231_0.18.0_0409 написано "не известно". В итоге понял что сеть отваливается именно из-за подключенной arduino после перезагрузки планшета. Стоит только отключить ардуино и перезагрузить планшет, сеть работает отлично. Но не могу понять каким образом связано одно с другим. Кто знает в чем может быть дело, помогите пожалуйста. Планшет Nexus 7 2012 прошивка autodroid 1.2 (на других прошивках тоже самое)

AntonIgorevich 13.01.2017 23:56

Всем доброго времени суток! Ребят,подскажите пожалуйста,третий день не могу заставить леонардо работать через Serial Manager! Уже и на НТС (андроид 4.1.1),и на китайском планшете пробовал (в обоих случаях родные прошивки),и все версии Serial Manager перепробовал! Не определяет устройство...

yuriy m 21.01.2017 12:14

Цитата:

Сообщение от DelleTenebre (Сообщение 378244)
И если честно, то Android это костыль на костыле.

Это даже мягко сказано :yes4: Ощущение ,что некоторые разработчики языка или курят ,что-то или :vodka: не просыхая...:big:
Да еще одна проблема в эмуляторе Genymotion , если отключить ардуино ,а потом включить,то уже не работает Serial Manager.

01-21 03:21:44.828 962-962/kg.delletenebre.serialmanager I/EventsReceiver: ****ACTION_USB_DEVICE_DETACHED****
01-21 03:21:44.828 962-962/kg.delletenebre.serialmanager I/CDCSerialDevice: Control Transfer Response: -1
01-21 03:21:44.828 962-962/kg.delletenebre.serialmanager D/UsbDeviceConnectionJNI: close
01-21 03:21:44.958 962-962/kg.delletenebre.serialmanager I/EventsReceiver: ****ACTION_USB_DEVICE_DETACHED****
01-21 03:22:22.246 962-962/kg.delletenebre.serialmanager I/EventsReceiver: ****ACTION_USB_DEVICE_DETACHED****
01-21 03:22:22.374 962-962/kg.delletenebre.serialmanager I/EventsReceiver: ****ACTION_USB_DEVICE_DETACHED****
и еще вот так
01-21 05:06:18.235 1218-1547/kg.delletenebre.serialmanager V/RenderScript: 0xeed69c00 Launching thread(s), CPUs 4
01-21 05:06:22.467 1218-1218/kg.delletenebre.serialmanager I/EventsReceiver: **** ACTION_BOOT_COMPLETED ****
01-21 05:06:27.471 1218-1218/kg.delletenebre.serialmanager D/ConnectionService: onStartCommand
01-21 05:06:27.473 1218-1218/kg.delletenebre.serialmanager D/ConnectionService: USB device not supported
01-21 05:06:27.477 1218-1218/kg.delletenebre.serialmanager D/ConnectionService: USB device not supported
приходится перезапускать эмулятор.

skal 24.01.2017 19:27

Добрый вечер всем гуру по этой теме ! Подскажите что мне сделать чтобы эта штуковина нормально начала работать ? Пытаюсь вывести с ардуино nano показания температуры так вот на телефоне с Андройдом.5.1 работает более менее хотя и перестает подключаться после перевтыкания ардуино в usb , пока не закроешь прогу вручную не хочет работать а на планшете nexus 7 2012 андройд 4.4.4 при вставлении прогу запускает и на этом все.


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

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