Isi kandungan:
- Langkah 1: Beberapa Maklumat Mengenai App.remoteme.org
- Langkah 2: Apa yang Diperlukan:
- Langkah 3: Sambungan
- Langkah 4: PCB
- Langkah 5: Keluaran PCB
- Langkah 6: Bagaimana Ia Berfungsi
- Langkah 7: Pemasangan Kereta - Roda
- Langkah 8: Pilihan (Bateri Pengisian Semula AA) 1/2
- Langkah 9: Kuasa (Bateri Li-Po 7.2V) Pilihan 2/2
- Langkah 10: Pematerian
- Langkah 11: Kamera
- Langkah 12: Memasang Bahagian Kereta Bersama
- Langkah 13: Konfigurasi App.remoteme.org
- Langkah 14: Konfigurasi RasbperryPi
- Langkah 15: Memeriksa Sambungan
- Langkah 16: Menambah Skrip Python
- Langkah 17: Memeriksa Jika Skrip Python Ditambah dengan Jimat
- Langkah 18: Menambah Halaman Web untuk Mengawal Kereta
- Langkah 19: Konfigurasikan Peranti Halaman Web untuk Mengawal Kereta 1/2
- Langkah 20: Konfigurasikan Peranti Halaman Web untuk Mengawal Kereta 2/2
- Langkah 21: Buka Pusat Kawalan Kereta
- Langkah 22: Konfigurasi Kamera 1/2
- Langkah 23: Konfigurasi Kamera 2/2
- Langkah 24: Memandu 1/2
- Langkah 25: Memandu 2/2
- Langkah 26: Bagaimana Ia Berfungsi
- Langkah 27: Tablet, Pemandu Bergerak
- Langkah 28: Buka Halaman di Telefon Bimbit
- Langkah 29: Menambah Turn Server
- Langkah 30: Pemandu Bergerak
- Langkah 31: Ringkasan
Video: Kereta RasbperryPi Dengan Kamera FPV. Kawal dengan Penyemak Imbas Web: 31 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Kami akan membina kereta 4wd - stereng akan serupa seperti di tangki - untuk memutar satu sisi roda akan berputar dengan kelajuan yang berbeza daripada yang lain. Di kereta akan diletakkan kamera pada pemegang khas di mana kita dapat mengubah kedudukan kamera. Robot akan dikendalikan oleh penyemak imbas web (chrome atau firefox di desktop, atau firefox di telefon bimbit), di penyemak imbas, Kami akan mendapatkan video kamera (dengan latensi hanya 200ms), dan dari penyemak imbas, kami dapat mengawal pergerakan kereta dan kedudukan kamera. Untuk mempermudah komunikasi saya telah menggunakan sistem app.remoteme.org, ada juga yang berfungsi di luar kotak mengendalikan kereta jenis ini, Oleh itu, Anda tidak perlu menulis kod anda sendiri, tetapi tentu saja Anda boleh mengubah skrip menambah kemungkinan baru dll.
Sebelum menyambungkan kuasa ke PCB anda, periksa semua sambungan
Langkah 1: Beberapa Maklumat Mengenai App.remoteme.org
Sistem ini mempunyai tiga bahagian
- aplikasi web - apabila anda menghoskan laman web kawalan anda dan ia menghubungkan semua komunikasi
- program rasbperryPi - program yang menghantar video, menguruskan skrip python anda
- perpustakaan di mana Anda dapati definisi kelas, fungsi
Remoteme.org cepat sistem Anda menghubungkan semua peranti anda bersama-sama, Anda boleh menjadi tuan rumah di sana Laman web anda, melihat peranti anda yang tersambung. Sistem Remoteme.org dibuat untuk membantu Anda mulai membuat projek anda, tanpa khawatir tentang komunikasi protokol, idea utama adalah untuk menghantar mesej binari di antara pelbagai peranti seperti halaman web, RasbeprryPI, arduino, dan skrip.
Dari sisi lain Remoteme.org memberikan Anda kawalan penuh terhadap fail anda, Anda boleh mengubahnya menggunakan fungsi anda sendiri
Pada tutorial ini saya akan menunjukkan kepada anda bagaimana membuat beberapa projek yang hebat tanpa menulis sebarang kod.
Pada akhir tutorial ini saya telah meletakkan pautan berguna yang akan membantu Anda memahami sistem remoteme.org.
Langkah 2: Apa yang Diperlukan:
- Raspberry PI Zero W
- Kamera khas
- Adafruit 16-Channel 12-bit PWM / Servo Driver - antara muka I2C - PCA9685 atau klonnya
- Dua mekanisme servo yang serasi dengan pemegang kamera
- Pemegang kamera
- Bateri - Dalam tutorial dua kemungkinan sambungan
- H jambatan TB6612FNG, untuk mengawal speer roda
- Fail elang PCB Mudah menjadikannya kaedah pemindahan habaDC-DC
- Modul Penukar Step Down DC
- Kes robot
Langkah 3: Sambungan
Mekanisme servo kawalan Raspberry pi melalui modul PWM dan kelajuan motor oleh jambatan H yang disambungkan ke pin RasbperryPi, input PWM ke jambatan H dihasilkan oleh modul yang sama yang saya gunakan untuk servos (bahagian mana yang saya sebutkan di atas tidak diperlukan penukar logik)
Langkah 4: PCB
Anda boleh memuat turun fail helang PCB dari sini Jalannya gemuk sehingga mudah dibuat dengan kaedah pemindahan haba
Langkah 5: Keluaran PCB
- Input PWM untuk motor pemacu Harus disambungkan ke modul PWM pin 15 dan 16 (periksa segi empat hijau pada gambar modul PWM)
- Input kuasa untuk motor pemacu (periksa voltan maksimum yang dapat digunakan motor anda)
- Kuasa untuk modul RasbperryPi dan PWM - mestilah tepat
- Memacu output motor (ada dua output kerana kita akan memasangkan motor pemacu)
- Kuasa Mekanisme Servo - juga Anda harus memeriksa voltan apa yang baik untuknya
- Jumper kekuatannya sekarang dari input ke-5 juga akan menggerakkan motor sehingga tidak perlu menyambungkan apa pun ke input 2
- Jumper jika ada RasbperryPi akan menjadi kuasa dari input ke-3 - sebelum meletakkan jumper di sini periksa sama ada sambungannya OK - Anda tidak mahu membakar RPi anda
- Mari solder di sini kabel kerana kita tidak memerlukan penukar logik
Langkah 6: Bagaimana Ia Berfungsi
Di RasbperryPi terdapat skrip python yang menggunakan dua perpustakaan
- import RPi. GPIO sebagai GPIO - untuk pin 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (notasi BCM) yang disambungkan ke jambatan H
- import Adafruit_PCA9685 untuk modul PWM
Pin Rp dihubungkan seperti berikut 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) dan mod kawalan jambatan H (maju, mundur, berhenti, rehat pendek). Jambatan H memerlukan dua isyarat PWM supaya kita dapat mengawal kelajuan atau putaran motor. Kerana di projek ini kita sudah mempunyai pengawal PWM (digunakan untuk servo) kita akan menggunakannya juga untuk menghasilkan PWM untuk jambatan H.
Modul PWM menggunakan protokol komunikasi I2C. Saya sudah biasa bekerja di luar kotak Adafruit_PCA9685. perpustakaan
Langkah 7: Pemasangan Kereta - Roda
Kami akan bermula dari menyambungkan motor pemacu ke casing kereta. Motor sisi kiri / sisi bersambung bersama, dan kedua-duanya berpasangan, bersambung ke beberapa kabel kuasa yang kemudiannya akan disambungkan ke PCB. Nota penting semasa menyambungkan roda motor di setiap sisi harus berputar pada arah yang sama.
Langkah 8: Pilihan (Bateri Pengisian Semula AA) 1/2
Saya akan menulis dua kemungkinan kuasa yang pertama Car adalah dari bateri pengisian semula 10xAA. Pada gambar terakhir saya telah dilukis oleh jumper warna merah yang mesti diletakkan.
Langkah 9: Kuasa (Bateri Li-Po 7.2V) Pilihan 2/2
Dan pilihan kedua ialah bateri 7.2 LI-PO. Dalam kes ini kita mendapat 3 voltan - 5v Untuk Rpi dan modul, 6V untuk servos dan langsung dari bateri 7.2 volt untuk motor pemacu. Saya terpaksa menggunakan modul step down dua
Pilihan 2 dengan LI-PO lebih baik:
- Bateri mempunyai kapasiti yang lebih besar - kereta akan memandu lebih lama
- Voltan yang lebih besar untuk motor pemacu - kereta akan memandu dengan lebih pantas
- Kurang kebarangkalian bahawa setelah motor pemacu mula mengesan kita dapat mengalami penurunan voltan besar dan RPI dimulakan semula.
Langkah 10: Pematerian
Saya telah meletakkan beberapa spacer untuk modul PWM di PCB. Tidak ada apa-apa yang perlu ditulis, lihat gambar bagaimana menyatukan semuanya
Langkah 11: Kamera
kami menyambungkan kamera, berikut ditulis cara memusatkan mekanisme servo sebelum dipasang ke dudukan kamera, tetapi cara terpendeknya adalah dengan manual memeriksa posisi putaran maksimum secara manual dan mengatur servo pada posisi tengah. Mekanisme servo berpusat ini kita masukkan ke dalam pemegang kamera di kedudukan tengah (kamera menunjuk lurus ke depan seperti pada foto)
Langkah 12: Memasang Bahagian Kereta Bersama
Untuk PCB saya telah membuat meja plexiglass kecil
Langkah 13: Konfigurasi App.remoteme.org
Saya telah menggunakan sistem app.remoteme.org percuma, ia membantu Anda membuat sambungan, dan ia sudah mempunyai skrip yang kami perlukan
Pada arahan ini, saya hanya akan menunjukkan langkah demi langkah apa yang harus dilakukan untuk membuat pemanduan kereta (di sini Anda akan mendapat lebih banyak maklumat)
- Bernyanyi di https://app.remoteme.org selepas mendaftar Anda akan log masuk secara automatik
- buka tab Token di sebelah kiri, kemudian klik "token baru" memberikan beberapa nama dan klik OK, Kami baru saja membuat token baru (gambar di skrin)
- dalam contoh ini, nilai token adalah: ~ 1_ & p @ + BNnZ @ A + x8 (milik anda akan berbeza;))
Langkah 14: Konfigurasi RasbperryPi
di putty console (di sini cara mengatur RPi menghidupkan komunikasi kamera I2c)
git klon git: //github.com/remoteme/remoteme.git
remotem cd
python3.5 install.py
- Instalator akan menanyakan kepada kami beberapa soalan untuk semua yang kami balas [Y] dan mengesahkan dengan [masukkan]
- ketika pemasangan akan meminta token kita tampal (shift + insert) token yang disalin dari aplikasi dan Enter
- nama misalnya Rpi
- deviceId 1 Enter
- selepas pemasangan - jalankan program
./runme.sh
Langkah 15: Memeriksa Sambungan
Mari kembali ke
Pada tab peranti kita akan melihat RPi kita yang terhubung (ikon pautan hijau bermaksud RPi disambungkan sekarang)
Langkah 16: Menambah Skrip Python
Sekarang kita akan menambah skrip python, yang sudah ada di templat sehingga kita tidak perlu memprogramkan apa-apa.
Pada tab peranti, buka menu RasbperryPi dan pilih "Tambahkan skrip luaran".
Apabila tetingkap baru muncul berikan maklumat seperti gambar di atas
Jangan lupa memilih templat "car4wd". Selepas langkah ini, remoteme.org akan menambahkan skrip python ke RasbperryPi kami dan memulakannya semula
Langkah 17: Memeriksa Jika Skrip Python Ditambah dengan Jimat
Pada tab peranti, peranti skrip python baru harus ditambahkan, dan perantinya adalah 2. Ke dalam peranti ini halaman web Id akan menghantar mesej untuk mengawal kereta
Langkah 18: Menambah Halaman Web untuk Mengawal Kereta
pada tab peranti klik "Baru" kemudian "Halaman Web". Kami hanya menambah peranti lain - laman web yang akan kami gunakan untuk mengawal kereta kami. Dan kerana kami menggunakan templat "car4wdDesktop" di laman web sudah ada fail yang hampir siap digunakan
Langkah 19: Konfigurasikan Peranti Halaman Web untuk Mengawal Kereta 1/2
Kembangkan Halaman Web di tab peranti dan klik index.html kemudian Buka
Langkah 20: Konfigurasikan Peranti Halaman Web untuk Mengawal Kereta 2/2
Tingkap muncul maka kita perlu menyediakan deviceId skrip python kita di case caseId kita adalah 2. Mari ubah tempat yang ditunjukkan dalam gambar
Langkah 21: Buka Pusat Kawalan Kereta
Sekarang masanya untuk membuka halaman kami dan melihat bagaimana ia berfungsi. Pada tab peranti, klik index.html dan kemudian "Buka di tab baru" Untuk mendapatkan pratonton video Anda harus menggunakan penyemak imbas chrome atau firefox penyemak imbas lain tidak menyokong webRTC sepenuhnya
Langkah 22: Konfigurasi Kamera 1/2
Ketika kita menggerakkan tetikus di kawasan video, kamera harus berubah posisi, dan harus berfungsi sama seperti dalam permainan FPS. Mungkin tidak akan bergerak dengan betul
Langkah 23: Konfigurasi Kamera 2/2
Buka script.js (tab peranti meluaskan laman web kemudian klik pada script.js kemudian buka) dan cari tempat yang saya tunjukkan di skrin
pada kedudukan pusat kes saya adalah 560 dan 430 dan jarak pergerakan adalah untuk kedua-dua paksi 200
Anda harus bereksperimen dengan nombor ini sehingga anda mendapat pusat kedudukan kamera dan pergerakan yang lancar, Jika Anda menggunakan tutorial ini, salin sahaja nilai yang ditampal
Langkah 24: Memandu 1/2
Sekiranya anda menekan anak panah ke atas pada papan kekunci, alat pengukur harus menukar kedudukan dan kereta harus memandu. Sekiranya Anda menekan anak panah “atas” dan kereta berpusing maka Anda harus menambah / membuang tolak di tempat-tempat di layar.
Selepas operasi ini, tekan anak panah “atas” harus memandu ke depan dan kereta panah bawah harus memandu ke belakang.
Langkah 25: Memandu 2/2
Sekarang berpusing - tekan anak panah kiri jika kereta membelok ke kanan Anda harus membalikkan kabel (periksa gambar di atas)
Sekiranya anda menyolder kabel ini, anda boleh menukarnya pada script.j hanya menukar susunan kelajuan motor, sebelum:
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));
selepas:
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));
dan sekarang Anda harus bermain dengan minus seperti satu langkah sebelumnya untuk membuatnya berfungsi dengan betul;). Seperti yang anda mungkin perhatikan setelah tekan panah kereta tidak memandu dengan kelajuan penuh untuk membuat kereta bergerak lebih cepat hanya melepaskan anak panah ke atas dengan cepat ketika berada di posisi maksimum dan tekan dan tahan lagi
Langkah 26: Bagaimana Ia Berfungsi
Halaman web menghantar mesej pesanan byte ke-9 ke skrip python dalam format:
- 1 bait satu bait nilai integer 1
- 2 kamera byte integer X kedudukan kamera
- 2 bait kedudukan kamera Y integer
- Mod motor kiri 1 bait integer (3 = mundur, 1 = maju, 2 = berhenti)
- Kelajuan motor kiri integer 1 bait
- Mod motor kanan 1 byte integer (3 = mundur, 1 = maju, 2 = berhenti)
- 1 byte kelajuan motor betul
mengirim mesej dibuat pada file script.js pada fungsi "sendNow ()"
di RasbperryPi python.py mendapatkan mesej ini berfungsi "onUserMessage"
Anda boleh melihatnya dan bermain sebentar sehingga Anda tahu apa yang sedang berlaku.
penerangan fungsi kelas di sini
Langkah 27: Tablet, Pemandu Bergerak
Kami menambah laman web baru dengan pantas seperti yang kami lakukan sebelumnya tetapi sekarang kami memilih templat "car4wdMobile"
Seterusnya, kami mengkonfigurasi segala-galanya dalam script.js seperti yang kami lakukan untuk halaman web kawalan desktop Format mesej sama persis sehingga kami tidak perlu mengubah skrip python.py.
Langkah 28: Buka Halaman di Telefon Bimbit
Daripada log masuk ke akaun anda dari telefon bimbit, cuma imbas url QR.
perincian QR di sini
Sekiranya kawalan mudah alih Anda berfungsi ketika RPi dan telefon bimbit berada di wifi yang sama tetapi tidak jika Anda menggunakan internet mudah alih, maka anda perlu menambah pelayan giliran, bagaimana cara yang saya tulis di sini
Langkah 29: Menambah Turn Server
Kadang kala (ketika anda berada di belakang NAT atau beberapa tetapan firewall) Anda tidak dapat menghubungkan robot anda dari rangkaian lain maka robot anda disambungkan. Ini bukan masalah besar dan kemudian Anda harus menambah pelayan giliran.
Saya telah menguji pelayan dari syarikat XIRSYS (percuma untuk kegunaan pembangun) dan saya akan menunjukkan cara mengkonfigurasi pelayan giliran menggunakan sistem XIRSYS
daftar:
global.xirsys.net/dashboard/signup
kemudian klik "tambah" untuk menambah aplikasi
di sebelah kanan di bawah "bukti kelayakan statik" Anda mempunyai semua data yang anda perlukan. Salin ke dalam fail webrtc_streamer.conf untuk melakukannya pergi ke
mengembangkan RaspberryPi deivces
klik fail webrtc_streamer.conf
klik terbuka
dan tambah maklumat
turn_server = turn_username =
turn_credential =
setelah anda mengedit Anda mesti mempunyai sesuatu seperti di skrin.
kemudian klik Simpan dan mulakan semula Anda Rpi, dengan mengklik menu di peranti RasbperryPi dan pilih mulakan semula
Selepas program RPi dimulakan semula Anda dapat melihat pratonton video di telefon bimbit anda walaupun Anda menggunakan internet mudah alih.
Langkah 30: Pemandu Bergerak
pada bulatan 1 kami meletakkan ibu jari kiri, di 2 kanan - tidak harus tepat pada titik ini - halaman web akan menetapkan kedudukan sifar tepat setelah anda menyentuh skrin, dan dengan menggerakkan ibu jari anda (pemanduan kiri, posisi kamera kanan) Anda dapat mengawal kereta awak
Langkah 31: Ringkasan
Saya harap Anda menyukai tutorial ini, seperti yang saya tulis sebelumnya di tutorial ini adalah lebih terperinci mengenai cara ia berfungsi di bawahnya.
beberapa pautan:
remoteme.org - laman utama remoteme.org di sana Anda dapati dokumentasi dan tutorial
FB fanpage - Facebook fanpage maklumat terkini mengenai remoteme.org
Youtube - beberapa video projek, tutorial
Bersorak, Maciek
Disyorkan:
Hantar Data ke Platform AskSensors IoT Dari Penyemak Imbas Web: 6 Langkah
Hantar Data ke Platform AskSensors IoT Dari Pelayar Web: Baru-baru ini saya telah menghantar arahan yang menunjukkan panduan langkah demi langkah untuk menyambungkan MCU nod ESP8266 ke Platform IoT AskSensors. Saya mendapat maklum balas daripada orang yang lebih berminat dengan platform AskSensors, tetapi mereka tidak mempunyai MCU nod. Ini saya
ESP8266 Pemantauan Suhu Nodemcu Menggunakan DHT11 pada Pelayan Web Tempatan - Dapatkan Suhu & Kelembapan Bilik di Penyemak Imbas Anda: 6 Langkah
ESP8266 Pemantauan Suhu Nodemcu Menggunakan DHT11 pada Pelayan Web Tempatan | Dapatkan Suhu & Kelembapan Bilik di Penyemak Imbas Anda: Hai kawan-kawan hari ini kita akan membuat kelembapan & sistem pemantauan suhu menggunakan ESP 8266 NODEMCU & Sensor suhu DHT11. Suhu dan kelembapan akan diperolehi dari DHT11 Sensor & ia dapat dilihat pada penyemak imbas yang laman webnya akan diuruskan
ESP8266 NodeMCU Access Point (AP) untuk Pelayan Web Dengan Sensor Suhu DT11 dan Mencetak Suhu & Kelembapan dalam Penyemak Imbas: 5 Langkah
ESP8266 NodeMCU Access Point (AP) untuk Pelayan Web Dengan Sensor Suhu DT11 dan Mencetak Suhu & Kelembapan di Penyemak Imbas: Hai kawan-kawan dalam kebanyakan projek yang kami gunakan ESP8266 dan di kebanyakan projek kami menggunakan ESP8266 sebagai pelayan laman web sehingga data dapat diakses di sebarang peranti melalui wifi dengan mengakses Pelayan Web yang dihoskan oleh ESP8266 tetapi satu-satunya masalah adalah kita memerlukan penghala yang berfungsi untuk
Kawal Peranti Melalui Internet Melalui Penyemak Imbas. (IoT): 6 Langkah
Kawal Peranti Melalui Internet Melalui Penyemak Imbas. (IoT): Dalam Instructable ini saya akan menunjukkan kepada anda bagaimana anda dapat mengawal peranti seperti LED, Relay, motor dll melalui internet melalui penyemak imbas web. Dan anda boleh mengakses kawalan dengan selamat ke mana-mana peranti. Platform web yang saya gunakan di sini adalah lawatan RemoteMe.org
Robot Roomba Dikendalikan Penyemak Imbas Dengan Raspberry Pi Model 3 A +: 6 Langkah (dengan Gambar)
Robot Roomba yang Dikendalikan Penyemak Imbas Dengan Raspberry Pi Model 3 A +: Gambaran KeseluruhanAlat ini akan memberi tumpuan kepada bagaimana memberi Roomba otak baru (Raspberry Pi), mata (Kamera Web), dan cara untuk mengawal segala-galanya dari penyemak imbas web. Terdapat banyak peretasan Roomba yang membenarkan kawalan melalui antara muka bersiri. Saya belum