#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() для отправки команд. Работал как ветер. Но спасибо за усилия. Проголосуйте!