Как заставить Android и Arduino общаться без беспроводного модуля - PullRequest
3 голосов
/ 26 мая 2011

Я разработал приложение Arduino, в котором я могу управлять LED 13 через последовательный монитор.

То есть

  • если я наберу 0 в последовательном мониторе, загорится светодиод на выводе 13 и
  • если я набираю 1 на последовательном мониторе, светодиод гаснет.

Теперь я хочу сделать все это с моим телефоном на Android. У меня есть следующие проблемы:

  • Как, прежде всего, создать сервер PHP, чтобы все это работало
  • Как открыть локальный хост на моем устройстве Android, чтобы он работал как локальный сервер
  • Как заставить сервер взаимодействовать с последовательным портом

Я не прошу весь код и проект, а просто покажу мне путь, и со мной все будет в порядке.

Ответы [ 2 ]

5 голосов
/ 26 мая 2011

Большинство устройств 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

3 голосов
/ 26 мая 2011

У меня нет опыта работы с Arduino лично. Но у парней из Cellbots есть много проектов, которые используют телефоны Android в качестве мозга для маленьких роботов, и в большинстве из них они используют Arduino. Все с открытым исходным кодом, и вы могли бы найти примеры, которые помогут вам там.

...