2013-10-06 2 views
0

Я написал простую прошивку для arduino, чтобы реплицировать все входящие данные, которые он получает на последовательный последовательный выход. Что-то вроде этого: int serialData = 0;Arduino распознается как клавиатура от android

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

void loop() 
{ 
    if (Serial.available() > 0) 
    { 
    serialData = Serial.read(); 
    Serial.println(serialData); 
    } 
} 

Теперь я хотел это подключиться к Nexus 7 работает на Android 4.3 с помощью microUSB-> OTG кабель + USB-> MicroUSB кабель. Я установил приложение последовательного монитора (https://play.google.com/store/apps/details?id=jp.ksksue.app.terminal&hl=en) и ожидал, что он будет записывать на него последовательные данные.

Как только я подключил это к планшетному ПК, я получил уведомление о клавиатуре. Android распознает это соединение как клавиатуру. Это разрушает клавиатуру Android, поскольку она обнаружила внешнюю клавиатуру. однако я получаю возможность вставить в поле ввода. Кажется, что это работает.

Можно

  • отключить монтаж клавиатур в андроиде. Или
  • Создание arduino признается как нечто иное, чем клавиатура.

ответ

0

Обходной путь к этой проблеме заключался в установке другого приложения для клавиатуры, такого как клавиатура Go или swype. Это приводит к уведомлению о подключении arduinp к устройству Android, откуда вы можете отключить внешнее оборудование и переключиться обратно на экранную клавиатуру. Не стойкий, но работает!

0

Я думаю, у вас есть Леонардо, не так ли?

AFAIK вы не можете отключить KeyboardEmulation но вы можете попробовать одно из следующих действий:

  • Используйте USB -> Последовательный кабель и использовать второй последовательный порт вашего Леонардо
  • Если у вас есть внедренный Телефон, попробуйте отключить USB Keyboarddriver с помощью ADB или Shell Emulator
  • Изменение Arduino прошивки и удалить Emulation часть (если у вас есть еще один Arduino, чтобы перепрограммировать Леонардо)

Я думаю, что все, что вы можете сделать.

+0

обходной путь, если я установить другое приложение клавиатуры, как идти или Swype, то я получаю уведомление, чтобы выбрать метод ввода. оттуда я могу отключить внешнее оборудование, и это возвращает мою клавиатуру. Работает на меня! – whizzzkid

2

Edit /usr/share/arduino/hardware/arduino/cores/arduino/USBDesc.h и закомментируйте строку

#define HID_ENABLED 

так, что он читает вместо:

/* #define HID_ENABLED */ 

Этот является частью кода, который скомпилирован в каждый эскиз, чтобы включить поддержку USB, и это изменение предотвратит компиляцию поддержки HID в будущие эскизы. Для записи изменений в файл вам потребуется root или использовать sudo. (Необходимо ли перезапустить среду Arduino после внесения этого изменения? Не уверен.) В Windows или OS X вам нужно выяснить, где находятся файлы поддержки Arduino и редактировать аналогичный файл.

Ключевые слова: Android мягкая клавиатура отключена в то время как Arduino подключен

+0

попробует это, давайте посмотрим, как это происходит! .. – whizzzkid

Смежные вопросы