Рабочий Android с Arduino
Кто-нибудь пытался заставить Android и Arduino общаться друг с другом?
Я нашел несколько проектов онлайн:
Что вы, ребята, считаете лучшим способом заставить этих двоих общаться?
6 ответов
Либо создайте последовательный кабель для своего телефона Android, как этот для G1, http://www.instructables.com/id/Android-G1-Serial-To-Arduino/.
Или добавьте модуль Bluetooth к вашему Arduino,
или используйте Ethernet-щит для вашего Arduino и подключайтесь через TCP/IP.
Какой из них использовать, зависит от вашего проекта и вашего бюджета. Я не знаю, существует ли опция последовательного кабеля для телефонов, кроме G1. Преимущество модуля Bluetooth заключается в том, что он является беспроводным как для Arduino, так и для телефона, и используя Ethernet-экран, вы можете сделать Arduino доступным по всему миру, используя переадресацию портов на брандмауэре.
Я работаю с Амарино с тех пор, как они начали, и с тех пор у меня не было проблем. Однако у меня нет опыта работы с другими проектами, так как я работал только с одним.
Это два моих любимых устройства с открытым исходным кодом. Путь к тому, чтобы не присоединиться к универсалу iPhone. Это действительно радует меня, когда есть кто-то, кто берет на себя инициативу пойти дальше и дальше, потому что это показывает, что вы думаете о долгосрочной перспективе. Большинство людей этого не делают.
Решение этой проблемы - заставить Arduino выступать в роли USB-хоста и использовать протокол Android Debug Bridge (ADB). Это работает с любым стандартным Android-устройством. Больше информации здесь:
Ваши варианты, кажется, сводятся к соединению двух через последовательный интерфейс или через Bluetooth (я предполагаю, что вам понадобится либо экран Bluetooth, либо что-то подобное). В Интернете есть много ресурсов, посвященных настройке Arduinos с обоими из них.
Вы также можете настроить какой-либо базовый сервер на Arduino и подключить телефон к нему через консоль, или через специально определенный интерфейс на телефоне, или даже через веб-интерфейс. Похоже, что на Android/Arduino управляют лишь немногие разработки роботов, возможно, взгляните на них.
Без каких-либо дополнительных идей о том, что вы собираетесь делать после того, как они будут связаны, трудно быть более конкретным, хотя, если вы рутируете свой телефон Android, вы сможете установить на него урезанную версию Debian, а затем вы сможете для apt-get установите различные пакеты. Имея это в виду, становится мало разницы между подключением вашего Arduino к компьютеру и подключением к вашему телефону Android.
[РЕДАКТИРОВАТЬ]: Если ничего другого, вы можете сделать Arduino на основе одного из них: Android Controlled Statue.
Мне понравился ответ Николауса. Я думаю, что лучший способ подключения - это написать сервер TCP/IP в Arduino (пример легко найти в интернете) и использовать либо Ethernet Shield (~10U$S), либо Wifi Shield(~10U$S), Сервер TCP/IP для обоих решений использует один и тот же код, единственное отличие - INIT.
Мобильность: если вы хотите, чтобы Arduino был в движении, купите Wi-Fi.
Статический: Если вы статичны и хотите управлять только с телефона Android, используйте экран ETH (более низкая стоимость).
Адриан
Я слышал, что кто-то говорил об этом раньше, и они пытались сделать это через USB, но они заявили, что проблема в том, что Android не полностью поддерживает USB Host. Если это единственная проблема, кажется, что портирование через драйверы USB-хоста должно быть достаточно простым?!?! Может быть, я сильно упрощаю это.