Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа bluetooth модулем BLE112
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
lknv_a
Здравствуйте! Для себя сейчас делаю один проект. Точнее, устройство работающее через Bluetooth, использую модуль от финской компании Bluegiga BLE112. Уже давно с ним мучаюсь, сейчас вот какая проблема.
Сделал для модуля плату, припаял его туда, подключил к этому делу Debugger CC, успешно прошил модуль своей прошивкой. Организовал питание для модуля от Debugger'а. Проблема заключается в том, что Bluetooth модуль не обнаруживается другими устройствами. Только очень иногда компьютером и то через раз.
Странно то, что в свою программу свою добавлял такие строчки (из их Datashhet'а) для обнаружения и подключения BLE112, но все равно модуль не обнаруживается другими устройствами:

Код
dim connected
#   start/boot listener System
event system_boot(major,minor,patch,build,ll_version,protocol,hw)
   # Device is not connected yet
   connected = 0
   # Set advertisement interval to 20 to 30ms. Use all advertisement channels
   call gap_set_adv_parameters(32,48,7)
   # Start advertisement (discoverable, undirected connectable) generic
   call gap_set_mode(2,2)
end

# Connection event listener
event connection_status(connection, flags, address, address_type, conn_interval, timeout, latency, bonding)
   # Device is connected.
   connected = 1
end


Может я что-то не так сделаю? А то в рунете даже не с кем поэтому поводу пообщаться, надеюсь, что здесь найду единомышленниковsm.gif
kovigor
Цитата(lknv_a @ Sep 21 2013, 13:07) *
Проблема заключается в том, что Bluetooth модуль не обнаруживается другими устройствами. Только очень иногда компьютером и то через раз.

С антенной все в порядке ? И на каком расстоянии модуль "не обнаруживается" ?

P.S. Посмотрел, у него встроенная чип-антенна. Такие антенны, как правило, весьма далеки от совершенства. Итак, расстояние в студию ...

Вот, я вот с этими модулями очень много работал, и съел всех полагающихся при этом собак:

http://sena.com/download/datasheet/ds_promi_esd.pdf

И первого, и второго класса. У обоих чип-антенны. Для первого класса производитель заявляет 30 метров. На самом деле в городской квартире устойчивая связь достигается в пределах комнаты, не более того. Для второго класса заявлено уже 100 метров. Опять же, в обычной многоэтажке, чтобы связь оборвалась, достаточно выйти из квартиры и спуститься этажом ниже. Так что не тешьте себя иллюзиями. Если нужно достичь большего расстояния, потребуется внешняя антенна ...

Ах, да, питание проверьте. Мои модули в режиме передачи могли запросто потребить до сотни мА. Возможно, ваш источник питания не может дать нужной мощности.
lknv_a
Расстояние - модуль лежал около компьютера)

А насчет, питания, я более чем уверен, что ему хватает 3.3 V напряжения (и в даташите к нему такое питание указано вроде), он потребляет всего 27 ма/ч
kovigor
Цитата(lknv_a @ Sep 21 2013, 15:51) *
он потребляет всего 27 ма/ч

"Блажен, кто верует ..."
"27 ма/ч" (кстати, правильно так: "27 ма*ч") - это совсем не потребляемый ток. Амперметр может показать вам несколько другие цифры. При работе на передачу ток может быть гораздо больше, чем 27 мА, и легко превысить, например, 100 мА. Если ваш источник не может обеспечить такой ток, или питание к модулю подведено тонкими длинными проводочками, ждите проблем. Я бы подключился осциллографом к линиям питания и земли самого модуля и посмотрел бы, что там творится.

Да, на таком расстоянии все обязано работать нормально ...
lknv_a
Цитата(kovigor @ Sep 21 2013, 20:26) *
(кстати, правильно так: "27 ма*ч")

Спасибо, учту.
Питание подано через СС Debugger (от USB компьютера через Debugger) к модулю, так что питания в любом случае должно хватать.
Вот как сделано: фото

А может все же с программой что не так, я уж думаю?
kovigor
Цитата(lknv_a @ Sep 21 2013, 19:10) *
так что питания в любом случае должно хватать.
Вот как сделано:

1. Ненавижу гадать. Никто никому в нашем инженерном деле ничего не должен. Осциллографом гляньте, тогда и говорить можно будет более
обоснованно.
2. Так бы сразу и сказали, что у вас плата утюгом сделана. Качество жуткое. Результат применения такой платы может быть в принципе любым
- "поеденные молью" дорожки и невидимые глазом коротыши-"волосики" между дорожками еще никому здоровья не добавляли. А если на такую
плату монтировать корпуса с выводами на брюшке, как вы смонтировали, то это вообще капут. Плату в контейнер (мусорный), и сделать все
по-новому, как полагается. В крайнем случае - исследовать эту страхолюдную плату под настольной лампой, дополнительно вооружившись
мощной линзой ...
3. Отсутствие развязывающих керамических конденсаторов на плате тоже не есть гут, поверьте ...
4. Дорожки питания и земли - длинненькие, тоненькие, дохленькие. Не будет эта плата работать нормально, а на ВЧ - не будет тем более.
В контейнер ее, и поскорее ...
lknv_a
Спасибо за обоснованную критикуsm.gif
Буду проверять питание сегодня на самом Bluetooth модуле. Как все сделаю - отпишусь сюда.
kovigor
Цитата(lknv_a @ Sep 22 2013, 05:51) *
Как все сделаю - отпишусь сюда.

Хорошо. Линии питания и земли продублируйте медными навесными проводниками. Лучше - толстыми.
И фильтрующую керамику между этими линиями добавьте, например, 0.01 и 0.1 мкФ возле самого модуля.
Но все равно плату придется переделывать ...

И картинку сделайте меньше, раза в два, как минимум. И так ясно, что там и к чему. А то придет модератор
и будет делать замечания sm.gif
lknv_a
Цитата(kovigor @ Sep 22 2013, 10:23) *
Хорошо. Линии питания и земли продублируйте медными навесными проводниками. Лучше - толстыми.
И фильтрующую керамику между этими линиями добавьте, например, 0.01 и 0.1 мкФ возле самого модуля.
Но все равно плату придется переделывать ...

И картинку сделайте меньше, раза в два, как минимум. И так ясно, что там и к чему. А то придет модератор
и будет делать замечания sm.gif


Хорошо, понял) Спасибо за помощь!
lknv_a
Отчитываюсь: все проверил питание на модуле есть, все с этим нормально.
А вот такой не может быть проблемы: после того как я прошил модуль, отцепил его от Debugger'а и подключил питание, прошивка после отключения энергии "слетает"?
kovigor
Цитата(lknv_a @ Sep 22 2013, 14:01) *
Отчитываюсь: все проверил питание на модуле есть, все с этим нормально.
А вот такой не может быть проблемы ...

Знаю, что есть. Я о его качестве. Смотрели ?
Посмотрел документацию. Эти модули есть двух типов -
со встроенной антенной и с внешней. У вас какой ? Если с внешней, то все ясно.
Кстати, в документации есть четкие указания по разводке ПП для этого модуля. Смотрели ?
https://www.bluetooth.org/tpg/RefNotes/BLE112_Datasheet1.pdf

Прошивка там, как я понял, во Flash хранится, и слетать не должна, если нет проблем с питанием. У вас же
сама ПП сделана кое-как, и излучаемые модулем сигналы вполне могут наводить в ее проводниках вообще что угодно.
Конечно, этому как нельзя лучше способствует тот факт, что на таких частотах длина волны вполне сравнима с длинами
проводничков на ПП ...
Сделайте нормальную ПП, по всем правилам, подайте заведомо корректное питание, вот тогда и разбирайтесь.
lknv_a
Да, смотрел, 3.2V подается на модуль (диапазон работы от 2V до 3.6V)
Модуль с встроенной антенной.
То есть ругаетесь на мою плату?) Хорошо, постараюсь завтра переделать.
HardEgor
Смотреть надо осциллографом прямо на выводе модуля - возможно питание проседает в момент передачи данных.
Еще модуль лучше расположить на углу платы, чтобы антенна была открыта. Лучше если вообще часть модуля с антенной висела за краем платы.
Peps
Попытаюсь чем нибудь Вам помочь. Для того, чтобы исключить все вопросы по питанию запитайте от литиевой батарейки. Это во первых.
Во вторых, то что после выключения слетает прошивка - очень странно. У меня никогда такого не было, внимательно просмотрите в програмке заливки прошивки, удачно ли завершается програмирование.
Для того, чтобы убедиться, что модуль хорошо определяется другими устройствами прошейте какой нибудь пример из тех, что предлагает блюгига.
lknv_a
Цитата(Peps @ Sep 23 2013, 11:54) *
Попытаюсь чем нибудь Вам помочь. Для того, чтобы исключить все вопросы по питанию запитайте от литиевой батарейки. Это во первых.
Во вторых, то что после выключения слетает прошивка - очень странно. У меня никогда такого не было, внимательно просмотрите в програмке заливки прошивки, удачно ли завершается програмирование.
Для того, чтобы убедиться, что модуль хорошо определяется другими устройствами прошейте какой нибудь пример из тех, что предлагает блюгига.


Здравствуйте! Спасибо большое, что отозвались.
Хорошо, завтра переделаю питание, запитаю от батарейки
Вроде нет, с прошивкой все нормально, потому что процесс программирования и проверки завершается успешно
Пробовал Heart Rate (стандартный от Bluegiga), но безрезультатно. Так что по сути сейчас остается два варианта:
1) проблема в плате (сегодня ее полностью переделаю и немного по-другому, так как проблемы в старой не нашел)
2) проблема с самим Bluetooth модулем, либо программатором, но это, я думаю, маловероятно.
Сегодня-завтра все переделаю и завтра выложу все подробно: что и как получилось.
Еще раз спасибо, что отозвались!
Peps
Подскажите, а чем вы обнаруживаете модуль, какой программой? Я у себя со стороны PC работал с BLEGUI, там можно хорошо видеть, как модуль определяется и конектится.
lknv_a
Цитата(Peps @ Sep 25 2013, 11:10) *
Подскажите, а чем вы обнаруживаете модуль, какой программой? Я у себя со стороны PC работал с BLEGUI, там можно хорошо видеть, как модуль определяется и конектится.


Я вот, что сделать решил. Нашел вчера готовую печатную плату специально для BLE112, купил сегодня, займусь сегодня ейsm.gif
algidim
Добрый день ! У меня такой же модуль, еще есть отладочный комплект (CC2540DK – MINI). Скажите что за прошивкой их надо прошивать чтобы передавать данные от модема (по сути тот же модуль подключенный к компьютеру по USB) к этому модулю и передавать в целевое устройство по spi/usart ? Пересмотрел все примеры от TI, но так и не нашел ничего (
Или как переделать родной пример от TI ? Пробовал пример SimpleBLEPeripherial, но там передается ( как я понял ) 1 байт полезной информации и 10 бай (примерно) служебной !

Цитата(Peps @ Sep 25 2013, 09:10) *
Подскажите, а чем вы обнаруживаете модуль, какой программой? Я у себя со стороны PC работал с BLEGUI, там можно хорошо видеть, как модуль определяется и конектится.

Я извиняюсь что влезаю, но чем у Вас прошит сам модуль ? Как вы передаете информацию и начем пишите со стороны PC ?
Peps
Прошиваю только скрипты на ихнем интересном языке и конфигурацию GATT (вроде так). Со стороны PC, точнее Mac пишу не я, так что ничего толком не объясню.
К сожалению, обычный удлинитель UART у вас не получится - BLE под это не заточен.
algidim
Спасибо, но пока непойму что за скрипты ((( А в какой программе их прошивать и откуда брать ? Ведь изначально мдуль без прошивки вроде - его же надо чем то прошить...
Peps
Изначально модуль идет с прошивкой программ API для работы с протоколами BLE. Ваша задача настроить модуль под Вали нужды и написать небольшой скрипт, какие данные принимать и куда их передавать пол BT. К сожалению, работал я с этим модулем более полугода назад. Проект сдал и забыл.
Если мне память не изменяет, у Bluegiga есть хорошие документы типа Getting started BLE_getting_started_v1.5.pdf ( с чего начать). Вот по описаным там примерам и пробуйте. Потом разберетесь с написанием скриптов и ваяйте свое устройство.
Во, отыскал, файлы для корфигурации модуля gatt.xml hardware.xml project.xml - файл проекта. Скрипты находятся в файлах с расширением .bgs ( читайте BGScript_developer_guide_v1.9.pdf). Ну и все это дело компилируется, и получается out.hex, который вы заливаете в модуль при помощи СС debuger.
algidim
Цитата(Peps @ Oct 2 2013, 17:14) *
Изначально модуль идет с прошивкой программ API для работы с протоколами BLE. Ваша задача настроить модуль под Вали нужды и написать небольшой скрипт, какие данные принимать и куда их передавать пол BT. К сожалению, работал я с этим модулем более полугода назад. Проект сдал и забыл.
Если мне память не изменяет, у Bluegiga есть хорошие документы типа Getting started BLE_getting_started_v1.5.pdf ( с чего начать). Вот по описаным там примерам и пробуйте. Потом разберетесь с написанием скриптов и ваяйте свое устройство.
Во, отыскал, файлы для корфигурации модуля gatt.xml hardware.xml project.xml - файл проекта. Скрипты находятся в файлах с расширением .bgs ( читайте BGScript_developer_guide_v1.9.pdf). Ну и все это дело компилируется, и получается out.hex, который вы заливаете в модуль при помощи СС debuger.

Спасибо, большое ! Сейчас немного разобрался и стало яснее ) Если будут вопросы, немного позже можно Вам их задать ?
Peps
Конечно. Чем смогу - помогу. Сам давно уже работал с этим модулем, голова забита другими проектами, но постараюсь.
lknv_a
Peps, простите я долго не писал в эту тему, работы было очень много, да в командировку на Север отправили ДНС чинить, ну да ладно... Вообщем сейчас такое дело: впаял я наконец то BLE112 в готовую печатную плату, не прошивал пока снова, но пока проблема та же - не обнаруживается он. Сейчас то в чем может быть проблема?
Фотографии сделанной платы с модулем скину, чтобы понятнее было.
Peps
Впаять модуль мало, нужно в него прошить один из примеров, который предлагает блюгига. Тогда и пробуйте обнаруживать.
D1mconK
Привет.

И у меня есть вопрос ) У вас bgbuild нормально работает? Я не могу собрать ни один проект, те сам проект успешно компилится, потом bgbuild выдает ошибку - Unable to open: (путь к hex файлу).

Я меня полные права (админская учетка), В пути нет кириллицы, местоположение менял и hex файла и bgbuild

Тех поддержка BlueGiga говорит что нет прав на запись, запуск bgbuild от админа проблему не решает.
Да и ошибка больше походит на то, что bgduild считает, что нет такого пути для создания hex.

После получения такой ошибки hex файл создается, но совершенно пустой
Peps
Есть вероятность, что в имени пути есть русские буквы или пробелы. ПО у блюгига примитивное, возможно это не учтено.
lknv_a
Peps, в том то и дело, что уже пробовал прошивать Blugig'овскими примерами, а также подготовил программу для своих целей, но ничего не происходит. Я грешу на компиляцию, может быть проблема в неправильном компилировании проекта?
Через BGBuild у меня вообще не получается ничего скомпилировать, поэтому я делаю это через программную строку, но может я что-то не так делаю, и здесь вкрадывается какая-то ошибка? Как думаете? Потому что, повторюсь, во-первых, прошивал их сэмплами, а, во-вторых, подготавливал специально программу, которая позволит модулю обнаружиться и подключиться, но даже с ней ничего не вышло...
Peps
Я со стороны PC работал с USB донглом от блюгига (внешний USB BLE) и програмкой BLEGUI. Там можно по шагам посмотреть процесс обмена. А вы чем пользуетесь? Может фотки платы своей выложите ?
lknv_a
Цитата(Peps @ Oct 10 2013, 19:11) *
Я со стороны PC работал с USB донглом от блюгига (внешний USB BLE) и програмкой BLEGUI. Там можно по шагам посмотреть процесс обмена. А вы чем пользуетесь? Может фотки платы своей выложите ?

Ну вообще по началу я пытался связаться через COM порт с компьютером, но потом как то эту затею бросил и принялся сразу за основное устройство и его плату. Фотографии выложу завтра, к сожалению только, плату забыл на работе. А вот пока, чтобы было понятно Вам, что я использовал за плату: http://www.inmojo.com/store/jeff-rowberg/i...nergy-breakout/
lknv_a
Peps, скажите, а Вы как компилировали программы .bgs в hex? У Вас все нормально с этим получалось?
Peps
Вчера перепроверил - все нормально компилируется, без ошибок. Логи и список файлов выложу попожже - сегодня забыл дома проект, который делал.
lknv_a
Цитата(Peps @ Oct 11 2013, 19:12) *
Вчера перепроверил - все нормально компилируется, без ошибок. Логи и список файлов выложу попожже - сегодня забыл дома проект, который делал.

Хорошо, Вас понял. Спасибо.
Peps
Итак в результате компиляции в командной строке получили

D:\TEMP\BlueGiga\BT_PRO~1\TEST_I~1>d:
3\bin\bgbuild.exe project.xml
baudm:216 baude:10 rate:57617
UART channel:0
baudrate :57600
actual :57617
error% :0.0295139
alternate f:2
ports:14336
baudm:59 baude:8 rate:9613
UART channel:1
baudrate :9600
actual :9613
error% :0.135417
alternate f:1
ports:60


D:\TEMP\BLUEGIGA\BT_PRO~1\TEST_I~1>

Ошибок. Нету. Обновился hex файл.

Сам проект лежит http://www.fayloobmennik.net/3263713

В blegui определяется как iPhone test. Собственно и все. Пробуйте. Можете просто залить hex без компиляции.
lknv_a
Цитата(Peps @ Oct 14 2013, 12:40) *
В blegui определяется как iPhone test. Собственно и все. Пробуйте. Можете просто залить hex без компиляции.

Спасибо огромное! Сейчас попробую!
lknv_a
Здравствуйте! Простите, долго не писал - все маялся со своей платой. В итоге - ничего. Пробовал Вашу программу - все равно не обнаруживает, смотрел везде напряжение - все нормально... Уж не знаю в чем проблема у меня... Вот фото моей платы (новой) с Bluetooth модулем:
Может у Вас есть какие-нибудь идеи насчет решения проблемы? Потому что я, если честно, уже и не знаю в какую сторону смотреть...
lknv_a
Железка заработала! По крайне
kovigor
Цитата(lknv_a @ Oct 21 2013, 16:47) *
Железка заработала!

А что было-то ?
lknv_a
Цитата(kovigor @ Oct 21 2013, 20:40) *
А что было-то ?

Вообще мне просто пришлось полностью переделать плату, после этого она заработала. Но был один нюанс, с которым по невнимательности своей я долго не мог разобраться, а именно: при программировании модуля нужно обязательно нажимать кнопку Read IEEE, так как если этого не сделать, то модуль не прошивается.
А вообще сейчас буду разбираться с программой... Может что-нибудь да получитсяsm.gif
algidim
Добрый день !
Я вроде разобрался как передавать данные из одного ble112 в другой (один модуль прошит примером cable_replacement а другой usb_cdc). А как сделать чтобы модуль, который прошит cable_replacement увидел смартфон Bluetooth 4.0 ?


Peps неподскажите, что у Вас делает пример iPhone tst , передает данные полученные модулем на ЖКИ подключенный к нему каким то образом или что ?
Peps
Ох и давно это было. Но вроде бы с помощью этой програмки передавались данные в айфон (счетчик с интервалом 1сек), и с айфона можно было предавать данные в модуль, которые отображались на ЖКИ отладочной платы с BLE112. С айфоном не пробовал, а вот с програмкой BLEGUI на PC работало.
algidim
Да с программой BLEGUI работает, и он там даже определяется как iPhone test. А вот с айфоном не знаю – у меня его нет ! Чисто теоретически смартфон с Bluetooth 4.0 должен определить модуль прошитый Вашей прошивкой как iPhone test ?
Peps
А от тут я уже не знаю. На айфоне писал другой человек.
WarCave
Извините за беспокойство, нельзя ли переложить исходник iPhone test, а то с указанного адреска он уже не утаскивается ((((((
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.