Mündəricat:
- Addım 1: App.remoteme.org haqqında bəzi məlumatlar
- Addım 2: Nə lazımdır:
- Addım 3: Bağlantılar
- Addım 4: PCB
- Addım 5: PCB Çıxışları
- Addım 6: İşin necə getdiyini
- Addım 7: Avtomobilin Quraşdırılması - Təkərlər
- Addım 8: Güc (AA Yenidən Batareyalar) Seçim 1/2
- Addım 9: Güc (Li-Po 7.2V Batareyalar) Seçim 2/2
- Addım 10: Lehimləmə
- Addım 11: Kamera
- Addım 12: Avtomobil hissələrini bir araya gətirmək
- Addım 13: App.remoteme.org Konfiqurasiyası
- Addım 14: RasbperryPi Konfiqurasiyası
- Addım 15: Bağlantıların yoxlanılması
- Addım 16: Python Script əlavə edin
- Addım 17: Python Scriptinin uğurla əlavə edilib -edilmədiyini yoxlayın
- Addım 18: Nəzarət Maşına Veb səhifə əlavə edin
- Addım 19: Web Səhifə Cihazını Maşına Nəzarət Edmək üçün 1/2 qurun
- Addım 20: Veb Səhifə Cihazını Maşını 2/2 İdarə etmək üçün Konfiqurasiya edin
- Addım 21: Avtomobil İdarəetmə Mərkəzini açın
- Addım 22: Kamera Konfiqurasiyası 1/2
- Addım 23: Kamera Konfiqurasiyası 2/2
- Addım 24: Sürücülük 1/2
- Addım 25: Sürücülük 2/2
- Addım 26: Necə işləyir
- Addım 27: Tablet, Mobil Sükan
- Addım 28: Cib Telefonunda Səhifəni Açın
- Addım 29: Turn Server əlavə edin
- Addım 30: Mobil Sükan
- Addım 31: Xülasə
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:56
4WD avtomobil quracağıq - sükan tankdakı kimi olacaq - təkərlərin bir tərəfini çevirmək üçün digərindən fərqli sürətlə dönəcək. Avtomobilə kamera mövqeyini dəyişə biləcəyimiz xüsusi tutacaqda kamera yerləşdiriləcək. Robot veb brauzer tərəfindən idarə olunacaq (masaüstündə xrom və ya firefox və ya cib telefonunda firefox), brauzerdə Kamera videosu alacağıq (yalnız 200 ms gecikmə ilə) və brauzerdən avtomobilin hərəkətlərini idarə edə bilərik. kamera mövqeyi. Əlaqəni asanlaşdırmaq üçün app.remoteme.org sistemindən istifadə etdim, bu tip avtomobillərin idarə edilməsi də var, buna görə öz kodunuzu yazmağa ehtiyac yoxdur, ancaq əlbəttə skriptləri əlavə edə bilərsiniz. yeni imkanlar və s.
PCB -yə güc bağlamadan əvvəl, bütün əlaqələri iki dəfə yoxlayın
Addım 1: App.remoteme.org haqqında bəzi məlumatlar
Sistem üç hissədən ibarətdir
- veb tətbiqi - nəzarət veb səhifələrinizə ev sahibliyi etdiyinizdə və bütün ünsiyyətləri əlaqələndirir
- rasbperryPi proqramı - video göndərən, python skriptlərinizi idarə edən proqram
- sinif, funksiya təriflərini tapdığınız kitabxanalar
Remoteme.org sistem sürətlidir Bütün cihazlarınızı bir -birinə bağlayırsınız, orada veb səhifələrinizi yerləşdirə bilərsiniz, əlaqəli cihazlarınızı görə bilərsiniz. Remoteme.org sistemi, layihələrinizi həyata keçirməyə başlamağınıza kömək etmək üçün hazırlanmışdır, protokol ünsiyyətindən narahat olmayın, əsas fikir müxtəlif veb səhifələr, RasbeprryPI, arduino və skriptlər arasında ikili mesajlar göndərməkdir.
Digər tərəfdən, Remoteme.org sizə fayllarınıza tam nəzarət edir, öz funksiyalarınızı yazaraq onu asanlıqla dəyişə bilərsiniz.
Bu təlimatda sizə heç bir kod yazmadan möhtəşəm bir layihənin necə düzəldiləcəyini göstərəcəyəm.
Bu təlimatın sonunda remoteme.org sistemini başa düşməyinizə kömək edəcək faydalı bağlantılar qoydum.
Addım 2: Nə lazımdır:
- Moruq PI Zero W
- Xüsusi kamera
- Adafruit 16 Kanal 12 -bit PWM/Servo Sürücü - I2C interfeysi - PCA9685 və ya onun klonu
- Kamera tutucusuna uyğun iki servo mexanizm
- Kamera tutacağı
- Batareyalar - Dərsdə iki əlaqə imkanı var
- H körpüsü TB6612FNG, təkər sürətini idarə etmək üçün
- PCB qartal faylları İstilik ötürmə metodu etmək çox asandır DC-DC
- Aşağı Dönüştürücü Modulu DC
- Robot korpusu
Addım 3: Bağlantılar
Raspberry pi nəzarət servo mexanizmi, PWM modulu və motor sürəti ilə RasbperryPi pinlərinə qoşulan H körpüsü ilə, H körpüsünə PWM girişi servolar üçün istifadə etdiyim eyni modul tərəfindən yaradılır (yuxarıda qeyd etdiyim hissələrin heç bir məntiqi çeviriciyə ehtiyacı yoxdur)
Addım 4: PCB
PCB kartal fayllarını buradan yükləyə bilərsiniz. Yollar yağdır, buna görə də onu istilik köçürmə üsulu ilə etmək asandır
Addım 5: PCB Çıxışları
- Sürücü mühərrikləri üçün PWM girişi PWM modulunun 15 -ci və 16 -cı pinlərinə qoşulmalıdır (PWM modulunun görüntüsündə yaşıl düzbucağı yoxlayın)
- Sürücü mühərrikləri üçün güc girişi (motorlarınızın hansı maksimum gərginliklə işləyə biləcəyini yoxlayın)
- RasbperryPi və PWM modulu üçün güc tam olmalıdır
- Sürücü motor çıxışları (sürücü mühərriklərini cütləşdirəcəyimiz üçün iki çıxış var)
- Servo Mexanizmlərinin gücü - Həm də onlar üçün hansı gərginliyin yaxşı olduğunu yoxlamaq lazımdır
- 5 -ci girişdən hazırkı güc, həm də mühərrikləri idarə edəcək, buna görə giriş 2 -yə heç bir şey bağlamağa ehtiyac yoxdur
- Tullanan varsa RasbperryPi 3 -cü girişdən güc alacaq - atlayıcını buraya qoymadan əvvəl əlaqələrin yaxşı olub olmadığını yoxlayın - RPi -ni yandırmaq istəmirsiniz
- Məntiq çeviricilərinə ehtiyacımız olmadığı üçün kabelləri burada lehimləməyə icazə verin
Addım 6: İşin necə getdiyini
RasbperryPi -də iki kitabxanadan istifadə edən python skript var
- GPIO olaraq RPi. GPIO idxal edin-H körpüsünə bağlı olan 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 pinləri üçün (BCM işarəsi)
- PWM modulu üçün Adafruit_PCA9685 idxal edin
Rpi pinləri 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) və H körpüsünün idarəetmə rejimi (irəli, geriyə, dayanma, qısa fasilə) aşağıdakı kimi bağlanır. H körpüsünün iki PWM siqnalına ehtiyacı var ki, sürəti və ya motorun fırlanmasını idarə edə bilək. Çünki layihədə artıq PWM nəzarətçimiz var (servo üçün istifadə olunur), bundan H körpüsü üçün PWM yaratmaq üçün də istifadə edəcəyik.
PWM modulu I2C rabitə protokolundan istifadə edir. Adafruit_PCA9685 qutusunda işləməkdən istifadə etdim. kitabxana
Addım 7: Avtomobilin Quraşdırılması - Təkərlər
Sürücü mühərriklərini avtomobil qutusuna bağlayaraq başlayacağıq. Sol/Yan motorlar bir -birinə bağlanır və hər iki cüt daha sonra PCB -yə bağlanacaq bəzi elektrik kabelinə qoşulur. Mühərriklərin hər iki tərəfindəki təkərləri birləşdirərkən eyni istiqamətdə dönməlidir.
Addım 8: Güc (AA Yenidən Batareyalar) Seçim 1/2
Gücün iki variantını yazacam Avtomobil birincisi 10xAA doldurma batareyalarından ibarətdir Nəhayət yerləşdirilməli olan qırmızı rəngli atlayıcılarla çəkdim.
Addım 9: Güc (Li-Po 7.2V Batareyalar) Seçim 2/2
Və ikinci seçim 7.2 LI-PO batareyadır. Bu vəziyyətdə 3 gərginlik əldə edirik - Rpi və modul üçün 5v, servo üçün 6V və birbaşa mühərriklər üçün 7.2 voltluq batareyalardan. İki pilləli aşağı moduldan istifadə etməli oldum
LI-PO ilə Seçim 2 daha yaxşıdır:
- Batareyalar daha böyük tutuma malikdir - avtomobil daha uzun sürəcək
- Sürücü mühərrikləri üçün daha böyük gərginlik - avtomobil daha sürətli sürəcək
- Sürücü mühərrikləri tapmağa başladıqdan sonra böyük bir geriləmə düşə və RPI yenidən başlaya bilərik.
Addım 10: Lehimləmə
PCB -yə PWM modulu üçün bir neçə boşluq qoydum. Yazmaq üçün heç bir şey yoxdur, sadəcə hər şeyi bir -birinə necə lehim edəcəyinizə baxın
Addım 11: Kamera
Kameranı bağlayırıq, burada kamera tutucusuna quraşdırılmadan əvvəl servo mexanizmlərinin necə mərkəzləşdiriləcəyi yazılmışdır, lakin ən qısa yol maksimum fırlanma mövqeyini yumşaq bir şəkildə əl ilə yoxlamaq və servoları orta mövqedə təyin etməkdir. Kamera tutucusuna orta mövqedə qoyduğumuz bu mərkəzləşdirilmiş servo mexanizmlər (kamera fotoşəkildə olduğu kimi düz irəli baxır)
Addım 12: Avtomobil hissələrini bir araya gətirmək
PCB üçün kiçik bir pleksiglas masa hazırladım
Addım 13: App.remoteme.org Konfiqurasiyası
Pulsuz app.remoteme.org sistemindən istifadə etdim, bu əlaqə qurmağınıza kömək edir və artıq ehtiyac duyduğumuz skriptlərə malikdir
Bu təlimatda, maşın sürmək üçün nə edilməli olduğunu addım -addım göstərəcəyəm (burada daha ətraflı məlumat tapa bilərsiniz)
- Qeydiyyatdan keçdikdən sonra https://app.remoteme.org saytında mahnı oxuyun
- soldakı Token nişanını açın, sonra "yeni mö'cüzə" düyməsini basın və OK düyməsini basın, yeni bir möcüzə yaratdıq (ekrandakı şəkil)
- bu nümunədə token dəyəri: ~ 1_ & p@+BNnZ@A+x8 (sizinki fərqli olacaq;))
Addım 14: RasbperryPi Konfiqurasiyası
macun konsolunda (burada kamera I2c ünsiyyətini açmaq üçün RPi -ni necə qurmalıyıq)
git klon git: //github.com/remoteme/remoteme.git
cd remoteme
python3.5 install.py
- Quraşdırıcı, [Y] cavablarımıza görə bizə bəzi suallar verəcək və [enter] ilə təsdiqləyəcək
- quraşdırma mö'cüzə istədikdə tətbiqdən kopyaladığımız (shift+insert) token yapışdırıb daxil edirik
- məsələn Rpi adı
- deviceId 1 daxil edin
- quraşdırıldıqdan sonra proqramı işə salın
./runme.sh
Addım 15: Bağlantıların yoxlanılması
Https://app.remoteme.org saytına qayıdaq
Cihazlar sekmesinde, bağlı RPi -ni görəcəyik (yaşıl link işarəsi, RPi -nin hazırda bağlı olduğunu bildirir)
Addım 16: Python Script əlavə edin
İndi şablonlarda olan python skriptini əlavə edəcəyik, buna görə heç nə proqramlaşdırmağa ehtiyacımız yoxdur.
Cihazlar sekmesinde RasbperryPi menyusunu açın və "Xarici skript əlavə et" seçin.
Yeni bir pəncərə görünəndə yuxarıdakı şəkildəki kimi məlumat verin
"Car4wd" şablonunu seçməyi unutmayın. Bu addımlardan sonra remoteme.org, RasbperryPi -yə python skriptini əlavə edəcək və yenidən başlatacaq
Addım 17: Python Scriptinin uğurla əlavə edilib -edilmədiyini yoxlayın
Cihazlar sekmesinde yeni python skript cihazı əlavə edilməlidir və onun cihaz ID 2 -dir. Bu cihaza Id veb səhifəsi avtomobili idarə etmək üçün mesajlar göndərəcək
Addım 18: Nəzarət Maşına Veb səhifə əlavə edin
Cihazlar sekmesinde "Yeni" və sonra "Web Sayfası" na basın. Sadəcə başqa bir cihaz əlavə edirik - webPage -dən istifadə edərək avtomobilimizi idarə edirik. Veb səhifəsində "car4wdDesktop" şablonunu istifadə etdiyimiz üçün artıq istifadə üçün hazır olan sənədlər artıq mövcuddur
Addım 19: Web Səhifə Cihazını Maşına Nəzarət Edmək üçün 1/2 qurun
Cihaz sekmesinde Web Sayfasını genişləndirin və index.html və sonra Aç'ı basın
Addım 20: Veb Səhifə Cihazını Maşını 2/2 İdarə etmək üçün Konfiqurasiya edin
Pəncərə göründükdən sonra, bizim vəziyyətimizdə, cihazın idində python skriptimizin deviceId təmin etməliyik. Şəkildə göstərilən yeri dəyişək.
Addım 21: Avtomobil İdarəetmə Mərkəzini açın
Səhifəmizi açmağın və necə işlədiyini görməyin vaxtı gəldi. Cihaz sekmesinde index.html və sonra "Yeni sekmede Aç" düyməsini basın Videoya önizləmə əldə etmək üçün Chrome və ya Firefox brauzerindən istifadə etməlisiniz, digər brauzer webRTC -ni tam dəstəkləmir
Addım 22: Kamera Konfiqurasiyası 1/2
Siçanı video sahəsinə sürdükdə kamera mövqeyini dəyişməlidir və tam olaraq FPS oyunlarında olduğu kimi işləməlidir. Yəqin ki, düzgün hərəkət etməyəcək
Addım 23: Kamera Konfiqurasiyası 2/2
Script.js açın (cihazlar nişanı veb səhifəni genişləndirir, sonra script.js düyməsini basın və sonra açın) və ekranda göstərdiyim yeri tapın.
mənim vəziyyətimdə mərkəzi mövqe 560 və 430 və hərəkət aralığı hər iki ox üçün 200 -dir
Kameranın mövqe mərkəzini və hamar hərəkətləri əldə etmək üçün bu ədədlərlə təcrübə etməlisiniz, əgər bu dərsdən istifadə etmisinizsə, yalnız yapışdırılmış verilən dəyərləri kopyalayın
Addım 24: Sürücülük 1/2
Klaviaturadakı oxu yuxarı basarsanız, ölçü cihazları mövqelərini dəyişməli və maşın sürməlidir. "Yuxarı" oxuna basarsanız və avtomobil dönərsə, ekrandakı yerlərə eksi əlavə etməli/çıxarmalısınız.
Bu əməliyyatdan sonra "yuxarı" vurulduqdan sonra ox maşını irəli və aşağı ox avtomobili geri çəkməlidir.
Addım 25: Sürücülük 2/2
İndi dönür - avtomobil sağa dönürsə sol oxu vurun Kabelləri çevirməlisiniz (yuxarıdakı şəkilə baxın)
Bu kabelləri lehimləsəniz, onu script.js -də dəyişə bilərsiniz.
əvvəl:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
sonra:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
və indi düzgün işləməsi üçün bir addım kimi minuslarla oynamalısınız;) və yenidən basıb saxlayın
Addım 26: Necə işləyir
Veb səhifə, python skriptinə 9 baytlıq mesaj mesajlarını aşağıdakı formatda göndərir:
- 1 bayt bir bayt tam ədəd 1
- 2 bayt tam ədəd X kameranın mövqeyi
- 2 bayt tamsayı Y kameranın mövqeyi
- 1 bayt tamsayı sol motor rejimi (3 = geriyə, 1 = irəli, 2 = dayan)
- 1 bayt tamsayı sol motor sürəti
- 1 bayt tamsayı sağ motor rejimi (3 = geriyə, 1 = irəli, 2 = dayan)
- 1 bayt tam ədəd sağ motor sürəti
mesaj göndərmək "sendNow ()" funksiyasındakı script.js faylında aparılır
RasbperryPi python.py bu mesajı "onUserMessage" funksiyasında alır
Bunu yoxlaya və bir az oynaya bilərsiniz ki, nə baş verdiyini biləsiniz.
sinif funksiyalarının təsviri burada
Addım 27: Tablet, Mobil Sükan
Yeni veb səhifəni əvvəlki vaxtda olduğu kimi əlavə edirik, amma indi "car4wdMobile" şablonunu seçirik.
Ardından, hər şeyi script.js -də masa üstü idarəetmə veb səhifəsində etdiyimiz kimi konfiqurasiya edirik Mesaj formatı tam eynidır, buna görə python.py skriptini dəyişdirmək məcburiyyətində deyilik.
Addım 28: Cib Telefonunda Səhifəni Açın
Mobil hesabdan hesabınıza daxil olmaq əvəzinə, QR hər hansı bir url tarayın.
QR detalları burada
Mobil nəzarətiniz RPi və mobil eyni Wi -Fi -da işləyərsə, ancaq İnternetdən istifadə etməsəniz, bura yazdığımı necə çevirmək lazım olduğunu əlavə etməlisiniz.
Addım 29: Turn Server əlavə edin
Bəzən (NAT və ya bəzi firewall parametrlərinin arxasında olduğunuzda) Robotunuzu başqa bir şəbəkədən qoşa bilmirsinizsə, robotunuz bağlıdır. Böyük bir problem deyil və sonra növbəli server əlavə etməlisiniz.
XIRSYS şirkətindən bir server sınadım (geliştirici üçün pulsuzdur) və XIRSYS sistemindən istifadə edərək növbəli serveri necə konfiqurasiya edəcəyimi göstərəcəyəm.
qeydiyyatdan keç:
global.xirsys.net/dashboard/signup
sonra tətbiq əlavə etmək üçün "artı" düyməsini basın
sağdakı "statik dönüş etimadnaməsi" altında, sizə lazım olan bütün məlumatlar var. Bunu etmək üçün onu webrtc_streamer.conf faylına kopyalayın
RaspberryPi deivcesini genişləndirin
webrtc_streamer.conf faylını vurun
aç basın
və məlumat əlavə edin
turn_server = turn_username =
turn_credential =
Redaktəni bitirdikdən sonra ekranda belə bir şey olmalıdır.
sonra RasbperryPi cihazındakı menyunu tıklayaraq Save və You Rpi'yi yenidən başladın və yenidən başladın seçin
RPi proqramı yenidən başladıqdan sonra mobil internetdən istifadə etsəniz belə cib telefonunuzda video önizləməyə baxa bilərsiniz.
Addım 30: Mobil Sükan
1 -ci dairədə sol baş barmağımızı, 2 sağa yerləşdiririk - tam olaraq bu nöqtədə olmamalısınız - veb səhifəsi toxunma ekranından dərhal sonra sıfır mövqeyi təyin edəcək və baş barmaqlarınızı hərəkət etdirərək (sol sürücülük, sağ kamera mövqeyi) İdarə edə bilərsiniz sənin maşının
Addım 31: Xülasə
Ümid edirəm bu təlimatı bəyənmisiniz, əvvəllər yazdığım kimi bu dərslikdə başlıq altında necə işlədiyi haqqında daha ətraflı məlumat verilmişdir.
bəzi bağlantılar:
remoteme.org - orada remoteme.org ana səhifəsi Sənədlər və dərsliklər tapa bilərsiniz
FB fanpage - Facebook fanpage remoteme.org haqqında ən yeni məlumatlar
Youtube - layihənin bəzi videoları, dərslər
Sağol, Maciek
Tövsiyə:
ESP8266, Google Home və Openhab İnteqrasiyası və Veb Nəzarəti ilə Pərdələrə Nəzarət: 5 Addım (Şəkillərlə birlikdə)
ESP8266, Google Home və Openhab İnteqrasiyası və Veb Nəzarəti ilə Pərdələrə Nəzarət: Bu Təlimat kitabında pərdələrimə avtomatlaşdırmanı necə əlavə etdiyimi göstərirəm. Avtomatlaşdırmanı əlavə edə və silə bilmək istədim, buna görə də bütün quraşdırma klipdədir. Əsas hissələr bunlardır: Step motor Stepper sürücüsü idarə olunan bij ESP-01 Ötürücü və montaj
Artırılmış Reallıq Veb Brauzeri: 9 addım
Genişləndirilmiş Reallıq Veb Brauzeri: Bu gün Android üçün Genişləndirilmiş Reallıq veb brauzeri hazırlayacağıq. Bu fikir ExpressVPN -in sponsorlu bir YouTube videosu çəkməyimi istəməsi ilə başladı. Bu mənim ilk işim olduğundan, məhsulu ilə əlaqəli bir şey etmək istədim. Pr
İt Botu: Veb Kameralı Lego Robot Rover: 17 Addım (Şəkillərlə)
Köpək Botu: Veb Kameralı Lego Robot Rover: Wi -Fi üzərindən istənilən ekrandan idarə edə biləcəyiniz bir Lego robotu necə hazırlamaq olar. Veb kamerası da var, hara gedəcəyinizi görə bilərsiniz və gözlər üçün LED işıqlar! Uşaqlarınızla birlikdə logo qurmağı bacardıqları üçün edə biləcəyiniz böyük bir layihədir və siz
Visual Basic -də bir veb brauzeri yaradın: 12 addım
Visual Basic -də Veb Brauzeri yaradın: Mən sizə Visual Basic 2005 -də veb brauzer qurmağı öyrədəcəyəm
Visual Basic -də bir proqram yaratmaq: Veb brauzeri: 9 addım
Visual Basic -də Proqram Yaratmaq: Veb Brauzeri: Bu Təlimat VB.NET -də sadə bir veb brauzer tətbiqi yaratmaq prosesini izah edir. İlk VB.NET -in davamı olaraq hazırlanmışdır: Visual Basic -də İlk Proqramınızı Yaratmaq. Həmin instansiyanı oxumağınız məsləhətdir