Просмотр полной версии : Serial Manager - автоматизация/управление Android с помощью Arduino
Вопрос снят.. Сам тупил у меня долго определялась ардуинка.
Алексей L&M
24.09.2016, 11:18
Хочу купить ардуино для пробы, думаю взять NANO. Собственно вопрос, годится ли она для авто и потянет ли 5-6 реле с током на катушке 50мА?
ali_vlad
24.09.2016, 11:54
Хочу купить ардуино для пробы, думаю взять NANO. Собственно вопрос, годится ли она для авто и потянет ли 5-6 реле с током на катушке 50мА?
Для использования в авто нужен стабилизатор типа 7805.
Подключать реле надо через транзистор.
Хочу купить ардуино для пробы, думаю взять NANO. Собственно вопрос, годится ли она для авто и потянет ли 5-6 реле с током на катушке 50мА?
годится с некоторыми доработками.
Реле подключать через транзисторы, на обмотки реле обязательно диод.
Можно и без реле обойтись:yes2: (на спец драйверах infenion, например, или на полевых транзисторах.) И меньше, и не щелкают.:rolleyes2:
Для использования в авто нужен стабилизатор типа 7805.
Подключать реле надо через транзистор.
7805 на нано есть встроенный (ams 1117-5)
Алексей L&M
25.09.2016, 06:33
годится с некоторыми доработками.
Реле подключать через транзисторы, на обмотки реле обязательно диод.
Можно и без реле обойтись:yes2: (на спец драйверах infenion, например, или на полевых транзисторах.) И меньше, и не щелкают.:rolleyes2:
А на Али есть готовые модули? Может есть фото или схемка, как включить реле?
Я сейчас оформляю заказ на Али, поэтому хотелось бы знать, что нужно сразу заказать. А то потом, как начну разбираться, окажется то того нет, то того.
А на Али есть готовые модули? Может есть фото или схемка, как включить реле?
Я сейчас оформляю заказ на Али, поэтому хотелось бы знать, что нужно сразу заказать. А то потом, как начну разбираться, окажется то того нет, то того.
А поискать на али по ключевым словам relay module arduino (https://ru.aliexpress.com/af/relay-module-arduino.html) что мешает?
И почитать о их подключении на соответствующих сайтах (http://arduino.ru/forum/apparatnye-voprosy/podklyuchenie-n-channel-12v-relay-shield-module-arduino).
Все привыкли к готовым решениям на блюдечке.
djdonatas
28.09.2016, 00:38
Я что-то запутался...
раньше все работало, стояла довольно старая версия, обновил на последнюю и больше не работает...
По usb подключен v4 контроллер Юры
В настройках SM в пункте Включить соединение по USB включил
usb устройство выбрал
остальное по умолчанию
---
Создаю Send widget,
отправляемые данные IEBUS:1234567890 (этот виджет раньше работал)
все остальное по умолчанию...
... что я делаю не так? почему перестало работать? %)
maxymike
29.09.2016, 13:33
Не подскажете,никак нельзя ли с этой программой кнопки геймпада эмульнуть? Прикольно было бы в пробке в марио зарубить.
maxymike
29.09.2016, 14:42
Хотя,наверное,проще будет через run shell эмульнуть тапы на экранные кнопки эмулятора сеги. Но,наверное,будет задержка?Попробовать пока не могу,планшет ждет замену мамки.
А работает у кого на Тимуровской прошивке N7 2012 3G?
Поставил версию 1.6.0
В Arduino Pro Micro вывожу "Serial.println("<testkey:1>");"
В программе добавил ключ: testkey и значение 1
Сказал чтобы уменьшался звук
В настройках поставил чтобы ждать "\n"
И ничего. Подскажите какая версия нормально работает с тимуровской прошивкой 4.4.4?
Спасибо!
Я что-то запутался...
раньше все работало, стояла довольно старая версия, обновил на последнюю и больше не работает
... что я делаю не так? почему перестало работать? %)
полностью поддерживаю, аналогично. нексус 7 2013, последние две версии вываливаются с ошибкой, проработав 10-15 сек после загрузки. старая версия работает норм.
кстати, не подскажите как бороться с тем, что после загрузки из выключенного состояния не видит ардуину. включаю так: автостарт по питанию на юсб и через 5 сек включаю ОТГ. Когда из выключенного состояния грузится то не видит ардуину, помогает только реконнект ОТГ. когда после сна - то ему 5 сек хватает проснуться и ардуину подхватывает.
вопрос в догонку: как правильно создать задачу в таскере на запуск СМ? Если просто запускать СМ через него - у меня открывается окно настроек, в шторке СМ не появляется. как его запустить в скрытом режиме как при автозагрузке?
Maniac82
01.10.2016, 14:43
OTG включать надо после загрузки планшета.
При включенном устройства не видны пока не передернешь вроде как
OTG включать надо после загрузки планшета.
При включенном устройства не видны пока не передернешь вроде как
это то понятно, что после загрузки. просто как ардуине сообщить, что планшет загрузился и пора включать ОТГ. Можно было бы по таймеру например через минуту ОТГ включать и все было бы норм, вот только если планшет спал, то он заводится буквально 2-3 секунды, а остальное время он будет молчать - звуковуха, интернет, изик - это все не будет работать без ОТГ. Вот и приходится выбирать между не работающим СМ после загрузки либо ожиданием полторы минуты. я выбрал не работающий СМ ). Может я туплю и можно с этим бороться иначе?
Maniac82
01.10.2016, 19:19
Я таскером посылаю команду на ардуину после того как оболочка анроида закончится, ардуина включает ОТГ. (По синезубу естественно)
это то понятно, что после загрузки. просто как ардуине сообщить, что планшет загрузился и пора включать ОТГ. Можно было бы по таймеру например через минуту ОТГ включать и все было бы норм, вот только если планшет спал, то он заводится буквально 2-3 секунды, а остальное время он будет молчать - звуковуха, интернет, изик - это все не будет работать без ОТГ. Вот и приходится выбирать между не работающим СМ после загрузки либо ожиданием полторы минуты. я выбрал не работающий СМ ). Может я туплю и можно с этим бороться иначе?
Включили зажигание, ардуина это отслеживает, через 5 секунд подали минус на 4 контакт юсб. Выключили зажигание - убрали минус на 4 контакт юсб.
Необязательно загружать систему на планшете, чтобы подать минус - там более низкий уровень обработки.
Включили зажигание, ардуина это отслеживает, через 5 секунд подали минус на 4 контакт юсб. Выключили зажигание - убрали минус на 4 контакт юсб.
Необязательно загружать систему на планшете, чтобы подать минус - там более низкий уровень обработки.
ну у меня так и сделано - подали зажигание, ардуина проснулась и сразу будит планшет, через 5 секунд включает ОТГ. Эта схема работает отлично при просыпании планшета, а вот из выключенного состояния планшет потом не видит СМ, хотя интернет, звук и прочее по ОТГ работают отлично. Проблема только в СМ
ну у меня так и сделано - подали зажигание, ардуина проснулась и сразу будит планшет, через 5 секунд включает ОТГ. Эта схема работает отлично при просыпании планшета, а вот из выключенного состояния планшет потом не видит СМ, хотя интернет, звук и прочее по ОТГ работают отлично. Проблема только в СМ
http://pccar.ru/showpost.php?p=295655&postcount=82
может это поможет?
http://pccar.ru/showpost.php?p=295655&postcount=82
может это поможет?
Спасибо, попробую
Ребят, помогите по моему вопросу
http://pccar.ru/showpost.php?p=370492&postcount=262
всю голову сломал... не понимаю куда копать.... может установить терминал какой на андроид чтоб точно знать что ардуина присылает команды?
Ребят, помогите по моему вопросу
http://pccar.ru/showpost.php?p=370492&postcount=262
всю голову сломал... не понимаю куда копать.... может установить терминал какой на андроид чтоб точно знать что ардуина присылает команды?
Ну попробуй для начала когда скетч заливаешь сразу посмотреть в терминале что там у тебя в порту то творится. Потом цепляй планшет и пробуй СМ. Попробуй с планшета отправить в ардуину что-нить и проверить как работает в этом направлении. Только метод тыка ). Хотя можешь привести тут кусок скетча как отправляешь в порт команды, телепатов нету...
Ну попробуй для начала когда скетч заливаешь сразу посмотреть в терминале что там у тебя в порту то творится. Потом цепляй планшет и пробуй СМ. Попробуй с планшета отправить в ардуину что-нить и проверить как работает в этом направлении. Только метод тыка ). Хотя можешь привести тут кусок скетча как отправляешь в порт команды, телепатов нету...
Отправляю разные команды по кнопке. Использую библиотеку антидребезга.
#include <Bounce.h>
int ButtonPin = 10;
int awake;
int counter = 0;
Bounce bouncer = Bounce(ButtonPin,5);
void setup() {
pinMode(ButtonPin, INPUT);
Serial.begin(9600);
}
void loop() {
bouncer.update();
if (bouncer.read() != awake) {
awake = bouncer.read();
if (awake) {
Serial.println("<testkey:" + String(counter) + ">");
counter++;
}
}
}
В терминале Arduino IDE вижу:
<testkey:0>
<testkey:1>
<testkey:2>
<testkey:3>
но отловить в программе не получается
но отловить в программе не получается
Честно говоря не знаю в чем дело, вроде все правильно, в порту значения видишь - тогда вроде со скетчем проблем нет. А когда подключаешь ардуину она появляется как устройство ввода (у меня леонардо)?
Конечно. если подключать ее с скеччем как HID (было тут в форуме) , она определяется как клава и управляет планшетом. А вот как Serial не хочет настраиваться. Может какие права выделить ейв /dev/ ?
Конечно. если подключать ее с скеччем как HID (было тут в форуме) , она определяется как клава и управляет планшетом. А вот как Serial не хочет настраиваться. Может какие права выделить ейв /dev/ ?
Сколько шума... Плата как определяется в андроиде? В папке /dev что появляется? ttyUSBx или ttyACMx?
Если появляется, то в терминале набираем
busybox stty -F /dev/ttyUSB0 4800, где 4800 - указать скорость которая в скетче
cat /dev/ttyUSB0
и смотрим что реально приходит...
Заменить ttyUSB0 на то что появляется в /dev
Если ничего не появляется, то необходим драйвер для USB-TTL моста что стоит на плате. В общем для этого читаем тему тут (http://pccar.ru/showthread.php?t=18871). Все аналогично.
Сколько шума... Плата как определяется в андроиде? В папке /dev что появляется? ttyUSBx или ttyACMx?
Если появляется, то в терминале набираем
busybox stty -F /dev/ttyUSB0 4800, где 4800 - указать скорость которая в скетче
cat /dev/ttyUSB0
и смотрим что реально приходит...
Заменить ttyUSB0 на то что появляется в /dev
Если ничего не появляется, то необходим драйвер для USB-TTL моста что стоит на плате. В общем для этого читаем тему тут (http://pccar.ru/showthread.php?t=18871). Все аналогично.
простите учитель :wink2: Не могу отловить что появляется в /dev/ Там много всего появляется, сортирую по времени изменения... но не пойму какой именно. Все перебирать?
fedor5800
07.11.2016, 11:56
не пойму в чем причина зависания планшета, ардуина подключена через хаб в юсб2.0. Планшет запускается с 0, бывает под конец загрузки виснет, бывает нет. Планшет грузиться 40 сек., в настройках проги выставлял разное время запуска, даже 60сек ставил, но все равно бывает при подключенной ардуине виснет, без нее нормально. Ставил версии 1.6.5-1.6.7. В чем может быть причина? может чего еще включить в настройках?
не пойму в чем причина зависания планшета, ардуина подключена через хаб в юсб2.0. Планшет запускается с 0, бывает под конец загрузки виснет, бывает нет. Планшет грузиться 40 сек., в настройках проги выставлял разное время запуска, даже 60сек ставил, но все равно бывает при подключенной ардуине виснет, без нее нормально. Ставил версии 1.6.5-1.6.7. В чем может быть причина? может чего еще включить в настройках?Без хаба пробовали подключать ардуино? Зависания остаются?
fedor5800
07.11.2016, 20:57
Без хаба пробовали подключать ардуино? Зависания остаются?
без хаба, щас проблематично попробовать) но когда в хабе только ардуина, то работает, а с флешкой бывает виснет, питание хорошее без просадок.
ali_vlad
07.11.2016, 21:04
Так может во флешке проблема?
fedor5800
07.11.2016, 23:31
Так может во флешке проблема?
Пробовал разные флешки, все равно виснет.
Подключил напрямую без хаба, через раз, то виснет, то нет. Если зависает, то при кратковременном отключении ардуины и заново ее подключить, то загрузка дальше идет, но с тормозами.
UPD.
Выяснил я, в чем причина зависания планшета. В настройках есть пункты время запуска после автостарта и время запуска после просыпания планшета, так вот второе время стояло на 2 сек и походу, оно опережало время запуска после автозагрузки, где стояло 50 сек. И из-за этого программа запускалась сразу через 2 секунды после автозагрузки, игнорируя время которое стоит в автозагрузке. Надо как то доработать этот пункт.
ВладимирC
14.11.2016, 22:09
Подскажите плиз, поставил программу, на ардуино залит этот скетч (http://pccar.ru/showpost.php?p=309251&postcount=2) который с Remote steering wheel control работает. Но в Сериал менеджер при нажатии кнопки ничего не происходит. Шапку перечитал несколько раз, но честно не въехал, что нужно сделать, чтобы хоть что то увидеть. при запуске появляется плюсик, для нового действия, прописываю в значении "ключ" "Click", в "значение"я так понимаю надо задать значение этого клика, но где его увидеть и что делать дальше вообще не понимаю).
Sergey 4_4
14.11.2016, 22:33
Подскажите плиз, поставил программу, на ардуино залит этот скетч (http://pccar.ru/showpost.php?p=309251&postcount=2) который с Remote steering wheel control работает. Но в Сериал менеджер при нажатии кнопки ничего не происходит. Шапку перечитал несколько раз, но честно не въехал, что нужно сделать, чтобы хоть что то увидеть. при запуске появляется плюсик, для нового действия, прописываю в значении "ключ" "Click", в "значение"я так понимаю надо задать значение этого клика, но где его увидеть и что делать дальше вообще не понимаю).Прописывать не нужно,поставить галку напротив "определить автоматически". Ключ/значение при нажатии кнопки автоматом должно определятся.Какую версию поставили?
Angels13
14.11.2016, 23:23
Чтото тоже не могу понять. Только начинаю изучение ардуино. Но смысл этой программы? Ведь все равно нужно писать скетчи. Я предположил что заливаешь изночальный скетч на ардуино для определения этой программы а дальше настройки через нее. А тут выходит нужно писать скетчи да еще и определенным образом чтобы прога поняла?
ВладимирC
14.11.2016, 23:30
Прописывать не нужно,поставить галку напротив "определить автоматически". Ключ/значение при нажатии кнопки автоматом должно определятся.Какую версию поставили?
Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.
ВладимирC
14.11.2016, 23:33
. Я предположил что заливаешь изночальный скетч на ардуино для определения этой программы а дальше настройки через нее. А тут выходит нужно писать скетчи да еще и определенным образом чтобы прога поняла?
Не понял, чем предположение отличается от "тут выходит"?) по любому скетч нужен, чтобы ардуина что то выдавала программе, а настройки действительно через программу.
Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.Remote steering wheel control деинсталировали?
Sergey 4_4
15.11.2016, 07:58
Поставил 1,68, автоматически вообще ничего не происходит. Как хотя бы понять, что прога видит ардуину?
Почитал еще, вижу, что возможно проблема в том, что см не видит Ардуино, т.к у меня хаб включается раньше планшета, но раньше мне это не мешало.Попробуйте удалить 1.6.8 и поставить версию 1.6.1. Если команды будут приходить,настроить,сохранить и обновится до 1.6.8.
ВладимирC
15.11.2016, 11:03
Remote steering wheel control деинсталировали?
Да, и поставил СМ после перезагрузки
ВладимирC
15.11.2016, 11:40
Попробуйте удалить 1.6.8 и поставить версию 1.6.1. Если команды будут приходить,настроить,сохранить и обновится до 1.6.8.
поставил 1,6,1 то же самое, вообще никакой реакции при нажатии на кнопку, при этом андроид ардуино видит как физическую клавиатуру.
Sergey 4_4
15.11.2016, 12:39
поставил 1,6,1 то же самое, вообще никакой реакции при нажатии на кнопку, при этом андроид ардуино видит как физическую клавиатуру.А с настройками пробовали поиграться?
ВладимирC
15.11.2016, 14:19
А с настройками пробовали поиграться?
пробовал и указывать устройство и подключаться автоматически, с остальным не пробовал.
Sergey 4_4
15.11.2016, 20:09
пробовал и указывать устройство и подключаться автоматически, с остальным не пробовал.А при подключении Ардуино к хабу,окно "какую программу для устройства использовать" появляется?
ВладимирC
15.11.2016, 22:36
А при подключении Ардуино к хабу,окно "какую программу для устройства использовать" появляется?
Нет. сейчас попробовал отключить и подкличть Ардуино, окно появилось.
Приветствую. Пробовал новую версию 1.6.8. mk908II finles bob rom 1.6 android 4.2.2. не запускается.. 1,6,7 работает..
Sergey 4_4
20.11.2016, 21:14
Нет. сейчас попробовал отключить и подкличть Ардуино, окно появилось.Владимир,что в итоге удалось запустить 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
Владимир,что в итоге удалось запустить 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
Присоединился к проекту, прочитал всю ветку. Спасибо тебе DelleTenebre за отличную прогу.
Немного поэкспериментировал. Собрал на столе Nexus 2012 Wi-Fi + OTG + USB HUB + Arduino с напаяным датчиком температуры.
Скетч в Arduin-е выводит раз в секунду показания температуры. Планшет отображает ее при помощи уведомлений. В принципе все работает.
Заметил такой баг. При выдергивании Arduin-ы из хаба с последующим вcтавливанием (а равно отключая - включая питание Arduin-ы) последняя перестает обнаруживаться СМ.
Восстановление работы возможно только при передергивании экрана с включенной опцией "запускать сервис при включении экрана". Причем в самом Android-е устройство появляется.
Есть предположение, что все предыдущие посты, связанные с отваливанием устройсnва как то завязаны с таким поведением программы.
Предложение разработчику - контролировать подключенное соединение по USB и переинициализировать его в случае потери-появлении USB устройства.В настройках галка "переподключать хаб" стоит?
almasblh
23.11.2016, 18:36
В настройках галка "переподключать хаб" стоит?
Галка стоит. Проблема видимо в том, что сервис не перезапускается, поэтому и хаб не переподключается.
strike990
25.11.2016, 16:53
Приветствую! Столкнулся с проблемой, помогите пожалуйста её решить.
Есть Nexus 7 с Тимуровской прошивкой + контроллер от Юры. Контроллер перехватывает данные климат контроля и передает их в Serial Manager, каждое нажатие на кнопки климата передает сразу 5 ключей в таком виде:
<PASS:>
<DRIV:>
<MODE:>
Так вот суть проблемы: Serial Manager версии 1.67 (подключение по USB) - видит только 1-ю строчку (<PASS>), 1.68 не запускается на моей прошивке, а 1.69 - вообще отказывается принимать данные. Подскажите пожалуйста, в какую сторону копать)
каждое нажатие на кнопки климата передает сразу 5 ключей в таком виде:
<PASS:>
<DRIV:>
<MODE:>
Так вот суть проблемы: Serial Manager версии 1.67 (подключение по USB) - видит только 1-ю строчку (<PASS>), 1.68 не запускается на моей прошивке, а 1.69 - вообще отказывается принимать данные. Подскажите пожалуйста, в какую сторону копать)
Как вариант попробовать поставить паузы между ключами в 100 милисекунд например, может больше попробовать. По поводу версий программы - 1.67 по-моему тоже самая стабильная, у меня остальные вываливаются с сообщением типа "программа не отвечает, подождать?"
Как вариант попробовать поставить паузы между ключами в 100 милисекунд например, может больше попробовать....
Не вариант, тут же все работает, т.е. проблема в андроиде.
f9AJYSoXWR8
А более вероятна проблема при парсинге входных данных. Данные не могут теряться сами по себе.
ну не знаю, предложу еще попробовать версии 1.65 и 1.66 )
а по таскеру - у меня по нему тоже бывают глюки непонятные. срабатывают 2 события например, одно на зарядку, другое на получение данных от СМ. в том, что отрабатывает событие от СМ есть "произнести что-то, подождать 1 сек, произнести еще что-то". иногда (но не всегда, и я не знаю почему) у меня срабатывает произношение первой фразы, потом вместо ожидания 1 секунды доделывается полностью первое событие по зарядке и лишь после этого доделывается произношение для события от СМ. Быть может у вас тоже проблемы с таскером, он чем-то занят в это время и про.бывает половину пакетов. Попробуйте текущее положение дел забекапить, таскер от всего почистить и создать событие только лишь для получение данных от СМ. может заработает? )
strike990
26.11.2016, 22:47
Я поставил такие же настройки, разница только в подключении к Serial Manager USB и Serial ( ttyACM). Но я подключиться к ttyACM не могу, версия 1.68 не запускается на моей прошивке.
По поводу танкера - я в него даже ничего не отправляю, пробую выводить данные в виджет Serial Manager Recive
Скажите пожалуйста - есть ли те, кто пользует СМ с ардуино нано на нексусе 2013? Дело в том, что хочу повторить БлокПитания от Олега707 (у него там ардуино нано рулит всем), но он не использует возможности ардуины по работе с сериальным портом. Вопрос в том, что определяется ли эта ардуина в нексусе и видно ли ее в порту? (сейчас у меня текущая версия БП на ардуино Леонардо, проблем нет)
Афтор не отвечает.. напишу здесь. Может кто подскажет кто знает андроид... Хочу перехватить интент
если я правильно понял в манифесте прописываем
<intent-filter>
<action android:name="kg.delletenebre.serial.NEW_DATA" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
что еще добавлять в манифест ?
и второе как обработать данные,что на первой странице
Action: kg.delletenebre.serial.NEW_DATA
Extras: key, value
в BroadcastReceiver ,что писать ?
DelleTenebre
19.12.2016, 09:02
yuriy m, простите что заигнорил :) Я, к сожалению, часто забываю на ЛС отвечать, не знаю почему. Начинаю искать куски кода, информацию для ответа, потом "переключаюсь" и всё - не ответил.
В манифесте, вроде, всё. Затем в классе, для которого Вы прописывали <intent-filter> добавить:
@Override
public void onReceive(final Context context, Intent 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);
}
}
}
DelleTenebre, отличная программа! Есть пара вопросиков: почему то в SM не работает обмен через /dev/tty... . А конкретно: на планшете подпаялся к разведеным пятакам UART, из shell успешно отправляю команды, например: echo "test" > /dev/ttyMT0, на выходе осциллографом наблюдаю что данные благополучно приходят. А вот если SM отправлять данные в устройство - тишина. Подскажите где искать проблему?
yuriy m, простите что заигнорил :) Я, к сожалению, часто забываю на ЛС отвечать, не знаю почему. Начинаю искать куски кода, информацию для ответа, потом "переключаюсь" и всё - не ответил.
[/PHP]
Дело молодое ..бывает:yes4: Спасибо ,теперь все стало ясно. Еще один вопрос - как из метода в одном классе ,передать правильно (в смысле без костылей)стринг или инт в другой класс ? С остальным вроде как разобрался
DelleTenebre
24.12.2016, 11:48
Dmitry8, идей нет. Разве что проверить скорость и символ окончания строки.
yuriy m, универсального правильного способа нет. Всё зависит от того зачем и в каких условиях нужно передавать значение. Если взять сферические классы в вакууме, то это геттеры и сеттеры (getValue(), setValue()). И если честно, то Android это костыль на костыле.
DelleTenebre, здесь уже писали про пропуски сообщений, тоже столкнулся с такой проблемой. Из 5-ти отправленных подряд строк приходит 1-2.
Вот пример кода:
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("<testkey:111>");
Serial.println("<testkey:222>");
Serial.println("<testkey:333>");
Serial.println("<testkey:444>");
Serial.println("<testkey:555>");
delay(5000);
}
Редко, может придти половина от одной строки, половина от другой, например:
<testkey:122>
Пробовал на разных ардуино (nano, pro-micro, pro-mini + usb-ttl), на всех одно и то же. Если задать скорость порта поменьше (9600) - то пропусков становится значительно меньше. Если между отправками строк вставить задержку 15мс - то приходят все, но это не вариант.
Dmitry8, зачем Вам такая частая отправка данных? Сделайте задержку между посылками, думаю в Вашем случае будет достаточно 5 мс.
lti1, говорю же что это не вариант для меня. 5штук подряд может и не надо, а вот два сообщения подряд - запросто. 5мс - недостаточно, проверено опытным путём, минимум 10мс.
Dmitry8, я делал на основе той же библиотеки, что и SM, свое приложение. Так же столкнулся с со сложностью, что часть пакетов терялась при отправке без паузы. Первое решение было отправлять с паузой в 1 мс (в моем случае этого было достаточно, так как стоит скорость порта 2000000 бод), потом добавил ответ приложения о получении и обработке данных. То есть отправляю данные и вешаю флаг, что данные отправлены, при получении ответа от приложения флаг снимается и отправляется следующий пакет.
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 перепробовал! Не определяет устройство...
И если честно, то 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
приходится перезапускать эмулятор.
Добрый вечер всем гуру по этой теме ! Подскажите что мне сделать чтобы эта штуковина нормально начала работать ? Пытаюсь вывести с ардуино nano показания температуры так вот на телефоне с Андройдом.5.1 работает более менее хотя и перестает подключаться после перевтыкания ардуино в usb , пока не закроешь прогу вручную не хочет работать а на планшете nexus 7 2012 андройд 4.4.4 при вставлении прогу запускает и на этом все.
DelleTenebre
25.01.2017, 09:11
Всё что могу сказать на счёт usb-соединения: нестабильно работающая мистика. Я не использовал в коде usb-подключения чего-то особенного, всё что рекомендовано самим SDK. Все попытки логически понять что происходит при пропадании соединения ни к чему не привели. Поэтому рекомендую использовать соединение по bluetooth. Прошлой весной сделал на основе HC-06 и ни одной проблемы обнаружено не было.
p_osipov
25.01.2017, 11:16
Всё что могу сказать на счёт usb-соединения: нестабильно работающая мистика. Я не использовал в коде usb-подключения чего-то особенного, всё что рекомендовано самим SDK. Все попытки логически понять что происходит при пропадании соединения ни к чему не привели. Поэтому рекомендую использовать соединение по bluetooth. Прошлой весной сделал на основе HC-06 и ни одной проблемы обнаружено не было.
Как вариант можно использовать usbtty.
Всё что могу сказать на счёт usb-соединения: нестабильно работающая мистика. Я не использовал в коде usb-подключения чего-то особенного, всё что рекомендовано самим SDK. Все попытки логически понять что происходит при пропадании соединения ни к чему не привели. Поэтому рекомендую использовать соединение по bluetooth. Прошлой весной сделал на основе HC-06 и ни одной проблемы обнаружено не было.
по блютуз мы еще бонусом получаем гальваническую развязку
Здравствуйте, DelleTenebre.
Предлагаю обсудить следующую идею:
1. gps-приемник подключается к Arduino,
2. данные пересылаются в виде NMEA:$GPRMC .....
3. в Serial Manager реализуется mock location provider.
DelleTenebre Есть там проблемка.
Она кроется в том, что после отключения устройства сохраняется фантом от него.
Тоесть при следующем подключении ардуины вроде ВИД и ПИД теже, но вот остальная инфа по устройству в урезанном виде.
не веришь- проверь!
Вот костыль чтоб не вылетало приложение:
for (Map.Entry<String, UsbDevice> entry : usbDevices.entrySet()) {
device = entry.getValue();
int deviceVID = device.getVendorId();
int devicePID = device.getProductId();
if ((deviceVID == 0x0403 && devicePID == 0x6001) || (deviceVID == 0x2341 && devicePID == 0x8036) || (deviceVID == 0x1A86 && devicePID == 0x7523)){
if (usbManager.hasPermission(device)) {
connection = usbManager.openDevice(device);
//if (connection != null) serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection); ВОТ НА ЭТОЙ СТРОКЕ КРАШИТ, поменено на try
try {serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection);}
catch (Exception ex){
if (connection_trying < 5){
connection_trying = connection_trying + 1;
findSerialPortDevice();
}
else {
connection_trying = 0;
Toast.makeText(context, "DEVICE \n" + device.toString() + "\nERROR!\n" + ex.toString(), Toast.LENGTH_SHORT).show();
}
}
А ты попробуй считывать всегда инфу о подключённом устройстве после его коннекта и удивишься что бывает когда ошибка подключения и крашь приложения или просто его неработоспособность.
Тоесть
if ((deviceVID == 0x0403 && devicePID == 0x6001) || (deviceVID == 0x2341 && devicePID == 0x8036) || (deviceVID == 0x1A86 && devicePID == 0x7523)){
if (usbManager.hasPermission(device)) {
Toast.makeText(context, "DEVICE \n" + device.toString(), Toast.LENGTH_SHORT).show();
В таком виде приложение у меня работает уже больше полугода в машине и ни каких нареканий.
Только проблемы при подключении флешки. Подключил флешку, затем отключил и связь с ардуиной потеряна. Выключил зажигание, через 5 секунд переферия обесточилась, тоесть хаб остался без питания, включил снова и всё опять работает.
Чего придумаешь- в ЛС напиши пожалуйста. Мне надоело с этим бороться!
DelleTenebre
04.02.2017, 23:50
Потихоньку по-новой делаю 2-ую версию, где стараюсь учесть недостатки и опыт первой.
ABCh, NMEA получаю и даже могу распарсить до Location, но вот заставить работать mock location с навигационными программами не могу (начиная с android marshmallow и выше). Можно через google framework (fused location), но он будет не у всех. Сейчас ищу вариант через С++.
T_r_D, спасибо за информацию. Буду делать полный перебор подключенных usb, а не только того, на который сработал intent USB_DEVICE_ATTACHED. Баг с флешкой пока не тестил.
Я долго локализовывал данную проблему.
Теперь надо понять как нормальное устройство со 100% вероятностью отличать от фантома.
Кстати подобное происходит и в других программах. Например Торкью елм так же путает если его переключить несколько раз, то в списке уже два совершенно одинаковых елма. )))))
И соответственно один работает, а второй нет.
Leprechaun
06.02.2017, 09:23
Всем доброго дня.
Простите за возможно странный вопрос )
Можно ли как то отследить переключение между рабочими столами?
То есть, центральный с чем либо, следующий с виджетами, на следующий – отправка команды в сериал.
Это реально?
Спасибо.
Вообще usb в андроиде как то через ж... сделано.В этом плане на винде вобще проблем нет. Временами напрягает как оно работает.
На ведре многое что через опу сделано, включая блютуз...более менее стабильно вафля работает. По усб ведро 4.4.4 более менее, все что выше глюки.
Глюки с юсб у меня только если несколько устройств. С единственным работает всё как часы. Исключением бывает отваливается ЮСБ в мороз ниже 17 градусов, но это китайхаб замерзает. В принципе я подключаю флешку только чтоб закачать на СД музыку, так что не сильно напрягает.
DelleTenebre
06.02.2017, 19:18
Leprechaun, универсального способа точно нет. Всё зависит от того какой launcher Вы используете и добавили ли его разработчики эту возможность. В принципе, ничего сложного нет, нужно всего лишь получить broadcast intent с действием "перелистнули homescreen", проблема в том, что в каждом конкретно взятом launcher'е это "перелистнули homescreen" называется по-разному или вообще отсутствует.
Leprechaun
07.02.2017, 13:37
Leprechaun, универсального способа точно нет. Всё зависит от того какой launcher Вы используете и добавили ли его разработчики эту возможность. В принципе, ничего сложного нет, нужно всего лишь получить broadcast intent с действием "перелистнули homescreen", проблема в том, что в каждом конкретно взятом launcher'е это "перелистнули homescreen" называется по-разному или вообще отсутствует.
Спасибо! Хоть понятно куда копать. Использую Nova
Всем привет кому надо могу поделиться стабильным скетчем для ардуино нано для отображения двух цифровых датчиков температуры а также есть бекап таскера и виджетов Zw для вывода на экран
Leprechaun
11.02.2017, 23:21
Всем привет кому надо могу поделиться стабильным скетчем для ардуино нано для отображения двух цифровых датчиков температуры а также есть бекап таскера и виджетов Zw для вывода на экран
Привет. Мне надо )
Всем привет кому надо могу поделиться стабильным скетчем для ардуино нано для отображения двух цифровых датчиков температуры а также есть бекап таскера и виджетов Zw для вывода на экран
Думаю, многим бы пригодилось бы). Поэтому, было бы проще, если бы просто выложил исходники под сообщением)
Выкладываю по просьбе скетч для ардуино https://yadi.sk/d/grW7ExsO3DuiDG , бекап таскера ( имейте в виду что надо сохранить свои записи задач иначе перезапишет ) https://yadi.sk/d/MKjs4qyV3Duj4J , виджеты zw https://yadi.sk/d/HkIY8P0h3DuhyX https://yadi.sk/d/Gjq5XvvP3DujHf датчики подключать по паралельной схеме к Пину D3 ардуино или в случае если у вас пин занят на любой цифровой пин и изменить в скетче номер Пина на нужный . В сериал менеджере включить автоматическое определение ключа и создать 2 задачи с ключевыми Ulica и Salon . Кому нужна будет помощь обращайтесь.
Вот схема подключения датчиков https://yadi.sk/i/TTXREjP93Dutpu. причём подтягивающий резистор можно впаять как на любом из датчиков так и прямо на плате ардуино ( в моем случае это между пином D3 и + 5 в ) параллельное соединение датчиков не имеет значения где делать не обязательно тянуть два провода можно припаяться как к другому датчику так и в любом месте кабеля хоть посередине .
Serg-Zmuh
14.02.2017, 12:39
а если нужно 3 датчика ?
где поправить ?
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(3);// вход датчиков 18b20
DallasTemperature ds(&oneWire);
byte qty; // количество градусников на шине
void setup() {
Serial.begin(9600);
ds.begin();
qty = ds.getDeviceCount();
}
void loop() {
ds.requestTemperatures(); // считываем температуру с датчиков
for (int i = 0; i < qty; i++){ // крутим цикл
if( i==1) // ставим 1 или 0 в зависимости от того какой датчик для улицы
{{
Serial.print("<Ulica: ");
Serial.print(ds.getTempCByIndex(i));
}
Serial.println(">");
Serial.println();
}
if( i==0) // ставим 1 или 0 в зависимости от того какой датчик для сална
{{
Serial.print("<Salon: ");
Serial.print(ds.getTempCByIndex(i));
}
Serial.println(">");
Serial.println();
}
delay(700); // не менять задержку иначе будете получать на сериал менеджер только одно значение
}
}
просто у меня на данный момент выводится 5 показаний ,3 датчика подключены отдельно на каждый пин ,вот хотелбы сделать параллельно
,а то у меня на последнюю версию СМ мой скетч данные не выводит :sad2:
старую 1.5 ставлю работает ....
у меня вот такой скетч
#include <Adafruit_INA219.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <SPI.h>
Adafruit_INA219 monitor;
char incomingByte;
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0;
float R2 = 10000.0;
int value = 0;
OneWire OW_tempa(9);
OneWire OW_tempb(10);
OneWire OW_tempc(11);
DallasTemperature tempa(&OW_tempa);
DallasTemperature tempb(&OW_tempb);
DallasTemperature tempc(&OW_tempc);
DeviceAddress tempaAddress, tempbAddress, tempcAddress;
void setup(void){
Serial.begin(9600);
// monitor.begin(69); //i2c addres
// monitor.configure(0, 3, 11, 11, 7);
// (range, gain, bus_adc, shunt_adc, mode)
// range = 1 (0-32V bus voltage range)
// gain = 3 (1/8 gain - 320mV range)
// bus adc = 3 (12-bit, single sample, 532uS conversion time)
// shunt adc = 3 (12-bit, single sample, 532uS conversion time)
// mode = 7 (continuous conversion)
// test shunt = 115mm of 22AWG solid copper = 0.3 Ohms
// monitor.calibrate(0.099, 0.1584, 16, 2);
//R_шунта, напряж_шунта, макcнапряж, максток
pinMode(analogInput,INPUT);
tempa.begin();
tempb.begin();
tempc.begin();
}
void loop(void){
for(int i = 0; i < 100; i++)
{
// Serial.print("raw shunt voltage: ");
// Serial.println(monitor.shuntVoltageRaw());
// Serial.print("raw bus voltage: ");
// Serial.println(monitor.busVoltageRaw());
// Serial.println("--");
// Serial.print("shunt voltage: ");
// Serial.print(monitor.shuntVoltage(), 4);
// Serial.println(" mV");
// Serial.print("shunt current: ");
// Serial.print(monitor.shuntCurrent() * 1000, 4);
// Serial.println(" mA");
// Serial.print("bus voltage: ");
// Serial.print(monitor.busVoltage(), 4);
// Serial.println(" V");
// Serial.print("bus power: ");
// Serial.print(monitor.busPower() * 1000, 4);
// Serial.println(" mW");
// Serial.println(" ");
// Serial.println(" ");
// i=0;
}
value = analogRead(analogInput);
vout = (value*5.0)/1024.0;
vin = vout/(R2/(R1+R2));
if(vin<0.09){
vin = 0.0;
}
tempa.requestTemperatures();
delay(700);
Serial.print("<In:");
if ( !tempa.getAddress(tempaAddress,0)){
Serial.print("0");
}else{
Serial.print(tempa.getTempCByIndex(0),1);
}
Serial.println(">");
tempb.requestTemperatures();
delay(700);
Serial.print("<Out:");
if ( !tempb.getAddress(tempbAddress,0)){
Serial.print("0");
}else{
Serial.print(tempb.getTempCByIndex(0),1);
}
Serial.println(">");
tempc.requestTemperatures();
delay(700);
Serial.print("<Eng:");
if ( !tempc.getAddress(tempcAddress,0)){
Serial.print("0");
}else{
Serial.print(tempc.getTempCByIndex(0),1);
}
Serial.println(">");
delay(700);
Serial.print("<Volt:");
Serial.print(vin,2);
Serial.println(">");
}
Serg-Zmuh
14.02.2017, 13:03
ни фига :(
дело не в скетче ....
с последней версией не работает так же.....
у меня usb-подключение
может ардуина не нравится .... у меня UNO ....хз
не врубаюсь
if( i==2) // ставим 1 или 0 в зависимости от того какой датчик для сална
{{
Serial.print("<Salon: ");
Serial.print(ds.getTempCByIndex(i));
}
Serial.println(">");
Serial.println();
}
Добавьте модуль исправляйте значение i ==2 ну и соответственно название Salon на то которое вам надо ну и соответственно добавляете ещё один датчик добавляете ещё один модуль меняете значение i==3 ну и так далее
Leprechaun
17.02.2017, 15:41
Спасибо. Попробую в выходные.
if( i==2) // ставим 1 или 0 в зависимости от того какой датчик для сална
{{
Serial.print("<Salon: ");
Serial.print(ds.getTempCByIndex(i));
}
Serial.println(">");
Serial.println();
}
Добавьте модуль исправляйте значение i ==2 ну и соответственно название Salon на то которое вам надо ну и соответственно добавляете ещё один датчик добавляете ещё один модуль меняете значение i==3 ну и так далее
Уважаемый DelleTenebre , а нельзя ли организовать вывод данных датчиков (хотя бы одного , двух) в статус бар с настройками : положение , шрифт , цвет , размер и т.д. ?
В ГУ высота статус бара достаточно велика , шрифт крупный и например температуру удобно видеть всегда , независимо от того , какое приложение запущено .
DelleTenebre
24.02.2017, 15:56
vdsem, можно через Уведомления, например у меня arduino каждые 10 секунд присылает данные с датчика ds18b20 в виде:
<temp:20.2>
<temp:20.2>
<temp:20.3>
...
Создаём команду, где
ключ: temp
значение оставляем пустым
ставим галочку "Показывать уведомление"
Текст уведомления: %value°
Скрывать через: 10 сек
Можно поставить галочку "Высота уведомления равна высоте строки состояния" (уже не помню как точно называлась)
Цвета, расположение и размер по вкусу
Здравствуйте! Столкнулся с проблемой что не работает "Эмуляция клавиатуры [Root]". Планшет Samsung galaxy tab S 10.5, android 6.0.1, Root права получены и предоставлены. Приложение работает в связке с контроллером от YAM1966 и джойстиком iDrive. Подскажите, в чем может быть проблема?
Здравствуйте! Столкнулся с проблемой что не работает "Эмуляция клавиатуры [Root]". Планшет Samsung galaxy tab S 10.5, android 6.0.1, Root права получены и предоставлены. Приложение работает в связке с контроллером от YAM1966 и джойстиком iDrive. Подскажите, в чем может быть проблема?
Удивительная история!). Абсолютно аналогичная ситуация и на данный момент выношу себе мозг по этому поводу). Исходные данные те же, кроме планшета. Экспериментирую дома на телефоне S7 от того же самсунга. И вроде все работает, а вот эмуляция клавиатуры - нифига)
Может, дело в самсунгах?)))
DelleTenebre
25.02.2017, 19:12
При запуске появляется ли сообщение "Виртуальная клавиатура создана"? И нужно посмотреть результат команды (в терминале или adb shell)
cat /proc/bus/input/devices
"Виртуальная клавиатура создана" не появляется. Контроллер с прошивкой _wo_keys в имени без поддержки USB клавиатуры, но с поддержкой мультимедиа кнопок и кнопок управления питанием. С другой прошивкой тоже самое.
Результат команды:
1|u0_a194@chagalllte:/ $ cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="meta_event"
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=5
B: REL=c0
I: Bus=0019 Vendor=0001 Product=0001 Version=0001
N: Name="max77803-muic"
P: Phys=deskdock-key/input0
S: Sysfs=/devices/platform/i2c-gpio.17/i2c-17/17-0066/max77803-muic/input/input1
U: Uniq=
H: Handlers=event1 keychord
B: PROP=0
B: EV=100003
B: KEY=38 0 c0000 0 0 0
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="sec_touchscreen"
P: Phys=
S: Sysfs=/devices/platform/s3c2440-i2c.0/i2c-0/0-0020/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=2
B: EV=2b
B: KEY=40000 0 0 0 0 0 0 420 0 0 0 0 0 0 0 0 0 0
B: ABS=4ae38000 0
B: SW=400000
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="sii8240_rcp"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3
B: PROP=0
B: EV=3
B: KEY=3ff 0 0 0 0 8 0 0 0 0 18200 128 40000801 1680 0 0 10000000
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="accelerometer_sensor"
P: Phys=
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=event5
B: PROP=0
B: EV=5
B: REL=287
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="gyro_sensor"
P: Phys=
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=5
B: REL=3b
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="magnetic_sensor"
P: Phys=
S: Sysfs=/devices/virtual/input/input7
U: Uniq=
H: Handlers=event7
B: PROP=0
B: EV=5
B: REL=1f
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="light_sensor"
P: Phys=
S: Sysfs=/devices/virtual/input/input8
U: Uniq=
H: Handlers=event8
B: PROP=0
B: EV=5
B: REL=3c3
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="grip_sensor"
P: Phys=
S: Sysfs=/devices/virtual/input/input9
U: Uniq=
H: Handlers=event9
B: PROP=0
B: EV=5
B: REL=200
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/platform/gpio-keys.0/input/input10
U: Uniq=
H: Handlers=event10 sec_debug keychord
B: PROP=0
B: EV=23
B: KEY=1000 0 1c0000 0 0 0
B: SW=200000
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="sec_touchkey"
P: Phys=9-0060/input0
S: Sysfs=/devices/platform/i2c-gpio.9/i2c-9/9-0060/input/input11
U: Uniq=
H: Handlers=event11
B: PROP=0
B: EV=20003
B: KEY=68000000 0 0 40000000 0 0 0 0
B: LED=100
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="Headset"
P: Phys=arizona/extcon
S: Sysfs=/devices/platform/s3c64xx-spi.2/spi_master/spi2/spi2.0/arizona-extcon/input/input12
U: Uniq=
H: Handlers=event12 keychord
B: PROP=0
B: EV=3
B: KEY=4 0 0 0 c0000 0 0 2
I: Bus=0003 Vendor=ffff Product=0012 Version=0110
N: Name="YAM DROID-TOUCH-V4"
P: Phys=usb-exynos-xhci.0-1/input2
S: Sysfs=/devices/platform/exynos-dwc3.0/exynos-xhci.0/usb2/2-1/2-1:1.2/input/input14
U: Uniq=
H: Handlers=mouse0 event4 sec_debug keychord
B: PROP=0
B: EV=1f
B: KEY=4c37fff 72ff32d bf544446 401 0 70001 20f90 8b17c000 677bfa d951dfed 9ed680 4400 0 10000002
B: REL=40
B: ABS=101 f
B: MSC=10
u0_a194@chagalllte:/ $
При запуске появляется ли сообщение "Виртуальная клавиатура создана"? И нужно посмотреть результат команды (в терминале или adb shell)
cat /proc/bus/input/devices
Нет, такого не наблюдал (про виртуальную клавиатуру).
А по команде на что конкретно обратить внимание?
DelleTenebre
25.02.2017, 20:07
Исходя из вышеизложенного на устройстве нет поддержки uinput. Но должен был сработать fallback из input keyevent *, что странно.
Попробуйте пока сделать действие для команд не "Эмуляция клавиатуры [Root]", а "Shell команда [Root]" и туда
input keyevent *
вместо * код кнопочки (https://developer.android.com/reference/android/view/KeyEvent.html?hl=ru).
Явген, должна быть в списке клавиатура с именем uinput-serialmanager
Исходя из вышеизложенного на устройстве нет поддержки uinput. Но должен был сработать fallback из input keyevent *, что странно.
Попробуйте пока сделать действие для команд не "Эмуляция клавиатуры [Root]", а "Shell команда [Root]" и туда
input keyevent *
вместо * код кнопочки (https://developer.android.com/reference/android/view/KeyEvent.html?hl=ru).
Явген, должна быть в списке клавиатура с именем uinput-serialmanager
uinput-serialmanager - нету. видимо, поэтому и не работает. Намудрили "собакоеды" чего-то)
Выявил одну проблемку на нексусе 7 2013 4G. Как-то при загрузке девайса ,передернул питание и нексус стал перезагружаться постоянно.. Сделал ресет ,естественно все слетело.. Поставил версию 1.6.8 ,так вот ардуино видит только 1 раз так-же как http://pccar.ru/showpost.php?p=375061&postcount=300. Я уж и так и этак,все пофигу... сегодня поставил бету 1.6.9 - тежи яйца,только в профиль. помогает только или если остановить через настройки приложение с последующим передергом отг. либо погасить-включить экран. И тут я вспомнил,что вроде как у меня стояла 1.6.7 версия. Поставил ее и все стало работать как надо... Вопроссс Что менял в последующих версиях? Причем в программе (в настройках USB видит подключение) а вверху - Подключено устройств :0 . Вот такие вот дела...
ЗЫ. Поставил 1.6.7 на эмулятор,тоже стал нормально работать...
DelleTenebre
Огромное спасибо за приложение и советы , получилось на nano v.3 запустить скетчи автояркости и
температуры ( как и хотел , температура в статус баре ) , но сейчас не могу решить следующюю задачу : как отправлять команды из Automagic * Automation в SerialManager ?
Возможность отправлять команды на контроллер из Tasker и Automate проработана , а я вот с Automagic * Automation мучаюсь , может что посоветуете ?
С Action вроде понятно , а вот в Extras не знаю что писать , в Automagic * Automation варианты : putString(key, value); getString(key, value) и т.д. , короче свой формат , если вместо "," ставлю ":"
Automagic ругается .
DelleTenebre
02.03.2017, 09:19
yuriy m, что менял уже не вспомню :) Надеюсь до конца апреля "выкачу" вторую версию.
vdsem, я думаю так: putString("data", "ВашеЗначение");
ну или без кавычек, если не получится напишите, я поставлю Automagic * Automation, гляну что там да как.
DelleTenebre
03.03.2017, 08:24
vdsem, странно, вот мои настройки, test отправляется. У Вас триггер точно срабатывал?
DelleTenebre
СПАСИБО !
Разобрался , "дело было не в бобине" , поправили скетч и все пошло , мешало не совсем правильное понимание того , как все это работает .
DelleTenebre есть пожелание, может в следующей версии или в переработанной программе. Добавить возможность в( настройки где ключ значение) ,во вкладке категория одновременная работа категории + оправка команды на контроллер.
Допустим заходим в категорию,выбираем к примеру приложение + возможность выбрать Отправить команду. Для чего нужно - допустим запускаю какое либо приложение и с этим приложением мне нужно подать определенную команду на контроллер.
DelleTenebre
12.03.2017, 09:56
yuriy m, ну как простое решение можно создать две команды с одинаковыми ключ/значение - одна на запуск, вторая на отправку.
Я уже задумывался на счёт подобной фишки, но это прилично усложняет внутреннюю логику.
yuriy m, ну как простое решение можно создать две команды с одинаковыми ключ/значение - одна на запуск, вторая на отправку.
Я уже задумывался на счёт подобной фишки, но это прилично усложняет внутреннюю логику.
Не работает. Отрабатывает только верхняя команда в списке...
З.Ы. Может подскажешь если знаешь, как отследить аудио поток в навигаторах яндекс или навител. Эти две "сволочи" в отличии от других плееров да и ютюба не запрашивают аудиофокус. Есть ли возможность отследить начало голосовой подсказки ?
допустим запускаю какое либо приложение и с этим приложением мне нужно подать определенную команду на контроллер.
А если сделать немного через зад :spiteful:
Отправить команду в контроллер, который в свою очередь отправит приложению команду на запуск нужного приложения...
А если сделать немного через зад :spiteful:
Отправить команду в контроллер, который в свою очередь отправит приложению команду на запуск нужного приложения...
Вот так и живем - все через ЖО*У...:big:
Уважаемый DelleTenebre,
прошу реализовать отправку на контроллер сообщений о запуске и остановке Serial Manager'а. Пока, как я понял, сообщения на контроллер отправляются только через intent другого приложения.
DelleTenebre
01.04.2017, 15:05
У кого будет время потестировать вторую ветку Serial Manager - милости прошу https://github.com/delletenebre/SerialManager2 (в папке apk скомпилированная версия, на яндекс.диск тоже).
На данный момент нет gpio, i2c, прямого считывания с /dev/tty* и виджетов. Нужно опробовать стабильность usb-подключения.
ABCh, во вторую версию добавил.
У кого будет время потестировать вторую ветку Serial Manager - милости прошу https://github.com/delletenebre/SerialManager2 (в папке apk скомпилированная версия, на яндекс.диск тоже).
На данный момент нет gpio, i2c, прямого считывания с /dev/tty* и виджетов. Нужно опробовать стабильность usb-подключения.
ABCh, во вторую версию добавил.
С андроида как отправить команду ? Да и приемник не работает...
ВладимирC
07.04.2017, 12:28
У кого будет время потестировать вторую ветку Serial Manager - милости прошу https://github.com/delletenebre/SerialManager2 (в папке apk скомпилированная версия, на яндекс.диск тоже).
На данный момент нет gpio, i2c, прямого считывания с /dev/tty* и виджетов. Нужно опробовать стабильность usb-подключения.
ABCh, во вторую версию добавил.
Попробовал подключиться по блютуз. Устройство видит, на кнопки не реагирует.
Еще вопросик. Если кто в курсе . На нексусе7 2013 lte контроллер батареи общается по I2с шине. так вот - там может в планшете несколько шин I2c быть, как определить какая конкретна шина задействована на батарею и как туда послать с андроида команду ?
http://delta.zauner.one/191-nexus-7-i2c-devices/
А есче возможно можно подсосаться к http://delta.zauner.one/154-nexus-7-uart-unlocked/
Спасибо большое за программу!
Но у меня есть некоторые трудности в работе с ней. Использую на Samsung N910C (Note 4).
НЕ-ROOT функции работают нормально (на самом деле пробовал только запуск приложений по сигналу с Arduino), но вчера специально для Вашей программы сделал ROOT телефона. ROOT функции к сожалению не заработали (уведомления о полученном сигнале на экране появляются, но VOL+ не происходит), пробовал на 1.6.X версии и 2.0Beta.
Но самое неприятное что при запущенной программе начинаются проблемы с WiFi, он начинает страшно лагать (страницы в браузере грузятся с дикими задержками и то не всегда), сношу программу - все становится ок.
У кого такое поведение было? Как лечить?
blogsylar
24.04.2017, 13:06
....
Народ, подскажите по такому вопросу. Serial manager отлавливает 3 кнопки. 2 из них - для запуска приложения, а третья для выполнения задачи в таскере (Profile -
kg.delletenebre.serial.NEW_DATA). И получилось, что таскер задачу отрабатывает при любой из 3-х нажатых кнопок, а не определенной. Где-то я что-то пропустил. А вот где?)
Народ, подскажите по такому вопросу. Serial manager отлавливает 3 кнопки. 2 из них - для запуска приложения, а третья для выполнения задачи в таскере (Profile -
kg.delletenebre.serial.NEW_DATA). И получилось, что таскер задачу отрабатывает при любой из 3-х нажатых кнопок, а не определенной. Где-то я что-то пропустил. А вот где?)
в самом интенте kg.delletenebre.serial.NEW_DATA прилетают значения, именно их и надо перехватывать.
Action: kg.delletenebre.serial.NEW_DATA
Extras: key, value
в самом интенте kg.delletenebre.serial.NEW_DATA прилетают значения, именно их и надо перехватывать.
Ну вроде как так. Делаю по инструкции "Интеграция c Zooper Widget Pro и Tasker":
Все до пункта 2.2 включительно (только в 2.2 ставлю свое значение после равно), далее задача, которая должна выполниться. И не работает:unsure2:
Нашел, что делал не так)
У кого будет время потестировать вторую ветку Serial Manager - милости прошу
На данный момент нет gpio, i2c, прямого считывания с /dev/tty* и виджетов. Нужно опробовать стабильность usb-подключения.
У меня планшет на x86, наверное поэтому версии 1.x на нём не запускаются (устанавливаются, а при запуске "ошибка приложения"). Вторая версия запускается и отлично работает (через USB). Очень хочется виджетов и возможности убрать тестовые всплывающие сообщения (галка в настройках на всплывающие сообщения почему-то не влияет).
DelleTenebre
29.05.2017, 12:33
К сожалению, сейчас совсем не хватает времени на сторонние проекты. Но до ума, всё же, планирую довести SM.
возможности убрать тестовые всплывающие сообщения (галка в настройках на всплывающие сообщения почему-то не влияет).
Галка должна убирать некоторые сообщения типа "Виртуальная клавиатура создана" и т.п. На toast'ы о приходящих командах <k:v> не влияет, они должны появляться только при открытом SM.
Alekssandr
31.05.2017, 23:04
DelleTenebre На сколько я понял в версии 2.0 нет возможности принимать данные от Broadcast Intent? И нет виджетов? Что-то я ни как не могу поймать данные с Action: kg.delletenebre.serial.NEW_DATA.
И ещё вопрос, в версии 2.0 для отправки данных в микроконтроллер также используется serial.manager.send?
А так приложение работает хорошо.
PS пишу приложение, хочу ваше приложение использовать как посредник.
При отсутствии настроенного <ключ:значение> или при включенной опции Сквозная команда, Serial Manager создаёт Broadcast Intent со следующими параметрами:
Action: kg.delletenebre.serial.NEW_DATA
Extras: key, value
DelleTenebre
01.06.2017, 13:10
Alekssandr, моя вина. Документация ко второй ветке тут: https://github.com/delletenebre/SerialManager2
Там пришлось изменить некоторые команды, но это, надеюсь, последний раз.
Для отправки данных:
kg.serial.manager.send
extra field: data
Broadcast Intent'ы:
При получении команды:
Action: kg.serial.manager.command_received
Extras: key, value
При запуске программы:
kg.serial.manager.app_started
При запуске сервиса:
kg.serial.manager.started
При остановке сервиса:
kg.serial.manager.stopped
Alekssandr
01.06.2017, 14:58
DelleTenebre, Огрооомное спасибо, теперь мне все понятно, вечером проверю. Приложение у вас очень нужное для планшетов в автомобиле, поэтому хочу тесно внедрить вашу прошрамму в свое устройство.
Я не тороплю но всё же, в версии 2.0 когда планируете сделать виджеты? Спасибо.
Alekssandr
01.06.2017, 21:56
DelleTenebreСоединил по блютус приложение Serial manager с arduino и попробовал передать данные.
В общем с отправкой данных есть какая-та проблема, когда пытаюсь отправить 123, нажатием кнопки button1, через пару секунды выскакивает Toast сообщение с критической ошибкой SerialManager чтото типа "Ура обнаружена критическая ошибка и т.п...", ну и естественно всё рушиться.
Ниже код как я отправлял данные. (данные отправлял не с основного активити а из фрагмента, пробывал и из основного, разницы нет, также всё крушиться)
public class FragmentBalans extends Fragment implements View.OnClickListener{
{......}
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent sendData = new Intent();
sendData.setAction("kg.serial.manager.send");
sendData.putExtra("data","124");
getActivity().sendBroadcast(sendData);
}
});
}
Данные по блютус передаются 100% пробовал для верности обычные блютус терминалы для андроид.
Alekssandr
02.06.2017, 00:16
Хм, пришёл с прогулки, запустил андройд студио, ничего не менял а программка работает и передает 123 =) ничего не зависает. Какой-то странный глюк.
Alekssandr
02.06.2017, 00:18
Завис и вылетел(( когда начал быстро тапать кнопку button1 :be:
Alekssandr
02.06.2017, 11:04
Выяснил ещё одно, проблема походу дела кроется не в kg.serial.manager.send а в передаче данных по блютус на контроллер, потому как если я в настройках "Взаимодействие с контроллером" включаю "отправлять данные датчика освещенности" или "Отправлять состояние экрана" программа отправляет данные, но через некоторое время всё рушиться, иногда прям сразу.
вот лог терминала что успел передать.
OPEN_OK 15 SPP C462EAB39777
RECV 15 42 kg.serial.manager.connection_established
RECV 15 5 124
RECV 15 5 124
RECV 15 5 124
RECV 15 12 screen:off
RECV 15 11 screen:on
RECV 15 29 light_sensor_value:101.7736
RECV 15 21 light_sensor_mode:2
RECV 15 28 light_sensor_value:19.9682
RECV 15 21 light_sensor_mode:1
CLOSE_OK 15 SPP C462EAB39777 //зависло и рухнуло приложение
OPEN_OK 15 SPP C462EAB39777
CLOSE_OK 15 SPP C462EAB39777
DelleTenebre
02.06.2017, 14:05
Alekssandr, спасибо. На выходных буду разбираться. Виджеты постараюсь до понедельника, хотя бы простой вариант.
Alekssandr
06.06.2017, 13:38
Забыл указать что, каждую секунду STM32 отправляла команду <test:data>. Возможно все крашилось когда одновременно приходила команда, и передавались данные с андройд. Вечером проверю.
Alekssandr
07.06.2017, 02:00
DelleTenebre, отличная работа!
В версии 2.1.0 с отправкой и приёмом данных всё стало отлично, вообще никаких проблем:drinks:
Но появилась новая, пока блютус устройство подключено всё работает просто шикарно, даже если уходить из зоны радиосигнала при возвращении всё подхватывается и работает.
А вот в зоне радиосигнала если отключить блютус модуль от питания, приложение бывает перезапускается (с ошибкой "Ура найдена критическая ошибка...) (при отключении эту ошибку заметил всего пару раз, возможно это не из за отключения а както кратковременно пришло питание, так как тестирую на брэдборде), когда блютус модуль обратно подключаешь к питанию приложение перезапускается всегда (с ошибкой "Ура найдена критическая ошибка...) но при этом (после загрузки приложения) всё продолжает работать и передает данные:)
jonikus81
07.06.2017, 06:48
Решил протестировать СМ, так как много положительных отзывов. Установил на Самсунг галекси S5 DUO, android 7.1.2 Resurection, root. Команды видит в СМ и выполняет "запустить приложение", а вот нажатия клавиш не работает. Рут предоставлен для СМ. Подключен через ЮСБ к ардуино pro micro(32u4).
DelleTenebre
07.06.2017, 10:23
Alekssandr, если Вам не трудно, настройте любую почтовую программу и при появлении окошка об ошибке нажмите отправить - мне на почту придёт лог с ошибкой и мне проще будет разобраться.
jonikus81, проверьте, есть ли у Вас файл /dev/uinput?
jonikus81
07.06.2017, 13:50
DelleTenebre, дабы не засорять тему, написал в личку, спасибо.
DelleTenebre
09.06.2017, 08:56
Эмуляция клавиатуры вылечилась установкой SE Linux в permissive mode (https://forum.xda-developers.com/showthread.php?t=2524485 или в install-recovery.sh: setenforce 0).
jonikus81
12.06.2017, 12:57
Конкретно мой самсунг галакси С5 дуо начал клацать кнопки после:
*установил universal Init.d из гуглплея
*создал файл selinux в директории system/etc/init.d/
*в файл внес запись
#!/system/sh
su 0 setenforce 0
*выставил права на файл rwx rwx rwx
*в программе Universal Init.d переключил вкылючатель в положение ON
*перезагрузился
Кнопки кнопаются, команды командуются, посылки посылаются ...
DelleTenebre, огромное спасибо за Ваши труды! :good:
DelleTenebre
13.06.2017, 20:41
В 2.2.0 (https://yadi.sk/d/I3iDSjOUr244c):
улучшен механизм подключение по bluetooth
изменения в механизме создания виртуальной клавиатуры
импорт/экспорт команд (новый пункт в Настройках)
Alekssandr
13.06.2017, 22:17
Хотел проверить Версию 2.2.0 Вылетает при запуске приложения. (Приложение Serial Manager остановлено)
Leprechaun
14.06.2017, 11:45
Вылетает при запуске (
jonikus81
14.06.2017, 12:55
аналогично, вылетает при запуске
DelleTenebre
14.06.2017, 16:11
Всем спасибо. В 2.2.1 'т' добавил; вылет, вроде, исправил.
Alekssandr
14.06.2017, 19:15
DelleTenebre
Спасибо! Вылетов нет), блютус проверю вечером.
Leprechaun
14.06.2017, 19:34
Всем спасибо. В 2.2.1 'т' добавил; вылет, вроде, исправил.
Спасибо!
marton2k
15.06.2017, 10:12
Всем добрый день! А возможно сделать через serial manager подачу сигнала high на пин ардуины в зависимости от температуры ЦП андроид платы? То есть для реализации включения вентилятора охлаждения в зависимости от температуры процессора. Был бы признателен за более подробный ответ
Наиболее вероятно, что это я где-то туплю... но всё-же:
1. На github нет версии 2.2.1, последняя - 2.2.0
2. Виджеты вроде как появились, но почему-то отсутствует их настройка - можно только имя виджета написать.
3. В командах - у меня почему-то нет кнопки "удалить команду".
Скажите, плиз, это только у меня такое или просто ещё что-то не доделано? Если не доделано - то я терпеливо подожду.
Огромное спасибо DelleTenebre за его титанический труд!
DelleTenebre
17.06.2017, 20:49
Owl_,
1. Криво commit прошёл, хз почему осталась 2.2.0 :)
2. Виджеты всё ещё в разработке.
3. Для удаления - свайп влево.
marton2k, Вы уже думали как измерять температуру? Например таскером? Отправить команду на ардуино не проблема, но её надо отправить вовремя.
Добрый вечер! Почему-то обновлением не ставится версия 2.х.х. Сносим старую, ставим новую - все ок.
DelleTenebre
20.06.2017, 17:17
Colombo, всё верно. Я их поэтому в шапке разделил. Во второй версии совсем по другому организована база и чтобы не появлялись глюки я не стал делать обратную совместимость с 1.x.
ребят, что то поиском внятного ничего не нашел. Как Serial Manager дружит с ардуинами на CH340G (http://diyhobby.ru/articles/mikroshema-ch340-i-modul-ch340g) ? Нужен ли дополнительно драйвер или танцы с бубном?
ребят, что то поиском внятного ничего не нашел. Как Serial Manager дружит с ардуинами на CH340G (http://diyhobby.ru/articles/mikroshema-ch340-i-modul-ch340g) ? Нужен ли дополнительно драйвер или танцы с бубном?Нормально дружит, ничего дополнительного не нужно.
Serg-Zmuh
01.09.2017, 09:01
Осмелюсь спросить уважаемого DelleTenebre
когда появятся виджеты в новой версии ? :blush:
DelleTenebre
01.09.2017, 22:16
Честно скажу - понятия не имею. Последние пару дней делал это творение https://github.com/delletenebre/CallsAssistant :pooh1:
Ошибка при синтаксическом анализе пакета. Lenovo a859.
Karp.exe
05.09.2017, 18:01
Замечатльная программа.
Строю android car и она очень помогает.
Уже завел резистивные кнопки и датчики в виджет.
Не могу разобраться с отправкой данных в ардуинку.
Задача - как в примере шапки для виждета Serial Manager Send (В версии 2.2.2 его нет)
Action: kg.serial.manager.send
Extras:
data - сообщение, которое необходимо отправить на контроллер
id - идентификатор конкретной операции, необязательный параметр.
Как я понимаю надо в таскере создать виджет с действием Send Intent
Действие: kg.serial.manager.send
А вот дальше не понимаю.
Хотелось бы по аналогии отправить команду типа <data:on>
Где что писать, или что я делаю не так.
Так как даже пример из шапки не хочет работать (даже напрямую через консоль ни на on ни на off)
Может есть у кого рабочий пример.
Спасибо
Ошибка при синтаксическом анализе пакета. Lenovo a859. Перекачай, помогает
DelleTenebre
05.09.2017, 20:08
Karp.exe, по этой инструкции (http://pccar.ru/showpost.php?p=362233&postcount=109) делали?
Поле Extra: data:ВашаКоманда
Extra: data:<data:n>
если я правильно Вас понял.
groove-max
06.09.2017, 01:35
В данный момент пользуюсь версией 1.6.8.
Не знаю, будет ли полезно, но хотел бы оставить небольшой отзыв по некоторым моментам:
1. Не хватает кнопки "перезапуск сервиса" в самой программе для ручного перезапуска. Приходится прибивать процесс через настройки с последующим перезапуском.
2. Было бы полезно иметь что-то типа монитора порта, с возможностью отправки команд на ардуину. Можно даже что-то в виде консоли.
3. Еще было бы удобно подсвечивать данные разным цветом на виджете (receive) в зависимости от доп. условий. Например, напряжение, температуру (от синего до красного).
4. При создании некоторых ключей иногда возникало желание добавить какое-то звуковое уведомление, например критически важное.
5. Нет поддержки utf символов в всплывающих сообщениях, только в виджетах. Из-за этого не получается изменить скучные надписи управления плеером на характерные utf значки)
Но это сугубо моё имхо, взгляд как пользователя, который пользуется программой продолжительное время.
Автору большое спасибо за программу. Продукт действительно очень полезный!
С радостью приобрел бы премиум версию не задумываясь.
jonikus81
06.09.2017, 10:57
Честно скажу - понятия не имею. Последние пару дней делал это творение https://github.com/delletenebre/CallsAssistant :pooh1:
Ухты, попробуем :yes2:
Полностью согласен, надо отдельную тему с описанием и настройками
Karp.exe
26.09.2017, 11:59
groove-max:
Имхо - есть смысл перейти на версию 2,2,2. Собственно советы по этой версии
2 - програмка отлично может слать команды в артудинку. Я для теста мигал светодиодом через виджет с рабочего стола. Почитай по ссылке (http://pccar.ru/showpost.php?p=391889&postcount=411)
3 - это уже можно настроить в ZOoper, например, на основании данных получаемых с SM
4 - через таскер можно реализовать (при получении определлых команд таскер дожен пищать)
groove-max
28.09.2017, 19:09
groove-max:
Имхо - есть смысл перейти на версию 2,2,2. Собственно советы по этой версии
2 - програмка отлично может слать команды в артудинку. Я для теста мигал светодиодом через виджет с рабочего стола. Почитай по ссылке (http://pccar.ru/showpost.php?p=391889&postcount=411)
3 - это уже можно настроить в ZOoper, например, на основании данных получаемых с SM
4 - через таскер можно реализовать (при получении определлых команд таскер дожен пищать)
Версия 2.2.2 еще в разработке.
Проблема не в отправке данных. Я отлично "общаюсь" с atmeg'ой, рулю портами ввода/вывода, получаю данные с различных датчиков, задаю дополнительную конфигурацию мк. Проблема в том, что не всегда очевидно, какие данные получены, а какие отправлены. В некоторых ситуациях нужно реально видеть, какие данные ушли, а какие пришли. А иногда нужно просто одну команду на контроллер отправить разово. И вот тут отлично бы подошел монитор порта с возможностью отправки данных в com.
3,4 А смысл? Лучше уже вообще не реализовывать это на практике, чем строить такой велосипед. У меня даже таксера нет, например.
Alekssandr
28.09.2017, 21:58
groove-max 3,4 это 2 мощных инструмента на которых можно реализовать ооочень многое.
Kavalsky
29.10.2017, 01:00
Большое человеческое СПАСИБО!
Вопросик...
Nexus 5x \ Android 8.0 \ HC-05 \ 2.2.2
1. Входящие Команды
Текст уведомления - показывает.
Приложения (карты, плеер) - открывает.
Действие (громкость, next) - не происходит.
2. Виджет, дает создать только Rec.... , в меню его настройки только имя и кнопка [добавить виджет].
в чем беда?
PS
в версии 2.2.1 - тоже самое
в версии 1.6.8 - Вродебы все работает, и виджеты имеют меню
DelleTenebre
29.10.2017, 10:59
Kavalsky, виджеты всё ещё не доведены до рабочего состояния в 2.х.
Kavalsky
29.10.2017, 21:17
1. Входящие Команды
Текст уведомления - показывает.
Приложения (карты, плеер) - открывает.
Действие (громкость, next) - не происходит.
А это нельзя малой кровью вылечить?
Две версии не работают одновременно :(((
Kavalsky
30.10.2017, 00:14
Эмуляция клавиатуры вылечилась установкой SE Linux в permissive mode (https://forum.xda-developers.com/showthread.php?t=2524485 или в install-recovery.sh: setenforce 0).
:mad2:
Установил Рут. В СуперСу = прописал СМ.
Помогите клавиатуру настроить...
Arduino+HC-05 - > Nexus 5x, Android 8.0, v1.6.8
DelleTenebre
30.10.2017, 16:26
Если Вы установили SE Linux в permissive и всё равно не работает, то это может быть очередное ограничение Android 8.0 (последняя версия на которой я тестировал 7.1).
Можете попробовать действие Shell-команда и прописать:
input keyevent X
, где вместо X число, например для volume_up 24. Коды брать тут: Android KeyEvent (https://developer.android.com/reference/android/view/KeyEvent.html).
Kavalsky
30.10.2017, 23:24
Кудесник! КУДЕСНИК! - Спасибо много раз!
1. SE Linux в permissive - не помог...
2. Shell - заработал, долго подбирал, строка должна выглядеть так = input keyevent volume_up 24
Вопрос - как на Shell организовать Alt+Tab ?
Ну и вообще в одну команду запихать две кнопки?
А удерживать Alt нажатой? - чтобы полистать окна.
(META_ALT_ON - как то с ней играться надо? читал, не понял :( )
DelleTenebre
31.10.2017, 18:03
SE Linux в permissive - не помог...
Печально. Надо будет потестировать восьмёрку.
2. Shell - заработал, долго подбирал, строка должна выглядеть так = input keyevent volume_up 24
Странно, должно быть так:
input keyevent 24
Хотя, я читал где-то, что можно указать название (но без кода). Типа так:
input keyevent volume_up
Вопрос - как на Shell организовать Alt+Tab ?
Ну и вообще в одну команду запихать две кнопки?
input keyevent alt_left && input keyevent tab
или
input keyevent 57 && input keyevent 61
А удерживать Alt нажатой? - чтобы полистать окна.
У меня так и не получилось. META_* не подойдут, на сколько я знаю. Они типа для проверок включен режим (alt, shift и т.д.) или нет.
Но Вы попробуйте.
Можно ещё тут почитать (https://stackoverflow.com/questions/14260062/simulated-two-keyevents-with-adb-shell-for-alt-shift-etc), но там надо знать какой /dev/input/event* за что отвечает и есть ли на нём вообще коды клавиатуры. У меня на Nexus 7 2013 был тачпад, ещё event* с тремя кнопками (power, volUp, volDown), и ещё один-два с хз чем. Т.е. отправлять (но с кодами клавиатуры):
sendevent /dev/input/event0 1 229 1
смысла не имело. Пришлось через uinput создавать виртуальную клавиатуру со всеми этими кодами.
Этот метод использует SM - создаёт виртуальную клавиатуру через uinput и шлёт через sendevent коды. Но есть и fallback с input keyevent и чёрт знает почему он не заработал у Вас.
Есть еще одна проблема. Если отправляем в порт данные без паузы,то данные смешиваются в одну строку... хотя ардуиновский монитор отрабатывает на ура. И только если паузу ставить между оправками строк,не менее 20мс,тогда все корректно отрабатывается..где косяк ?
монитор ардуины,проблем нет
https://drive.google.com/file/d/11Cm24p1Dzttx7M3MSaVKrmsin7Hp-XWS/view?usp=sharing
сериал менеджер,проблема
https://drive.google.com/file/d/1dFC38UDa4WG2XkUVNqmsMwiiOgHtbv6K/view?usp=sharing
DelleTenebre
14.11.2017, 15:59
yuriy m, спасибо, посмотрю что можно сделать.
P.S. Кстати, теперь SM и в Google Play (https://play.google.com/store/apps/details?id=kg.delletenebre.serialmanager2).
Alekssandr
14.11.2017, 22:03
P.S. Кстати, теперь SM и в Google Play (https://play.google.com/store/apps/details?id=kg.delletenebre.serialmanager2).
Отличная новость!
У меня есть пожелание: При создании команды есть возможность выводить текст уведомления который ты придумываешь сам, былоб замечательно если после текста уведомления ещё и была возможность вывести значение которое пришло по сериал.
DelleTenebre
15.11.2017, 06:09
Alekssandr, можно использовать %value, оно как раз выводит пришедшее значение. Тут (https://github.com/delletenebre/SerialManager2#Форматирование-строк) подробнее.
sandr2010
15.11.2017, 08:03
DelleTenebre, подскажите (я в этом полный 0,пока пытаюсь разобраться) : можно ли при помощи вашего приложения управлять контроллером stm32. ГУ состоит из платы андроида(mtk8127) и платы mcu(stm32f030),управление идет по i2c(как понимаю). Mcu управляет блютуз модулем (хотя и не факт,хоть и модуль отдельный),радиомодулем,звуком,питанием.
DelleTenebre сейчас проверил, в версии 1.6.7 работает нормально, проблема в 2.2.3
Alekssandr
16.11.2017, 22:21
Alekssandr, можно использовать %value, оно как раз выводит пришедшее значение. Тут (https://github.com/delletenebre/SerialManager2#Форматирование-строк) подробнее.
Спасибо, не знал об этом.
Есть ещё одна проблема, у меня есть массивы данных которые формируются на stm32 и передаются на моё приложение через SerialManager и иногда получается так что в масcивах оказываются скобка >, в итоге SerialManager путается и передаёт не весь массив.
Хочу попросить, чтоб была возможность выбора обёртки, допустим с таким форматом <<key:value>> вероятность что попадёт две скобки почти не реальна, а одна попадается.
Спасибо, не знал об этом.
Есть ещё одна проблема, у меня есть массивы данных которые формируются на stm32 и передаются на моё приложение через SerialManager и иногда получается так что в масcивах оказываются скобка >, в итоге SerialManager путается и передаёт не весь массив.
Хочу попросить, чтоб была возможность выбора обёртки, допустим с таким форматом <<key:value>> вероятность что попадёт две скобки почти не реальна, а одна попадается.
ну дак я ,уже написал по этой проблеме ,чуть выше
Alekssandr
16.11.2017, 23:09
ну дак я ,уже написал по этой проблеме ,чуть выше
То что смешиваются это другая проблема которую 100% нужно решить:), у меня в данных явно может появиться символ ">" и запутать сериал манаджер.
сериал манаджер работает с обёрткой <key:value>
а у меня может получиться так <key:val>ue> это чисто формальный пример в итоге я не получаю ue.
На Android 7.1.2 see Linux после частично, точно знаю что не работает alt+tab...tab, остальное ещё тестирую
DelleTenebre
Использую v1.6.9-beta , все замечательно , все что хотелось реализовал , спасибо .
Есть вопрос-"хотелка" : нельзя ли как нибудь сделать , чтобы цвет шрифта менялся при изменении значения параметра , например : температура минусовая-синий , плюсовая-красный ?
Сам спросил - сам отвечаю , в скетче условие : значение параметра порог и ниже порога - один ключ , выше - другой , в SM каждому ключу соотв. цвет текста и все получилось .
DelleTenebre
28.11.2017, 16:21
sandr2010, я только по ардуино мастер-ломастер. С "голыми" контроллерами пока не умею обращаться.
yuriy m, проверьте в версии 2.3.0, вроде, исправил.
Alekssandr, к следующей версии добавлю, возможно даже паттерном, т.е. произвольный стиль.
vdsem, спасибо и за вопрос и за решение :laugh2: Подумаю, как можно будет программно реализовать.
----
Версия 2.3.0 включает в себя виджет SM Simple Widget, объединяет и отправку и приём команд. Настройки виджетов: главное меню SM -> Виджеты
Alekssandr
30.11.2017, 10:04
DelleTenebre Спасибо! Хорошие новости:yes4:
С виджетами есть проблема: Работает без проблем - Действие "запустить приложение", все остальные "Нажатие клавиши", "Консольная команда" и "Отправить данные" не сохраняются. Т.е. они сохраняются в списке виджетов и их видно на рабочем столе, не сохраняются именно команды.
nikopol70
30.11.2017, 16:49
Нексус 7, андроид 7.1, контроллер от Юры, магнитола пионер, управле Те джойстик iDrive
Пытаюсь сделать виджет отправки данных в контроллер, с помощью таскера
Одна кнопка, которая последовательно должна включать или выключать
Не могу понять что написать в extra-data:
Пишу например on|off - но выполняется только одна команда, вторая нет
Видел в теме у человека похожее управление климатом реализовано.
Не вкурю как и что
DelleTenebre
30.11.2017, 17:17
Alekssandr, спасибо, видимо прошляпил сохранение :)
nikopol70, пока что это не реализовано в 2.x. Хочу этот функционал как-то переосмыслить в более удобной форме.
nikopol70
30.11.2017, 17:27
пока что это не реализовано в 2.x. Хочу этот функционал как-то переосмыслить в более удобной форме.
Я сижу на версии1.6.7 - самая безглючная, не вываливается
2.х.х практически не работае у меня, ошибка, баг репорт
DelleTenebre
30.11.2017, 19:40
Версия 2.4.0
* исправлено сохранение действий для виджетов
* добавлена возможность изменения формата для команд
* добавлена возможность выполнения действия команды даже при открытом SM
Опции находятся в Настройки > Общие. Формат команд задаётся как regex. Например, чтобы получать в формате {key:value} нужно изменить опцию на
^\{(.+?):(.+?)\}$
Alekssandr, Ваш вариант <<key:value>>
^<<(.+?):(.+?)>>$
------
nikopol70, очень странно что 2.х крашится... По Вашей проблеме отпишусь чуть позже.
DelleTenebre
03.12.2017, 19:18
Нексус 7, андроид 7.1, контроллер от Юры, магнитола пионер, управле Те джойстик iDrive
Пытаюсь сделать виджет отправки данных в контроллер, с помощью таскера
Одна кнопка, которая последовательно должна включать или выключать
Не могу понять что написать в extra-data:
Пишу например on|off - но выполняется только одна команда, вторая нет
Видел в теме у человека похожее управление климатом реализовано.
Не вкурю как и что
С помощью таскера, я думаю, так не получится. on|off я делал для встоенного виджета SM. Либо писать логику в таскере, которая будет заменять при клике свою extra-data, но тут я Вам не помощник - таскер совсем немного знаю и не использую.
DelleTenebre
04.12.2017, 20:08
Версия 2.5.1:
* Перекомпоновка главного экрана
* Мини терминал для просмотра принятых данных и отправки данных на контроллер (записывает команды только при открытой вкладке "логи" и если свернуть SM (а не закрыть кнопкой "назад"))
Alt+Tab на Android 7.1.2 так и не работает, и при просыпании планшета SM автоматически разворачивается, как сделать чтоб запускался сразу в фоне?
DelleTenebre
04.12.2017, 21:42
demtro, реального устройства с 7.1.2 у меня, к сожалению, нет. Поэтому проводил тесты на Genymotion 7.1.0, Alt+tab..tab работает, запускается после включения экрана только сервис.
После просыпания ну никак не должен разворачивать activity, т.к. этого нет в коде, должен запускаться только Service. Попробуйте, если Вы этого не делали, закрыть приложения кнопкой "назад" и затем убрать из последних запущенных.
Root доступ получен? Alt+tab..tab работает только через root, т.к. другого способа временно "зажать" alt нет.
закрытие кнопкой назад помогло без убирания из недавно запущенных, спасибо. Рут получен, куда ж без него?)
Alekssandr
05.12.2017, 15:12
Версия 2.5.1:
* Перекомпоновка главного экрана
* Мини терминал для просмотра принятых данных и отправки данных на контроллер (записывает команды только при открытой вкладке "логи" и если свернуть SM (а не закрыть кнопкой "назад"))
Не перестаёшь радовать:rolleyes2: Этот терминал на много облегчит отладку программного обеспечения. До этого всё приходилось смотреть через дебагер STM32 или Android теперь всё на лету. Круто) Спасибо огромное!!!
localmaster
05.12.2017, 18:36
Nexis7 (andrid 4.4.4)+контроллер Юры, пытаюсь назначить нажатие на кнопку (Power или подобное), ничего не срабатывает, т.е. при открытом приложении и в логах есть событие, а действие не производится (так же и при закрытом приложении), хотя запуск приложения работает.
Так же на Xiaomi Mi Max (android 7.0).
Alekssandr
08.12.2017, 17:29
DelleTenebre в терминале не хватает кнопочки очистить, былоб удобно если он расположился рядом с автоскрол чекбоксом.
lipov-andrey
17.12.2017, 12:37
DelleTenebre,
Привет !
Не планируешь ли прикрутить функционал по загрузке скетчей?
Смысл в том что допустим у меня уже готовое устройство установлено в машине.
Хочу добавить новую кнопку , для этого надо отсоединять ардуину , заливать скетч ставить обратно.
А так закинул скетч в Андройд и залил в ардуинку.
Alekssandr
17.12.2017, 14:39
lipov-andrey На просторах GooglePlay есть приложение ArduinoDroid - Arduino IDE, через него можно редактировать и загружать прошивку прямо с Android.
DelleTenebre Добавь пожалуйста в SerialManager VID/PID для STM32F3. (Сейчас приходится подставлять VID/PID от AndroidLeonardo чтоб программа SerialManager определяло моё устройство. Это влечёт за собой некоторые проблемы на ПК.
VID/PID для серии STM32F3
VID — 1155(0x483)
PID — 22315(0x572B)
Можно ещё для серии STM32F1 добавить (из за их популярности)
VID — 1155 (0x483)
PID — 22352 (0x5750)
Без них ваше приложение не может определить подключенное устройство. Спасибо.
lipov-andrey
17.12.2017, 14:54
lipov-andrey На просторах GooglePlay есть приложение ArduinoDroid - Arduino IDE, через него можно редактировать и загружать прошивку прямо с Android.
Про них я в курсе, есть так же по блюрику загрузка скетчей.
Но меня интересует именно загрузка через UART, а таковых нет.
DelleTenebre
17.12.2017, 18:18
lipov-andrey, нет, пока не планирую загрузку скетчей. Но посмотрю что там к чему, самого подобная ситуацию порой напрягает.
Alekssandr, добавил.
Alekssandr
17.12.2017, 20:16
DelleTenebre, спасибо! Работает.
Подскажите как во второй версии сделать виджет переключатель?
DelleTenebre здравствуйте, подскажите, light_sensor_value/mode отправляется только при наличии физического датчика в планшете/телефоне? Данные команды не работают на андроид коробках без датчика освещенности? Хотелось-бы отправлять в контроллер данные ползунка яркости.
DelleTenebre
26.12.2017, 18:48
azaus00, на данный момент виджета-переключателя нет.
vitak, отправляется только при наличии датчика - используется стандартный API android (https://developer.android.com/reference/android/hardware/SensorManager.html)'а. Если датчик система не видит (допустим при использовании внешнего) то и данные не будут отправляться.
DelleTenebre спасибо, понял, вопрос в другом, реализовать именно перехват ползунка яркости ни как не получится? Допустим дёрнули ползунок и в контроллер ушло значение 0-100% или 0-255, а контроллер по этим данным меняет ШИМ на яркость подсветки.
DelleTenebre
26.12.2017, 21:19
vitak, а, ну данные ползунка, можно. По крайней мере до marshmallow. Буду иметь в виду.
Буду весьма признателен, и буду молиться чтобы на нугате работало:pleasantry:
fedor5800
04.01.2018, 11:53
Версия 2.5.1:
Приветствую, никак не могу запустить вторую версию, пробовал 2.5.2, при запуске устройство монтируется, но ни логов, ни определение команд автоматом не работает. Хз куда копать.
На версии 1.6.7 все работает.
Подскажите какой скетч использовать для работы программы , хочу подключить резистивные кнопки .
fedor5800
23.01.2018, 23:50
Подскажите какой скетч использовать для работы программы , хочу подключить резистивные кнопки .
самый простой скетч, без дребезга.https://forum.xda-developers.com/showthread.php?t=2635159
Продолжаю мучиться , переподключаю USB 2.0 Hub приложением Usb Host Controller и соединение устанавливается . В SM включено "переподключать USB-хаб" , но этого почему то не происходит (Root есть) . Может быть переподключать USB-хаб после перезагрузки с задержкой и независимо от того распознано устройство или нет ?
а не проще ли передёргивать 4 контакт юсб (ID) ?
Alekssandr
16.02.2018, 16:54
DelleTenebre: в последней версии SerialManager 2.5.3 присутствует некая проблема которая вызывает крах приложения при добавлении команды.
Отправил отчёт. Спасибо!
Проверял на Android 5 и 6, в обоих случаях получаю вылет во время добавлении команды (клик по иконке дискета).
DelleTenebre
17.02.2018, 14:33
Спасибо, буду разбираться.
SerialManager 2.5.3 Андроид 6 и 7 при сохранении новой команды. Уважаемый DelleTenebre где взять предыдущую версию?
DelleTenebre
20.02.2018, 10:14
Большинство версий тут: https://github.com/delletenebre/SerialManager2/tree/master/apk
Здравствуйте никто не озадачивался скетчем для температуры для двух датчиков на улице d18b20 внутри DHT22 он с влажностью. Я скрестил два скетча но пока не могу вывести на виджет показания в логах программы видно приходит температура но как ни старался на виджет не идет. Подправте меня, скетч прилагаю
https://cloud.mail.ru/public/2hDn/pgd6sx4CY
Кстати никому не интересно в машине датчик со2? Я сейчас для дома собираю погодную станцию с датчиком со2.
DelleTenebre
04.03.2018, 10:32
В версии 2.5.5 исправлено сохранение команд.
----
anru, в поле "ключ" виджета нужно написать Humidity. Если нужно в два виджета выводить, то нужно подправить код:
Serial.print("<humidity:");
Serial.print(h);
Serial.println("%>");
Serial.print("<temperature:");
Serial.print(t);
Serial.print(" C ");
Serial.print(temp);
Serial.println(">");
, соответственно в виджетах в поля "Ключ" нужно вписать humidity и temperature.
g_antonov
12.03.2018, 13:40
Добрый день всем. Такая штука: Samsung A5 2017, Android 7, рута нет, и Lenovo Tab2 A7-20F, Android 5, рут. Ардуино + HC-06. Ставлю последнюю версию. При попытке телефона или планшета связаться с блютузом - вылетает. При этом на планшете рут-права приложению выдаются. Сношу. Ставлю 1.6.7, 1.6.8, 1.6.9 - соединяется, работает, кнопки нажимаются, реакция есть. Рут-права на планшете также выдаются. Но ни на телефоне, ни на планшете эмуляция клавиатуры не работает :((( Мне-то надо всего нажатие нескольких клавиш (ESC, Enter, вверх-вниз-вправо-влево, и еще одно клавишесочетание - еще не знаю какое - типа Ctrl+P), мультимедийные кнопки работают нормально.
Куда копать?
Alekssandr
16.03.2018, 17:17
DelleTenebre С добавление команд теперь всё отлично, спасибо!
Нашлась ещё одна, если при добавлении команды что-то пишем в поле "Текст уведомления" оно благополучно сохраняется, но при возникновения события команды приложение вылетает с ошибкой.
Например я сохранил команду со следующими параметрами:
Ключ MasterVol
Значение :40
Разброс 40
Текст уведомления: Громкость: %value
Когда приходит команда MasterVol с значение от 0 до 80, получаем вылет приложения. Если убрать текст уведомления то всё работает хорошо. Но мне нужно именно отобразить команду поверх всех окон, она нужна для определения текущего уровня громкости в DSP процессоре во время настройки с кнопок руля или энкодера.
Отправил отчёт, спасибо!
Добрый день. Парни как подключить и настроить правильно? Использую stm32f103c8t6. Ставлю усб терминал с маркета данные вижу. А с SM не могу справиться. Как и где правильно посмотреть подключенный контроллер? Vid 0x0483, pid 0x5740. Версия SM последняя
Наверное Дело еще в pid 0x5740. Пару страниц назад сообщалось о добавлении в программу pid 0x5750, а меня 5740
Появляется устройство по пути dev/usb/tty1-1:1.0 это правильно?
через прложение USB HOST CONTROLLER определяется как stm virtual com port
DelleTenebre
20.03.2018, 21:08
coord, сегодня-завтра добавлю просто вендора 0x0483 (stm) без уточняющих pid и всё должно заработать.
Alekssandr, исправлено :)
DelleTenebre
21.03.2018, 17:30
coord, готово.
AmoRaller
21.03.2018, 19:51
Привет всем. Отличное приложение.
В версии 2 с гуглплея заметил проблему, которая в 1й версии не проявляется: таскером генерю интент с data:<число> и в логкате наблюдаю эксепшн - не удается скастить int в строку.
Если передаю в data строку, проблемы нет.
Подробности нужны?
Отбой. Я всё понял.
В справке к Таскеру есть информация о том, что он кастит типы сам. http://tasker.dinglisch.net/userguide/en/intents.html
Alekssandr Кажется у вас была такая проблема
fedor5800
22.03.2018, 11:16
Так и не работает 2я версия с ардуино, 1я работает, уже вручную путь прописал, в терминале пишет подключено, но команды не принимает. Что делать? Какой лог отправить?
[QUOTE=DelleTenebre;400471]coord, сегодня-завтра добавлю просто вендора 0x0483 (stm) без уточняющих pid и всё должно заработать.
Так у меня и не получилось подключить stm32. В логе программы вижу, что устройство подключено dev/bus/usb/001/002, но данных не вижу. Обычный терминал данные показывает. Как правильно настроить виджет и саму программу? Вывожу данные так <str:данные> в виджете ключ указываю str, в поле текст ничего не указываю. Как правильно сделать?
по пути dev/usb/tty1-1:1.0 сейчас ничего не появляется
DelleTenebre
22.03.2018, 16:59
coord, в поле текст добавьте %value
fedor5800, версии SM не обе сразу установлены? Можно узнать модель ардуинки и скетч, можно не весь, а только ту часть где вывод данных. И версию android.
coord, в поле текст добавьте %value
Нет не работает. А в настройки последовательного порта я должен что то прописать? В dev я больше ничего не вижу, кроме того что описал выше
DelleTenebre
22.03.2018, 18:16
А устройство определяется как как /dev/tty* какой-нибудь? Я только таким образом тестировал, хз на будет ли работать (и есть ли разница) с /dev/bus/usb/001/002
И права надо бы проверить, хотя бы 666
А устройство определяется как как /dev/tty* какой-нибудь? Я только таким образом тестировал, хз на будет ли работать (и есть ли разница) с /dev/bus/usb/001/002
И права надо бы проверить, хотя бы 666
Вчера на предыдущей версии было в двух местах dev/usb/tty1-1:1.0 и /dev/bus/usb/001/002. На последней версии только /dev/bus/usb/001/002. в папке /dev/ ни чего вроде не появляется, но tty там штук шестьдесят от просто tty до tty63. Есть еще ttyHSL0 и ttyHSL1.
В обычном терминале работает как устройство CDC
DelleTenebre
22.03.2018, 20:05
А при подключении stm появлялось окошко "Запускать приложение при подключении этого устройства..."?
Да. И ставлю галочку типо постоянно подключать. В логах подключается так /dev/bus/usb/001/002
а какой командой в терминале можно посмотреть эти пути?
Ставил несколько USB терминалов, и заметил где есть поддержка CDC там работает
fedor5800
22.03.2018, 22:58
DelleTenebre нет, версии по очереди замораживаю, потом перезагружаю хаб, и по всплывающим сообщениям видно что SM увидел устройство по пути:
в 1й версии
-uiinpyt (как то так)
- потом путь dev/bus/usb/002/006 (последнии цифры бывает меняются).
во 2й версии прописал тот же путь, при перезагрузке SM в терминале написано что устройство подключено, но на команды не реагирует.
Ардуино промикро.
андроид 4,2,2
вывод идет через такую команду
Serial.print("<click:");
Serial.print(sensorValueOld);
Serial.print(">");
Вроде так, в скетч уже больше года не залазил и не помню какой туда залит)) но на 1й версии работает.
Кстати ардуина еще прикидывается юсб клавой, может это как то влияет?
Alekssandr
23.03.2018, 01:19
fedor5800 и coord
Вся ваша проблема заключается в том что вы не отправляете завершающие символы \r\n, SerialManadger к ним чувствителен.
Если отправлять с Arduino (https://duino.ru/arduino-uno-ch340g.html) то делайте это через команду Serial.println а не просто Serial.print (пример от автора (https://github.com/delletenebre/SerialManager/blob/master/arduino/sketch_sample.ino))
Если из стм32 то там придётся вручную собирать строку и вконец делать приписку \r\n типа этого USB_CDC_Transmit("<ENC1:LEFT>\r\n", 13, 0);
fedor5800 и coord
Вся ваша проблема заключается в том что вы не отправляете завершающие символы \r\n, SerialManadger к ним чувствителен.
Если отправлять с Arduino (https://duino.ru/arduino-uno-ch340g.html) то делайте это через команду Serial.println а не просто Serial.print (пример от автора (https://github.com/delletenebre/SerialManager/blob/master/arduino/sketch_sample.ino))
Если из стм32 то там придётся вручную собирать строку и вконец делать приписку \r\n типа этого USB_CDC_Transmit("<ENC1:LEFT>\r\n", 13, 0);
Спасибо огромное. Заработало
DelleTenebre
23.03.2018, 17:52
Alekssandr, спасибо, всё верно.
fedor5800, немного измените вывод:
Serial.print("<click:");
Serial.print(sensorValueOld);
Serial.println(">");
Добрый день. В последних версиях нет возможности смены шрифта в виджетах? Не могу вывести кириллицу.
DelleTenebre
26.03.2018, 21:00
coord, нет. Пока что не реализовано.
А сейчас какой шрифт используется, в какой кодировке?
вадим006
27.03.2018, 06:07
Кто нибудь сможет выложить пример включение например светодиода через tasker. и вообще возможно это?
fedor5800
27.03.2018, 09:07
DelleTenebre, спасибо, переделал скетч по новому, и вывел немного инфы в порт, при добавлении виджетов приложение падает, в мониторе порта проги инфо от датчиков видна. Версия последняя.
DelleTenebre
27.03.2018, 15:08
coord, fontawesome, utf-8. Там новый API для работы со шрифтами в Andoird 7 появился. Я его тестировал и забыл обратно переделать :)
fedor5800, странно. Проверю на 4.2.2. Возможно как раз из-за шрифта.
Что то я не понимаю. Смотрю в интернете, а это иконочный шрифт. Так и не понял где вообще символы? DelleTenebre планируется ли работа над сменой шрифтов? Или хотя бы вшить который поддерживает кириллицу. Пока делал проект на столе в порт на ПК русский выводил легко и успокоился. Наладил передачу в планшет, и опа, засада. Или может есть еще какой вариант? Дайте пожалуйста наводку.
DelleTenebre
28.03.2018, 15:34
coord, пока что вариантов у Вас нет. Подождите обновление. Пока можно добавлять иконки как в первом посте описано, например \uf17b выведет иконку андроида (https://cloud.githubusercontent.com/assets/3936845/14628386/42aea340-061f-11e6-8195-39c12adabc15.png).
drfresh88
30.03.2018, 18:11
Версия 2.5.8. 1 раз получилось добавить виджет на рабочий стол и настроить его. Работал нормально. При попытке добавить второй виджет, выскочило сообщение, что SerialManager завершен с ошибкой. Попробовал убрать первый виджет со стола. И теперь не добавляется даже 1 виджет. Все время вылет с ошибкой. Что посоветуете сделать?
UPD:
У меня в контроллере зашита приостановка обмена данными по команде "...connection_lost". Так вот если отправить принудительно эту команду в порт и остановить обмен. То виджеты создаются нормально и потом не влияет, включен обмен или нет. Но, если перезагрузить планшет, и во время обмена опять попытаться добавить виджет, то опять вывалится в ошибку.
Здравствуйте. Имеется зеркало-видеорегистратор junsun q6 с андроид 4.4.2. Serial manager почему то не отправляет на ардуину screen on, screen off. Скетч в ардуинке стандартный из примера в начале темы. Если команду слать вручную из терминала то все норм. На телефоне с андроид 7.0 все норм, SM шлет команды. Как это можно победить?
Alekssandr
18.04.2018, 11:09
DelleTenebre Всё работает хорошо, но есть один момент. Вот я записал видеоролик (https://www.youtube.com/watch?v=DXYc4-PYm_w), проблема проявляется на 15:55, сливается текст если быстро приходят данные. С этим можно что-то сделать?
Настроено, ничего не делать. А просто отображать текст если приходит ключ MasterVol с разбросом значений +-40.
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot