Სარჩევი:

DIY ციფრული სხეულის გარეთ გამოცდილება: 6 ნაბიჯი
DIY ციფრული სხეულის გარეთ გამოცდილება: 6 ნაბიჯი

ვიდეო: DIY ციფრული სხეულის გარეთ გამოცდილება: 6 ნაბიჯი

ვიდეო: DIY ციფრული სხეულის გარეთ გამოცდილება: 6 ნაბიჯი
ვიდეო: ჯონ გოლდტვეიტი - “გულის გაწმენდა” - აუდიო წიგნი 2024, ივლისი
Anonim
წვრილმანი ციფრული სხეულის გარეთ გამოცდილება
წვრილმანი ციფრული სხეულის გარეთ გამოცდილება

ამ გაკვეთილში თქვენ შეისწავლით თუ როგორ უნდა ავაშენოთ სისტემა, რომელიც საშუალებას მოგცემთ დაინახოთ, თითქოს სხვაგან იყავით. მე ეს ციფრული გამოვიძახე სხეულის გარეთ, რადგან პირველად ვიფიქრე ამ სისტემაზე, როდესაც ვვარჯიშობდი იოგაზე და ვფიქრობდი, რომ ძალიან საინტერესო იქნებოდა პრაქტიკა, როდესაც ვხედავდი ჩემს თავს 3D ადამიანის ხედვით, როგორც ზოგიერთ ვიდეო თამაშში. საბოლოოდ მეც ვიფიქრე, რომ ეს შეიძლება იყოს საინტერესო საშუალება მედიტაცია არა-საკუთარ თავზე, საკუთარი თავის გარედან ყურება, როგორც ინსტრუმენტი, რომელიც დამეხმარება გარკვეული დისტანციის დაცვაში და უბრალოდ დავაკვირდე ჩემს ფიქრებს, ემოციებს და გრძნობებს. მაგრამ დამწყები იოგი და ჩემში მედიტატორი არ იყვნენ სწორი ადამიანები, ვინც გამიტაცა ეს პროექტი. საბოლოოდ, ეს ის მოთამაშეა/მოთამაშე ვარ, ვინც მეგონა, რომ ეს პროექტი იქნებოდა კარგი შემდგომი ნაბიჯი მობილური რობოტის შესაქმნელად, რომელიც კონტროლდება პირველი პირის ხედვით და აკეთებს რაიმე სახის მობილური რობოტის პირველ რბოლას!

ნაბიჯი 1: ის, რაც დაგჭირდებათ

ნივთები, რომლებიც დაგჭირდებათ
ნივთები, რომლებიც დაგჭირდებათ
ნივთები, რომლებიც დაგჭირდებათ
ნივთები, რომლებიც დაგჭირდებათ
ნივთები, რომლებიც დაგჭირდებათ
ნივთები, რომლებიც დაგჭირდებათ
  1. 2x ჟოლოს Pi 3 მოდელი B თითოეული აღჭურვილია კამერით და კაბელით (15 სმ და 30 სმ)
  2. ბატარეის ფარი, 2 ბატარეა და USB 2xmini-USB კაბელი ჟოლოსთან დასაკავშირებლად (მე გამოვიყენე ორმაგი 10650 ბატარეის ფარი USB გამომავალით, 2xLiitoKala Lii-35A 18650 ბატარეა და ეს კაბელი)
  3. MDF ხის ნაჭერი 240x140x5 მმ (ან ნებისმიერი სხვა ხე, რომელიც თავსებადია ლაზერულ საჭრელთან)
  4. წვდომა ლაზერულ დამცავზე
  5. M2 ხრახნები და ჭანჭიკები
  6. კომპიუტერი პითონით
  7. სმარტფონი ქრომით
  8. Google მუყაო ან ნებისმიერი სისტემა, რომელიც საშუალებას გაძლევთ მიიღოთ VR გამოცდილება თქვენი ტელეფონიდან (მე მივიღე ednet ვირტუალური რეალობის Brille, რომელიც თავსებადია ტელეფონის განზომილებამდე 159,2 მმ x 75,2 მმ წაკითხულიდან)

ნაბიჯი 2: მიიღეთ Rapsberry Pi, რომ გადაიღოთ ცოცხალი ვიდეო და გააზიაროთ იგი

ჯერ დავრწმუნდეთ, რომ ჩვენი Pi კამერა ჩართულია ჟოლოს Pi. Შესრულებულია ? ეს იყო ამ ნაბიჯის აპარატურის ნაწილი. გავაგრძელოთ პროგრამული უზრუნველყოფის ნაწილი.

რაც შეეხება რბილს, თუ თქვენ ჩემს შემთხვევაში ხართ და თქვენს PI– ზე არ გაქვთ OS დაინსტალირებული და რომ არ გაქვთ სათადარიგო კლავიატურა, მაუსი და ეკრანი, მაშინ გადმოვიტვირთოთ raspbian lite აქ და მიყევით აქ აღწერილ მარტივ ნაბიჯებს: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… თუ ყველაფერი კარგად იყო, თქვენი Pi ახლა დაკავშირებულია თქვენს WIFI– თან, თქვენ იცით მისი ip მისამართი და თქვენ მას ssh– ის საშუალებით უკავშირდებით.

Ssh- ის გამოყენებით, მოდით, Pi გავუზიაროთ ის, რასაც ხედავს. ამისათვის ჩვენ გამოვიყენებთ UV4L. ამისათვის მიჰყევით ნაბიჯებს შემდეგ ვებ გვერდზე: https://raspberry-valley.azurewebsites.net/UV4L/. თუ თქვენ დაასრულეთ UV4L დაყენება, როგორც აღწერილია ბმულზე, თქვენ ახლა უნდა გქონდეთ საშუალება იხილოთ თქვენი ჟოლოს ცოცხალი ვიდეო თქვენს კომპიუტერში. ამისათვის უბრალოდ გადადით თქვენს ბრაუზერში მისამართზე https:// raspberryip: 8080/stream, შეცვალეთ "raspberryip" ჟოლოს pi- ის ip- ით, რომელიც იპოვეთ lanScan- ის საშუალებით.

ეს არის ჩვენი ორი "თვალის" ერთ -ერთი. მეორეს რაც შეეხება? ან ვიმეორებთ ერთსა და იმავე პროცესს, ან ვკლონირებთ იმას, რაც არის ჩვენს ჟოლოს პიზე სხვა SD ბარათზე. მეორე ვარიანტის შესახებ მეტი რომ იცოდეთ შეგიძლიათ შეამოწმოთ ეს github:

და აი, ახლა თქვენ უნდა გქონდეთ თქვენი ორი ჟოლოს პი გაზიარებული მათი პირდაპირი ვიდეო ნაკადის ადგილობრივ ქსელში! ჩვენ თვალები ამოვიღეთ, ახლა მოდით გადავწყვიტოთ ეს პატარა სტრაბიზმის პრობლემა და გავხადოთ პორტატული ჩვენი პატარა სისტემა!

ნაბიჯი 3: გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება

გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება
გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება
გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება
გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება
გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება
გახადეთ პორტატული: ლაზერული ჭრა და დამონტაჟება

კამერის სისტემის პორტატული რომ იყოს, მე შევიმუშავე ხის კონსტრუქცია, რომელზედაც შემიძლია ჟოლოს პის კამერები და ბატარეის ფარი დავახურო. დაპროექტებული თან ერთვის აქ svg ფაილს. შეიძლება დაგჭირდეთ ბატარეის ფარის ხრახნიანი პოზიციების შეცვლა თქვენი ფარის და/ან დიზაინის მიხედვით თქვენი ხის სისქის მიხედვით.

ერთხელ ყველაფერი გაწყვიტე:

  1. დააინსტალირეთ კამერები დიზაინის მარცხენა ნაწილში (8 M2 ხრახნი 5 მმ, 8 M2 ხრახნი 8 მმ და 8 ჭანჭიკი 8 მმ)
  2. დააინსტალირეთ ბატარეის ფარი (4 M2 ხრახნი 5 მმ, 4 M2 ხრახნი 8 მმ და 4 ჭანჭიკი 8 მმ)
  3. დაამონტაჟეთ ჟოლოს პი "მტევანი", როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე (4 M2 ხრახნი 5 მმ, 4 M2 ხრახნი 8 მმ, 4 მამრობითი სქესის ხრახნი 5 მმ ან მეტი, 4 21 მმ ჭანჭიკი). შენიშვნა: მე არ მქონდა 21 მმ ჭანჭიკები, ასე რომ ჩემი გავაკეთე 16 ჭანჭიკით და 5 ქალი-მამალი ჭანჭიკით.

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

დატენეთ თქვენი ლითიუმის ბატარეები ბატარეის დამცავი მინი USB კონექტორის გამოყენებით და დააინსტალირეთ ხის ნაჭერი ერთად, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. თქვენ მზად ხართ დაუკავშიროთ ბატარეის ფარი ჟოლოს! და აღარ არის საჭირო ssh-ing, როგორც კი ჩვენ ვაძლიერებთ ჟოლოს pi ის ახლა ავრცელებს ვიდეო ნაკადს ინტერნეტში, როგორც კი დაიწყება UV4L- ის წყალობით. გადაცემა დასრულდა!

ნაბიჯი 4: ვიზუალიზაცია სტერეო გამოსახულება

ვიზუალიზაცია სტერეო გამოსახულება
ვიზუალიზაცია სტერეო გამოსახულება

ახლა ჩვენ გვაქვს ორი გამოსახულების ნაკადი, რომლებიც ხელმისაწვდომია ადგილობრივი ქსელის საშუალებით, ჩვენ ვნახეთ, რომ ჩვენ შეგვიძლია მათი ინდივიდუალურად ნახვა ბრაუზერში https:// raspberryip {1, 2}/stream/გამოყენებით. შეგვიძლია შევეცადოთ გავხსნათ ორი გვერდი ჩვენს ბრაუზერში? არა ჩვენ არ გავაკეთებთ! 1. ეს ძალიან მახინჯი იქნება 2. რომ არ იმუშაოს, რადგან ეკრანი დაიძინებს გარკვეული დროის შემდეგ! ეს ნაბიჯი გაჩვენებთ თუ როგორ მოაგვაროთ ეს პრობლემები.

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

ტეგი წყაროს მითითებით https://raspberryip/stream/video.mjpeg. შედეგად, ბოლო ნაბიჯი შეიძლება საკმაოდ მარტივი იყოს. ერთი გზა შეიძლება იყოს ანდროიდის პროგრამის ორი Webview– ით დაპროგრამება გამოსახულების ნაკადის საჩვენებლად, გაცილებით ადვილია ადგილობრივი კომპიუტერის გაშვება ჩვენს კომპიუტერზე, რომელიც მოემსახურება html გვერდს მსგავსი "https:// raspberryip/stream/" გარდა რომ ის საშუალებას მოგცემთ ნახოთ ორივე ნაკადი ერთის ნაცვლად და შეინარჩუნოთ მოწყობილობა ფხიზლად.

როგორ შევქმნათ ასეთი სერვერი? არაფერია უფრო მარტივი პითონთან. შექმენით საქაღალდე, რომელშიც განათავსებთ ფაილებს index.txt და NoSleep.txt, რომელსაც თქვენ დაარქმევთ index.html და NoSleep.js. Index.html- ში მოძებნეთ ეს ორი

მონიშნეთ და შეცვალეთ ჟოლოს ips თქვენით. ეს იქნება html გვერდი, რომელიც აჩვენებს ჩვენს ორ სურათის ნაკადს javascript– ით, რომელიც საშუალებას მისცემს მას გამოიღვიძოს. ახლა თქვენ გსურთ გახადოთ ეს გვერდი ხელმისაწვდომი თქვენი მობილური ტელეფონისთვის, სადაც პითონი მოსახერხებელია: განათავსეთ ფაილი server.py იმავე საქაღალდეში და დაიწყეთ სკრიპტი ბრძანების გამოყენებით python server.py (გაითვალისწინეთ, რომ ეს სკრიპტი თავსებადია პითონ 3 -თან, თუ იყენებთ პითონს 2 თქვენ უნდა შეცვალოთ server.py და შეცვალოთ socketserver SocketServer– ით).

ეს არის ის, რომ თქვენ შეგიძლიათ მიიღოთ სტერეო ნაკადი ნებისმიერი მოწყობილობიდან თქვენს ადგილობრივ ქსელთან დაკავშირებული ბრაუზერით. სცადეთ, მიიღეთ თქვენი კომპიუტერის ip და გახსენით https:// computerip: 8080. თქვენ ალბათ შეამჩნევთ სამ რამეს:

  • მშვენიერია, ჩვენ თითქმის იქ ვართ!
  • ის არ არის სრულ ეკრანზე,
  • ის საბოლოოდ იძინებს.

Როგორ მოხდა ? როგორც თქვენ შეგიძლიათ წაიკითხოთ აქ, ძილის რეჟიმის გასააქტიურებლად, ფუნქციას სჭირდება დუმილი მოქმედება. ამ აუცილებლობის პატივისცემის მიზნით, მე დავაკავშირე პირველი სურათის დაჭერა ამ ფუნქციასთან. შედეგად, უბრალოდ დააწკაპუნეთ პირველ სურათზე და თქვენ უნდა ნახოთ გაფრთხილება, რომელიც გეუბნებათ, რომ ძილის რეჟიმი გააქტიურებულია და გვერდი ასევე უნდა იყოს სრულ ეკრანზე.

Ის არის! თქვენ ახლა უნდა შეგეძლოთ თქვენი ტელეფონის ჩასმა თქვენს VR ყურსასმენში და ნახოთ რა ხდება თქვენი Pi– ს წინ! ან ეს ასეა?

ნაბიჯი 5: გააუმჯობესეთ საქმეები

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

ამ პარამეტრების შესაცვლელად, დაბრუნდით თქვენს ტერმინალში და შედით თქვენს Raspberry Pi– ში. UV4L იყენებს კონფიგურაციის ფაილს. ეს ფაილია /etc/uv4l/uv4l-raspicam.conf. მის შესაცვლელად ჩაწერეთ ბრძანება sudo nano /etc/uv4l/uv4l-raspicam.conf. ახლა თქვენ შეძლებთ განსაზღვროთ სიგანე, სიმაღლე და კვანტიზაცია, როგორც გსურთ. მე გამოვიყენე მნიშვნელობები სიგანე = 320, სიმაღლე = 240 და კვანტიზაცია = 40 და მივიღე მათთან გლუვი გადაცემა.

ნაბიჯი 6: ისიამოვნეთ

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

ვიფიქრე რამდენიმე გაფართოებაზე, რომელიც შეიძლება იყოს საინტერესო:

  • გახადეთ შესაძლებელი თქვენი სახლის გარეთ ნახვა, ანუ გახადოთ ნაკადი ხელმისაწვდომი თქვენი ადგილობრივი ქსელის გარეთ.
  • განათავსეთ იგი მობილური რობოტული პლატფორმაზე თვითმფრინავების რბოლების გასაკეთებლად!

როგორც მასწავლებელი, მე ვფიქრობ, რომ ეს პროექტი შეიძლება იყოს საინტერესო, რომ გაიგოთ მეტი:

  • ჟოლო Pi, რა არის კომპიუტერის ძირითადი კომპონენტები, რა არის OS სისტემა,
  • ქსელის ზოგადი კონცეფციები, ადგილობრივი და გარე IP– ით, HTTP პროტოკოლი,
  • HTML და javascript.

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

გირჩევთ: