Большинство устройств Android и Arduino не могут общаться друг с другом, когда они прямо "из коробки" - необходимо добавить дополнительное аппаратное и / или системное программное обеспечение.
У вас есть несколько вариантов
0) Bluetooth довольно чистый и теперь стоит $ 20, так что это один из самых экономически эффективных решений и один из наименее вероятных рисков повреждения оборудования телефона - но вы сказали, что не хотите этого.
1) Некоторые телефоны, такие как G1, имеют низковольтные последовательные порты, которые можно включить, установив [root] и настроив ядро.Вам понадобится схема преобразования уровня в качестве выходного напряжения Arduino, в то время как низкий уровень все еще слишком высок для телефона.Вам также понадобится подключить специальный разъем HTCUSB, либо изменив полный адаптер гарнитуры, либо получив его откуда-то, например, от sparkfun.
2) Некоторые телефоны могут функционировать в качестве хостов usb путем [рутирования и] установки настроенного ядра,Они не обеспечивают питание шины USB, но с Arduino у вас все открыто, поэтому подключение отдельного источника питания должно быть довольно простым.Несколько последних планшетов имеют USB-хост режим из коробки. Редактировать: в более поздних версиях Android могут быть доступны API-интерфейс USB-хоста без полномочий root и питание шины USB, но это зависит от модели и не согласовано .
3) Вы можете использоватьUSB-хост на Arduino, и если устройство работает под управлением Android 2.3.4 или более поздней версии, используйте официальный протокол Gooogle ADK для общения с программным обеспечением на устройстве Android;Если версия для Android более ранняя, существуют неофициальные проекты, которые используют протокол ADB и должны работать с большинством устройств (возможно, с небольшими изменениями).Оба предназначены для того, чтобы оставаться в непривилегированном пользовательском пространстве на устройстве Android - без рута, без модификаций ядра.
4) Вы можете создать модем с низкой скоростью передачи данных и общаться с устройством Android через разъем для гарнитуры, используяпрограммный модем на стороне андроида.
5) Вы можете поставить беспроводной экран Ethernet на Arduino