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)

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: Спасибо ,теперь все стало ясно. Еще один вопрос - как из метода в одном классе ,передать правильно (в смысле без костылей)стринг или инт в другой класс ? С остальным вроде как разобрался


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

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