আইবিकन ব্লুটুথ প্রোফাইল কী


150

আমি কিছু ব্লুটুথ লো এনার্জি ডেভ কিটগুলি দিয়ে নিজের আইবিकन তৈরি করতে চাই। অ্যাপল এখনও আইব্যাকনসের জন্য একটি স্পেসিফিকেশন প্রকাশ করতে পারেনি, তবে কয়েকটি হার্ডওয়্যার বিকাশকারী এয়ারলোক্ট স্যাম্পল কোড থেকে আইব্যাকনকে প্রকৃত করে আইবিকন ডেভ কিট বিক্রি শুরু করেছেন।

তাহলে আইবিকন ব্লুটুথ প্রোফাইল কী?

ব্লুটুথ লো এনার্জি LE প্রোফাইল পরিষেবা আবিষ্কারের জন্য GATT ব্যবহার করে। সুতরাং আমি মনে করি আমাদের অ্যাট্রিবিউট হ্যান্ডেল, অ্যাট্রিবিউট টাইপ, অ্যাট্রিবিউট মান এবং আইবিকন অ্যাট্রিবিউটের অ্যাট্রিবিউট অনুমতিগুলি জানতে হবে know সুতরাং E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 এর একটি ইউইউডি সহ একটি আইবিউনের জন্য 1 এর একটি বৃহত মান এবং 1 এর একটি গৌণ মান, ব্লুটুথ GATT প্রোফাইল পরিষেবাটি কী হবে?

অ্যাপল ফোরাম এবং ডক্সের মাধ্যমে আলোচনার মাধ্যমে আমি কিছু অনুমান করেছি।

  1. এটি কেবলমাত্র একটি আইবিকন তা জানতে আপনাকে কেবল একটি ব্লুটুথ পেরিফেরিয়াল প্রোফাইল পরিষেবা (জিএটিটি) দেখতে হবে।

  2. মেজর এবং মাইনর কীগুলি এই প্রোফাইল পরিষেবাটিতে কোথাও এনকোড করা আছে

আইব্যাকন ডেভ কিটসের সাথে হেরস এমন কিছু সংস্থা যা এই চিত্রটি ইতিমধ্যে খুঁজে পেয়েছে:

আশা করি সময় মতো আমাদের ব্লুটুথ.আরোগুলিতে পোস্ট করা হবে: https://www.bluetuth.org/en-us/specifications/adopted-specifications


প্রকৃতপক্ষে এখন আমি এটিকে 4 বৈশিষ্ট্যের মানগুলি কী বলে নেমে
এসেছি

@ ডান 1 আমি হালকা নীল ব্যবহার করে পরিষেবাটির প্রতিলিপি তৈরি করেছি, তারপরে অ্যাপলের এয়ারলক্ট নমুনা কোডটি ব্যবহার করে আমি নকল পরিষেবাটি আর কিছু করতে পারি না বলে আমি মনে করি আরও কিছু আছে, এছাড়াও হালকা ব্লুতে অ্যাট্রিবিউট হ্যান্ডেলটি তালিকাভুক্ত নেই
PaulWoodIII

আপনি কি সিবিপিরিফেরাল ম্যানেজার (যা ব্যাকগ্রাউন্ডে চলে) বা আইবিএস (নন-আইওএস) সফ্টওয়্যার, বা হার্ডওয়্যার এর সাহায্যে একটি আইবিकन তৈরির উপায় সন্ধান করছেন? এটি প্রয়োজনীয় বিশদ দিকে নিয়ে যাবে।
ঋক্ষমণ্ডল

@ যাইহোক আমি প্রথম অনুচ্ছেদে নোট হিসাবে আমার নিজের হার্ডওয়্যারটিতে রাখার চেষ্টা করছি। তবে আমি লিঙ্কিত প্রশ্নে উল্লেখ করেছি যে এটি পটভূমিতে আইবিকনের বিজ্ঞাপন সিবিপিরিফেরাল ম্যানেজার ব্যবহার করে লিঙ্কিত প্রশ্নের উত্তরের পক্ষে কার্যকর হতে পারে
পলউডআইআইআইআই

1
গ্রেট! আপনি কি সেই ডকুমেন্টেশনটি ভবিষ্যতের প্রোগ্রামারদের জন্য এখানে ভাগ করতে পারেন, আমি যখন 2013 সালে প্রশ্নটি জিজ্ঞাসা করেছি তবে এটি অবশ্যই উপস্থিত ছিল না
পলউইডআইআইআই

উত্তর:


228

আরএসএসআইয়ের E2C56DB5-DFFB-48D2-B060-D0F5A71096E0প্রধান 0, গৌণ 0, এবং ক্যালিব্রেটেড টিএক্স পাওয়ারের প্রক্সিমিটিউইউডের সাথে আইব্যাকনের জন্য -59, সঞ্চারিত বিএলই বিজ্ঞাপন প্যাকেটটি এমন দেখাচ্ছে:

d6 be 89 8e 40 24 05 a2 17 6e 3d 71 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 52 ab 8d 38 a5

এই প্যাকেটটি নীচে ভেঙে ফেলা যায়:

d6 be 89 8e # Access address for advertising data (this is always the same fixed value)
40 # Advertising Channel PDU Header byte 0.  Contains: (type = 0), (tx add = 1), (rx add = 0)
24 # Advertising Channel PDU Header byte 1.  Contains:  (length = total bytes of the advertising payload + 6 bytes for the BLE mac address.)
05 a2 17 6e 3d 71 # Bluetooth Mac address (note this is a spoofed address)
02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 # Bluetooth advertisement
52 ab 8d 38 a5 # checksum

এই প্যাকেটের মূল অংশটি হ'ল ব্লুটুথ বিজ্ঞাপন, যা এইভাবে ভেঙে যেতে পারে:

02 # Number of bytes that follow in first AD structure
01 # Flags AD type
1A # Flags value 0x1A = 000011010  
   bit 0 (OFF) LE Limited Discoverable Mode
   bit 1 (ON) LE General Discoverable Mode
   bit 2 (OFF) BR/EDR Not Supported
   bit 3 (ON) Simultaneous LE and BR/EDR to Same Device Capable (controller)
   bit 4 (ON) Simultaneous LE and BR/EDR to Same Device Capable (Host)
1A # Number of bytes that follow in second (and last) AD structure
FF # Manufacturer specific data AD type
4C 00 # Company identifier code (0x004C == Apple)
02 # Byte 0 of iBeacon advertisement indicator
15 # Byte 1 of iBeacon advertisement indicator
e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon proximity uuid
00 00 # major 
00 00 # minor 
c5 # The 2's complement of the calibrated Tx Power

নির্দিষ্ট কোনও বিজ্ঞাপন প্রেরণের জন্য কনফিগার করা যায় এমন কোনও ব্লুটুথ এলই ডিভাইস উপরের প্যাকেটটি তৈরি করতে পারে। আমি এই বিজ্ঞাপনটি প্রেরণে ব্লুজ ব্যবহার করে একটি লিনাক্স কম্পিউটার কনফিগার করেছি এবং অ্যাপলের এয়ারলোকট পরীক্ষা কোড চালিত আইওএস 7 ডিভাইসগুলি উপরে উল্লিখিত ক্ষেত্রগুলি সহ একটি আইব্যাকন হিসাবে বেছে নেবে। দেখুন: পেরিফেরাল হিসাবে ব্লুজেড স্ট্যাক ব্যবহার করুন (বিজ্ঞাপনদাতা)

এই ব্লগে বিপরীত প্রকৌশল প্রক্রিয়া সম্পর্কে সম্পূর্ণ বিশদ রয়েছে।


এটা অসাধারণ! ঠিক আমি যা অনুসন্ধান করছিলাম for তবে কেউ কীভাবে ব্যাখ্যা করতে পারে যে আমি কীভাবে চেকসামটি গণনা করতে পারি?
বেনজামিন গ্রোনার

আপনার আরও একটি স্পিকটি সম্পূর্ণ করতে আমাদের সহায়তা করার জন্য আমি আরও একটি প্রশ্ন পেয়েছি। এমএসে সঠিক সম্প্রচারের ব্যবধানটি কী বলে মনে হচ্ছে? আমি টেক্সাস ইন্সট্রুমেন্ট কোডটি ব্যবহার করছি যা আমি আমার আইবিকনকে ভিত্তি হিসাবে ব্যবহার করছি যা কাছের আইবিকনগুলির একটি তালিকা প্রদর্শন করার সময় অ্যাপলের এয়ারলোট অ্যাপ্লিকেশন আইনটিকে এক ধরণের অসঙ্গতিযুক্ত করে তোলে।
পলউইডআইআইআইআই

ইউইউডি / প্রক্সিমিটিউইউডিটি কি কোনও বিইএল প্রোফাইল আইবিकनের সাথে নির্দিষ্ট বা এটি ডিভাইস প্রস্তুতকারকের উপর নির্ভর করে? আইবিकन ডিভাইসগুলির মধ্যে পার্থক্য করার জন্য পছন্দসই পদ্ধতিটি কী: বিটি ম্যাকের ঠিকানা, ইউআইডি বা প্রধান / গৌণ মানগুলি?
নিককনডসন

ডেভিড, আপনি কি কোর ব্লুটুথ জিএটিটি এপিআই ব্যবহার করার সময় কোনও নির্দিষ্ট বিজ্ঞাপন প্যাকেট সহ কোনও আইওএস ডিভাইসটি কনফিগার করতে পেরেছেন? আমি বিকল্পটি খুঁজে পাইনি। আপনি পরিষেবা এবং বৈশিষ্ট্যগুলির জন্য কাস্টম ইউআইডিগুলি সংজ্ঞায়িত করতে পারেন তবে বিজ্ঞাপনের জন্য নয়।
মাইগুয়েল

1
@ রিনালদো জুনিয়র এডি = বিজ্ঞাপনের ডেটা। স্ল্যাচপ্পি দ্বারা উত্তরে রেফারেন্স দেখুন।
রেনিপেট

47

এটি বিজ্ঞাপনের ডেটা, বিশেষত প্রস্তুতকারকের ডেটার উপর ভিত্তি করে বলে মনে হচ্ছে:

4C00 02 15 585CDE931B0142CC9A1325009BEDC65E 0000 0000 C5

<company identifier (2 bytes)> <type (1 byte)> <data length (1 byte)>
    <uuid (16 bytes)> <major (2 bytes)> <minor (2 bytes)> <RSSI @ 1m>
  • অ্যাপল সংস্থা সনাক্তকারী (লিটল এন্ডিয়ান), 0x004c
  • ডেটা প্রকার, 0x02 => আইবিকন
  • ডেটা দৈর্ঘ্য, 0x15 = 21
  • uuid: 585CDE931B0142CC9A1325009BEDC65E
  • মেজর: 0000
  • গৌণ: 0000
  • 1 মিটার বিদ্যুৎ পরিমাপ করা: 0xc5 = -59

আমার এই নোড.জেএস স্ক্রিপ্টটি নমুনা এয়ারলোক অ্যাপ্লিকেশন উদাহরণ সহ লিনাক্সে কাজ করছে।


দুঃখজনকভাবে স্ক্রিপ্টটি আর পাওয়া যায় না। আবার ভাগ করে নিতে কি আপত্তি করবেন?
টমাসকাফ

@ থমাসাচাফ দুঃখিত আমি এখানে অপসারণ করা গিথুবের পুরানো সংস্করণের একটি লিঙ্ক । Hcitool / hciconfig স্প্যানিংয়ের প্রয়োজন না হওয়ার জন্য আমি ব্ল্যাকনও আপডেট করেছি ।
সন্দীপমিস্ট্রি 11-15 '

"1 মিটার বিদ্যুতের পরিমাপ: 0xc5 = -59" আপনি 0xc5 থেকে -59 কে কীভাবে গণনা করবেন?
andreasbecker.de


@ সন্দীপমিস্ট্রি নোড.জেএস লিপির লিঙ্কটি এখন ভেঙে গেছে।
tedyyu

20

সন্দীপমিস্ত্রির উত্তর এবং ডেভিডজৌংয়ের উত্তরের মধ্যে পার্থক্যটি কেবলমাত্র:

02 01 1a 1a ff 4C 00

বিজ্ঞাপনের ডেটা ফর্ম্যাট স্পেসিফিকেশনের অংশ [1]

  02 # length of following AD structure
  01 # <<Flags>> AD Structure [2]
  1a # read as b00011010. 
     # In this case, LE General Discoverable,
     # and simultaneous BR/EDR but this may vary by device!

  1a # length of following AD structure
  FF # Manufacturer specific data [3]
4C00 # Apple Inc [4]
0215 # ?? some 2-byte header

AD থেকে হারিয়ে যাওয়া একটি পরিষেবা [5] সংজ্ঞা। আমি মনে করি আইবিকন প্রোটোকলের নিজেই জিএটিটি এবং মানক পরিষেবা আবিষ্কারের সাথে কোনও সম্পর্ক নেই। আপনি যদি রেডবিয়ারল্যাবের আইবিকন প্রোগ্রামটি ডাউনলোড করেন তবে আপনি দেখতে পাবেন যে তারা বিজ্ঞাপন প্যারামিটারগুলি কনফিগার করার জন্য জিএটিটি ব্যবহার করে, তবে এটি তাদের প্রয়োগের জন্য সুনির্দিষ্ট বলে মনে হয়, এবং এই অংশটির অংশ নয়। এয়ারলোকট প্রোগ্রামটি কনফিগারেশনের জন্য জিএটিটি ব্যবহার করবে বলে মনে হচ্ছে না, যেমন হালকা ব্লু বা অন্যান্য অনুরূপ প্রোগ্রামগুলি চেষ্টা করেছিলাম।

তথ্যসূত্র:

  1. কোর ব্লুটুথ স্পেস ভি 4, খণ্ড 3, পার্ট সি, 11
  2. খণ্ড 3, পার্ট সি, 18.1
  3. খণ্ড 3, পার্ট সি, 18.11
  4. https://www.bluetooth.org/en-us/specification/assigned-numbers/company-identifiers
  5. খণ্ড 3, পার্ট সি, 18.2

ধন্যবাদ @ স্ল্যাকহ্যাপি, আমি আমার উত্তর আপডেট করেছি। 2 বাইট শিরোনাম 0x02 ডেটা টাইপ, 0x15 = 21 ডেটার দৈর্ঘ্য।
সন্দীপমিস্ট্রি

ধন্যবাদ @ স্লাচ্প্পি এটি ভাল, তবে আমি কি বোবা প্রশ্ন জিজ্ঞাসা করতে পারি? যদি আমি "ফ্রি কফির জন্য আসুন" বা এর মতো কিছু বার্তা প্রেরণ করতে চাইতাম, তবে আমি কি FFআপনার স্ট্রিংয়ের এইচএক্স মানের সাথে আপনার উদাহরণের প্রতিস্থাপন করব? (এবং স্যুট খ্রি গঠন দৈর্ঘ্য আপডেট?)
মার্ক

6

আপনি যদি এই প্রশ্নটি জিজ্ঞাসা করার কারণটি হলেন যদি আপনি স্ট্যান্ডার্ড এপিআই ব্যবহার না করে আইবিকন হিসাবে বিজ্ঞাপন দেওয়ার জন্য কোর ব্লুটুথ ব্যবহার করতে চান তবে আপনি সহজেই কোনও এনএসডোরের বিজ্ঞাপন হিসাবে এটি করতে পারেন:

{
    kCBAdvDataAppleBeaconKey = <a7c4c5fa a8dd4ba1 b9a8a240 584f02d3 00040fa0 c5>;
}

আরও তথ্যের জন্য এই উত্তর দেখুন ।


4

এটি খুব সহজ, এটি কেবল একটি স্ট্রিংয়ের বিজ্ঞাপন দেয় যাতে কয়েকটি অক্ষর থাকে যা অ্যাপলের আইবিকন মানকে মেনে চলে। আপনি লিঙ্কটি http://glimwormbeacons.com/learn/ কি- makes- an- ibeacon- an- ibeacon/ উল্লেখ করতে পারেন


0

আইবিকন প্রোফাইলে 31 বাইট রয়েছে যার মধ্যে নিম্নলিখিতগুলি রয়েছে

  1. উপসর্গ - 9 বাইট - যার মধ্যে অ্যাড ডেটা এবং উত্পাদনকারী ডেটা অন্তর্ভুক্ত রয়েছে
  2. ইউআইডি - 16 বাইট
  3. মেজর - 2 বাইট
  4. অপ্রাপ্তবয়স্ক - 2 বাইট
  5. টিএক্সপাওয়ার - 1 বাইট

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.