জোড় ছাড়াই ব্লুটুথ যোগাযোগ সম্ভব?


36

আমি এমন একটি ডিভাইসে কাজ করছি যা "তাত্ক্ষণিকভাবে" সিস্টেমকে ওয়্যারলেসভাবে সক্রিয় করতে পারে। প্রথম বিষয়টি যা মনে আসে তা হ'ল আরএফআইডি প্রযুক্তি ব্যবহার করা যা তাত্ক্ষণিক এবং সস্তার যোগাযোগের সুবিধা রয়েছে। তবে আমি পরিবর্তে এই কাজটি সম্পাদন করতে আমার ফোনের ব্লুটুথ ক্ষমতা ব্যবহার করতে আগ্রহী।

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

তাহলে এই ধারণাটি কি কোনও সম্ভাবনা? আমার কাছে খুব প্রযুক্তিগত স্তরে ব্লুটুথ লিঙ্কের প্রোটোকল সম্পর্কে সামান্য জ্ঞান আছে তবে যদি কেউ আমাকে নেতৃত্ব দিতে পারেন তবে আমি সেদিক থেকে শিখতে পারি। আমার সীমিত বোঝার প্রতিবন্ধকতা বিবেচনা করবেন না।


একটি ব্লুটুথ মোড রয়েছে যা কেবল এটি করে তবে আমি জানি না এটি কী বলে। এটি মোবাইল ফোনগুলি পাস করার জন্য স্থানীয় বিজ্ঞাপন পাঠানোর জন্য ব্যবহৃত হয়েছিল।
জিপ্পি

2
বিভিন্ন 433 মেগাহার্টজ মডিউল রয়েছে যা "তাত্ক্ষণিকভাবে" একটি অন / অফ সংকেত প্রেরণ করবে; প্রায়শই গ্যারেজ দরজা খোলার কাজে ব্যবহৃত হয়। এগুলি স্বাচ্ছন্দ্যযুক্ত সুরক্ষা সরবরাহ না করা সত্ত্বেও তারা সস্তা এবং চালানোও সহজ।
pjc50

উত্তর:


25

হ্যাঁ, এটি সম্পূর্ণ সম্ভব। আমি এর আগে এই বিষয়ে মন্তব্য করেছি এবং এরপরে এটি আরও সন্ধান করেছি। আপনি ট্রিগারকারী ব্লুটুথ ডিভাইসটির বন্ধুত্বপূর্ণ নামের মাধ্যমে অ্যাক্টিভেশন সিগন্যাল প্রেরণ করতে পারেন ।

বন্ধুত্বপূর্ণ নাম হ'ল মানব-পঠনযোগ্য নাম যা তালিকার সাথে উপস্থিত হয় যখন আপনি একটি ব্লুটুথ ডিভাইস যুক্ত করার জন্য অনুসন্ধান করেন। এটি যে গতিতে সক্রিয় হয় তার উপর নির্ভর করে বন্ধুত্বপূর্ণ নামের জন্য প্রাপ্তি ডিভাইসটি কত দ্রুত পোষাক করে। আপনি কী ধরণের রিসিভ ডিভাইস ব্যবহার করছেন তা উল্লেখ করেননি তবে আমি এই পিডিএফটি পেয়েছি (পিজি.35) ইন-রেঞ্জ ব্লুটুথ ডিভাইসের বন্ধুত্বপূর্ণ নামগুলি আপডেট করার প্রক্রিয়াটির বিশদটি বর্ণনা করে PDF

আপনি যতটা প্রয়োজন বন্ধুত্বপূর্ণ নামের জন্য পোল করতে পারেন। যদি আপনার ট্রিগার ডিভাইসটির বন্ধুত্বপূর্ণ নামটি অ্যাক্টিভেশন কোডে পরিবর্তন করে abc123, তবে প্রাপ্তি ডিভাইসটি জুটি না করেই নামটি দেখতে সক্ষম হবে এবং আপনি যে কাজটি সম্পাদন করার চেষ্টা করছেন তা সক্রিয় করতে সক্ষম হবে। এটি আপনাকে প্রচুর পরিমাণে অ্যাক্টিভেশন কোডও পেতে দেয়, আমার মনে হয় আপনি বন্ধুত্বপূর্ণ ব্লুটুথ নামের জন্য 248 বাইট পেতে পারেন।

আপনি ইচ্ছাকৃতভাবে নিজেকে ব্লুজ্যাকিংয়ের দিকে উন্মুক্ত করার বিষয়টিও দেখতে পারেন । আমি এর সাথে পরিচিত নই, তবে সুরক্ষা কোনও সমস্যা না হলে এটি কাজ করতে পারে।


2
নিখুঁত, এটি সবচেয়ে প্রতিশ্রুতিবদ্ধ বলে মনে হচ্ছে। আমি বন্ধুত্বপূর্ণ নাম পদ্ধতির সরলতা পছন্দ করি এবং ব্লুজ্যাকিংও দুর্দান্ত প্রার্থীর মতো মনে হয়।
ক্যাপকম

12

সংক্ষিপ্ত উত্তর হ্যাঁ, জোড় না করে ব্লুটুথ ব্যবহার করা সম্ভব। তবে এটি এখনও সর্বদা পয়েন্ট-টু-পয়েন্ট লিঙ্ক হতে চলেছে। জুড়ি না ব্যবহার করার ক্ষেত্রেও সম্ভাব্য সমস্যা রয়েছে (প্রধানত সুরক্ষার অভাব এবং এই অপারেশনটির জন্য ভাল সমর্থনের অভাব)। এটি করা যায় কিনা তা নির্ভর করে আপনার রিসিভারের ব্লুটুথ হার্ডওয়ারের উপর। আমি ধরে নিচ্ছি আপনি ব্লুটুথ স্বল্প-শক্তির পরিবর্তে 'স্ট্যান্ডার্ড' ব্লুটুথ ব্যবহার করছেন (যা সম্পূর্ণ আলাদা এবং মোবাইল ফোনে বিশেষত তেমন সমর্থিত নয়)। আপনি যদি স্বল্প-শক্তি ব্যবহার করেন তবে আপনি ট্রান্সমিটার হ'ল স্বল্প শক্তিযুক্ত ডিভাইস এবং আপনার রিসিভার এমন কিছু হবে যা বার্তাগুলির জন্য শোন। আমি এটি ব্যবহার করি নি, সুতরাং আমি আপনাকে এ সম্পর্কিত কোনও তথ্য দিতে পারছি না তাই আমি 'সাধারণ' ব্লুটুথ দিয়ে থাকব stick

আমি এটি দেখতে পেয়েছি, কাটিয়ে উঠতে দুটি বিষয় রয়েছে:

  1. পিন জুটি বন্ধ করা হচ্ছে

  2. স্বয়ংক্রিয় সংযোগ দীক্ষা

আমি প্রথম সংখ্যা 2 টি কভার করব কারণ আমি এই ধারণাটি পেয়েছি যে এটিই আপনার আগ্রহী (আপনি যদি এই ভুলটি পড়েন তবে ক্ষমাপ্রার্থী)। ফোন বা অন্যান্য 'মাস্টার' ডিভাইস থেকে এটি করতে, এটির জন্য দূরবর্তী ব্লুটুথ ডিভাইসগুলির ক্রমাগত অনুসন্ধান করতে হবে। যখন এটি প্রযোজ্য কোনওটিকে স্বীকৃতি দেয়, তখন এটি স্বয়ংক্রিয়ভাবে এর সাথে সংযোগ স্থাপন করে এবং এমন কিছু ডেটা বা অন্য প্রেরণ করত যা প্রয়োজনীয় পদক্ষেপের প্রয়োজন হয় init অন্যরা এই প্রক্রিয়াটির জন্য ব্লুটুথ বান্ধব নামটি ব্যবহারের কথা উল্লেখ করেছে এবং এটি অবশ্যই এটির একটি উপায়। আমার ব্লুটুথ বান্ধব নামগুলির অভিজ্ঞতা (বিশেষত তবে মাইক্রোসফ্ট ব্লুটুথ স্ট্যাকের সাথে একচেটিয়া নয়) হ'ল এগুলি স্ক্যান করার কোনও শক্তিশালী পদ্ধতি নয়। আপনি সম্ভবত ব্লুটুথ ডিভাইস ক্লাসটি ব্যবহার করার চেয়ে আরও ভাল কিছু করতে চাই, যা অনন্য ডিভাইসের ঠিকানা হিসাবে একই সময়ে সম্প্রচারিত হয়। এই ডিভাইস শ্রেণিতে মোবাইল ফোন, ল্যাপটপ, ডেস্কটপ ইত্যাদির মতো জিনিসের জন্য প্রচুর পরিমাণে পূর্বনির্ধারিত এন্ট্রি রয়েছে you ব্লুটুথ ডিভাইসের সংখ্যাগরিষ্ঠ ফিল্টার আউট। তারপরে আপনি বাকী ডিভাইসে সংযোগ করতে পারেন এবং আপনার ক্রিয়াটি শুরু করতে কোনও ধরণের অনুরোধ-স্বীকৃতি যোগাযোগ করতে পারেন। যদি আপনি এটি যথাযথভাবে অস্পষ্ট করেন (বা বন্ধুত্বপূর্ণ নামটিকে দ্বিতীয় বিবেচনার জন্য চেক করুন), তবে এটি স্পষ্টভাবে বাকী কোনও ভুল ডিভাইস ফিল্টার করে ফেলতে হবে।


1 নম্বর সম্পর্কিত, আপনি যদি ক্ষণস্থায়ী সংযোগ তৈরি করে থাকেন তবে পিনের জুড়িটি বিশেষভাবে যৌক্তিক নয়, তবে আপনি যা করতে চান তা অর্জনের এটি সর্বোত্তম উপায় হতে পারে। আপনি যদি পিনের জুড়ি এড়াতে চান, এটি বন্ধ করা যায় এবং একটি জো-জোড় সংযোগ তৈরি করা যায়। আপনি এটি কীভাবে করবেন এটি ব্লুটুথ রিসিভার বাস্তবায়নের উপর নির্ভর করে, তবে কয়েকটি উদাহরণ এখানে:

  1. ব্লুগিগা ডাব্লুটি 12: এসটি বিটি অ্যাথ * কমান্ডটি ব্যবহার করুন
  2. ন্যাশনাল সেমিকন্ডাক্টর LMX9838: GAP_SET_SECURITY_MODE কমান্ডটি সুরক্ষা মোড 1 সহ ব্যবহার করুন (কোনও জুড়ি নেই)

প্রভৃতি

ডিভাইসটির সাথে সংযোগ স্থাপনের পরে জোড় না রেখেই কাজ করা যায়। যদি সংযোগটি শুরু করা ডিভাইসটি রিসিভারের মতো হয় তবে এটি খুব সোজা। আপনি যদি উইন্ডোজ পিসি ব্যবহার করে থাকেন তবে আপনি শ্রমজীবী ​​একটি নতুন সংযোগ প্রক্রিয়া তৈরি করতে পারেন এবং "পিন ব্যবহার করবেন না" চয়ন করতে পারেন, যদিও উইন্ডোজ সম্ভবত আপনি যখন সংযোগ করবেন তখন আপনাকে পিনের জন্য জিজ্ঞাসা করবে (0000 সাধারণত কাজ করে তবে এটা খুব flaky)। আপনি যদি পাইব্লুয়েজের সাথে পাইথন ব্যবহার করেন তবে এটি খুব সহজ:

import bluetooth
sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((<insert MAC address>, <insert port number>))

তবে, আপনি একটি মোবাইল ফোন থেকে সংযুক্ত করতে চান, এটা পরার অনেক বেশি জটিল। অ্যান্ড্রয়েড এসডিকে সত্যিই অযৌক্তিক সংযোগগুলি সমর্থন করবে বলে মনে হচ্ছে না:

আরএফসিএমএম সংযোগ স্থাপনের আগে বর্তমান অ্যান্ড্রয়েড ব্লুটুথ এপিআই-এর ডিভাইসগুলি যুক্ত করতে হবে। (আপনি ব্লুটুথ এপিআইগুলির সাথে এনক্রিপ্ট হওয়া সংযোগের সূচনা করার সময় পেয়ারিং স্বয়ংক্রিয়ভাবে সঞ্চালিত হয়))

( http://developer.android.com/guide/topics/connectivity/bluetuth.html থেকে )। এর চারপাশে বিভিন্ন উপায় রয়েছে তবে সেগুলি খুব জটিল এবং ভাল সমর্থিত নয়। আপনি যদি আইফোন ব্যবহার করেন তবে ব্লুটুথ সংযোগটি হ'ল কৃমি (লাইসেন্সিং ইত্যাদি) এর সম্পূর্ণ ভিন্ন, তাই আমি এখনই তা ছেড়ে দেব।


সব কিছু বলার পরেও আমি প্রতিটা এপিআই দেখেছি জুটি বাঁধার অনুমতি দেয় এবংঅযত্ন বহন করতে হবে (পাইথন / পাইব্লুয়েজের উল্লেখযোগ্য ব্যতিক্রম ব্যতীত তবে এটি উইন্ডোজে মাইক্রোসফ্ট স্ট্যাকের চারপাশে কেবল একটি মোড়ক, যাতে আপনি সর্বদা নিম্ন স্তরের ফাংশনটি সরাসরি কল করতে পারেন)। সুতরাং, আপনি যখন সঠিক ডিভাইস শ্রেণীর সাহায্যে কোনও ডিভাইস স্পট করেছেন, তখন কেন কেবল স্বয়ংক্রিয়ভাবে জুড়বেন না (পূর্বনির্ধারিত জুটি পিন নম্বর সহ) সংযোগটি তৈরি করুন, প্রয়োজনীয় ডেটা প্রেরণ করুন, সংযোগ বিচ্ছিন্ন করুন এবং তার পরে সংযুক্ত করুন। এর কোনওটির জন্য কোনও ব্যবহারকারীর হস্তক্ষেপের প্রয়োজন হবে না এবং যতক্ষণ না আপনি এটি কয়েক হাজার বার করছেন না (যা সম্ভবত ইপ্রোম পরিধানে সমস্যা সৃষ্টি করতে পারে), এটি আপনাকে কোনও সমস্যা না করে। এটি ব্লুটুথ ব্যবহারের একটি অ-মানক পদ্ধতি হিসাবে বিবেচিত যা দিয়ে বিভিন্ন API গুলি ভালভাবে কাজ করার চেষ্টা করার সাথে আপনাকে প্রচুর ঝামেলা বাঁচিয়ে দেবে।


1
একটি দুর্দান্ত প্রতিক্রিয়া জন্য ধন্যবাদ! আমার এখন দেখার জন্য অনেক।
ক্যাপকম

10

ব্লুটুথ স্মার্ট (বা ব্লুটুথ লো এনার্জি / ব্লুটুথ 4.0) নামে পরিচিত ব্লুটুথ ব্র্যান্ডের মধ্যে এমন কোনও প্রযুক্তি এবং এটি আপনার কাছে থাকা ফোনের উপর নির্ভর করে এটি সম্পন্ন হতে পারে।

নিয়মিত ব্লুটুথের মাধ্যমে লো এনার্জিটির প্রধান সুবিধা হ'ল এটি অনেক কম শক্তি খরচ করে এবং কোনও ডিভাইসের প্রত্যাশিত জীবনকাল সংযোগের ব্যবধানের ভিত্তিতে এবং একটি মুদ্রা কোষের ব্যাটারিতে এটি কতটা বিজ্ঞাপনের উপর নির্ভর করে বছর হতে পারে।

এই সমস্যাটি সমাধান করার জন্য আপনি চিপের বিজ্ঞাপনের ডেটার ভিতরে কোডটিকে প্রশ্নের মধ্যে রাখতে পারেন। ( ব্লুটুথ 4.0.০ কোর স্পেস। ভলিউম 3, পার্ট সি, বিভাগ 11.1.4 বা 11.1.10)

এখানে 3 টি বড় চিপ প্রস্তুতকারক যা লো এনার্জি চিপস উত্পাদন করে (টিআই, সিএসআর এবং নর্ডিক সেমিকন্ডাক্টর)

নর্ডিকের একটি কানেক্টিভিটি চিপ রয়েছে যার নাম এনআরএফ 800 (একটি কানেক্টিভিটি চিপ, পুরোপুরি যোগ্যতাসম্পন্ন ডিভাইস) এবং একটি এসসি এনআরএফ 51822 রয়েছেNRF8001 ব্যবহার করার সুবিধাটি হ'ল আপনি নিজের পছন্দসই প্রসেসরটি ব্যবহার করতে পারেন এবং ব্লুটুথ স্পেসিফিকেশন সম্পর্কে মাথা ঘামানোর দরকার নেই কারণ এটি চিপটি পরিচালনা করে। এনআরএফ 51822 এর সুবিধাটি হ'ল এটি চিপের একটি সিস্টেম এবং বিওএমকে হ্রাস করে, এটি কর্টেক্স-এম0 চালাচ্ছে এবং মুক্তি পাওয়ার সময় সম্পূর্ণ যোগ্যতা অর্জন করা উচিত।

টিআইতে 8051 এসওসি চিপ সিসি 2540 রয়েছে এবং সিএসআরতে এসসি চিপ সিএসআর রয়েছে nerসার্জি

এটি আপনার প্রয়োজন এবং প্রসেসর এবং কার্যকারিতা / ব্যয়কে পছন্দ করে তোলে


3

হ্যাঁ, ডিভাইসগুলি জোড়া না দিয়ে ব্লুটুথ যোগাযোগ সম্ভব। insecureRfcomসুরক্ষিত আরএফকমের সম্মান ব্যবহার করুন । এটি ডেটা স্থানান্তরের জন্য জুড়ি লাগবে না।



1

একটি সফল জুটি তৈরির ফলাফল হ'ল লিঙ্ক কীটি, গোপন যা জোড় করা ডিভাইসগুলি তাদের ভাগ করে নিতে এবং যোগাযোগ করতে সক্ষম করে।

যদি সিস্টেমে লিঙ্ক কীটি সেট করা সম্ভব হয় তবে হ্যাঁ, কোনও জুড়ি লাগার দরকার নেই। উভয় ডিভাইসে একই লিঙ্ক কীটি সেট করুন। এই সংযোগের পরে সফলভাবে ওপেনড করা যেতে পারে যেমন দুটি ডিভাইস যুক্ত হয়ে গেছে।

উদাহরণস্বরূপ লিনাক্সে জুড়ি দেওয়ার পরে infoফাইলটি প্রতিটি ভারী ডিভাইসের জন্য / var / lib / ব্লুটুথ / স্থানীয়-ডিভাইস-ঠিকানা / দূরবর্তী-ডিভাইস-ঠিকানা / এর অধীনে সংরক্ষণ করা হয়

Generalবিভাগে ফোলউইং অন্তর্ভুক্ত হওয়ার পরে : [LinkKey] Key=FF00112233445566778899AABBCCDDEE Type=5 PINLength=0

এটি জুটি না করে সরাসরি সেট করা যায়। দূরবর্তী ডিভাইসে যদি একই লেখা থাকে। ডিভাইসগুলি যুক্ত করা হয়েছে।

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