Isi kandungan:

Robot Raspberry SPy: 8 Langkah (dengan Gambar)
Robot Raspberry SPy: 8 Langkah (dengan Gambar)

Video: Robot Raspberry SPy: 8 Langkah (dengan Gambar)

Video: Robot Raspberry SPy: 8 Langkah (dengan Gambar)
Video: HOW TO USE the Raspberry Pi camera module 2024, Julai
Anonim
Image
Image
Robot Raspberry SPy
Robot Raspberry SPy

Projek ini membolehkan anda memandu robot melalui laman web dan melihat siaran langsung. Ia dapat digunakan untuk mengintip binatang peliharaan, pastikan tidak ada yang terbakar di dalam ketuhar anda, dan juga jam tangan burung! DFRobot menyediakan modul kamera Raspberry Pi 3 dan Raspberry Pi.

Langkah 1: Robot Elektronik

Elektronik Robot
Elektronik Robot

Saya mulakan dengan memasang kit casis MiniW 2WD dari DFRobot. Saya meluncurkan roda ke batang motor, kemudian memasukkannya ke dalam pendakap dan memasangkannya ke casis. Akhirnya, saya menambah sokongan logam. Kini tiba masanya untuk membina papan utama. Pemandu motor L293d disolder di tempatnya, bersama dengan wayar yang berjalan ke pin GPIO Raspberry Pi. Seterusnya, saya menyolder penyambung untuk bateri, kerana ia akan memberikan kuasa utama. Setelah sumber kuasa ditambahkan, saya memasang pengatur 5V.

Langkah 2: Menyiapkan Pi

Menyiapkan Pi
Menyiapkan Pi

DFRobot menghubungi saya dan menghantar Modul Kamera Raspberry Pi 3 dan Raspberry Pi mereka. Oleh itu, setelah saya membuka kotak, saya mula bekerja dengan menyediakan kad SD. Mula-mula saya pergi ke halaman Raspberry Pi Downloads dan memuat turun versi Raspbian terbaru. Saya kemudian mengekstrak fail tersebut dan memasukkannya ke dalam direktori yang sesuai. Anda tidak boleh hanya menyalin / menampal fail.img ke kad SD, anda harus "membakarnya" ke kad. Anda boleh memuat turun utiliti pembakar seperti Etcher.io untuk memindahkan imej OS dengan mudah. Setelah fail.img ada di kad SD saya, saya memasukkannya ke dalam Raspberry Pi dan memberikannya kuasa. Selepas kira-kira 50 saat saya mencabut kabel dan mengeluarkan kad SD. Seterusnya saya meletakkan kad SD kembali ke PC saya dan pergi ke direktori "boot". Saya membuka notepad dan menyimpannya sebagai fail kosong bernama "ssh" tanpa sambungan. Terdapat juga fail yang saya tambahkan bernama "wpa_supplicant.conf" dan masukkan teks ini ke dalamnya:

rangkaian = {ssid = psk =}

Kemudian saya menyimpan dan mengeluarkan kad itu dan memasukkannya semula ke dalam Raspberry Pi 3. Ini seharusnya membolehkan penggunaan SSH dan menyambung ke WiFi.

Langkah 3: Menyiapkan Kamera

Menyiapkan Kamera
Menyiapkan Kamera

Secara lalai, kamera dilumpuhkan pada Pi, jadi anda mesti membuka jenis terminal sudo raspi-config untuk memunculkan menu. Pergi ke "pilihan antara muka" dan kemudian aktifkan kamera. Sekarang pilih "Selesai" dan masukkan kabel pita modul kamera ke kawasan Pi yang betul.

Langkah 4: Memasang Perisian

Terdapat beberapa perisian yang berbeza yang dapat menstrim video, seperti vlc dan gerakan, tetapi saya memutuskan untuk menggunakan mjpeg-streamer kerana kependamannya yang rendah dan pemasangannya mudah. Menurut arahan di laman web ini, lakukan klon git https://github.com/jacksonliam/mjpg-streamer.git ke dalam folder, kemudian ketik sudo apt-get install cmake libjpeg8-dev untuk memasang perpustakaan yang diperlukan. Ubah direktori anda ke dalam folder yang anda muat turun dan kemudian ketik make diikuti dengan sudo make install untuk menyusun perisian. Akhirnya masukkan eksport LD_LIBRARY_PATH =. dan untuk menjalankannya ketik./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Anda boleh mengakses aliran dengan menuju ke https://: 8080 / stream.html untuk melihat aliran.

Langkah 5: Pengawal

Pengawal
Pengawal
Pengawal
Pengawal

Kemudian datang bahagian bagaimana mengendalikan Raspberry Pi melalui WiFi, kerana Bluetooth mempunyai jarak yang terlalu sedikit. Saya memutuskan untuk menggunakan pelayan Flask yang berjalan pada Raspberry PI dan modul ESP8266 ESP12E untuk menghantar data kepadanya. ESP8266 hanya mempunyai satu input analog, yang bermaksud saya tidak dapat menggunakan joystick secara langsung, kerana ia memerlukan dua input analog. Pilihan terbaik adalah ADS1115, yang merupakan peranti I2C yang membaca isyarat analog pada resolusi 16 bit. Saya hanya menghubungkan SDA ke 4 dan SCL ke 5, bersama dengan VCC dan GND. Paksi joystick X menghubungkan ke A0 pada ADS1115, dan paksi Y menyambung ke A1. TETAPI, saya secara tidak sengaja membakar ADS1115, jadi saya terpaksa menggunakan perkara terbaik: butang! Jadi sekarang persediaan saya adalah Sparkfun Thing Dev Board ESP8266 dengan 3 butang - ke depan, kanan dan kiri. Sekarang setiap kali ditekan, ia mengirimkan data untuk memutar roda ke arah itu.

Langkah 6: Kod Robot

Kod untuk Robot
Kod untuk Robot

Saya membuat projek sebelumnya yang menggunakan perpustakaan GPIO PWM Pi untuk mengendalikan motor melalui json, jadi saya hanya memilih semula kod untuk menerima data melalui aplikasi Flask. Flask adalah perpustakaan Python yang pada dasarnya mengubah Pi anda menjadi pelayan web yang mampu mengirim dan menerima data. Dengan menggunakan PWM, motor dapat dikendalikan dengan ketepatan yang lebih besar berbanding dengan tangki pemacu. Ini juga bermaksud robot boleh bergerak dengan kelajuan berubah daripada yang tetap. Aplikasi termos saya dikonfigurasi untuk mengubah PWM motor setelah menerima data dari permintaan GET melalui http dari ESP12e. Ia juga menggunakan perpustakaan subproses. Buka untuk menjalankan skrip aliran web di latar belakang. Saya telah melampirkan kod ke halaman projek, jadi semua yang diperlukan adalah muat turun.

Langkah 7: Kod Pengawal

Kodnya cukup mudah, ambil bacaan dari 3 pin, jalankan beberapa pernyataan jika ada untuk menentukan arah roda, dan akhirnya hantarkan nilai tersebut ke Raspberry Pi. Penambahan papan ESP8266 untuk Arduino IDE dilengkapi dengan perpustakaan HTTPClient, yang menangani tajuk dan menghantar data. Pelayan Flask perlu menerima data melalui panggilan POST, jadi kod tersebut memulakan hubungan dengan pelayan web Raspberry Pi, kemudian menambahkan header ke data yang menunjukkan bahawa ia dikodekan JSON, dan akhirnya ia mengirimkan data dalam bentuk objek JSON. Saya menambah kelewatan 40 ms untuk mengelakkan Raspberry Pi tidak terlalu banyak memuat data.

Langkah 8: Menjalankan Raspberry SPy

Menjalankan Raspberry SPy
Menjalankan Raspberry SPy
Menjalankan Raspberry SPy
Menjalankan Raspberry SPy

Yang diperlukan hanyalah menaip sudo python.py! Anda harus melihat kamera menyala, dan dengan pergi ke alamat web pi dengan port 8080 aliran akan kelihatan. Kini anda boleh menggunakan alat kawalan di mana sahaja di rumah dan juga memberi makan langsung.

Disyorkan: