Isi kandungan:
- Langkah 1: BOM
- Langkah 2: Spesifikasi Komponen Utama
- Langkah 3: WIRING
- Langkah 4: MENYEDIAKAN RASPBERRY O.S
- Langkah 5: CARA MENGAWAL TANK WIFI KAMI DENGAN NODE.JS DAN WEBSOCKET.IO
- Langkah 6: MENAMBAHKAN KEUPAYAAN STREAMING VIDEO
- Langkah 7: PROGRAM TANK
- Langkah 8: MULAI SERVER INTERFACE DAN STREAMING SERVER
Video: Tangki Raspberry Dengan Antara Muka Web dan Streaming Video: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Kami akan melihat bagaimana saya menyedari tangki WiFi kecil, yang mampu mengawal Web dan Streaming Video jarak jauh.
Ini bertujuan untuk menjadi tutorial yang memerlukan pengetahuan asas mengenai pengaturcaraan elektronik dan perisian. Atas sebab ini, saya telah memilih Kit casis Tank (daripada mencetaknya menggunakan pencetak 3D, mungkin peningkatan kemudian) dan sejumlah 6 komponen termasuk bateri. Di sisi perisian, anda dapat mengikuti langkah demi langkah proses pemasangan dan pengaturcaraan minimum, pengetahuan asas mengenai perkara Raspberry dapat membantu.
Saya menganggarkan 12 jam kerja dari 0 hingga tangki siap pakai. Jumlah kos 70 € untuk semua komponen.
Langkah 1: BOM
1 - Tangki Chassis Robot RC DIY - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - Papan Pemandu Motor Dual Channel L298N DC - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Kit Permulaan Raspberry Pi Zero W - 26 (€)
amzn.eu/1ugAaMP
Kad SD 1 - 16 GB - 5, 50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Kamera Web Modul Kamera Raspberry Pi 5MP untuk Model Zero - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Power Bank 5V
Bateri 1 - 9v
Penyambung Dupont Kabel Breadboard Campuran
Tetikus, papan kekunci, Monitor atau TV untuk penyediaan Raspberry (pilihan, hanya untuk membuat persediaan pertama lebih mudah)
Langkah 2: Spesifikasi Komponen Utama
Motor
Motor gear JGA25-370 DC
Motor ini mempunyai poros keluaran berbentuk D.
Spesifikasi
· Voltan operasi: antara 6 V dan 18 V
· Voltan nominal: 12 V
· Kelajuan larian bebas pada 12 V: 399 RPM
· Arus bebas pada 12 V: 50 mA
· Stall arus pada 12V: 1200 mA
· Torsi terhenti pada 12V: 2.2 kg.cm
· Nisbah gear: 1:21
· Ukuran reduktor: 19 mm
· Berat: 84 g
Papan Pemandu Motor Dual Channel L298N DC
Pemandu motor Dual H-bridge, boleh menggerakkan dua motor DC atau motor stepper dua fasa 4-wayar. TSD terbina dalam, untuk melindungi dari gerai motor.
Spesifikasi
· Voltan bekalan modul: DC 2V-10V
· Voltan input isyarat: DC 1.8-7V
· Arus kerja tunggal: 1.5A
· Puncak arus hingga 2.5A
· Arus sedia rendah (kurang dari 0.1uA)
· Litar konduksi biasa terbina dalam, terminal input kosong, motor tidak berfungsi
· Saiz: 24.7 x 21 x 7mm
Langkah 3: WIRING
Ini akan menjadi pendawaian terakhir, tetapi TUNGGU, sebelum kita perlu memasang beberapa
perisian dan adalah idea yang baik untuk mengujinya dengan pendawaian yang lebih mudah, apabila siap, kembali ke sini.
Kami memerlukan dua sumber kuasa yang berbeza, satu untuk motor dan satu lagi untuk Raspberry.
Pemandu motor Dual Channel L298N DC Motor Driver Board (voltan input maksimum DC 2V-10V) dikuasakan dengan menggunakan bateri 9V dan Raspberry Pi menggunakan penumpuk USB standard 5V.
Pin GND pemandu motor akan disambungkan ke bateri tolak dan Raspberry Pi (GND). Pin GPIO Raspberry Pi disambungkan ke pemandu motor seperti jadual.
Langkah 4: MENYEDIAKAN RASPBERRY O. S
Ini adalah pemasangan standard untuk sistem operasi Raspbian, anda boleh dapatkan
banyak tutorial terperinci mencari di web, pada dasarnya langkahnya adalah:
1. Muat turun iso RASPBIAN STRETCH WITH DESKTOP dari
2. Format Kad SD 16 GB, saya telah menggunakan SD Formatter
3. Bakar fail. IMG, saya telah menggunakan Win32DiskImager
Sekarang raspberry anda sudah siap untuk boot, sambungkan ke sumber kuasa USB (5V, 2A) dan bersiap untuk persediaan boot pertama. Anda boleh melakukannya dengan dua cara, menggunakan peranti luaran seperti tetikus, papan kekunci dan monitor atau menggunakan PC anda dan sambungan jauh ke Raspberry. Terdapat banyak tutorial mengenai ini, salah satunya adalah:
Langkah 5: CARA MENGAWAL TANK WIFI KAMI DENGAN NODE. JS DAN WEBSOCKET. IO
Sekarang kita mempunyai pemasangan baru PC mikro Raspberry kita yang siap menjalankan tugas kita, jadi … apa yang kita gunakan untuk mengeluarkan perintah ke tangki?
Python adalah bahasa yang sangat mudah digunakan yang biasanya digunakan untuk menjalankan pasir projek Rapsberry dapat digunakan dengan mudah juga untuk berinteraksi dengan pin input dan output Rapsberry (GPIO)
Tetapi, tujuan saya adalah untuk menghubungkan wi-fi tangki saya dari mana-mana peranti (PC, telefon bimbit, tablet …) menggunakan penyemak imbas web biasa dan juga mengalirkan video daripadanya. Oleh itu, lupakan Python buat masa ini, dan mari teruskan NODE. JS dan SOCKET. IO.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) adalah kerja kerangka pelayan sumber terbuka berdasarkan bahasa js. Oleh kerana saya menggunakan Raspberry Pi Zero (CPU ARMv6) kami tidak dapat menggunakan proses pemasangan automatik (ditujukan untuk CPU ARMv7) dan kami perlu melakukannya secara manual:
Muat turun Nodejs secara tempatan, (Saya telah menggunakan versi 7.7.2 untuk ARMv6, periksa versi lain di sini
pi @ raspberry: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Setelah selesai, ekstrak fail yang dimampatkan:
pi @ raspberry: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Salin dan Pasang fail ke / pengguna / tempatan
pi @ raspberry: ~ $ sudo cp -R node-v7.7.2-linux-armv6l / * / usr / local /
Tambahkan lokasi tempat kami memasang nodejs ke jalan, edit fail ".profile":
pi @ raspberry: ~ $ nano ~ /.profile
Tambahkan baris berikut di akhir fail, simpan dan keluar
PATH = $ PATH: / usr / local / bin
Keluarkan fail yang dimuat turun:.
pi @ raspberry: ~ $ rm ~ / node-v7.7.2-linux-armv6l.tar.gz
pi @ raspberry: ~ $ rm -r ~ / node-v7.7.2-linux-armv6l
Taipkan arahan berikut untuk memeriksa pemasangan nodejs:
pi @ raspberry: ~ $ simpul -v
pi @ raspberry: ~ $ npm -v
Anda harus membaca v7.7.2 dan v4.1.2 sebagai tindak balas.
Sekiranya semuanya berjalan lancar, buat folder baru untuk menghoskan fail nodejs anda:
pi @ raspberry: ~ $ mkdir angguk
Pindah ke dalam folder baru:
pi @ raspberry: ~ $ cd angguk
Pasang modul tambahan yang diperlukan untuk menguruskan GPIO dengan cara paling asas, AKTIF dan MATI:
pi @ raspberry: ~ $ npm pasang onoff
Sekarang adalah masa untuk menguji projek pertama kami "Blink.js", hasilnya akan menjadi … LED berkedip
pi @ raspberry: ~ $ nano blink.js
Tampal kod berikut, simpan dan keluar:
var Gpio = memerlukan ('onoff'). Gpio; // termasuk onoff
var LED = Gpio baru (3, 'keluar'); // gunakan GPIO 3
var blinkInterval = setInterval (blinkLED, 250);
// LED berkelip setiap 250ms
fungsi blinkLED () {// fungsi untuk mula berkelip
sekiranya
(LED.readSync () === 0) {// periksa keadaan pin, jika keadaannya 0 (atau mati)
LED.writeSync (1);
// tetapkan keadaan pin ke 1 (hidupkan LED)
} lain {
LED.writeSync (0);
// tetapkan keadaan pin ke 0 (matikan LED)
}
}
fungsi endBlink () {// fungsi untuk berhenti berkelip
clearInterval (berkelipInterval); // Hentikan selang kedip
LED.writeSync (0); // Matikan LED
LED.unexport (); // Unexport GPIO untuk membebaskan sumber
}
setTimeout (endBlink, 5000); // berhenti berkelip selepas 5 saat
Kabel LED, Perintang (200ohms) seperti yang ditunjukkan dalam skema dan jalankan projek:
pi @ raspberry: ~ $ node blink.js
Node sudah siap.
SOCKET. IO
WebSocket adalah protokol komunikasi komputer, berdasarkan koneksi TCP, menyediakan programmer untuk membuat pelayan dan klien. Pelanggan menyambung ke pelayan dan mengeluarkan dan menerima mesej ke dan dari pelayan. Pelaksanaan WebSocket untuk Node.js disebut Socket.io (https://socket.io/).
Pasang socket.io:
pi @ raspberry: ~ $ npm pasang socket.io --simpan
Pindah ke dalam rumah nodejs, dibuat dengan sengaja:
pi @ raspberry: ~ $ cd angguk
Dan buat folder baru "awam":
pi @ raspberry: ~ $ mkdir awam
Buat pelayan web sampel baru, namakan "webserver.js"
pi @ raspberry: ~ $ nano webserver.js
Tampal kod berikut, simpan dan keluar:
var http = memerlukan ('http'). createServer (pengendali); // memerlukan pelayan http, dan buat pelayan dengan pengendali fungsi ()
var fs = memerlukan ('fs'); // memerlukan modul sistem fail
http.listen (8080); // dengar port 8080
pengendali fungsi (req, res) {// buat pelayan
fs.readFile (_ dirname + '/public/index.html', function (err, data) {// baca
file index.html di folder awam
jika (salah) {
res.writeHead (404, {'Content-Type': 'text / html'}); // paparan 404 pada kesilapan
return res.end ( 404 Tidak
Dijumpai );
}
res.writeHead (200, {'Content-Type': 'text / html'}); // tulis HTML
res.write (data); // tulis data
dari index.html
kembali res.end ();
});
}
Pelayan web ini akan mendengar port Raspberry 8080 anda dan menyediakan fail untuk mana-mana pelanggan web yang menghubungkannya. Sekarang kita perlu membuat sesuatu untuk dihoskan dan diberikan kepada pelanggan kita: Masuk ke dalam folder "awam": pi @ raspberry: ~ $ cd awam
Buat fail html baru "index.html":
pi @ raspberry: ~ $ nano index.html
Tampal kod dari "HelloWorld.txt" terlampir, simpan dan keluar.
Pindah ke dalam folder nodejs "nodehome":
pi @ raspberry: ~ $ cd angguk
Mulakan pelayan web
pi @ raspberry: ~ $ node webserver.js
Buka laman web dalam penyemak imbas menggunakan https:// Raspberry_IP: 8080 / (ganti Raspberry_IP dengan IP anda)
Langkah 6: MENAMBAHKAN KEUPAYAAN STREAMING VIDEO
Terdapat cara yang berbeza untuk melaksanakan streaming video pada Raspberry, paling mudah
seperti yang saya dapati sehingga sekarang, bahawa prestasi yang hebat dan dapat disatukan dalam antara muka web adalah berdasarkan projek dari Miguel Mota:
miguelmota.com/blog/raspberry-pi-camera-bo…
Terima kasih Miguel! Dari blognya ini adalah langkah-langkahnya:
Pasang komponen libjpeg8 dan cmake:
pi @ raspberry: ~ $ sudo apt-get install libjpeg8
pi @ raspberry: ~ $ sudo apt-get install libjpeg8-dev
pi @ raspberry: ~ $ sudo apt-get install cmake
Muat turun mjpg-streamer dengan pemalam raspicam:
pi @ raspberry: ~ $ git klon
github.com/jacksonliam/mjpg-streamer.git ~ / mjpg-streamer
Tukar direktori:
pi @ raspberry: ~ $ cd ~ / mjpg-streamer / mjpg-streamer-eksperimental
Susun:
pi @ raspberry: ~ $ buat bersih semua
Gantikan mjpg-streamer lama:
pi @ raspberry: ~ $ sudo rm -rf / opt / mjpg-streamer
pi @ raspberry: ~ $ sudo mv ~ / mjpg-streamer / mjpg-streamer-eksperimental
/ opt / mjpg-streamer
pi @ raspberry: ~ $ sudo rm -rf ~ / mjpg-streamer
Buat fail "start_stream.sh" baru, salin dan tampal dari fail "start_stream.txt" yang dilampirkan.
Jadikannya dapat dilaksanakan (buat skrip shell):
pi @ raspberry: ~ $ chmod + x start_stream.sh
Mula Streaming pelayan:
pi @ raspberry: ~ $./start_stream.sh
Buka laman web dalam penyemak imbas menggunakan https:// Raspberry_IP: 9000 (ganti Raspberry_IP dengan IP anda)
Langkah 7: PROGRAM TANK
Semuanya sudah siap, sekarang kita harus membuat laman web kita untuk mengawal tangki (index.html) dan pelayan web kita untuk mendengar perintah kita (webserver.js). Jadi, ganti fail yang dilihat sehingga sekarang (hanya contoh untuk menguji sistem) dengan webserver.txt dan index.txt yang dilampirkan.
Langkah 8: MULAI SERVER INTERFACE DAN STREAMING SERVER
Untuk memulakan perkhidmatan, buka dua tetingkap terminal dan jalankan arahan berikut:
simpul nodehome / pelayan laman web.js
./nodehome/start_stream.sh
Buka laman web dalam penyemak imbas menggunakan https:// Raspberry_IP: 8080 (ganti Raspberry_IP dengan IP anda)
Disyorkan:
Penguji Bateri Arduino Dengan Antara Muka Pengguna WEB .: 5 Langkah
Penguji Bateri Arduino Dengan Antara Muka Pengguna WEB: Hari ini, peralatan elektronik menggunakan bateri sandaran untuk menyelamatkan keadaan di mana operasi ditinggalkan semasa peralatan dimatikan atau ketika, secara tidak sengaja, peralatan dimatikan. Pengguna, ketika menghidupkan, kembali ke titik di mana dia tinggal
ESP8266 Automasi Dengan Antara Muka Web dan DDNS: 8 Langkah
ESP8266 Automasi Dengan Antaramuka Web dan DDNS: Dalam artikel hari ini, kami akan menunjukkan automasi, yang boleh menjadi tempat tinggal, menggunakan ciri DDNS (Sistem Nama Domain Dinamik). Anda akan memahami cara mengkonfigurasi aplikasi yang akan anda letakkan di ESP8266, di NodeMCU. Juga, kita akan melihat bagaimana
Antara Muka Web Raspberry Pi: 5 Langkah
Antaramuka Web Raspberry Pi: Ini adalah arahan untuk memasang antara muka web yang saya kembangkan untuk menukar pin gpio pi raspberry untuk mengawal papan geganti rendah aktif yang diperlukan untuk arduino. Ia menyediakan halaman sederhana yang membolehkan anda mengklik pautan ke alt
Antara Muka Keypad Dengan 8051 dan Memaparkan Nombor Papan Kekunci dalam 7 Segmen: 4 Langkah (dengan Gambar)
Antaramuka Papan Kekunci Dengan 8051 dan Memaparkan Nombor Papan Kekunci dalam 7 Segmen: Dalam tutorial ini saya akan memberitahu anda tentang bagaimana kita dapat antara muka pad kekunci dengan 8051 dan memaparkan nombor keypad dalam paparan 7 segmen
Mengendalikan Kereta RC Melalui Antara Muka Web: 6 Langkah (dengan Gambar)
Mengendalikan Kereta RC Melalui Antaramuka Web: Hai kawan-kawan, Dalam arahan ini saya akan mengajar anda untuk membuat Kereta RC melalui antara muka web. Kami akan mengawalnya secara wayarles melalui pelayan kami sendiri. Dengan menggunakan kaedah yang akan saya tunjukkan, kami tidak perlu menggunakan penerima RC. Untuk menghoskan web