roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 фев 2025, 06:02

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 31 янв 2012, 13:56 
Не в сети

Зарегистрирован: 13 сен 2010, 12:47
Сообщения: 317
Добрый день!
Сейчас в устройстве использую модуль блютус от INEX (IE-ZX-BLUETOOTH). Само устройство на Ардуино управляет DC моторчиками - управление идет через смартфон на Андроид.
Алгоритм такой:
С телефона идет команда, например "A100", что значит - мотор А прокрутить на 100 единиц. Далее телефон ждет ответа от ардуины - символ "O" (Serial.print("O")), что говорит о том, что команда выполнена и можно слать следующую команду.
Проблемма как раз в том, что в одном испытании из 20 этот символ "O" до телефона не доходит. Причем связь по bluetooth не рвется.
Приложение для Android написано на основе примера BluetoothChat. Пока сделал кнопку на телефоне, чтоб можно было вручную перейти к следующей команде, но это конечно не совсем то, что хотелось.
Если бы дело было в чем-то еще, а не в символе О, то продолжение работы было бы невозможно. Программа бы зависала или еще что-то, а в данном случае все нормально.
Пока из идей:
1 это особенность платформы Андроид (блютус там конечно очень кривенько реализован) и ничего не поделаешь
2 попробовать поменять модуль блютус на другой, но этого не хотелось бы, так как устройство спроектировано с посадочными отверстиями под этот модуль
Может еще какие идеи будут? Наверняка кто-нибудь пробовал управлять роботом с Андроида - поделитесь результатами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 31 янв 2012, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А что за программа проита в Ардуину? Можете ее привести? Я склоняюсь именно к тому что в ней может быть ошибка.

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 31 янв 2012, 15:54 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
очень сомнительно что символ теряется...
я бы тоже посоветовал перепроверить ардуину как наиболее глючный компонент.

ардуина с модулем на какой скорости общается? есть возможность переконфигурировать модуль на другую скорость?

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 31 янв 2012, 17:48 
Не в сети

Зарегистрирован: 13 сен 2010, 12:47
Сообщения: 317
Скорость 9600. На счет перепрограммирования не уверен. Скорее всего нет.
В коде тоже не очень-то сомневаюсь, так как приложение из примеров SDK - BluetoothChat называется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 31 янв 2012, 18:22 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
это для андроида пример, никто не сомневается что он работает.
мы же просим привести код для дуни или хотябы самому внимательно его посмотреть ибо дуня та ещё глюкало.
насколько обширна сама программа? при нехватке памяти дуня глючит произвольным образом...
насколько хорошо модуль подключен к самой ардуине?

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 01 фев 2012, 00:07 
Не в сети

Зарегистрирован: 13 сен 2010, 12:47
Сообщения: 317
Программа простая - нет ни прерываний, ни больших объемов памяти.
Заменил модуль на BlueSMiRF Silver и пока проблемма не проявляласть. Я мало еще экспериментов провел, чтоб окончательные выводы делать, но похоже что дело в модуле, а мне он так нравился своей простотой и размерами (
Но к сожалению появился новый глюк, так же редко проявляющийся - иногда данные передаются с задержкой 5-10 секунд, но это еще можно объяснить какой-нибудь помехой и в целом допустимо.
А про дуню вы как будто накаркали - один раз вдруг начала подвисать, все выполняется, но с огромными задержками. Помог ресет и вроде больше такого не происходило. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 01 фев 2012, 13:24 
Не в сети
Аватара пользователя

Зарегистрирован: 07 ноя 2011, 12:10
Сообщения: 23
Откуда: СПб
Skype: anotherrain
прог. языки: C, C++, Delphy
У меня модуль BTM 112 и Arduino nano, с помощью которых вертолет управляется с андроида. Команды посылаю, кстати, по такому же принципу как и вы, А100В50С20... (казалось наиболее просто реализуемо), проверок нет, в ответ контроллер шлет то, что принял и еще данные с гироскопа. Команды отправляются с частотой один раз в 10мс, по таймеру android'a. Сталкивался с проблемой зависания проги, либо, иногда, с потерей символов, при этом до arduino доходит, например команда "A"... дальше байт потерян, и поступает символ "B", что воспринимается как А66 :) и, собственно, вертолет потряхивает. Ввел задержку в прошивке контроллера 9мс и вроде стало нормально, но что это было так и не разобрался до конца (может буффер переполняется? хотя я его очищаю периодически flush'ем). Скорость 19200бод.
При этом изменение велечины задержки +/- опять приводит к тем же проблемам.
И, кстати,видимо передача по bluetooth не гарантирует полную сохранность данных, сбои бывают. Но если у вас только "О" постоянно теряется, может с этим символом что-то не так? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 02 фев 2012, 00:46 
Не в сети

Зарегистрирован: 13 сен 2010, 12:47
Сообщения: 317
Ну "О" это раньше было "ОК" просто сама программа для Android (это моя первая прога, поэтому я там далеко не все знаю) иногда принимает ОК как целую строку, а иногда как 2 отдельные строки "О" и "К", поэтому сократил до одной буквы.
Сегодня еще огромное чило тестов было - BlueSMiRF ниразу не дал сбой. Разве что иногда задержки бывают, но это фигня по сравнению с потерянным символом. Так что дело в самом модуле было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль блютус + Android - пропажа символов.
СообщениеДобавлено: 02 фев 2012, 14:01 
Не в сети
Аватара пользователя

Зарегистрирован: 07 ноя 2011, 12:10
Сообщения: 23
Откуда: СПб
Skype: anotherrain
прог. языки: C, C++, Delphy
Круто, что замена модуля решила проблему!
Кстати, можно читать из буфера serial port'a в android, только если там 2 и более символов, например пришло два байта, если это "ОК" - работаем. Так и символы, возможно, не будут теряться. Хотя наверное вы так и делаете. :)
У меня, когда все начало уже работать, тоже внезапно появились сбои, прога висла, символы исчезали... Оказалось на линии RX модуля, где я сваял конвертер уровней, отвалился резистор. Случайно обнаружил, думал в программировании косяк.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO