Последовательный bluetooth для Roomba iRobot

#c #bluetooth #vhdl #fpga #xilinx

#c #bluetooth #vhdl #fpga #xilinx

Вопрос:

Так что, возможно, я сделал что-то ОЧЕНЬ глупое

Я согласился на проект, в котором Roomba управляется через Bluetooth. Я думал, что все было хорошо и хорошо, НО мне не разрешен компьютер для конечной системы.

Вместо этого мне разрешена плата Xilinx Virtex II Pro.

Я планирую купить последовательный адаптер bluetooth и аксессуар iRobot для улучшения связи. Я надеюсь, что это будет примерно так же сложно, как отправлять сообщения через последовательный порт (и мне не придется иметь дело со слишком большим количеством низкоуровневого программирования сокетов, но если мне нужно, я должен).

Мой вопрос в том, кто-нибудь делал что-то подобное этому? Кто-нибудь может порекомендовать учебное пособие, веб-сайт или конкретный продукт?

Я собираюсь купить это: http://store.irobot.com/product/index.jsp?productId=2649971

http://overlandresource.com/wp-content/gallery/images/bluetooth-serialconverter.png

Кто-нибудь может порекомендовать что-нибудь получше? Кто-нибудь может сказать мне, в чем проблема, с которой я столкнулся? Действительно, ЛЮБОЙ совет был бы хорош.

Чтобы уточнить, этот проект должен быть на C и VHDL как C.

Комментарии:

1. Последовательная связь в VHDL проста. Для более сложных протоколов вам может понадобиться программный процессор, я думаю, Virtex должен быть в состоянии справиться с ним просто отлично.

2. Я на самом деле никогда не пробовал это с VHDL, мой план состоял в том, чтобы сделать это на C, но, черт возьми, никогда не помешает изучить новый трюк.

Ответ №1:

Вы можете в значительной степени просто подключить и воспроизводить модуль Bluetooth, который будет выполнять профиль последовательного порта, например, он выглядит и работает как последовательный порт, вплоть до подключения к модулю типа RS-232.

Например, я играл с модулем RN-42 от RoHS, и он работает довольно хорошо. Я уверен, что есть и другие.

Однако вам придется каким-то образом соединить два конца соединения Bluetooth. Может потребоваться, чтобы один конец знал фиксированный номер PIN-кода другого конца. Это будет зависеть от модулей, которые вы в конечном итоге используете.

Также не ожидайте высоких скоростей передачи данных.

Комментарии:

1. Ваша уверенность вселяет уверенность! Я думал, что меня облили из шланга, но это заставляет меня чувствовать себя намного увереннее в этом проекте. Спасибо!

2. RN-42 производится Roving Networks. Отличное устройство. (RoHS является стандартом для производства без свинца)

3. Спасибо за исправление. Я инженер по SW по профессии, и я обжигаюсь паяльником всякий раз, когда пробую что-то из этого хитрого HW.

Ответ №2:

Поэтому я надеюсь, что мой ответ не слишком запоздал, но здесь есть отличный учебник, в котором рассказывается ИМЕННО о том, что вы ищете:

http://www.robotappstore.com/Knowledge-Base/1-Introduction-to-Roomba-Programming/15.html

Он выполняет настройку, связь и базовое использование команд roomba SCI. Что замечательно в roomba, так это то, что вы можете использовать любой язык, который пожелаете, чтобы фактически обрабатывать все ваши сложные вычисления, а затем просто отправлять свои команды движения в roomba.

Управлять roomba довольно просто, просто настройка — самая сложная часть. Другая неприятная вещь заключается в том, что команды roomba не представлены в виде простых символов ASCII, а отправляются в байтовой форме. Как только вы преодолеете это, это будет легко.

Надеюсь, это поможет!

Комментарии:

1. Боюсь, вы немного опоздали (примерно на 6 месяцев), но я смог заставить все это работать нормально. Я смог использовать последовательный адаптер Bluetooth и использовать printf() для отправки команд. Работал как ветер. Но спасибо за усилия. Проголосуйте!