লিনাক্স কমান্ড লাইন থেকে সিরিয়াল থেকে পড়া


51

আমার একটি সিরিয়াল পোর্ট ডিভাইস রয়েছে যা আমি লিনাক্স কমান্ড লাইন ব্যবহার করে পরীক্ষা করতে চাই।

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

stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0

ডিভাইসে একটি কমান্ড প্রেরণ। ডিভাইসটি 300 এমএস এর মধ্যে পরিচালনা করে এবং প্রতিক্রিয়া পাঠায়। কমান্ড লাইনটি ব্যবহার করে আমি কীভাবে কনসোলটিতে সেই প্রতিক্রিয়াটি মুদ্রণ করব?

উত্তর:


56

আউটপুট হিসাবে একই। উদাহরণ:

cat /dev/ttyS0

বা:

cat < /dev/ttyS0

প্রথম উদাহরণটি এমন একটি অ্যাপ্লিকেশন যা সিরিয়াল পোর্টটি খোলে এবং এটি থেকে এটি যা পড়ে তা তার stdout(আপনার কনসোল) সাথে সম্পর্কিত করে। দ্বিতীয়টি হ'ল শেল যা আপনার পছন্দ মতো কোনও অ্যাপ্লিকেশনটিতে সিরিয়াল পোর্ট ট্র্যাফিক পরিচালনা করে; এই নির্দিষ্ট অ্যাপ্লিকেশনটি কেবল এর stdinসাথে এটি সম্পর্কিত করে stdout

ট্র্যাফিকের আরও ভাল দৃশ্যমানতা পেতে, আপনি একটি হেক্স্স ডাম্প পছন্দ করতে পারেন:

od -x < /dev/ttyS0

বাsocat stdio /dev/ttyS0
pstanton

আমি যে ডিভাইসে কাজ করছি তার কাছে একটি কমান্ড প্রেরণ করেছি। কমান্ডটি হ'ল: প্রতিধ্বনি "1GINS" | sudo tee / dev / ttyUSB0 .... এবং প্রতিক্রিয়া হিসাবে আমি একই বার্তা পুনরাবৃত্তি একটি অসীম স্ট্রিম পাচ্ছি। কোন ধারনা? ডিভাইসটি নিজেই একবার আমার পাঠানো আদেশটি প্রতিধ্বনিত করা উচিত তবে আমি এখানে অদ্ভুত প্রতিক্রিয়া পাচ্ছি।
ব্যবহারকারী 39131339

আমি যাচাই করেছি যে সিরিয়াল বিশ্লেষক ব্যবহার করে প্রতিক্রিয়া "বাস্তব" নয়। ডিভাইসটি কেবল একবার কমান্ডটি ইকোস করে, তবে উপরের কমান্ডগুলি ব্যবহার করে আমি টার্মিনাল আউটপুটটিতে একটি ক্রেজি অবিরাম পুনরাবৃত্তি পাই।
ব্যবহারকারী 39131339

এটি বাইনারি ডেটা নিয়ে কাজ করে?
আরশ

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