আমি কীভাবে রাস্পবেরি পাই 3 (বা পরবর্তী মডেল) এ সিরিয়াল কাজ করব?


44

আমার পাই 3 সিরিয়াল কনসোলটি আবর্জনা তৈরি করে এবং কীবোর্ডটিতে সাড়া দিতে ব্যর্থ হয়।

উত্তর:


65

এই উত্তরটি এখনও সঠিক, এবং পরিবর্তনের প্রকৃতির আরও বিশদে বিশদটি ব্যাখ্যা করেছে, তবে বর্তমানের রাস্পবিয়ান-র বেশিরভাগ ব্যবহারকারীকে কেবল sudo raspi-configনির্বাচন করা উচিত সিলেক্ট করুন Interfacing Options / Serialতারপর নির্দিষ্ট করুন যদি আপনি সিরিয়াল কনসোল চান (সম্ভবত না) তবে আপনি যদি সিরিয়াল পোর্ট হার্ডওয়্যার সক্ষম করতে চান (সম্ভবত সম্ভবত) হ্যাঁ). তারপরে /dev/serial0সিরিয়াল পোর্টটিতে অ্যাক্সেস পাওয়া কোনও কোড ব্যবহার করুন।

রাস্পবেরি পাই 3, পাই 3 বি +, পাই 3 এ +, পিজেইরও-তে বিসিএম 2837 এর 2 টি ইউআরটি রয়েছে (যেমন তার পূর্বসূরিরাও করেছিল) তবে ব্লুটুথ কার্যকারিতা সমর্থন করার জন্য পুরোপুরি বৈশিষ্ট্যযুক্ত পিএল 11 ইউআরটি হেডার পিন থেকে ব্লুটুথ চিপে সরানো হয়েছিল এবং মিনি ইউআরটি উপলব্ধ করা হয়েছিল শিরোনাম পিনগুলি 8 এবং 10
(পাই 4 এর এসওসিটিতে অতিরিক্ত ইউআরটি রয়েছে, তবে বিসিএম 2837 হিসাবে একই 2 টি ইউআরটি পিন 8 এবং 10 এবং ব্লুটুথের ডিফল্ট সিরিয়ালের জন্য ব্যবহৃত হয়))

সিরিয়াল ইন্টারফেসের ব্যবহারকারীদের জন্য এটির বেশ কয়েকটি পরিণতি রয়েছে।

/dev/ttyAMA0পূর্বে এক্সেস UART এখনই Bluetooth সাথে সংযোগ করে করতেন।
MiniUART এখন উপলভ্য /dev/ttyS0
সর্বশেষ অপারেটিং সিস্টেম সফ্টওয়্যার সেখানে একটি হল /dev/serial0যা উপযুক্ত ডিভাইস নির্বাচন করে যাতে আপনি প্রতিস্থাপন করতে পারেন /dev/ttyAMA0সঙ্গে /dev/serial0এবং Pi3 এবং তার আগে মডেল একই সফটওয়্যার ব্যবহার করুন।

দুর্ভাগ্যক্রমে আরও অনেক ফলাফল রয়েছে: -

The mini UART is a secondary low throughput UART  
  intended to be used as a console.
The mini Uart has the following features:
• 7 or 8 bit operation.
• 1 start and 1 stop bit.
• No parities.
• Break generation.
• 8 symbols deep FIFOs for receive and transmit.
• SW controlled RTS, SW readable CTS.
• Auto flow control with programmable FIFO level.
• 16550 like registers.
• Baudrate derived from system clock.

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

এখানে একটি ঘাতক বৈশিষ্ট্য রয়েছে "সিস্টেম ক্লক থেকে প্রাপ্ত ব্যুড্রেট" যা মিনিউআর্টকে অকেজো করে তোলে কারণ এই ঘড়িটি পরিবর্তনশীলভাবে পরিবর্তিত হতে পারে যেমন যদি সিস্টেম হ্রাস পাওয়ার বা লো পাওয়ার মোডে চলে যায়।

/boot/config.txtশেষে নিম্নলিখিত লাইনটি যুক্ত করে এই নির্ভরতা অপসারণ পরিবর্তন করে : -

core_freq=250

এটি সমস্যাটি সংশোধন করে এবং খুব কম প্রভাব ফেলেছে বলে মনে হয়। SPI clock frequencyএবং ARM Timerসিস্টেমের ঘড়ি উপর নির্ভরশীল।

কিছু উদ্ভট কারণে সর্বশেষ 4.4.9 কার্নেলটি ব্যবহার করে পাই 3-এর ডিফল্ট হ'ল ইউআরটি অক্ষম করুন। এটি সক্ষম করতে আপনি পরিবর্তন করতে প্রয়োজন enable_uart=1মধ্যে /boot/config.txt। (এটি এটিও ঠিক করে দেয় core_freqতাই এটি আর প্রয়োজন হয় না))

অবশেষে আপনি যদি ব্লুটুথ ব্যবহার না করেন (বা অপ্রয়োজনীয় ব্যবহার থাকে) তবে ডিভাইস ট্রিতে পোর্টগুলি আবার অদলবদল করা সম্ভব। একটি pi3-miniuart-btএবং pi3-disable-btমডিউল রয়েছে যা বর্ণিত হয়েছে /boot/overlays/README


দুর্দান্ত ব্যাখ্যার জন্য আপনাকে @ মিলিওয়েজকে ধন্যবাদ। যদিও আমি যাইনি ... আমার কাছে একটি রেডিও-মডিউল রয়েছে যা আমার রাস্পবেরি ইউআআরটি ব্যবহার করে সংযুক্ত করে এবং এটি একটি বাউড-রেট পছন্দ করে 9600। সুতরাং এটি কাজ করা উচিত যদি আমি core_freq=250অজগর স্ক্রিপ্টে আমার বাড রেটটি সেট করি এবং তারপর কনফিগার করি? এছাড়াও, আপনি যদি একবার নজর রাখতে পারতেন তবে দুর্দান্ত হবেন: raspberrypi.stackexchange.com/questions/47379/… ধন্যবাদ!
জর্জি

আমি / dev / সিরিয়াল0 চেষ্টা করেছি এবং /boot/config.txt এ সক্ষম_uart = 1 এর ওয়্যারিংপিআই কোড যা রাস্পবেরি পাই 2 নিয়ে কাজ করত, তবুও এটি সিরিয়াল যোগাযোগ শুরু করতে ব্যর্থ হয় (ফেরত শর্তটি -1)। আমি / dev / S0 চেষ্টা করেও কোনও লাভ হয়নি। আমি কি অনুপস্থিত হতে পারে? (এছাড়াও রাসি-কনফিগারেশন থেকে সিরিয়াল বন্দর মুক্ত করে)। (রাস্পিয়ান সহ সমস্ত কিছুই আপ টু ডেট)
ওজেনারাল

1
@ ওই 1 আপনার যদি কোন প্রশ্ন থাকে তবে এটি কোনও নতুন প্রশ্নে জিজ্ঞাসা করুন, মন্তব্যে নয়।
মিলিওয়েজ

আমি একটু বিভ্রান্ত আপনার অর্থ কীভাবে এটি সমতা সমর্থন করে না? আমার ডিভাইসটির সাথে আমার পাই 3 কথা বলছে এবং এটিতে সমতা থাকতে হবে বা আমার সিস্টেম এটিতে কথা বলবে না। আপনার উত্তর এবং নাসিরের উত্তর অনুসরণ করার পরে, আমি আমার pi3 আমার প্রোগ্রাম টকটি সফলভাবে এই ডিভাইসে চালিত করতে সক্ষম হয়েছি যা ইভেন প্যারিটির জন্য সেট করা হয়েছে।
ThN

1
আপনি কি ইউআরটি ইউআরটি রূপান্তরকারীতে যুক্ত করতে পারবেন 3.3V সামঞ্জস্যপূর্ণ এবং 5 ভি সামঞ্জস্যপূর্ণ নয়।
MaNyYaaCk

20

অবশেষে এটি আমার পাই 3 এর জন্য কাজ পেয়েছে (ওএস: ডেবিয়ান জেসি)

সাবধানে এই 6 টি পদক্ষেপ অনুসরণ করুন।

পদক্ষেপ 1 - এসএসডি কার্ডে রাস্পবিয়ান জেসি ইনস্টল করুন এবং টার্মিনাল বা ডেস্কটপ এবং শেলের মাধ্যমে কোনও নেটওয়ার্ক লগিনের সাথে যুক্ত হয়ে গেলে পাই বুট করুন: এর সাথে সিস্টেমটি কনফিগার করুন:

sudo raspi-config

ফাইল সিস্টেমটি প্রসারিত করুন এবং উন্নত পৃষ্ঠায় সিরিয়াল সক্ষম করুন, প্রস্থান করুন এবং পুনরায় বুট করুন।

দ্বিতীয় ধাপ - এটি আপনার জেসি নতুন রিলিজ থাকলে প্রয়োজনীয় হবে না সাথে সিস্টেম আপডেট করুন:

sudo apt-get update

sudo apt-get upgrade

পদক্ষেপ 3 - ডিভাইস ট্রি সেটিংস নীচে হিসাবে:

রাস্পবেরি পাই 3 ব্লুটুথ অক্ষম করতে ডিভাইস ট্রি /boot/config.txt এ যুক্ত করুন

sudo nano /boot/config.txt

ফাইলের শেষে যুক্ত করুন

* আপনি যদি ব্লুথুথটি মিনিয়ার্ট বন্দরে পরিবর্তন করতে চান (খারাপ)

dtoverlay=pi3-miniuart-bt

* যদি আপনি ব্লুথুথ অক্ষম করতে চান (ভাল)

dtoverlay=pi3-disable-bt

আপনার পরিবর্তনগুলি সংরক্ষণ করে সম্পাদক থেকে প্রস্থান করুন।

পদক্ষেপ 4 - পাই পুনরায় বুট করুন

sudo reboot

পদক্ষেপ 5 -

ক) সিরিয়াল কনসোলটি ফাইলটি সম্পাদনা করে অক্ষম করতে

sudo nano /boot/cmdline.txt

শব্দ " console=serial0,115200" বা " console=ttyAMA0,115200" শব্দটি সরান

আপনার পরিবর্তনগুলি প্রস্থান করুন এবং সংরক্ষণ করুন

খ) সিরিয়াল কনসোলটি ব্যবহার করে ফাইল সম্পাদনা করতে সক্ষম করুন

sudo nano /boot/cmdline.txt

ফাইলটি নিম্নলিখিতটিতে পরিবর্তন করুন:

dwc_otg.lpm_enable=0 console=tty1 console=serial0(or ttyAMA0),115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

আপনার পরিবর্তনগুলি প্রস্থান করুন এবং সংরক্ষণ করুন

পদক্ষেপ - - পাই পুনরায় বুট করুন

sudo reboot

----------------- এগুলি সবই মজা করুন ---------------------------- ---


আরপিআই 2 এ এটি কাজ করে এবং আমি এটি একটি ব্লুটুথ রিলে বোর্ডের সাথে সংযুক্ত করেছি এবং এটি কমান্ডের মাধ্যমে বার্তা প্রেরণ করি। তবে আমি কি এইভাবে কোনও আরডুইনোর কাছ থেকে ডেটা পেতে পারি?
মার্সিয়োকোকো

10

নাসিরের উত্তরটি সঠিক তবে আপনি সাম্প্রতিকতম রাসবিয়ানকে চমকে দিলে কিছুটা বিস্তৃত হবে। আমার যা করার দরকার ছিল তা হ'ল কেবল আমার কনফিগারেশন.এক্সটিএসটিতে (যেমন উইন্ডোজ থেকে যেখানে আপনি ফ্যাট 32 পার্টিশনে এসডি কার্ডটি প্লাগ করেন) থেকে নিম্নলিখিত লাইনটি যুক্ত করুন:

dtoverlay=pi3-disable-bt

তারপরে এটি প্লাগ ইন করুন, এবং পাই সরাসরি কনসোল পিনে স্টাফগুলি মুদ্রণ করবে।


কিভাবে এই কাজ করতে পারেন? ব্লুটুথ ইউআরটি এমনকি জিপিআইও পিনের সাথে সংযুক্ত নয়!
দিমিত্রি গ্রিগরিয়েভ

4
@DmitryGrigoryev এটা আমার পি 3. উপর আমার জন্য কাজ করে
ThN

2
এটি আমার পক্ষেও কাজ করেছিল, আমি দেখতে পেলাম যে এই থ্রেডটি কয়েকটি ছোট ছোট বিষয়গুলি পরিষ্কার করতে সাহায্য করেছে: raspberrypi.org/forums/…
ক্রিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.