আমার আরডুইনোতে লাগানো এইচসি -05 ব্লুটুথ ডিভাইসে সংযোগ করার জন্য আমার এই পদ্ধতিটি রয়েছে। ব্রায়ানের উত্তরে এর মতো কোনও ফাইল লেখার দরকার নেই, তবে ধারণাটিও একই রকম। আমি এইচসি -05 ডিভাইসে একটি বাড 9600 রেট সেটআপ দিয়ে এটি পরীক্ষা করেছি।
প্রথম পদক্ষেপ: ডিভাইসটি যুক্ত করুন এবং পিন সরবরাহ করুন
আমি এই জুটিটি জিইউআইয়ের কাছ থেকে সেটআপ করার চেষ্টা করেছি, তবে এটি কার্যকর হয়নি। এখানে এগিয়ে যাওয়ার কমান্ড লাইন উপায়টি আমার জন্য কাজ করেছে। প্রথমে কমান্ড লাইন থেকে ডিভাইসটি জোড়া যাক। চালান:
sudo bluetoothctl
নিশ্চিত হয়ে নিন যে ব্লুটুথ ডিভাইসটি শুরু হয়েছে:
# power on
আমরা এখন এজেন্টটি শুরু করি যা "পিনটি মনে রাখবে" এর জন্য rfcomm
:
# agent on
এখন আমরা আমাদের ডিভাইসটি সন্ধান করতে স্ক্যান মোডটিকে সক্ষম করি এবং এটি জোড়া দিতে সক্ষম হব:
# scan on
কয়েক সেকেন্ড পরে আপনার ডিভাইসের ম্যাক উপস্থিত হবে। আমরা এটি পরবর্তী হিসাবে চিহ্নিত করব। তারপরে, আপনার ঠিক এইভাবে ডিভাইসটি জোড়া লাগাতে হবে:
# pair <MAC>
আপনাকে একটি পিন টাইপ করতে বলা হবে, ডিফল্টরূপে এটি 1234
আমার এইচসি -05 ডিভাইসে রয়েছে। আপনি নোট করতে পারেন যে আপনার ডিভাইসটি সংযুক্ত হয়ে তার পরে কোনও বার্তার সাথে সংযোগ বিচ্ছিন্ন করে:
[CHG] Device 20:16:10:24:29:77 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 20:16:10:24:29:77 ServicesResolved: yes
[CHG] Device 20:16:10:24:29:77 Paired: yes
Pairing successful
[CHG] Device 20:16:10:24:29:77 ServicesResolved: no
[CHG] Device 20:16:10:24:29:77 Connected: no
তবে এটি কোনও সমস্যা নয়। আপনার সংযোগ করার দরকার নেই, তাই আপনি এখন bluetoothctl
টাইপ করে প্রস্থান করতে পারেন Ctrl + D
।
ব্যবহারযোগ্য ফাইল সরবরাহ করুন /dev/rfcomm0
প্রথমত, নিশ্চিত হয়ে নিন যে আপনি কোনও rfcomm কমান্ড আগে চালিত করেন নি। প্রকৃতপক্ষে, আপনি যদি Ctrl+C
প্রোগ্রামটি বন্ধ করেন তবে এটি ব্যাকগ্রাউন্ডে চলবে।
sudo killall rfcomm
এখন, আপনি চালাতে পারেন
sudo rfcomm connect /dev/rfcomm0 20:16:10:24:29:77 1 &
মনে রাখবেন যে আপনি আরএফকমের ইনপুটটিতে লেখার চেষ্টা করলে কিছুই ঘটেনি। আপনার অন্য একটি প্রোগ্রাম ব্যবহার করা দরকার।
তৃতীয় এবং শেষ পদক্ষেপ: লিখুন /dev/rfcomm0
ফাইলটিতে লেখার বিভিন্ন উপায় রয়েছে তবে নোট করুন যে সমস্ত উপায়ের জন্য রুট জড়িত। আমি এখানে বেশ কয়েকটি প্রোগ্রাম বর্ণনা করতে পারি যা এটি করতে পারে (যাতে আপনি আপনার প্রয়োজনের উপর নির্ভর করে বা উদাহরণস্বরূপ আপনার সিস্টেমে কী ইনস্টল করা আছে তার উপর নির্ভর করে চয়ন করতে পারেন)। আপনি যদি প্রোগ্রামটি মূল হিসাবে চালাতে ভুলে যান তবে আপনার একটি ত্রুটি হতে পারে:
stty: /dev/rfcomm0: Device or resource busy
প্রথম বিকল্প: ব্যবহার করে সংযোগ করুন screen
স্ক্রিন একটি খুব পাওয়ারফুল সরঞ্জাম। আপনি এটি ব্যবহার করে এটি ইনস্টল করতে পারেন (এটি সর্বদা আর দরকারী)
sudo apt-get install screen
এবং তারপর চালান
sudo screen /dev/rfcomm0
আপনি যদি এটিকে মূল হিসাবে চালাতে ভুলে যান তবে আলেকসান্দারের মতো একটি ত্রুটি পাবেন:
[screen is terminating]
এটি ছেড়ে দিতে, "(CTRL + A) +: প্রস্থান করুন" টাইপ করুন
দ্বিতীয় বিকল্প: ব্যবহার করে সংযোগ করুন minicom
এটি ইনস্টল করুন
sudo apt-get install minicom
এবং তারপর চালান
sudo minicom -D /dev/rfcomm0
আপনি যদি এটি রুট হিসাবে চালাতে ভুলে যান তবে আপনার মতো একটি ত্রুটি হবে
minicom: cannot open /dev/rfcomm0: Device or resource busy
এটি ছাড়তে, "Ctrl + A X" টাইপ করুন।
তৃতীয় বিকল্প: পাইথন স্ক্রিপ্ট মিনিটার্ম
এই স্ক্রিপ্টটি ডাউনলোড করুন এবং চালান:
chmod +x miniterm.py
sudo ./miniterm.py /dev/rfcomm0
সরাসরি ফাইলের মধ্যে লিখুন
প্রথমে নিম্নলিখিত কমান্ডটি চালান (9600 বাউড রেট):
sudo stty -F /dev/rfcomm0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
ক্লাসিক ফাইলের মতো এখন আপনি এই ফাইলটিতে লিখতে পারেন:
sudo su -c "echo 'message' > /dev/rfcomm0"
এবং তাত্ত্বিকভাবে এটি ব্যবহার করে পড়ুন
sudo tail -f /dev/rfcomm0
তবে আমি জানি না পড়াটি কাজ করে না, আপনার কারও যদি ধারণা থাকে ...