Raspberry PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15: 9 საფეხურები
Raspberry PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15: 9 საფეხურები
Anonim
ჟოლო PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15 – თან
ჟოლო PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15 – თან
ჟოლო PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15 – თან
ჟოლო PI 3 - სერიული კომუნიკაციის ჩართვა TtyAMA0– მდე BCM GPIO 14 და GPIO 15 – თან

მე ცოტა ხნის წინ დავინტერესდი, რომ გამეყენებინა UART0 ჩემს Raspberry Pi- ზე (3b) ისე, რომ შემეძლო მისი პირდაპირ დაკავშირება RS-232 სიგნალის დონის მოწყობილობას სტანდარტული 9-პინიანი d-sub კონექტორის გამოყენებით USB- ის RS-232- ზე გადასვლის გარეშე. ადაპტერი.

ჩემი ინტერესის ნაწილი იყო ისიც, რომ შემეძლო დაკავშირება ან RS-232 დონის გადამყვანი (MAX3232) ან RS-485 მოწყობილობა (MAX485).

მე ცოტათი ვცდილობდი Pi კონფიგურაციის მუშაობას. მე არ მაქვს დიდი გამოცდილება Raspberry Pi– სთან, ან მის ოპერაციულ სისტემასთან, ასე რომ, მე ვიყავი საკმაოდ ციცაბო სწავლების მრუდზე.

საბოლოოდ, Google– ის ძიებებთან ერთად „სასამართლო და შეცდომა“, მე შევძელი ყველა დეტალის ერთად შეკრება, რათა ეს ჩემი კმაყოფილებისთვის გამეკეთებინა, მაგრამ ინფორმაცია არ იყო ერთ მოკლე დოკუმენტში, რომელიც შეიცავს ყველა ნაბიჯს ამის მისაღწევად.

მე აქ ჩამოვთვლი იმ ნაბიჯებს, რაც გადავდგი ამ სამუშაოს გასაკეთებლად.

მარაგები

1 - ჟოლო პი. მე გამოვიყენე მოდელი 3b.. მაგრამ ეს პროცედურა უნდა მუშაობდეს Pi– ს უმეტესობასთან, განსაკუთრებით Raspberry Pi IOS– ის (ყოფილი Raspian) უახლესი ვერსიებით.

2 - "მინი" RS -232 Level Converter - TTL to RS -232 - მე გამოვიყენე პატარა PCB დატვირთული მასზე MAX 3232 IC, რომელიც ვიყიდე eBay– დან.. მე ასევე წარმატებით ვცადე ეს TTL– ით RS -485– ით კონვერტორი - ასევე შეძენილი eBay– დან.

მას შემდეგ, რაც Pi იყო კონფიგურირებული, ორივე გადამყვანი მუშაობდა ჩემს კმაყოფილებაზე, ჩემ მიერ ნანახი პრობლემების გარეშე.

ნაბიჯი 1: დააინსტალირეთ FRESH ასლი Raspbian– ზე თქვენს მეხსიერების ბარათზე

დააინსტალირეთ FRESH ასლი Raspbian– ზე თქვენს მეხსიერების ბარათზე
დააინსტალირეთ FRESH ასლი Raspbian– ზე თქვენს მეხსიერების ბარათზე

დავიწყე Raspberry Pi IOS- ის (ყოფილი Raspian) ახალი / უახლესი ასლის დაყენებით ჩემს მეხსიერების ბარათზე. მე ავირჩიე არ წავსულიყავი NOOBS მარშრუტით.

ჩამოტვირთეთ და დააინსტალირეთ Imager ინსტრუმენტი

www.raspberrypi.org/downloads/

ჩამოტვირთეთ, გახსენით და დააინსტალირეთ თქვენს მეხსიერების ბარათზე Raspberry Pi IOS სურათი.

ჩატვირთვის შემდეგ, შეამოწმეთ და განაახლეთ საჭიროებისამებრ…

ნაბიჯი 2: ჩართეთ Raspberry Pi სერიული პორტი - GUI გამოყენებით

Raspberry Pi სერიული პორტის ჩართვა - GUI გამოყენებით
Raspberry Pi სერიული პორტის ჩართვა - GUI გამოყენებით
Raspberry Pi სერიული პორტის ჩართვა - GUI გამოყენებით
Raspberry Pi სერიული პორტის ჩართვა - GUI გამოყენებით

სტანდარტულად, ახალი Raspberry Pi IOS ინსტალაციაზე UART0 დაცულია "Logon Shell" - ისთვის. ეს ნიშნავს, რომ მოგაწოდოთ Pi– ს წვდომა / კონტროლი სერიული პორტის / ტერმინალის პროგრამის კომბინაციის საშუალებით.

იმისათვის, რომ გამოიყენოთ UART0 სხვა პროგრამებისთვის, თქვენ უნდა "გამორთოთ" ეს კავშირი Logon Shell– თან. ეს ხდება რამდენიმე საკმაოდ მარტივ ნაბიჯში.

"სერიული პორტის" ჩართვის ყველაზე სწრაფი გზა არის ამის გაკეთება GUI საშუალებით.

"ჟოლო - ჩამოსაშლელი მენიუდან" აირჩიეთ "პარამეტრები" და შემდეგ "ჟოლო პი კონფიგურაცია"

იქიდან გადადით "ინტერფეისების" ჩანართზე და "ჩართეთ" სერიული პორტი (შესაბამის რადიოს ღილაკზე დაჭერით.

დააწკაპუნეთ OK გასასვლელად და შემდეგ გადატვირთეთ.

ან.. შეგიძლიათ მიყევით ამ მეთოდს…

ნაბიჯი 3: სერიული პორტის ჩართვის ალტერნატიული მეთოდი (და გამორთეთ შესვლის ჭურვი)

ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)
ალტერნატიული მეთოდი სერიული პორტის გასააქტიურებლად (და გამორთეთ შესვლის Shell)

ეს მეთოდი არის მითითებისთვის - არ არის აუცილებელი, მაგრამ კარგია ამის ცოდნა.

== == ==

ალტერნატიული მეთოდი გამორთოთ კონსოლი UART0– ის ჩატვირთვისას.

გამოყენება:

sudo raspi-config

აირჩიეთ ვარიანტი #5 - ინტერფეისის პარამეტრები ==> აირჩიეთ

აირჩიეთ P6 სერიული ==> აირჩიეთ

უპასუხეთ არა: გსურთ რომ შესვლის ჭურვი იყოს ხელმისაწვდომი სერიალზე?

უპასუხეთ დიახ: გსურთ სერიული პორტის აპარატურა ჩართული იყოს?

პასუხი იქნება:

სერიული შესვლის გარსი გათიშულია

სერიული ინტერფეისი ჩართულია

აირჩიეთ OK

აირჩიეთ დასრულება

ნაბიჯი 4: გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის

გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის
გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის
გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის
გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის
გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის
გამორთეთ Bluetooth - გამოუშვით UART0 და გაათავისუფლეთ TtyAMA0– ისთვის

პროცესის მეორე ნაწილი არის ასევე Bluetooth– ის გათიშვა UART0– დან.

ამ "UART კონფიგურაციის" გვერდზე თქვენ უნდა გათიშოთ Bluetooth მოწყობილობა UART0– დან და გაათავისუფლოთ UART0 ttyAMA0– სთვის - საჭიროების შემთხვევაში შეგიძლიათ Bluetooth– ის გადატანა „მინი -UART“- ში.

გააგრძელეთ ფაილის სახელწოდებით "config.txt" (მდებარეობს "ჩატვირთვის" დირექტორიაში) და დაამატეთ ერთი სტრიქონი გვერდის ბოლოში:

dtoverlay = გამორთვა-ბტ

თქვენი სიტუაციიდან და Bluetooth– ის გამოყენების სურვილებიდან გამომდინარე, შეიძლება დაგჭირდეთ შემდეგი სტრიქონის დამატება (მაგრამ ეს არ არის აუცილებელი ამ სახელმძღვანელოს სწორად მუშაობისთვის). ამ გვერდს ასევე აქვს ღირებული დეტალები ამ ბიზნესის შესახებ. გთხოვთ, დრო დაუთმოთ ბმული ფაილის წასაკითხად (იხ. ზემოთ) ამის გაგების მიზნით.

dtoverlay = miniuart-bt

ორმაგად შეამოწმეთ თქვენი მართლწერა, შემდეგ შეინახეთ ფაილი გასვლისას და გადატვირთეთ.

ამ დროს კარგი უნდა იყო წასვლა.

ნაბიჯი 5: RPI ჩამონტაჟება UART პორტისთვის

RPI Pin-out UART პორტისთვის
RPI Pin-out UART პორტისთვის

ვებგვერდზე "pinout.xyz" Raspberry Pi UART0 ქინძისთავები ხელმისაწვდომია შემდეგ ქინძისთავებზე.

UART ქინძისთავები BCM რეჟიმში არის: RPI Pin #8 / GPIO14 ==> TXD

RPI პინი #10 / GPIO15 ==> RXD

გახსოვდეთ, რომ ამ ქინძისთავებისთვის ისინი არის "3.3 ვოლტიანი TTL დონე". ეს არ შეიძლება გამოყენებულ იქნას RS-232 დონის RS-422 ან RS-422/RS-485 დონის მოწყობილობის მართვისა და მიღებისათვის. ამის მცდელობა გამოიწვევს თქვენი ბორტზე UART- ის დამწვრობას და, სავარაუდოდ, თან წაიყვანს პროცესორის ჩიპს.

თქვენ უნდა გამოიყენოთ დონის გადამყვანი.

RS-232 დონის ან RS-422/RS-485 დონის მოწყობილობასთან დასაკავშირებლად გჭირდებათ შესაბამისი დონის გადამყვანი.

ნაბიჯი 6: დაამატეთ RS-232 დონე TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე

RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-232 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე

TTL– დან RS-232 დონის კონვერტაციისთვის ვიყენებ შემდეგ კონვერტორს.

MAX3232 დაფუძნებული მინი RS232 to TTL დონის გადამყვანი.

ეს ელემენტი შეიძლება იკვებებოდეს 3.3 VDC– ით ან თუნდაც 5 VDC– ით (ორივე ხელმისაწვდომია თქვენი RPI– ს კონკრეტული ქინძისთავებიდან) და რეალურად გამოიყენოს ძალიან ცოტა დენი.

MAX3232– ის მონაცემთა ფურცელი შეიცავს მნიშვნელოვან დეტალებს მისი მუშაობის შესახებ, მაგრამ სინამდვილეში ამ სამუშაოს შესრულებისთვის კოდირება არ არის საჭირო

იხილეთ თანდართული ფოტოები და მიიღეთ დრო, რომ ყურადღებით დააკავშიროთ Raspberry Pi ქინძისთავები მოდულის შესაბამის ქინძისთავებთან. უბრალოდ იცოდეთ, რომ ეს მოწყობილობა იმუშავებს 3.3VDC ან 5 VDC– ზე - ორივე ხელმისაწვდომია RPI– ზე (იხილეთ Pin -out დიაგრამა).

გაფრთხილება:

მე ვიყიდე ამ აპარატებიდან ბევრი 10 eBay– დან და მე ვერ შევძელი რომელიმე მათგანის მუშაობაზე. გარეგნულად, როგორც ჩანს, მათი გამოყენება საკმაოდ მარტივი უნდა იყოს, მაგრამ არა. მას შემდეგ რაც ცოტათი ვიბრძვი მათთან, ვიპოვე უამრავი დეტალი FAKE MAX3232– ზე, რომელიც ხელმისაწვდომია ონლაინ რეჟიმში.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

მე არ გირჩევთ ამ ნივთს.

ნაბიჯი 7: RS-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე

RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე
RST-485 დონის დამატება TTL დონის გადამყვანის მოწყობილობაზე თქვენს ჟოლოს პიზე

წინა ნაბიჯის უმეტეს გზებზე მსგავსი, RS -485 დონის გადამყვანის დამატება ისეთივე ადვილია - შესაძლოა უფრო ადვილიც.

TTL– დან RS-232 დონის კონვერტაციისთვის ვიყენებ შემდეგ კონვერტორს.

MAX485 ემყარება RS485 დონის TTL დონის კონვერტორს. ისევ და ისევ, ეს ელემენტი შეიძლება იკვებებოდეს 3.3 VDC- ით ან თუნდაც 5 VDC- ით (ორივე ხელმისაწვდომია თქვენი RPI- ს კონკრეტული ქინძისთავებიდან) და რეალურად ძალიან მცირე დენს გამოიყენებს. MAX485– ის მონაცემთა ცხრილი შეიცავს მნიშვნელოვან დეტალებს მისი მუშაობის შესახებ, მაგრამ სინამდვილეში ამ სამუშაოს შესრულებისთვის კოდირება არ არის საჭირო

იხილეთ თანდართული ფოტოები და მიიღეთ დრო, რომ ყურადღებით დააკავშიროთ Raspberry Pi ქინძისთავები მოდულის შესაბამის ქინძისთავებთან. უბრალოდ იცოდეთ, რომ ეს მოწყობილობა იმუშავებს 3.3VDC ან 5 VDC– ზე - ორივე ხელმისაწვდომია RPI– ზე (იხილეთ Pin -out დიაგრამა).

აღსანიშნავია-RS-232– სგან განსხვავებით, RS-485– ს არ აქვს მასთან დაკავშირებული „სტანდარტული“კონექტორის ტიპი. ნომენკლატურა ჩვეულებრივ არის "B-" და "A+", მაგრამ გაითვალისწინეთ, რომ ყველა მომწოდებელი არ მისდევს ამ ერთსა და იმავე ნომენკლატურას. RS -485 მუშაობს დიფერენციალური წყვილის სიგნალის სქემაზე - ამის შესახებ უფრო დეტალური ინფორმაცია შეგიძლიათ იხილოთ აქ. "ველური დასავლეთი" ცხოვრობს RS-485 ხეობაში.

ნაბიჯი 8: ახლა, შენი ჯერია

თქვენ ახლა უნდა შეგეძლოთ თქვენი Raspberry Pi პირდაპირ დაუკავშიროთ გარე მოწყობილობას თქვენი არჩევანით. მათგან ბევრი დღესაც გამოიყენება.

როგორ გააკეთებ ამას შენზეა დამოკიდებული…

დამწყებთათვის, შეამოწმეთ "Minicom" ან "CuteCom", ან შეამოწმეთ შესაძლებლობები "NodeRED"-ის გამოყენებით.

ნაბიჯი 9: სინოფსისი

თავისუფლად დატოვეთ კომენტარები, ან წინადადებები / შესწორებები. მე ამას ვაფასებ.

გირჩევთ: