আমি কীভাবে কোনও ব্লুটুথ সংযোগে একটি কাঁচা সিরিয়াল টার্মিনাল সংযোগ করব?


10

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

একটি টার্মিনালে একটি ব্লুটুথ সংযোগ থেকে সমস্ত আউটপুট পাইপ করতে আমার কী করতে হবে ?


আপনি কি ব্লুটুথ-> সিরিয়াল, সিরিয়াল-> ব্লুটুথ, বা দ্বি-মুখী করছেন?
ন্যানোফারাড

টোটালস্টেশন ব্লুটুথ <-> উবুন্টু ব্লুটুথ। টোটালস্টেশনে ইউএসবি-র মাধ্যমে স্ট্যান্ডার্ড সিরিয়াল কনফিগারেশন রয়েছে তা দেওয়া, আমি সন্দেহ করি এটি ব্লুটুথের মাধ্যমে সিরিয়াল সংযোগ স্থাপন করছে। অবশ্যই, আমি সম্পূর্ণ ভুল হতে পারি, এই মুহুর্তে যে উত্তরটি আমি ভুল এবং ব্লুটুথ এক্সওয়াইজেড ব্যবহার করে তা সম্পূর্ণভাবে অনুমোদিত।
ব্রায়ান বলসুন-স্ট্যান্টন

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

আপনি কি একটি দ্রুত চিত্র আঁকতে পারেন? আমি বুঝতে পারি না এটি সিরিয়াল ওভার বা ব্লুটুথ ওভার সিরিয়াল, সেই সাথে কে কোথায় ডেটা দিয়ে যাচ্ছে। জিম্প বা কিছুতে এটি করুন এবং এটি এখানে আপলোড করুন
ন্যানোফারাড

খুব ভাল কাজ করে তবে আমি আরএফকোএমএম দিয়ে কিছু গ্লিটচে পড়েছি। আমি যখন স্ক্রিনের সাথে সংযুক্ত থাকি তখন কিছু এটি-সিকোয়েন্স স্বয়ংক্রিয়ভাবে "ATE1 E0" <রিটার্ন> তিনবার টাইপ হয়। তার কারণে, কিছু "লগইন ব্যর্থ" রাস্পির পাশে উপস্থিত হয়। তারপরে, আমি সফলভাবে লগইন করতে এবং টার্মিনাল সেশনটি ডাব্লু / ও আরও কোনও গ্লিট ব্যবহার করতে পারি।
কোডি

উত্তর:


5

ব্রায়ানের উত্তরের যোগ হিসাবে। আমার জন্য স্ক্রিন কাজ করে না, সঙ্গে সঙ্গে প্রদর্শন করা হচ্ছে[screen is terminating]

সুতরাং আমি এই মিনিটার্ম পাইথন স্ক্রিপ্টটি পেয়েছি । ব্যবহার অনুরূপ:

sudo miniterm.py /dev/rfcomm0

12

1) hcitool scanডিভাইসের ম্যাক ঠিকানা সন্ধান করতে ব্যবহার করুন ।

ডিভাইসটি একটি পরিচিত পিনের সাথে স্লেভ মোডে সেট করা উচিত। আপনি যদি কোনও পরিচিত পিন ব্যবহার না করেন তবে উবুন্টু এটি তৈরি করে এবং আপনার পরিমাপের সরঞ্জামটির ক্লঙ্কি মেনুতে সাধারণত প্রবেশ করার সময় পাবেন না।

2) আমি এটি নিশ্চিত যে পুরোপুরি নিশ্চিত নই, তবে ব্লুটুথ গুই মেনুতে, ডিভাইসটি জোড়া করুন।

3) /etc/bluetuth/rfcomm.conf এ

rfcomm0 {
        bind no;
        device 00:07:80:44:4F:37;
        channel 1;
        comment "Serial Port";
        }

"বাইন্ড নন" গুরুত্বপূর্ণ, অন্যথায় এটি স্বয়ংক্রিয়ভাবে বাঁধাই করার চেষ্টা করবে, যা ডিভাইসটিতে আসলে অ্যাক্সেস করার জন্য সমস্ত ধরণের সমস্যা উপস্থাপিত করে (যেমন এটি সম্পর্কিত হওয়ার ক্ষেত্রে যথেষ্ট পিকযুক্ত)

4) sudo rfcomm connect 0

আপনার যদি ত্রুটি থাকে তবে ব্লুটুথ পরিষেবাটি পুনরায় চালু করুন।

5) screen /dev/rfcomm0

এইভাবে প্রেরিত প্রকৃত সিরিয়াল কমান্ডগুলির জন্য, আপনার বিক্রেতার সাথে যোগাযোগ করুন এবং ভিক্ষা করুন।


3
আমি যখন "আরএফকোম সংযোগ 0" চালানোর চেষ্টা করি তখন আমি "অনুপস্থিত দেব পরামিতি" পাই
কেউ

আপনি কি নিজের কনফ ফাইলটি সঠিকভাবে সম্পাদনা করেছেন?
ব্রায়ান বলসুন-স্ট্যান্টন

5
Sudo rfcomm কানেক্ট করার চেষ্টা করুন rfcomm0 00: 07: 80: 44: 4F: 37
এলিওপিও

@ এলোপিয়ার অনলাইনার খুব সাধারণ। এটি আমার জন্য কাজ করেছিল
ptetteh227

10

আমার আরডুইনোতে লাগানো এইচসি -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

তবে আমি জানি না পড়াটি কাজ করে না, আপনার কারও যদি ধারণা থাকে ...


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