2014-11-10 3 views
1

귀하의 명예 :블루투스 저에너지 모드의 방송 메시지

BLE (블루투스 저에너지 모드)에서 메시지를 브로드 캐스트하는 방법을 알고 싶습니다.

이 동작은 Macintosh의 iBeacon과 같습니다.

알다시피, 창 (7 또는 8)은이 기능을 지원하지 않습니다.

하지만 리눅스는 그렇습니다.

누구든지 리눅스에서 이것을 달성 할 수있는 방법을 안내 할 수 있습니까?

명령 줄 또는 코드가 올바르므로 두 가지 모두 좋습니다. 86 - 리눅스는 같은 메시지를 boardcasting 같은입니다

는 :

"나는 노트북이다"그리고 나는이 메시지를 수신기 다른 장치 (전화/computer..etc)를 사용할 수 있습니다.

감사합니다.

+0

, 감사합니다. 그러나 C 코드에서 동일한 목표를 달성하는 방법은 무엇입니까? hciconfig 및 hcitool의 소스 코드는 매우 지루합니다. 내가 터뜨릴 API를 안내해 줄 수 있습니까? –

답변

1

단계 :

다운로드 아이 비콘 스캐너 (당신은 맥이있는 경우, mactsAsBeacon을 다운로드에 대한 확인) 다음은 오픈 소스 AltBeacon 광고 형식을 전송하는 BlueZ을 사용하는 방법의 예입니다 in android/iOS 휴대 전화.

1 단계 : 당신이 당신의 모바일에 아이 비콘 스캐너를 찾을 수

실행이 스크립트 리눅스 아이 비콘 송신기를 발견했다 :

#!/bin/bash 
set -x 

export BLUETOOTH_DEVICE=hci0 
#sudo hcitool -i hcix cmd <OGF> <OCF> <No. Significant Data Octets> <iBeacon Prefix> <UUID> <Major> <Minor> <Tx Power> <Placeholder Octets> 

#OGF = Operation Group Field = Bluetooth Command Group = 0x08 
#OCF = Operation Command Field = HCI_LE_Set_Advertising_Data = 0x0008 
#No. Significant Data Octets (Max of 31) = 1E (Decimal 30) 
#iBeacon Prefix (Always Fixed) = 02 01 1A 1A FF 4C 00 02 15 

export OGF="0x08" 
export OCF="0x0008" 
export IBEACONPROFIX="02 01 1A 1A FF 4C 00 02 15" 
#export UUID="92 77 83 0A B2 EB 49 0F A1 DD 7F E3 8C 49 2E DE" 
export UUID="B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D" 
export MAJOR="01 02" 
export MINOR="03 04" 
export POWER="C5 00" 

sudo hciconfig $BLUETOOTH_DEVICE up 
sudo hciconfig $BLUETOOTH_DEVICE noleadv 
sudo hciconfig $BLUETOOTH_DEVICE noscan 
sudo hciconfig $BLUETOOTH_DEVICE leadv 3 
sudo hcitool -i $BLUETOOTH_DEVICE cmd 0x08 0x0008 $IBEACONPROFIX $UUID $MAJOR $MINOR $POWER 

#sudo hciconfig $BLUETOOTH_DEVICE leadv 3 

2 단계 :

그것은 내 쉘 스크립트입니다 .

당신이 boardcasting 끄려면 :

유용
sudo hciconfig hci0 noleadv 
관련 문제