Показать сообщение отдельно
Старый 10.10.2015, 15:04   #139
Maniac82
Старший Пользователь
 
Регистрация: 17.05.2011
Возраст: 41
Город: Новокузнецк
Регион: 42
Машина: Murano
Сообщений: 131
Maniac82 is on a distinguished road
По умолчанию

Цитата:
Сообщение от murano Посмотреть сообщение
1. В ардуино отправляешь данные вида:
Serial.print("<data:");
Serial.print (tempa);
Serial.print("#");
Serial.print(tempb);
Serial.println(">");
Можно отправлять данные как у автора RemoteInputsMgr по отдельности, но так, как мне кажется, немного сложнее в их отлавливании таскером. Но в некоторых случаях только такой вариант реализации возможен, например, для передачи данных температуры и реализации резистивных кнопок чтобы отсеивать информацию с кнопок.
2. На планшете в RemoteInputsMgr выбираем USB соединение и устанавливаем скорость обмена как в ардуино.
3. В таскере создаем профиль-событие-система-Intent Received. В поле действие пишем org.kangaroo.rim.action.ACTION_DATA_RECEIVE. Идем назад на вопрос - выбираем или создаем новую задачу, например, arduino.
4. В задаче:
4.1 Нажимаем плюс-переменная-установить переменную:
Имя: %имя (любое имя)
До: %org_kangaroo_rim_device_extra_args
4.2 Плюс-переменная-расчленить переменную:
Имя: имя из п.4.1
Разделитель: разделитель из строки посылаемой ардуино. В нашем случае - #
4.3 Ecли данные из ардуино посылаем по отдельности, то в задаче нужно отслеживать переменную %org_kangaroo_rim_device_extra_command. Аналогично п.4.1 читаем ее. Например, переменной %Com присваиваем ее значение и сравниваем, например, с "tempa". Если %Com=tempa, то выполняем какие-то действия с данными %org_kangaroo_rim_device_extra_args.

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

5. Открываем Overlas-плюс-название профиля-add-виджет-zooper-виджет нужного размера-назад и нажать на имени созданного виджета, чтобы OFF поменялось на ON. Выходим из программы. На экране тапаем по виджету, открывается редактор. Создаем что нужно. В поле дополнительные параметры выбираем таскер и пишем #Txxx#, Ok. XXX - имя переменной. Выходим из редактора. В overlays отключаем виджет. При необходимости там же в настройках отключаем возможность реакции при нажатии на него.
6. В таскере в ранее созданной задаче.
Плюс-плагин-zooper-конфигурация(карандаш):
ZW переменная: переменная из редактора zooper (XXX)
ZW текст: имя из п.4.1 Если данные из ардуино посылаются все сразу, то к имени нужно дописать порядковый номер передаваемых данных (1,2,...). Их можно посмотреть во вкладке VARS.
Сохранить.
7. Создаем новую задачу, например Overlays on.
Плюс-плагин-overlays-конфигурация(карандаш)-созданный виджет-вкл.
8. Запускаем задачу Overlays on и в виджете должна отображаться информация.
Ничего понять не могу!
Пишу чисто для примера в порт:
serial.println("<temp:25>")
Через каждую секунду.
Программа сама отрбражает что пришло, но Таскер никак не хочет снимать значение в переменную! Хотя интент вроде принимает, так как список переменных мигает каждую секунду, но в значениях сами имена переменных!

TempRead (9)
A1: Установить перем. [ Имя:%Temp До:%org.kangaroo.rim.device.EXTRA_ARGS Вычислить матем. выраж.:Выключить Добавить:Выключить ]

Явно Где-то косячу наверное, но где?
Maniac82 вне форума   Ответить с цитированием