Arduino и Android. Передача данных.

Тема в разделе "Arduino & Shields", создана пользователем Hlx, 12 янв 2012.

  1. Hlx

    Hlx Нуб

    Может кто нибудь дать самый простой пример передчи данных от Андроида к Арудино через USb Shield? То что я находил в интернете - достаточно сложные примере, с которыми я не смог разобраться.
     
  2. Hlx

    Hlx Нуб

    и почему когда я в арудион скетче делаю
    Код (Text):
    #include <AndroidAccessory.h>
    (сама библиотека есть) у меня не компилиться код.

    Код (Text):
    In file included from empty.cpp:2:
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:20:22: error: WProgram.h: No such file or directory
    In file included from empty.cpp:2:
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:31: error: 'MAX3421E' does not name a type
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:32: error: 'USB' does not name a type
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:37: error: 'EP_RECORD' does not name a type
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:41: error: 'USB_DEVICE_DESCRIPTOR' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:47: error: 'byte' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:48: error: 'byte' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:49: error: 'byte' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'byte' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:64: error: 'USB_NAK_LIMIT' was not declared in this scope
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h: In member function 'bool AndroidAccessory::isAccessoryDevice(int*)':
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:43: error: request for member 'idVendor' in '* desc', which is of non-class type 'int'
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:44: error: request for member 'idProduct' in '* desc', which is of non-class type 'int'
    D:\develop\Arduino\Arduino-IDE\arduino-1.0\arduino-1.0\libraries\AndroidAccessory/AndroidAccessory.h:44: error: request for member 'idProduct' in '* desc', which is of non-class type 'int'
    все библиотеки я скачал с гуглкоде, там был выложен arduino ide с набором библоитек для работы с usb.
     
  3. Hlx

    Hlx Нуб

    Код (Text):
    AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared
    Вот вроде эта ошибка основная и я вообще не пойму что это)) в интеренте инфы не нашол
     
  4. DmitryDzz

    DmitryDzz Нуб

    Ошибка из-за того, что Вы используете Arduino-1.0 (я прав?). Я тоже столкнулся с этой ошибкой, когда решил перевести свой скетч с Arduino-0022 на 1.0. Не было времени разбираться, сходу не получилось, и я просто оставил свой проект как есть. Да и нет смысла гоняться всегда за последней версией, если и так работает, а модификаций не предвидится.
    Могу порекомендовать Вам перейти на Arduino-0022. Видимо, надо подождать, пока не выйдет новая версия Accessory, поддерживающая Arduino-1.0.

    По поводу сложности примера от Гугла, совершенно с Вами согласен. Очень странная логика: сделать один сэмпл и запихнуть в него всё, что только можно! В моём проекте передаётся текстовая строка от Android к Arduino (с USB Host Shield) и обратно.
    Посмотрите мою статью на Хабре (http://habrahabr.ru/blogs/DIY/135043/). Там я описал какой я пример нашёл. Исходники моего проекта открыты: http://code.google.com/p/robot-mitya/.

    Будут вопросы, обращайтесь: тут, на Хабре или мне в блог (http://dmitrydzz-hobby.blogspot.com/ - авторизация не требуется). Удачи!