четверг, 12 июля 2012 г.

Запуск софта для управления роботом

Итак для управления роботом у нас Windows-приложение, Android-приложение и Arduino-скетч. Как это всё установить, настроить и проверить?


Установка и проверка Arduino-скетча

Bluetooth-модуль использует те же пины контроллера (цифровые 0 и 1), что и Serial-интерфейс. Поэтому для заливки скетча Bluetooth-модуль придётся отключить. Скетч можно загрузить с сайта проекта.

для компиляции потребуется библиотека IRemote ! скачайте и положите сожержимое архива в папку Arduino\libraries\

Загруженный в контроллер скетч полностью работоспособен и без Bluetooth-модуля. В этом случае обмен сообщениями будет производиться по USB-Serial-каналу. Для проверки скетча можно запустить терминальное окно из IDE Arduino. Перед вводом команд нужно убедиться, что терминал настроен на 9600 бод и ввод команд производится "Без окончания строки". См. рисунок:



Теперь можно вводить команды (сообщения). Например, при передаче сообщения "I0001" должны включится фары робота. Фары управляются 13-ым цифровым пином контроллера, поэтому при установке высокого уровня на этом пине зажигается и светодиод на контроллере. Командой "I0000" можно отключить светодиод (фары). Т.е. так можно проверить скетч и без подключения периферии к контроллеру.

При вводе сообщения, скетч распознаёт каждые подряд идущие 5 символов как очередное сообщение. Поэтому если Вы ввели по ошибке, например, 6 символов, первые 5 будут считаться законченным сообщением, и скетч попытается выполнить его, а 6-ой символ будет сохранён как первый символ следующего сообщения. Если следующим сообщением ввести правильную пятисимвольную команду, то скетч возьмёт от неё только первые 4 символа, прибавит к тому первому и постарается выполнить. Наверняка у него ничего не получится и он выведет в окно терминала код ошибки. И так будет продолжаться, пока мы будет вводить пятисимвольные сообщения дальше. Прекратить это безобразие можно двумя способами: кнопкой reset на контроллере, или вводя по одному нецифровому символу, пока терминал не примет сообщение об ошибке.

Android-приложение

Android-приложение "RoboHead", управляет роботом и обеспечивает связь между ПК и телефоном с одной стороны, и телефоном и контроллером робота с другой стороны. Перед его установкой нужно поколдовать с телефоном (рутовать не понадобится). Что надо сделать:
1. На телефоне необходимо разрешить установку приложений не из Android маркета.
2. Включить Bluetooth и WiFi в телефоне.
3. Установить контроллер робота как парное устройство. Для этого надо отключить Serial-кабель и установить Bluetooth-модуль в контроллере робота, включить контроллер. Внимание! Режим ввода AT-команд на Bluetooth-модуле контроллера должен быть отключен. Теперь придётся установить приложение amarino на телефон. В play.google.com его что-то пока нет. Запускаем amarino и жмём "Add BT Device". В списке "Discovered Devices" должен быть обнаружен Bluetooth-модуль робота. Обычными средствами (поиск BT-устройств в Windows, другим телефоном) найти этот модуль вряд ли получится. Как я понял BT-профиль SPP для них экзотика или дурной тон. Обязательно выписываем MAC-адрес обнаруженного устройства. Он понадобится позже. Выбираем найденное устройство,
жмём Connect. Телефон предложит сделать устройство парным и запросит код. Вводим код "1234". Для проверки пробуем соединиться прямо из amarino.Странно, но на Android 2.3.3 у меня соединиться удалось только после перезапуска телефона. То же самое на Android 4.0.3 заработало сразу.
4. Установить приложение IP Webcam на телефон. Включить WiFi в телефоне. В настройках приложения выбрать ландшафтную ориентацию, поставить галочку на "Использовать переднюю камеру" (если есть, конечно), порт оставить 8080 (можно и другой, но тогда его надо запомнить, позже понадобится), включить разрешение передачи звука и поставить запрет на переход в режим ожидания. Жмём "Запустить". Потоковая трансляция видео и звука началась.
5. Проверка потоковой трансляции аудио и видео от IP Webcam. Проще всего проверить трансляцию в браузере. В адресной строке вводим: "https://<IP-адрес телефона>:8080". Откроется страничка "Сервис камеры смартфона". Там кликаем на "Использовать встроенный в браузер просмотрщик MJPG (есть не во всех браузерах)" и убеждаемся что видео отображается. Звук будет значительно отставать, это нормально – кэширование браузера.
6. Установить приложение RoboHead на телефон. Открыть, нажать кнопку "Настройки". "Порт для ПК" можно оставить без изменений (51974). В поле "MAC-адрес робота" ввести MAC-адрес Bluetooth-модуля контроллера робота.
7. Для проверки RoboHead жмём кнопку "Запуск". Появляется мордочка, а через секунду за ней по периметру можно будет увидеть видео с камеры телефона. Значит в фоне заработал IP Webcam. Теперь нажимаем кнопку вызова меню на телефоне и выбираем пункт тест. В открывшемся меню включаем/выключаем фары, наблюдаем на светодиодом 13-го пина на контроллере робота. Проверяем видео в браузере.

Windows-приложение

Пост не закончен...

Microsoft XNA Game Studio 4.0
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=27599
Error loading "CourierNew". File not found.
vlc не x64!

Для просто запуска (без компиляции) достаточно установить Microsoft XNA Framework Redistributable 4.0 и VLC.

1 комментарий:

  1. по вопросам сборки или настройки софта - пишите в комментариях или почтой, звоните в скайп - поможем!

    ОтветитьУдалить