जवाबों:
यह उत्तर अभी भी सही है, और परिवर्तनों की प्रकृति के बारे में और अधिक विस्तार से बताता है, लेकिन वर्तमान रास्पियन के अधिकांश उपयोगकर्ताओं को बस
sudo raspi-config
चयन करना चाहिएInterfacing Options / Serial
फिर निर्दिष्ट करें कि क्या आप एक सीरियल कंसोल चाहते हैं (शायद नहीं) तो यदि आप सीरियल पोर्ट हार्डवेयर सक्षम करना चाहते हैं (शायद हाँ)। फिर/dev/serial0
किसी भी कोड में उपयोग करें जो सीरियल पोर्ट तक पहुंचता है।
रास्पबेरी Pi3, Pi3B +, Pi3A +, PiZeroW पर BCM2837 में 2 UART (जैसा कि इसके पूर्ववर्ती) थे, हालांकि ब्लूटूथ कार्यक्षमता का समर्थन करने के लिए पूरी तरह से चित्रित PL011 UART को हेडर पिंस से ब्लूटूथ चिप में स्थानांतरित किया गया था और मिनी UART पर उपलब्ध कराया गया था। हेडर पिन 8 & 10.
(Pi4 पर SOC में अतिरिक्त UARTs हैं, लेकिन BCM2837 के रूप में 2 UARTs पिन 8 और 10 और ब्लूटूथ पर डिफ़ॉल्ट धारावाहिक के लिए उपयोग किए जाते हैं।)
यह सीरियल इंटरफ़ेस के उपयोगकर्ताओं के लिए कई परिणाम हैं।
/dev/ttyAMA0
पहले से पहुँच UART अब ब्लूटूथ से कनेक्ट करता है के लिए इस्तेमाल किया।
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 कर्नेल का उपयोग करते हुए Pi3 के लिए डिफॉल्ट UART में है। इसे सक्षम करने के लिए आप को बदलने की जरूरत
enable_uart=1
में/boot/config.txt
। (यह भी ठीक करता है,core_freq
इसलिए यह आवश्यक नहीं है।)
अंत में यदि आप ब्लूटूथ का उपयोग नहीं करते हैं (या उपयोग में नहीं आता है) तो डिवाइस ट्री में वापस पोर्ट स्वैप करना संभव है। वहाँ एक pi3-miniuart-bt
और pi3-disable-bt
मॉड्यूल है जो में वर्णित हैं /boot/overlays/README
।
अंत में यह मेरे pi3 के लिए काम मिल गया (ओएस: डेबियन jessie)
कृपया इन 6 चरणों का ध्यानपूर्वक पालन करें ।
चरण 1 - एक एसडी कार्ड पर रास्पियन जेसी स्थापित करें और टर्मिनल या डेस्कटॉप के माध्यम से नेटवर्क से कनेक्ट होने पर पाई बूट करें और शेल को सिस्टम के साथ कॉन्फ़िगर करें:
sudo raspi-config
फाइलसिस्टम का विस्तार करें और उन्नत पृष्ठ पर सीरियल को सक्षम करें, बाहर निकलें और रिबूट करें।
चरण 2 के लिए आवश्यक नहीं होगा यदि आपके पास जेसी नई रिलीज़ है
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 -
a) सीरियल कंसोल को निष्क्रिय करने के लिए फ़ाइल का उपयोग करके संपादित करें
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
बाहर निकलें और अपने परिवर्तनों को सहेजें
चरण 6 - पाई को रिबूट करें
sudo reboot
----------------- यह सब, मज़े करो ---------------------------- ---
नसीर का जवाब सही है लेकिन थोड़ा सा विस्तृत अगर आप सिर्फ नवीनतम रसियन पर प्रकाश डाला। मुझे बस इतना करना है, बस मेरे config.txt में निम्न पंक्ति को जोड़ना है (उदाहरण के लिए खिड़कियां जहां आप वसा कार्ड विभाजन पर एसडी कार्ड में प्लग करते हैं):
dtoverlay=pi3-disable-bt
फिर इसे प्लग करें, और पीआई सीधे कंसोल पिंस पर सामान प्रिंट करेगा।
9600
। तो यह काम करना चाहिए अगर मैं सेट करता हूंcore_freq=250
और फिर मा पायथन स्क्रिप्ट में अपनी बॉड दर को कॉन्फ़िगर करता हूं? इसके अलावा, यदि आप एक नज़र देख सकते हैं तो बहुत अच्छा होगा: raspberrypi.stackexchange.com/questions/47379/… धन्यवाद!