Всё что могу сказать на счёт usb-соединения: нестабильно работающая мистика. Я не использовал в коде usb-подключения чего-то особенного, всё что рекомендовано самим SDK. Все попытки логически понять что происходит при пропадании соединения ни к чему не привели. Поэтому рекомендую использовать соединение по bluetooth. Прошлой весной сделал на основе HC-06 и ни одной проблемы обнаружено не было.
|
Цитата:
|
Цитата:
|
Подключение gps-приемника к Arduino
Здравствуйте, DelleTenebre.
Предлагаю обсудить следующую идею: 1. gps-приемник подключается к Arduino, 2. данные пересылаются в виде NMEA:$GPRMC ..... 3. в Serial Manager реализуется mock location provider. |
DelleTenebre Есть там проблемка.
Она кроется в том, что после отключения устройства сохраняется фантом от него. Тоесть при следующем подключении ардуины вроде ВИД и ПИД теже, но вот остальная инфа по устройству в урезанном виде. не веришь- проверь! Вот костыль чтоб не вылетало приложение: for (Map.Entry 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 секунд переферия обесточилась, тоесть хаб остался без питания, включил снова и всё опять работает. Чего придумаешь- в ЛС напиши пожалуйста. Мне надоело с этим бороться! |
Потихоньку по-новой делаю 2-ую версию, где стараюсь учесть недостатки и опыт первой.
ABCh, NMEA получаю и даже могу распарсить до Location, но вот заставить работать mock location с навигационными программами не могу (начиная с android marshmallow и выше). Можно через google framework (fused location), но он будет не у всех. Сейчас ищу вариант через С++. T_r_D, спасибо за информацию. Буду делать полный перебор подключенных usb, а не только того, на который сработал intent USB_DEVICE_ATTACHED. Баг с флешкой пока не тестил. |
Я долго локализовывал данную проблему.
Теперь надо понять как нормальное устройство со 100% вероятностью отличать от фантома. Кстати подобное происходит и в других программах. Например Торкью елм так же путает если его переключить несколько раз, то в списке уже два совершенно одинаковых елма. ))))) И соответственно один работает, а второй нет. |
Всем доброго дня.
Простите за возможно странный вопрос ) Можно ли как то отследить переключение между рабочими столами? То есть, центральный с чем либо, следующий с виджетами, на следующий – отправка команды в сериал. Это реально? Спасибо. |
Вообще usb в андроиде как то через ж... сделано.В этом плане на винде вобще проблем нет. Временами напрягает как оно работает.
|
На ведре многое что через опу сделано, включая блютуз...более менее стабильно вафля работает. По усб ведро 4.4.4 более менее, все что выше глюки.
|
Глюки с юсб у меня только если несколько устройств. С единственным работает всё как часы. Исключением бывает отваливается ЮСБ в мороз ниже 17 градусов, но это китайхаб замерзает. В принципе я подключаю флешку только чтоб закачать на СД музыку, так что не сильно напрягает.
|
Leprechaun, универсального способа точно нет. Всё зависит от того какой launcher Вы используете и добавили ли его разработчики эту возможность. В принципе, ничего сложного нет, нужно всего лишь получить broadcast intent с действием "перелистнули homescreen", проблема в том, что в каждом конкретно взятом launcher'е это "перелистнули homescreen" называется по-разному или вообще отсутствует.
|
Цитата:
|
Всем привет кому надо могу поделиться стабильным скетчем для ардуино нано для отображения двух цифровых датчиков температуры а также есть бекап таскера и виджетов 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 в ) параллельное соединение датчиков не имеет значения где делать не обязательно тянуть два провода можно припаяться как к другому датчику так и в любом месте кабеля хоть посередине .
|
а если нужно 3 датчика ?
где поправить ? Код:
#include ,а то у меня на последнюю версию СМ мой скетч данные не выводит :sad2: старую 1.5 ставлю работает .... у меня вот такой скетч Код:
#include |
ни фига :(
дело не в скетче .... с последней версией не работает так же..... у меня usb-подключение может ардуина не нравится .... у меня UNO ....хз не врубаюсь |
if( i==2) // ставим 1 или 0 в зависимости от того какой датчик для сална
{{ Serial.print(" } Serial.println(">"); Serial.println(); } Добавьте модуль исправляйте значение i ==2 ну и соответственно название Salon на то которое вам надо ну и соответственно добавляете ещё один датчик добавляете ещё один модуль меняете значение i==3 ну и так далее |
Спасибо. Попробую в выходные.
Цитата:
|
Вложений: 1
Уважаемый DelleTenebre , а нельзя ли организовать вывод данных датчиков (хотя бы одного , двух) в статус бар с настройками : положение , шрифт , цвет , размер и т.д. ?
В ГУ высота статус бара достаточно велика , шрифт крупный и например температуру удобно видеть всегда , независимо от того , какое приложение запущено . |
vdsem, можно через Уведомления, например у меня arduino каждые 10 секунд присылает данные с датчика ds18b20 в виде:
Код:
|
Здравствуйте! Столкнулся с проблемой что не работает "Эмуляция клавиатуры [Root]". Планшет Samsung galaxy tab S 10.5, android 6.0.1, Root права получены и предоставлены. Приложение работает в связке с контроллером от YAM1966 и джойстиком iDrive. Подскажите, в чем может быть проблема?
|
Цитата:
Может, дело в самсунгах?))) |
При запуске появляется ли сообщение "Виртуальная клавиатура создана"? И нужно посмотреть результат команды (в терминале или 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:/ $ |
Цитата:
А по команде на что конкретно обратить внимание? |
Исходя из вышеизложенного на устройстве нет поддержки uinput. Но должен был сработать fallback из input keyevent *, что странно.
Попробуйте пока сделать действие для команд не "Эмуляция клавиатуры [Root]", а "Shell команда [Root]" и туда Код:
input keyevent * Явген, должна быть в списке клавиатура с именем 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 ругается . |
yuriy m, что менял уже не вспомню :) Надеюсь до конца апреля "выкачу" вторую версию.
vdsem, я думаю так: putString("data", "ВашеЗначение"); ну или без кавычек, если не получится напишите, я поставлю Automagic * Automation, гляну что там да как. |
Вложений: 1
vdsem, странно, вот мои настройки, test отправляется. У Вас триггер точно срабатывал?
|
DelleTenebre
СПАСИБО ! Разобрался , "дело было не в бобине" , поправили скетч и все пошло , мешало не совсем правильное понимание того , как все это работает . |
DelleTenebre есть пожелание, может в следующей версии или в переработанной программе. Добавить возможность в( настройки где ключ значение) ,во вкладке категория одновременная работа категории + оправка команды на контроллер.
Допустим заходим в категорию,выбираем к примеру приложение + возможность выбрать Отправить команду. Для чего нужно - допустим запускаю какое либо приложение и с этим приложением мне нужно подать определенную команду на контроллер. |
yuriy m, ну как простое решение можно создать две команды с одинаковыми ключ/значение - одна на запуск, вторая на отправку.
Я уже задумывался на счёт подобной фишки, но это прилично усложняет внутреннюю логику. |
Цитата:
З.Ы. Может подскажешь если знаешь, как отследить аудио поток в навигаторах яндекс или навител. Эти две "сволочи" в отличии от других плееров да и ютюба не запрашивают аудиофокус. Есть ли возможность отследить начало голосовой подсказки ? |
Часовой пояс GMT +4, время: 21:58. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot