Daftar Isi:
- Langkah 1: BOM
- Langkah 2: Spesifikasi Komponen Utama
- Langkah 3: KABEL
- Langkah 4: MEMPERSIAPKAN RASPBERRY O.S
- Langkah 5: BAGAIMANA MENGONTROL TANGKI WIFI KAMI DENGAN NODE.JS DAN WEBSOCKET.IO
- Langkah 6: MENAMBAHKAN KEMAMPUAN STREAMING VIDEO
- Langkah 7: PROGRAM TANGKI
- Langkah 8: MULAI ANTARMUKA KONTROL DAN SERVER STREAMING
Video: Tangki Raspberry Dengan Antarmuka Web dan Streaming Video: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Kita akan melihat bagaimana saya menyadari sedikit WiFi Tank, mampu Remote Web Control dan Video Streaming.
Ini dimaksudkan untuk menjadi tutorial yang membutuhkan pengetahuan dasar tentang pemrograman elektronik dan perangkat lunak. Untuk alasan ini saya telah memilih Kit sasis Tank (daripada mencetaknya menggunakan printer 3D, mungkin akan ditingkatkan nanti) dan total 6 komponen termasuk baterai. Di sisi perangkat lunak Anda dapat mengikuti langkah demi langkah proses instalasi dan pemrograman dijaga agar tetap minimum, pengetahuan dasar tentang hal-hal Raspberry dapat membantu.
Saya memperkirakan 12 jam kerja dari 0 hingga tangki siap pakai. Total biaya 70€ untuk semua komponen.
Langkah 1: BOM
1 - Tangki Chassis Robot RC DIY - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - Papan Driver Motor DC Dual Channel L298N - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Kit Pemula Raspberry Pi Zero W - 26 (€)
amzn.eu/1ugAaMP
Kartu SD 1 - 16 GB - 5, 50(€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Webcam Modul Kamera Raspberry Pi 5MP untuk Model Nol - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Bank Daya 5V
Baterai 1 - 9v
Konektor Dupont Kabel Breadboard Campuran
Mouse, keyboard, Monitor, atau TV untuk pengaturan Raspberry (opsional, hanya untuk mempermudah pengaturan pertama)
Langkah 2: Spesifikasi Komponen Utama
Motor
JGA25-370 DC gearmotor
Motor ini memiliki poros keluaran berbentuk D.
spesifikasi
· Tegangan operasi: antara 6 V dan 18 V
· Tegangan nominal: 12 V
· Kecepatan lari bebas pada 12 V: 399 RPM
· Arus bebas pada 12 V: 50 mA
· Kios saat ini pada 12V: 1200 mA
· Torsi berhenti pada 12V: 2,2 kg.cm
· Rasio gigi: 1:21
· Ukuran reduktor: 19 mm
· Berat: 84 g
Papan Driver Motor DC Dual Channel L298N
Driver motor H-bridge ganda, dapat menggerakkan dua motor DC atau motor stepper dua fase 4-kawat. Built-in TSD, untuk melindungi dari kios motor.
spesifikasi
· Tegangan suplai modul: DC 2V-10V
· Tegangan input sinyal: DC 1.8-7V
· Arus kerja tunggal: 1.5A
· Arus puncak hingga 2.5A
· Arus siaga rendah (kurang dari 0.1uA)
· Sirkuit konduksi umum bawaan, terminal input kosong, motor tidak rusak
· Ukuran: 24,7 x 21 x 7mm
Langkah 3: KABEL
Ini akan menjadi pengkabelan terakhir, tapi TUNGGU, sebelum kita perlu menginstal beberapa
perangkat lunak dan merupakan ide bagus untuk mengujinya dengan kabel yang lebih sederhana, jika sudah siap, kembali ke sini.
Kami membutuhkan dua sumber daya yang berbeda, satu untuk motor dan satu untuk Raspberry.
Driver motor Dual Channel L298N DC Motor Driver Board (tegangan input maks DC 2V-10V) ditenagai dengan menggunakan baterai 9V dan Raspberry Pi menggunakan akumulator USB 5V standar.
Pin GND driver motor akan terhubung ke minus baterai dan Raspberry Pi (GND). Pin GPIO dari Raspberry Pi terhubung ke driver motor sebagai tabel.
Langkah 4: MEMPERSIAPKAN RASPBERRY O. S
Ini adalah instalasi standar untuk sistem operasi Raspbian, Anda dapat menemukan
banyak tutorial detail searching di web, pada dasarnya langkah-langkahnya adalah:
1. Unduh iso RASPBIAN STRETCH WITH DESKTOP dari
2. Format SD Card 16 GB, saya sudah menggunakan SD Formatter
3. Burn file. IMG, saya sudah menggunakan Win32DiskImager
Sekarang raspberry Anda siap untuk boot, sambungkan ke sumber daya USB (5V, 2A) dan siapkan untuk pengaturan boot pertama. Anda dapat melakukannya dengan dua cara, menggunakan perangkat eksternal seperti mouse, keyboard dan monitor atau menggunakan PC Anda dan koneksi jarak jauh ke Raspberry. Ada banyak tutorial tentang ini, salah satunya adalah:
Langkah 5: BAGAIMANA MENGONTROL TANGKI WIFI KAMI DENGAN NODE. JS DAN WEBSOCKET. IO
Sekarang kami memiliki instalasi baru dari PC mikro Raspberry kami yang siap untuk menjalankan pekerjaan kami, jadi … apa yang kami gunakan untuk mengeluarkan perintah ke tangki?
Python adalah bahasa yang sangat mudah digunakan yang biasa digunakan untuk menjalankan proyek Rapsberry dan dapat dengan mudah digunakan juga untuk berinteraksi dengan pin input dan output Rapsberry (GPIO)
Tapi, tujuan saya adalah menghubungkan tangki wi-fi saya dari perangkat apa pun (PC, ponsel, tablet …) menggunakan browser web umum dan juga streaming video darinya. Jadi, lupakan Python untuk saat ini, dan mari beralih ke NODE. JS dan SOCKET. IO.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) adalah kerangka kerja server sumber terbuka berdasarkan bahasa js. Karena saya menggunakan Raspberry Pi Zero (CPU ARMv6), kami tidak dapat menggunakan proses instalasi otomatis (dimaksudkan untuk CPU ARMv7) dan kami harus melakukannya secara manual:
Unduh Nodejs secara lokal, (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 file terkompresi:
pi@raspberry:~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Salin dan Instal file ke /user/local
pi@raspberry:~ $ sudo cp -R node-v7.7.2-linux-armv6l/* /usr/local/
Tambahkan lokasi tempat kita menginstal nodejs ke path, edit file “.profile”:
pi@raspberry:~ $ nano ~/.profile
Tambahkan baris berikut di akhir file, simpan dan keluar
PATH=$PATH:/usr/local/bin
Hapus file yang diunduh:.
pi@raspberry:~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz
pi@raspberry:~ $ rm -r ~/node-v7.7.2-linux-armv6l
Ketik perintah berikut untuk memeriksa instalasi nodejs:
pi@raspberry:~ $ simpul -v
pi@raspberry:~ $npm -v
Anda harus membaca v7.7.2 dan v4.1.2 sebagai tanggapan.
Jika semuanya berjalan dengan baik, buat folder baru untuk meng-host file nodejs Anda:
pi@raspberry:~ $ mkdir nodehome
Pindahkan ke dalam folder baru:
pi@raspberry:~ $ cd nodehome
Instal modul tambahan yang diperlukan untuk mengelola GPIO dengan cara paling dasar, ON dan OFF:
pi@raspberry:~ $npm install onoff
Sekarang saatnya untuk menguji proyek pertama kami "Blink.js", hasilnya akan … LED berkedip
pi@raspberry:~ $ nano blink.js
Rekatkan kode berikut, simpan dan keluar:
var Gpio = membutuhkan('onoff'). Gpio; //sertakan onoff
var LED = Gpio baru(3, 'keluar'); //gunakan GPIO 3
var blinkInterval = setInterval(blinkLED, 250);
// berkedip LED setiap 250ms
function blinkLED() { //fungsi untuk mulai berkedip
jika
(LED.readSync() === 0) { //periksa status pin, apakah statusnya 0 (atau mati)
LED.writeSync(1);
// setel status pin ke 1 (nyalakan LED)
} lain {
LED.writeSync(0);
//set status pin ke 0 (matikan LED)
}
}
function endBlink() { //fungsi untuk berhenti berkedip
clearInterval(interval berkedip); // Hentikan interval kedip
LED.writeSync(0); // Matikan LED
LED.unekspor(); // Batalkan ekspor GPIO ke sumber daya gratis
}
setTimeout(endBlink, 5000); //berhenti berkedip setelah 5 detik
Hubungkan LED, Resistor (200ohm) seperti yang ditunjukkan pada skema dan jalankan proyek:
pi@raspberry:~ $ node blink.js
Node sudah siap.
SOCKET. IO
WebSocket adalah protokol komunikasi komputer, berdasarkan koneksi TCP, menyediakan programmer untuk membuat server dan klien. Klien terhubung ke server dan memancarkan dan menerima pesan ke dan dari server. Implementasi WebSocket untuk Node.js disebut Socket.io (https://socket.io/).
Instal socket.io:
pi@raspberry:~ $npm install socket.io --save
Pindahkan ke dalam rumah nodejs, dibuat sebelumnya:
pi@raspberry:~ $ cd nodehome
Dan buat folder baru "publik":
pi@raspberry:~ $ mkdir publik
Buat sampel web server baru, sebut saja “webserver.js”
pi@raspberry:~ $ nano webserver.js
Rekatkan kode berikut, simpan dan keluar:
var http = membutuhkan('http').createServer(penangan); //memerlukan server http, dan buat server dengan fungsi handler()
var fs = membutuhkan('fs'); //memerlukan modul sistem file
http.listen(8080); // dengarkan port 8080
function handler (req, res) { //buat server
fs.readFile(_dirname + '/public/index.html', function(err, data) { //read
file index.html di folder publik
jika (salah) {
res.writeHead(404, {'Tipe-Konten': 'teks/html'}); //tampilkan 404 pada kesalahan
kembali res.end( 404 Tidak
Ditemukan );
}
res.writeHead(200, {'Tipe-Konten': 'teks/html'}); //tulis HTML
res.write(data); //tulis data
dari index.html
kembali res.end();
});
}
Server web ini akan mendengarkan port Raspberry 8080 Anda dan menyediakan file sto ke klien web mana pun yang menghubungkannya. Sekarang kita perlu membuat sesuatu untuk di-host dan diberikan kepada klien kita: Pindah ke dalam folder "publik": pi@raspberry:~ $ cd public
Buat file html baru “index.html”:
pi@raspberry:~ $ nano index.html
Tempel kode dari "HelloWorld.txt" terlampir, simpan dan keluar.
Pindahkan ke dalam folder nodejs "nodehome":
pi@raspberry:~ $ cd nodehome
Mulai server web
pi@raspberry:~ $ node webserver.js
Buka website di browser menggunakan https://Raspberry_IP:8080/ (ganti Raspberry_IP dengan IP Anda)
Langkah 6: MENAMBAHKAN KEMAMPUAN STREAMING VIDEO
Ada berbagai cara untuk mengimplementasikan streaming video di Raspberry, paling mudah
cara yang saya temukan sampai sekarang, bahwa sebagai kinerja hebat dan dapat diintegrasikan dalam antarmuka web didasarkan pada proyek dari Miguel Mota:
miguelmota.com/blog/raspberry-pi-camera-bo…
Terima kasih Miguel! Dari blognya ini langkah-langkahnya:
Instal 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
Unduh mjpg-streamer dengan plugin raspicam:
pi@raspberry:~ $ git clone
github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer
Ubah direktori:
pi@raspberry:~ $ cd ~/mjpg-streamer/mjpg-streamer-experimental
Menyusun:
pi@raspberry:~ $ bersihkan semua
Ganti mjpg-streamer lama:
pi@raspberry:~ $ sudo rm -rf /opt/mjpg-streamer
pi@raspberry:~ $ sudo mv ~/mjpg-streamer/mjpg-streamer-experimental
/opt/mjpg-streamer
pi@raspberry:~ $ sudo rm -rf ~/mjpg-streamer
Buat file "start_stream.sh" baru, salin dan tempel dari file "start_stream.txt" terlampir.
Jadikan itu dapat dieksekusi (buat skrip Shell):
pi@raspberry:~ $ chmod +x start_stream.sh
Mulai server Streaming:
pi@raspberry:~ $./start_stream.sh
Buka website di browser menggunakan https://Raspberry_IP:9000 (ganti Raspberry_IP dengan IP Anda)
Langkah 7: PROGRAM TANGKI
Semuanya sudah siap, sekarang kita harus membuat halaman web kita untuk mengontrol tangki (index.html) dan server web kita untuk mendengarkan perintah kita (webserver.js). Jadi, ganti saja file yang terlihat sampai sekarang (hanya contoh untuk menguji sistem) dengan webserver.txt dan index.txt terlampir.
Langkah 8: MULAI ANTARMUKA KONTROL DAN SERVER STREAMING
Untuk memulai layanan, buka dua jendela terminal dan jalankan perintah ini:
simpul nodehome/server web.js
./nodehome/start_stream.sh
Buka website di browser menggunakan https://Raspberry_IP:8080 (ganti Raspberry_IP dengan IP Anda)
Direkomendasikan:
Bangun Robot Streaming Video Terkendali Internet Anda Dengan Arduino dan Raspberry Pi: 15 Langkah (dengan Gambar)
Bangun Robot Streaming Video Terkendali Internet Anda Dengan Arduino dan Raspberry Pi: Saya @RedPhantom (alias LiquidCrystalDisplay / Itay), seorang siswa berusia 14 tahun dari Israel yang belajar di SMP Max Shein untuk Sains dan Matematika Tingkat Lanjut. Saya membuat proyek ini untuk dipelajari dan dibagikan oleh semua orang! Anda mungkin pernah
Memulai Dengan Antarmuka Sensor I2C?? - Antarmuka MMA8451 Anda Menggunakan ESP32: 8 Langkah
Memulai Dengan Antarmuka Sensor I2C?? - Antarmuka MMA8451 Anda Menggunakan ESP32: Dalam tutorial ini, Anda akan mempelajari semua tentang Cara memulai, menghubungkan, dan membuat perangkat I2C (Akselerometer) bekerja dengan pengontrol (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Pantau Galon Tangki Minyak Pemanas Dengan Email, SMS, dan Peringatan Pushbullet: 9 Langkah (dengan Gambar)
Pantau Galon Tangki Minyak Pemanas Dengan Email, SMS, dan Peringatan Pushbullet: INFORMASI KESELAMATAN: Jika ada yang ingin tahu apakah "ini aman untuk dibangun/diinstal" -- Saya telah membawa ini ke 2 perusahaan Minyak yang berbeda untuk umpan balik/pertimbangan keselamatan, dan saya telah menjalankan ini oleh Deputi Pencegahan Kebakaran pemadam kebakaran
Antarmuka Dua Kawat (DMX) Dengan Layar dan Tombol: 5 Langkah (dengan Gambar)
Antarmuka Dua Kawat (DMX) Dengan Layar dan Tombol: DMX adalah protokol yang digunakan untuk mengontrol perlengkapan pencahayaan panggung dan efek khusus. Setiap perangkat memiliki salurannya sendiri yang ditanggapi. Saluran ini dapat dipilih oleh pengguna dengan sakelar DIP atau layar dengan tombol. Ada beberapa cara untuk memilih
Otomatisasi ESP8266 Dengan Antarmuka Web dan DDNS: 8 Langkah
Otomatisasi ESP8266 Dengan Antarmuka Web dan DDNS: Pada artikel hari ini, kami akan menampilkan otomatisasi, yang dapat bersifat residensial, menggunakan fitur DDNS (Dynamic Domain Name System). Anda akan memahami cara mengkonfigurasi aplikasi yang akan Anda tempatkan di ESP8266, di NodeMCU. Juga, kita akan melihat bagaimana