Სარჩევი:

TinyLiDAR Pi- ზე?: 9 ნაბიჯი (სურათებით)
TinyLiDAR Pi- ზე?: 9 ნაბიჯი (სურათებით)

ვიდეო: TinyLiDAR Pi- ზე?: 9 ნაბიჯი (სურათებით)

ვიდეო: TinyLiDAR Pi- ზე?: 9 ნაბიჯი (სურათებით)
ვიდეო: ფილმი რომელსაც აუცილებლათ უნდა უყურო (ჯონ ვიკი 4) #ფილმებიქართულად #ფილმები 2024, ნოემბერი
Anonim
TinyLiDAR Pi- ზე?
TinyLiDAR Pi- ზე?

Კვლავ მოგესალმებით!

კარგი, ახლა რომ გაატარეთ ხარისხიანი დრო tinyLiDAR– თან და თქვენს Arduino– სთან ერთად - თქვენი Raspberry Pi შესაძლოა თავს მარტოსულად გრძნობთ;)

Pi- ს აქვს I2C პორტი არა? მაშ, რატომ არ უნდა შეაერთო და იქ არ გამოსცადო ?! კარგი გეგმაა, მაგრამ თუ უკვე სცადეთ - შეიძლება შეამჩნიეთ, რომ მონაცემები ცოტა უცნაურად გამოიყურება.

დიახ, pi უკვე აშენებულია 1.8K აწევაში, ასე რომ თქვენ მოგიწევთ I2C ბალიშების მოჭრა tinyLiDAR– ზე, რომ 4.7K გამყვანი ამოიღოთ წრიდან-დეტალებისთვის იხილეთ საცნობარო სახელმძღვანელო. მაგრამ ეს არ არის მიზეზი უცნაური მონაცემებისთვის.

ეს იმიტომ ხდება, რომ pi- ს I2C ავტობუსი ზუსტად არ შეესაბამება სპეციფიკაციებს. ეს ასე იყო მას შემდეგ, რაც pi პირველად დაინერგა Broadcom ჩიპების ნაკრების გამო. თავიდანვე მათ სათანადოდ არ დაუჭირეს მხარი I2C ფუნქციას სახელწოდებით "საათის გაჭიმვა".

თქვენ შეგიძლიათ წაიკითხოთ მეტი ამ h/w bug– ის შესახებ აქ.

ნაბიჯი 1: რა არის საათის გაჭიმვა?

რა არის საათის გაჭიმვა?
რა არის საათის გაჭიმვა?

როგორც მოგეხსენებათ, I2C ავტობუსი შედგება 3 მავთულისგან. ეს არის საათის (SCL), მონაცემების (SDA) და საერთო ენისთვის. საათი და მონაცემთა ხაზები ღია კოლექტორის/გადინების ტიპისაა, რაც იმას ნიშნავს, რომ მათ სჭირდებათ გადასატანი რეზისტორები, რომლებიც დაკავშირებულია პოზიტიურ მიწოდებასთან, რათა მათ ლოგიკა მაღალი გახადონ. დაბალი ლოგიკის მისაღწევად, ავტობუსში ნებისმიერ მოწყობილობას შეუძლია გაიყვანოს ხაზი საერთო ადგილზე.

I2C სტანდარტის თანახმად, სამაგისტრო მოწყობილობა არის ის, ვინც აწვდის საათის სიგნალს SCL ხაზზე, მაგრამ თუ ეს მაჩვენებელი ძალიან სწრაფია, მაშინ Slave მოწყობილობას უფლება აქვს შეანელოს ის მხოლოდ საათის ხაზის დაჭერით, სანამ მზად არ იქნება ინფორმაციასთან ერთად. ეს არის ის, რასაც ჩვენ ვეძახით "საათის გაწელვას".

ოფიციალურად, საათის გაჭიმვა I2C სტანდარტში იყო სურვილისამებრ მახასიათებელი, მაგრამ ეს არის ძალიან გავრცელებული მახასიათებელი, რომელიც აუცილებელია უმეტესობა "ინტელექტუალური" მონებისათვის, რომლებსაც სჭირდებათ დამატებითი დრო სენსორული მონაცემების მიწოდებისთვის და ა.

ნაბიჯი 2: პატარა დახმარება ღორიდან, რომელიც დაფრინავს

ამ I2C h/w შეცდომასთან გამკლავებისთვის, ჩვენ ვიპოვნეთ ლამაზი პატარა უფასო ბიბლიოთეკა სახელწოდებით "pigpio". ეს არის ძალიან პოპულარული, სწრაფი და მსუბუქი ბიბლიოთეკა დაწერილი C. ის მუშაობს როგორც დემონი Raspberry Pi– სთვის და გვაძლევს საშუალებას გავაკონტროლოთ I2C ისევე როგორც ნებისმიერი GPIO ადვილად პითონიდან. ბიბლიოთეკა I2C პორტებს უფრო GPIO ჰგავს და ამით გადალახავს I2C საათის გაჭიმვის შეცდომას. ისევე როგორც Pi– ს ყველა პროგრამული უზრუნველყოფა, პიგპიოს ბიბლიოთეკა არის მხოლოდ მარტივი „ჩართვა“, ასე რომ წავიდეთ!

ნაბიჯი 3: TL; DR ვერსია

დააყენეთ PiEnable SSH შესვლა Putty– ით დააინსტალირეთ pigpio ბიბლიოთეკა მიიღეთ პატარა LiDAR zip ფაილი ამოიღეთ და გაუშვით Putty– დან

სურვილისამებრ:

დააყენეთ SublimeText WinSCP– ით

ნაბიჯი 4: ინსტალაცია

ინსტალაცია
ინსტალაცია

ჩვენი Raspberry Pi 3 -ისთვის ჩვენ გამოვიყენეთ სტანდარტული New Out Of Box Software (NOOBS Lite v2.4) ოპერაციული სისტემა. იგი შეიცავს პითონის ნაგულისხმევ ვერსიას, რომელიც უკვე დაინსტალირებულია ჩვენთვის და მზად არის კოდირებისთვის. თქვენ შეგიძლიათ ჩამოტვირთოთ OS აქედან.

მიკრო SD ბარათზე დაყენების შემდეგ თქვენ უნდა დააკავშიროთ კლავიატურა და მონიტორი, რათა პირველად შეხვიდეთ pi– ში:

მომხმარებლის სახელი: pi პაროლი: ჟოლო

შემდეგ შეგიძლიათ დაიწყოთ უსაფრთხო გარსის სერვერი (SSH) ამ ბრძანებებით:

sudo systemctl ჩართვა sshsudo systemctl დაწყება ssh

შემდეგი ჩვენ დაგვჭირდება pi მისამართი თქვენს ქსელში, ასე რომ ჩვენ შეგვიძლია შეხვიდეთ PuTTY– ით. ამის მისაღებად, უბრალოდ ჩაწერეთ:

მასპინძლის სახელი -მე

და მოძებნეთ IPv4 ფორმატის მისამართი (ჩვენი კონფიგურაციისთვის ეს იყო: 192.168.0.27)

ზემოაღნიშნული ნაბიჯები pi- ს საშუალებას მისცემს გაუშვას "უთავო", რაც იმას ნიშნავს, რომ თქვენ აღარ დაგჭირდებათ ამ კლავიატურაზე აკრეფა და ასევე აღარ არის საჭირო ვიდეო მონიტორის საჭიროება. ჩვენ მომავალში შევალთ ქსელში უსაფრთხო SSH კავშირის საშუალებით. ზემოაღნიშნული ბრძანება იწვევს SSH სერვერის ავტომატურ გაშვებას ყოველ ჯერზე, როდესაც pi ჩართულია. ეს ჩვენთვის მოსახერხებელია კოდირებისას, მაგრამ ეს შეიძლება იყოს უსაფრთხოების რისკი მოგვიანებით (პარანოიდული მდგომარეობა კარგია), ასე რომ როდესაც მზად იქნებით, შეგიძლიათ გამორთოთ SSH ფუნქციის ავტომატური გაშვება ამ ბრძანების გამოყენებით:

sudo systemctl გამორთეთ ssh

ეს ბრძანება უნდა იყოს აკრეფილი, რა თქმა უნდა, პი -სთან.

PuTTY არის ტერმინალური პროგრამა, რომელიც საჭიროა კომპიუტერისთვის pi ბრძანებების გასაცემად, ასე რომ თქვენ უნდა აიღოთ უახლესი ასლი აქედან.

დააინსტალირეთ და გაუშვით PuTTY. თქვენ უნდა ჩაწეროთ IP მისამართი ზემოდან მასპინძლის სახელის ჩანაწერში და გამოიყენოთ ნაგულისხმევი SSH პარამეტრები. მიეცით სესიას ნებისმიერი სახელი და დააჭირეთ შენახვას. შემდეგ დააჭირეთ დატვირთვას და დააწკაპუნეთ OPEN სესიის დასაწყებად.

მან უნდა მიგიყვანოთ pi– ს შესვლის ეკრანზე. გამოიყენეთ იგივე მომხმარებლის სახელი და პაროლი, რომელიც ადრე გამოიყენეთ.

ნაბიჯი 5: დააინსტალირეთ Pigpio

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

რჩევა: თქვენ შეგიძლიათ უბრალოდ დააკოპიროთ [ctrl+c] და ჩასვათ [თაგვის მარჯვენა ღილაკით] ეს და ნებისმიერი სხვა ბრძანება PuTTY ტერმინალში

sudo apt-get განახლება

sudo apt-get დააინსტალირეთ pigpio python-pigpio python3-pigpio

ნაბიჯი 6: არასავალდებულო: Dev სისტემის დაყენება

არასავალდებულო: Dev სისტემის დაყენება
არასავალდებულო: Dev სისტემის დაყენება

აქ არის რჩევა, რომელიც დაგეხმარებათ გარკვეული დროის დაზოგვაში თქვენი კოდის განვითარების სამყაროში. ჩვენ ნამდვილად გვძულს უნიქსზე დაფუძნებული ტექსტური რედაქტორები. მომხმარებლის ინტერფეისი ჩვეულებრივ მოუხერხებელია და შრიფტები უხერხულია. GNU nano თითქმის ასატანია, მაგრამ არცერთი არ არის ისეთი დახვეწილი, როგორც SublimeText, რომლის გადმოწერაც აქედან შეგიძლიათ

ჩვენ გვაქვს Windows- ზე დაფუძნებული განვითარების გარემო და გვიყვარს ამ ტექსტური რედაქტორის გამოყენება შეძლებისდაგვარად. ასე რომ, რჩევა აქ არის თქვენი სისტემის დაყენებაში, რომ შეძლოთ გამოიყენოთ ეს პროფესიონალური ტექსტური რედაქტორი თქვენს Windows სამუშაო მაგიდაზე პირდაპირ კოდის თქვენს უსათაურო პიზე.

Როგორ? გამოიყენეთ უფასო აპლიკაცია სახელწოდებით WinSCP, რომელიც შეგიძლიათ გადმოწეროთ აქედან

ნაბიჯი 7: WinSCP– ის დაყენება

WinSCP– ის დაყენება
WinSCP– ის დაყენება
WinSCP– ის დაყენება
WinSCP– ის დაყენება

WinSCP არის ფაილების გადაცემის უსაფრთხო პროგრამა, რომელიც იძლევა თქვენს rpi– ზე არსებული ფაილების გრაფიკულ წარმოდგენას, ისევე როგორც თქვენ ხედავთ ფაილის მენეჯერში თქვენს Windows PC– ზე.

ასე რომ, განაგრძეთ და დააინსტალირეთ ზემოთ ჩამოთვლილი ორი პროგრამა ასევე ახლავე.

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

WinSCP– სთვის შეგიძლიათ დააჭიროთ ახალ საიტს. ჩვენ გამოვიყენებთ ნაგულისხმევ SFTP პარამეტრებს და თქვენ მხოლოდ უნდა შეიყვანოთ თქვენი პი -ს IP მისამართი (მასპინძლის სახელისთვის) და შესვლის სახელი (მომხმარებლის სახელისთვის). სურვილისამებრ შეგიძლიათ პაროლი ცარიელი დატოვოთ - ის მოგთხოვთ პაროლს ყოველ ჯერზე შესვლისას.

შემდეგი, დააწკაპუნეთ Advanced ღილაკზე და შემდეგ დააწკაპუნეთ მარცხენა მხარეს Environment Shell- ის პარამეტრებზე. მარჯვენა მხარეს შეცვალეთ "ნაგულისხმევი" ქვევით "sudo su -" ვარიანტზე. ეს საშუალებას მოგცემთ შეიტანოთ ცვლილებები თქვენს პიზე ნებართვის გარეშე შეცდომების გარეშე, როდესაც თქვენ დააჭირეთ შენახვას SublimeText– დან.

დააყენეთ SublimeText, როგორც ნაგულისხმევი რედაქტორი WinSCP– ში

ამისათვის დააჭირეთ ღილაკს ინსტრუმენტები WinSCP შესვლის პარამეტრების ეკრანზე, სადაც დაიწყეთ თქვენი NewSite დიალოგი. ორი ეკრანის სურათი გვიჩვენებს, თუ როგორ არის ეს კონფიგურირებული, მაგრამ ძირითადად თქვენ დააწკაპუნებთ კონფიგურაციისთვის რედაქტორები და დაამატეთ რედაქტორი, რომელიც იქნება გარე რედაქტორი. ამის შემდეგ შეგიძლიათ დაათვალიეროთ.exe ფაილი, სადაც ეს რედაქტორი მდებარეობს თქვენს კომპიუტერში.

ნაბიჯი 8: (w) კოდის მიღება

(w) კოდის მიღება
(w) კოდის მიღება

დასრულების შემდეგ, გააგრძელეთ და შედით WinSCP– ით და PuTTY– ით.

ჩვენ უკვე მზად ვართ, შეგვიძლია დავიწყოთ ჩვენი tinyLiDAR კოდი.

შექმენით დირექტორია სახელწოდებით tinyLiDAR თქვენი სახლის/pi დირექტორიის ქვეშ.

ამის გაკეთება შეგიძლიათ WinSCP ეკრანის მარჯვენა მხარეს მარჯვენა ღილაკით და აირჩიეთ ახალი / დირექტორია.

ახლა PuTTY ტერმინალში შეგიძლიათ აკრიფოთ

cd t

და დააჭირეთ tab- ს, რათა მან ავტომატურად შეასრულოს თქვენი ბრძანება tinyLiDAR დირექტორიაში მისასვლელად.

ერთხელ აქ ჩაწერეთ შემდეგი:

wget

რომ მივიღოთ ფაილები პირდაპირ ჩვენი სერვერიდან. შემდეგ ჩვენ შეგვიძლია მათი unzip აკრეფით

გათიშვა რ

და დააჭირეთ ღილაკს tab სახელის ავტომატურად შესავსებად

გასაშვებად, უბრალოდ ჩაწერეთ

პითონი tlgui.py

და თქვენი tinyLiDAR პასუხობს თქვენს ყველა ბრძანებას pi:)

ნაბიჯი 9: შენიშვნა მალე ჰაკერებისათვის

წადით წინ და დაათვალიერეთ ხუფის ქვეშ ორმაგი დაწკაპუნებით WinSCP– ის ნებისმიერ კოდის ფაილზე. ეს არის პირობა.py გაფართოებით. ფაილები უნდა გაიხსნას SublimeText– ში პირდაპირ თქვენს კომპიუტერზე. შეცვალეთ რაც მოგწონთ და შემდეგ დააჭირეთ შენახვას. თქვენი ცვლილებები შეინახება პირდაპირ თქვენს pi- ში.

როდესაც მზად იქნებით, თქვენ ხელახლა გაუშვით ის უკანასკნელი აკრეფილი ბრძანების ისრის ღილაკის გამოყენებით, ან უბრალოდ ჩაწერეთ ისევ და დააჭირეთ Enter:

პითონი tlgui.py

თქვენ შეიძლება შეამჩნიოთ, რომ ტერმინალური GUI განლაგება ოდნავ უფრო ლამაზია ვიდრე Arduino ვერსია. ეს იმიტომ ხდება, რომ PuTTY მხარს უჭერს უნიკოდის სიმბოლოებს, ასე რომ, ჩვენ შევძელით დამატებითი კურსორის კონტროლის სიმბოლოების გამოყენება, რათა ის უფრო დახვეწილი ყოფილიყო.

აქ არის დამატებული ბრძანება (Arduino ვერსიასთან შედარებით), რომელიც არის "dc" უწყვეტი კითხვის ფუნქციისთვის. სცადეთ და ნახეთ რას ფიქრობთ.

Სულ ეს არის!

მადლობა რომ კითხულობ და ისიამოვნე pi- ზე ჰაკინგით:)

გირჩევთ: