Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как подключить iBeacon?


Kitty

Вопрос

У меня есть это устройство: http://www.banggood.com/ru/Bytereal-iBeacon-BLE-4_0-Near-Field-Orientation-Module-p-965539.html

На нем наклеена бумажка с надписью: ID BR506671. Исходя из документации: http://docwiki.embarcadero.com/RADStudio/XE8/en/Using_Beacons#Manufacturer_Information

для соединения RAD и компонента TBeacon->TBeaconRegionCollection, надо настроить UUID.

А как понять какой UUID у моего устройства? Устройство пришло из магазина по почте и на нем бумажка с ID и все. У кого есть опыт, как такую штуковину подсоединить к RAD?

Тестировать буду этим кодом:

void __fastcall TForm1::UpdateProximity( IBeacon * const ABeacon ) {

	switch ( ABeacon->Proximity )
	{
		case TBeaconProximity::Immediate:
			Memo1->Lines->Add( String(ABeacon->GetMinor()) + L": Очень близко" );
			break;
		case TBeaconProximity::Near:
			Memo1->Lines->Add( String(ABeacon->GetMinor()) + L": Рядом" );
			break;

		case TBeaconProximity::Far:
			Memo1->Lines->Add( String(ABeacon->GetMinor()) + L": Далеко" );
			break;

		case TBeaconProximity::Away:
			Memo1->Lines->Add( String(ABeacon->GetMinor()) + L": Выход из зоны" );
			break;
	};
}

void __fastcall TForm1::Beacon1BeaconEnter(TObject * const Sender, IBeacon * const ABeacon,
          const TBeaconList CurrentBeaconList)
{
  UpdateProximity( ABeacon );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Beacon1BeaconProximity(TObject * const Sender, IBeacon * const ABeacon,
          TBeaconProximity Proximity)
{
 UpdateProximity( ABeacon );
}

Спасибо.

Ссылка на комментарий

Рекомендуемые сообщения

  • 1
  • Модераторы

Гляньте примеры: C:\Users\Infocean\Documents\Embarcadero\Studio\17.0\Samples\CPP\Multi-Device Samples\Device Sensors and Services\Bluetooth\Beacons

АП.

Как я понял, вам надо включить маяк, просканить всё вокруг и узнать идентификатор устройства, а потом уже подключиться к нему и изменить его(при необходимости).

В маркетах, как Андроида, так и АйОС полно приложений для сканирования. Это если неохота возиться.

АП.2

В примерах Студии уже есть сканер, можно попробовать его...

Ссылка на комментарий
  • 0
  • Администраторы

Кстати, по вашей же ссылке, внизу есть описание, как его обнаружить и получить UUID (при помощи утилиты AirLocate)

Ссылка на комментарий
  • 0

Спасибо за подсказку как сканировать. Скачала с андроид маркета приложение. Оно сканирует и присылает uuid, id, major, minor. Выяснилось, что по умолчанию все параметры и этих биконов одинаковые ( у меня 3 штуки), только id разные. Как поменять uuid для RAD,  чтобы были уникальные данные в инспекторе обектов? Не нашла такого работающего андроид приложения. :(

P.S.

Интересно, что эти биконы присылают id, а согласно документации про эту технологию не должны бы...

Ссылка на комментарий
  • 0
  • Модераторы

Поменять UUID, можно вот этим приложением

https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp

 

Комментарий к товару, по вашей ссылке:

Цитата

if you buy more than one you have to change the UID / major / minor. Android users can achive this with nRF Master Control Panel, for linux use the command "gatttool" included in the bluez sources. Connect only one device to the beacon when configuring it. The beacon has a blue led, option "ffba" => ff enables it for TX the referenced AirLocate app is open source, see: https://github.com/bytereal/iBeacon

 

А вообще, там есть 3 скрина, на которых написано где и как поменять параметры, но найти прогу LightBlue у меня не получилось...

Ссылка на комментарий
  • 0

Код выше оказался полностью рабочим в Берлине. Получаю в Memo информацию при перемещении бикона по квартире. :)

Два момента:

- надо добавить разрешения в приложение на блютус и блютус админ.

- добавить код т.к. не сразу заметила, что по умолчанию в инспекторе объектов false:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Beacon1->Enabled = true;
}

Телефон GSmart Akta A4.

Изменено пользователем Kitty
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...