আমি কীভাবে একটি ইউএসবি সিরিয়াল ডিভাইসে সংযোগ করতে পারি?


12

আমার কাছে একটি ইউএসবি সিরিয়াল পোর্ট তারের সাথে একটি ডিভাইস রয়েছে যা আমি আমার রাস্পবেরি পাইয়ের সাথে সংযুক্ত করতে চাই। এই ইউএসবিটির চিপসেটটি সিরিয়াল কেবল এটি প্রিলিফিক প্রযুক্তি, ইনক। থেকে PL-2303

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


1
আকর্ষণীয় প্রশ্ন। এটি ইউএসবি অংশে সহায়তা করতে পারে: raspberrypi.stackexchange.com/questions/258/…
Jivings

1
এই দুটি প্রশ্ন? বিশেষত, 'সিরিয়াল ডিভাইসগুলির জন্য আমি কীভাবে ড্রাইভার ইনস্টল করতে পারি?' এবং 'পাইথনের মধ্যে কীভাবে আমি সিরিয়াল ডিভাইসে সংযোগ করতে পারি?'। ড্রাইভার সম্পর্কিত প্রশ্নটি এই সাইটে দীর্ঘ হবে। তবে পাইথন প্রশ্নটি স্ট্যাকওভারফ্লোয়ের মতো সাইটের আরও নির্দিষ্ট হতে পারে। লিনাক্স-ভিত্তিক আর্কিটেকচার বা ইনস্টল প্রক্রিয়া নির্বিশেষে পাইথনের সিরিয়াল ডিভাইসের সাথে যোগাযোগ করার বিষয়টি আমি ধরে নেব।
আরএলএইচ

বোর্ডে সিরিয়াল পোর্ট (ইউআরটি পিন) এবং একটি ইউএসবি সিরিয়াল পোর্টের সাথে যোগাযোগ করার মধ্যে কোনও পার্থক্য থাকা উচিত।
অ্যালেক্স চেম্বারলাইন

এই প্রশ্নগুলি পড়েছে: আমি কীভাবে [কনফিগারেশন \ পিএল 2303 টিটিএল থেকে সিরিয়ালের জন্য লিটমাস পরীক্ষা] শুরু করব ( রাস্পবেরিপি.স্ট্যাকেক্সচেঞ্জ / প্রশ্নগুলি / ৪১৫৫৩/২ )? একবার হার্ডওয়ারটি নিশ্চিত হয়ে গেলে, সিরিয়াল পোর্ট থেকে ডেটা টানতে কেউ পিয়েরিয়াল চালানো বিনোদন করতে পারে
গেটরব্যাক

উত্তর:


7

পাইথন ব্যবহার করে সিরিয়াল ডিভাইসে কথা বলার জন্য পাইসারিয়াল মডিউলটি ব্যবহার করুন। যদি এটি আপনার বিতরণে উপলভ্য না থাকে তবে পাইস্রিয়াল প্রকল্প পৃষ্ঠা থেকে উত্সটির অনুলিপি পেয়ে এবং "পাইথন সেটআপ.পিই ইনস্টল" চালিয়ে এটি ইনস্টল করা যেতে পারে

পাইসারিয়াল ব্যবহারের সহজ উদাহরণ সংক্ষিপ্ত পরিচিতিতে পাওয়া যায় ।

PL-2303 এর মডিউলটি ডিফল্টরূপে পাওয়া যায় - ফার্মওয়্যার গিটহাবের সংগ্রহস্থলটি দেখুন - আপনি যখন ডিভাইসটি প্লাগ ইন করেন তখন আপনার উচিত এটি জ্বলতে থাকা /var/log/messages। আমি একটি আরডিনোতে সংযুক্ত হয়েছি এবং যোগাযোগ পোর্টে এটি "সবেমাত্র কাজ করেছে" /dev/ttyUSB0(বিভিন্ন ডিভাইস, ড্রাইভার, চিপসেট ইত্যাদি), যাতে আপনার মাইলেজটি পৃথক হতে পারে )।


ডিভাইসটি সংযুক্ত হয়েছে এবং আমি এখন / dev / ttyUSB0 দেখতে পাচ্ছি তাই দেখে মনে হচ্ছে যে এটির "স্রেফ কাজ করবে" এমন ভাল সুযোগ রয়েছে।
সোয়ন্ডার্স

পাইসারিয়াল ইনস্টল করে এবং মিনিটারিম উদাহরণটি ব্যবহার করে আমি ডিভাইস থেকে ডেটা দেখতে পাচ্ছি :)
সুইন্ডার্স

4

PL-2303 ভাল সমর্থিত, এবং এটি হিসাবে প্রদর্শিত হবে /dev/ttyUSBx। কোনও ড্রাইভারের দরকার নেই। আপনি যে কোনও সাধারণ সিরিয়াল বন্দর হিসাবে এটি পড়ুন। আমি পাইথন ব্যবহার করি নি, তবে সি ++ তে, আমি এটি অ-ব্লকিং মোডে () খুলি, তথ্য পড়তে হবে কিনা তা দেখতে () নির্বাচন করুন এবং তারপরে একটি রিড করুন ()।


4

পাইসারিয়াল ডাউনলোড করুন ( https://pypi.python.org/pypi/pyserial )

wget http://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz?raw=true -O pyserial-2.7.tar.gz
tar -xzf pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python setup.py install

আপনি লাইনটি দিয়ে ttyUSB প্রাপ্যতা পরীক্ষা করতে পারেন

ls -ltr /dev|grep -i ttyUSB

সিরিয়াল আউটপুট ব্যবহার দেখতে

tail -f /dev/ttyUSB<NUMBER FROM ABOVE>

Crtl + সি ভাঙ্গতে

একটি টেডসিরিয়াল.পি ফাইল তৈরি করুন এই কোডটি পেস্ট করুন

#!/usr/bin/python
from time import sleep
import serial

# Establish the connection on a specific port
ser = serial.Serial('/dev/ttyUSB0', 9600) 

x = 1 while True:
       print ser.readline() # Read the newest output 
       x += 1

-3

এর জন্য দুর্দান্ত টিউটোরিয়াল:

http://www.digitalmihailo.com/post/usb-programming-with-python-on-linux

তথ্যের একটি মূল্যবান উত্স হ'ল http://www.lvr.com/usbc.htm সম্পূর্ণ


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