Передача данных от Android к Arduino через Bluetooth HC-05
- Войдите на сайт для отправки комментариев
Пт, 30/08/2013 - 14:37
Добрый день! Вчера приобрел в магазине ардуино нано и синезуб к нему. Сегодня проверил - все работает, но почему-то синезуб не принимает данные. Пользовался этой http://cxem.net/arduino/arduino64.php статьей, в ней неправильно указан пин 3.3 вольта, но это я исправил. В результате: синезуб обнаруживается, андроид сопряжается с ним и передает данные, но до ардуины данные не доходят (вообще не срабатывает Serial.available() ). Можете подсказать, с чем это может быть связано??
синезуб будет сопрягаться с андроидом даже если ему подать просто питание.
откуда вы знаете что данные доходят до синезуба и им принимаються?
каким способом вы посылаете данные из под андроида? терминал или готовая апликация?
как обрабатываете на стороне ардуины,правильно ли настроена скорось передачи данных на синезубе и ардуине.?
код в студию
Код главного активити на Андроиде
А вообще, я же привел ссылку на статью - все оттуда брал. Просто с андроидом пока не дружу, на iOS только писал.
Схема полностью из статьи, за исключением одного: в статье вместо 3.3В на Bluetooth выводится AREF.
Может быть, кто-нибудь подскажет, как для начала без андрюши обойтись? Можно ли, например, с компа отправить что-нибудь по байтам?
Если в компе есть блютуз,то конечно можно через его подключится.управлять через какой нибудь хипертерминал или консоль у ардуины
У меня по такой схеме не определяется устройство, поэтому вряд ли получится через консоль что-то получить. Да и не за чем. С лампой все ок, а при приеме данных я ставил ее "поморгать" - ноль реакции.
Если честно, не понял, что вы имеете в виду под "подключиться". Мне бы просто гарантировано отправить нолик или единицу, чтобы исключить ошибки андроида..
вам нужно удостовериться что скорость в serial.begin(9600) равна скорости передачи данных от синезуба к ардуине,для этого либо читайте описание на синезуб на сайте где покупали,либо ищите в маркете терминал с потдержкой отправки по синезубу(это в случае того если у вас в настольном компьютере нет синезуба) и читайте как изменить скорость последовательного порта синезуба посредстврм АТ команд.
Так же при помощи того же терминала хоть с комрьютера хоть с андроида можно посылать сточки любого содержания и соответственно обрабатывать в скетче адруино,так чтокакой то спец программмы на андроид которая только влключат и выключает светодиод не нужно,
Хм, прочитал в датащите, что пин-код по умолчанию "0000", а я при сопряжении указывал "1234" - это может быть причиной? (нет возможности проверить сейчас..)
Пароль оказался верным: "1234". Скачал Bluetooth terminal для андроида, проверил - все заработало. Значит, дело в коде приложения для андроида, буду разбираться, всем спасибо!!!
Добрый день!
Проблема с тем же кодом, но другого плана, ардуино и андроид обмениваются данными, диод загорается, но вот приём ответного слова от ардуино работает через раз. То есть в телефоне принимается то нормальная строка ответного слова, то её часть, то комбинация кусков из сообщения, то вообще один символ. Никак не могу понять в чем дело. При обмене данными ардуино и компьютера через терминал вроде бы все нормально. У меня подозрения на неправильное определение конца сообщения или же неочистку приемного буфера.
Заранее спасибо за помощь
Попробуй также - через терминал, у меня все строчки полностью приходили. Думаю код кривой, надо разбираться и самому писать.
Все оказывается ещё интересней. Попробовал через приложение bluetooth terminal из маркета, которое якобы модифицированный блютуз чат и сэмплов приложений sdk. Все работает просто идеально, команда, на неё приходит ответ в виде строки, которую я задал в скетче ардуино. Попробовал установить сам блютуз чат, так в ответ на мою команду с телефона приходит 4 нарезанных кусками сообщения, как и в исходном коде темы. Просто там я видел только последнее сообщение, а здесь вижу, что в ответ на мою команду их приходит куча целая
Столкнулся с проблемой -при подключении к Windows 7 -винда сама устанавливает код для подключения модуля, нет графы с вводом своего кода подключения.
у меня тоже самое, что посоветуете, как ришить проблему?
все обнруживет только нет передчи н ардуино
скорость поменяйте на 38400
вот тут -> Serial.begin(9600); // инициализация порта
так же проверьте правильно устапновлена скорость на самом модуле(подключить к ардуино и AT командой)