Mục lục:
- Bước 1: BOM
- Bước 2: Thông số thành phần chính
- Bước 3: DÂY
- Bước 4: CHUẨN BỊ RASPBERRY O.S
- Bước 5: CÁCH KIỂM SOÁT NGUỒN WIFI CỦA CHÚNG TÔI VỚI NODE.JS VÀ WEBSOCKET.IO
- Bước 6: THÊM KHẢ NĂNG PHÁT HIỆN VIDEO
- Bước 7: CHƯƠNG TRÌNH TANK
- Bước 8: BẮT ĐẦU GIAO DIỆN ĐIỀU KHIỂN VÀ MÁY CHỦ TRUYỀN HÌNH
Video: Raspberry Tank với giao diện web và phát trực tuyến video: 8 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Chúng ta sẽ xem cách tôi đã nhận ra một Bể chứa WiFi nhỏ, có khả năng Điều khiển web từ xa và Phát trực tuyến video.
Đây là hướng dẫn yêu cầu kiến thức cơ bản về lập trình phần mềm và điện tử. Vì lý do này, tôi đã chọn Bộ khung xe tăng (thay vì in bằng máy in 3D, có thể là bản nâng cấp sau này) và có tổng cộng 6 thành phần bao gồm cả pin. Về mặt phần mềm, bạn có thể làm theo từng bước quá trình cài đặt và lập trình được giữ ở mức tối thiểu, kiến thức cơ bản về Raspberry có thể giúp ích cho bạn.
Tôi đã ước tính 12 giờ làm việc từ 0 đến khi xe tăng sẵn sàng chạy. Tổng chi phí 70 € cho tất cả các thành phần.
Bước 1: BOM
1 - Xe tăng khung gầm robot RC DIY - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - Bảng điều khiển động cơ DC kênh đôi L298N - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Bộ khởi động Raspberry Pi Zero W - 26 (€)
amzn.eu/1ugAaMP
Thẻ SD 1 - 16 GB - 5, 50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Webcam mô-đun máy ảnh Raspberry Pi 5MP cho Model Zero - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Ngân hàng điện 5V
1 - 9v pin
Đầu nối Dupont cáp Breadboard hỗn hợp
Chuột, bàn phím, Màn hình hoặc TV để thiết lập Raspberry (tùy chọn, chỉ để thiết lập lần đầu dễ dàng hơn)
Bước 2: Thông số thành phần chính
Động cơ
JGA25-370 DC gearmotor
Động cơ này có trục đầu ra hình chữ D.
Thông số kỹ thuật
· Điện áp hoạt động: từ 6 V đến 18 V
· Điện áp danh định: 12 V
· Tốc độ chạy tự do ở 12 V: 399 RPM
· Dòng chạy tự do ở 12 V: 50 mA
· Dòng điện ở mức 12V: 1200 mA
· Mô-men xoắn của gian hàng ở 12V: 2,2 kg.cm
· Tỷ số truyền: 1:21
· Kích thước dây dẫn: 19 mm
· Trọng lượng: 84 g
Bảng điều khiển động cơ DC kênh đôi L298N
Trình điều khiển động cơ cầu H kép, có thể điều khiển hai động cơ DC hoặc động cơ bước 4 dây hai pha. TSD tích hợp, để bảo vệ khỏi động cơ ngừng hoạt động.
Thông số kỹ thuật
· Điện áp cung cấp mô-đun: DC 2V-10V
· Điện áp đầu vào tín hiệu: DC 1.8-7V
· Dòng làm việc đơn: 1.5A
· Dòng điện cao nhất lên đến 2,5A
· Dòng điện chờ thấp (dưới 0,1uA)
· Tích hợp sẵn mạch dẫn chung, đầu vào bị bỏ trống, động cơ không hoạt động sai
· Kích thước: 24,7 x 21 x 7mm
Bước 3: DÂY
Đây sẽ là dây cuối cùng, nhưng CHỜ, trước khi chúng ta cần cài đặt một số
phần mềm và bạn nên kiểm tra nó với hệ thống dây điện đơn giản hơn, khi nào sẵn sàng, hãy quay lại đây.
Chúng ta cần hai nguồn điện khác nhau, một cho động cơ và một cho Raspberry.
Trình điều khiển động cơ Bảng mạch điều khiển động cơ DC Dual Channel L298N (điện áp đầu vào tối đa DC 2V-10V) được cấp nguồn bằng cách sử dụng pin 9V và Raspberry Pi sử dụng bộ tích lũy USB 5V tiêu chuẩn.
Chân GND của trình điều khiển động cơ sẽ được kết nối với pin trừ và Raspberry Pi (GND). Các chân GPIO của Raspberry Pi được kết nối với trình điều khiển động cơ dưới dạng bảng.
Bước 4: CHUẨN BỊ RASPBERRY O. S
Đây là bản cài đặt tiêu chuẩn cho hệ điều hành Raspbian, bạn có thể tìm thấy
rất nhiều hướng dẫn chi tiết tìm kiếm trên web, về cơ bản các bước là:
1. Tải xuống iso RASPBIAN STRETCH WITH DESKTOP từ
2. Định dạng thẻ SD 16 GB, tôi đã sử dụng SD Formatter
3. Ghi tệp. IMG, tôi đã sử dụng Win32DiskImager
Bây giờ mâm xôi của bạn đã sẵn sàng khởi động, hãy kết nối nó với nguồn điện USB (5V, 2A) và chuẩn bị cho thiết lập khởi động đầu tiên. Bạn có thể thực hiện theo hai cách, sử dụng các thiết bị bên ngoài như chuột, bàn phím và màn hình hoặc sử dụng PC và kết nối từ xa với Raspberry. Có rất nhiều hướng dẫn về điều này, một là:
Bước 5: CÁCH KIỂM SOÁT NGUỒN WIFI CỦA CHÚNG TÔI VỚI NODE. JS VÀ WEBSOCKET. IO
Bây giờ chúng tôi đã có một bản cài đặt mới của máy tính vi Raspberry của chúng tôi đã sẵn sàng để chạy công việc của chúng tôi, vì vậy… chúng tôi sử dụng gì để ra lệnh cho bể?
Python là một ngôn ngữ rất dễ sử dụng thường được sử dụng để chạy cát dự án Rapsberry cũng có thể được sử dụng dễ dàng để tương tác với các chân đầu vào và đầu ra của Rapsberry (GPIO)
Tuy nhiên, mục tiêu của tôi là kết nối wi-fi xe tăng của mình từ bất kỳ thiết bị nào (PC, điện thoại di động, máy tính bảng…) bằng trình duyệt web thông thường và cũng có thể phát trực tuyến video từ đó. Vì vậy, hãy quên Python ngay bây giờ và hãy chuyển sang NODE. JS và SOCKET. IO.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) là một khung máy chủ mã nguồn mở hoạt động dựa trên ngôn ngữ js. Vì tôi đang sử dụng Raspberry Pi Zero (CPU ARMv6), chúng tôi không thể sử dụng quy trình cài đặt tự động (dành cho CPU ARMv7) và chúng tôi cần thực hiện thủ công:
Tải xuống Nodejs cục bộ, (Tôi đã sử dụng phiên bản 7.7.2 cho ARMv6, hãy kiểm tra các phiên bản khác tại đây
pi @ raspberry: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Sau khi hoàn tất, hãy giải nén tệp nén:
pi @ raspberry: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Sao chép và cài đặt các tệp vào / user / local
pi @ raspberry: ~ $ sudo cp -R node-v7.7.2-linux-armv6l / * / usr / local /
Thêm vị trí mà chúng tôi cài đặt nodejs vào đường dẫn, chỉnh sửa tệp “.profile”:
pi @ raspberry: ~ $ nano ~ /.profile
Thêm dòng sau vào cuối tệp, lưu và thoát
PATH = $ PATH: / usr / local / bin
Xóa tệp đã tải xuống:.
pi @ raspberry: ~ $ rm ~ / node-v7.7.2-linux-armv6l.tar.gz
pi @ raspberry: ~ $ rm -r ~ / node-v7.7.2-linux-armv6l
Nhập các lệnh sau để kiểm tra cài đặt nodejs:
pi @ raspberry: ~ $ node -v
pi @ raspberry: ~ $ npm -v
Bạn nên đọc v7.7.2 và v4.1.2 dưới dạng phản hồi.
Nếu mọi thứ diễn ra tốt đẹp, hãy tạo một thư mục mới để lưu trữ các tệp nodejs của bạn:
pi @ raspberry: ~ $ mkdir nodehome
Di chuyển bên trong thư mục mới:
pi @ raspberry: ~ $ cd nodehome
Cài đặt mô-đun bổ sung cần thiết để quản lý GPIO theo cách cơ bản nhất, BẬT và TẮT:
pi @ raspberry: ~ $ npm cài đặt onoff
Bây giờ là lúc để kiểm tra dự án đầu tiên của chúng tôi “Blink.js”, kết quả sẽ là… một đèn LED nhấp nháy
pi @ raspberry: ~ $ nano flash.js
Dán mã sau, lưu và thoát:
var Gpio = demand ('onoff'). gpio; // bao gồm onoff
var LED = new Gpio (3, 'out'); // sử dụng GPIO 3
var flashInterval = setInterval (flashLED, 250);
// nhấp nháy LED sau mỗi 250ms
function flashLED () {// hàm bắt đầu nhấp nháy
nếu như
(LED.readSync () === 0) {// kiểm tra trạng thái pin, nếu trạng thái là 0 (hoặc tắt)
LED.writeSync (1);
// đặt trạng thái chân thành 1 (bật đèn LED)
} khác {
LED.writeSync (0);
// đặt trạng thái chân thành 0 (tắt đèn LED)
}
}
function endBlink () {// hàm dừng nhấp nháy
clearInterval (thời gian nhấp nháy); // Dừng khoảng thời gian nhấp nháy
LED.writeSync (0); // Tắt đèn LED
LED.unexport (); // Hủy xuất GPIO tới các tài nguyên miễn phí
}
setTimeout (endBlink, 5000); // ngừng nhấp nháy sau 5 giây
Nối dây đèn LED, điện trở (200ohms) như được hiển thị trong giản đồ và chạy dự án:
pi @ raspberry: ~ $ node flash.js
Nút đã sẵn sàng.
SOCKET. IO
WebSocket là một giao thức truyền thông máy tính, dựa trên kết nối TCP, nó cung cấp một lập trình viên để tạo một máy chủ và máy khách. Máy khách kết nối với máy chủ và phát và nhận tin nhắn đến và đi từ máy chủ. Triển khai WebSocket cho Node.js được gọi là Socket.io (https://socket.io/).
Cài đặt socket.io:
pi @ raspberry: ~ $ npm cài đặt socket.io --save
Di chuyển bên trong trang chủ nodejs, đã tạo trước:
pi @ raspberry: ~ $ cd nodehome
Và tạo một thư mục mới "công khai":
pi @ raspberry: ~ $ mkdir công khai
Tạo máy chủ web mẫu mới, gọi nó là “webserver.js”
pi @ raspberry: ~ $ nano webserver.js
Dán mã sau, lưu và thoát:
var http = request ('http'). createServer (trình xử lý); // yêu cầu máy chủ http và tạo máy chủ bằng trình xử lý hàm ()
var fs = request ('fs'); // yêu cầu mô-đun hệ thống tệp
http.listen (8080); // nghe cổng 8080
hàm xử lý (req, res) {// tạo máy chủ
fs.readFile (_ dirname + '/public/index.html', function (err, data) {// read
tệp index.html trong thư mục chung
nếu (sai) {
res.writeHead (404, {'Content-Type': 'text / html'}); // hiển thị lỗi 404
return res.end ( 404 Không phải
Tìm );
}
res.writeHead (200, {'Content-Type': 'text / html'}); // viết HTML
res.write (dữ liệu); // ghi dữ liệu
từ index.html
trả về res.end ();
});
}
Máy chủ web này sẽ lắng nghe cổng Raspberry 8080 của bạn và cung cấp tệp tin cho bất kỳ máy khách web nào kết nối nó. Bây giờ chúng ta cần tạo một thứ gì đó để lưu trữ và cung cấp cho khách hàng của mình: Di chuyển vào bên trong thư mục “public”: pi @ raspberry: ~ $ cd public
Tạo tệp html mới “index.html”:
pi @ raspberry: ~ $ nano index.html
Dán mã từ "HelloWorld.txt" được đính kèm, lưu và thoát.
Di chuyển bên trong thư mục nodejs "nodehome":
pi @ raspberry: ~ $ cd nodehome
Khởi động máy chủ web
pi @ raspberry: ~ $ node webserver.js
Mở trang web trong trình duyệt bằng https:// Raspberry_IP: 8080 / (thay Raspberry_IP bằng IP của bạn)
Bước 6: THÊM KHẢ NĂNG PHÁT HIỆN VIDEO
Có nhiều cách khác nhau để triển khai phát trực tuyến video trên Raspberry, đơn giản nhất
theo cách mà tôi nhận thấy cho đến bây giờ, rằng hiệu suất tuyệt vời và có thể được tích hợp trong giao diện web là dựa trên dự án của Miguel Mota:
miguelmota.com/blog/raspberry-pi-camera-bo…
Cảm ơn Miguel! Từ blog của anh ấy, đây là các bước:
Cài đặt các thành phần libjpeg8 và cmake:
pi @ raspberry: ~ $ sudo apt-get install libjpeg8
pi @ raspberry: ~ $ sudo apt-get install libjpeg8-dev
pi @ raspberry: ~ $ sudo apt-get install cmake
Tải xuống mjpg-streamer với plugin raspicam:
pi @ raspberry: ~ $ git clone
github.com/jacksonliam/mjpg-streamer.git ~ / mjpg-streamer
Thay đổi thư mục:
pi @ raspberry: ~ $ cd ~ / mjpg-streamer / mjpg-streamer-Experiment
Biên dịch:
pi @ raspberry: ~ $ làm sạch tất cả
Thay thế mjpg-streamer cũ:
pi @ raspberry: ~ $ sudo rm -rf / opt / mjpg-streamer
pi @ raspberry: ~ $ sudo mv ~ / mjpg-streamer / mjpg-streamer-testing
/ opt / mjpg-streamer
pi @ raspberry: ~ $ sudo rm -rf ~ / mjpg-streamer
Tạo tệp “start_stream.sh” mới, sao chép và dán từ tệp “start_stream.txt” được đính kèm.
Làm cho nó có thể thực thi (tạo các tập lệnh shell):
pi @ raspberry: ~ $ chmod + x start_stream.sh
Bắt đầu máy chủ phát trực tuyến:
pi @ raspberry: ~ $./start_stream.sh
Mở trang web trong trình duyệt bằng https:// Raspberry_IP: 9000 (thay Raspberry_IP bằng IP của bạn)
Bước 7: CHƯƠNG TRÌNH TANK
Mọi thứ đã sẵn sàng, bây giờ chúng ta phải tạo trang web của mình để điều khiển bể chứa (index.html) và máy chủ web của chúng ta để nghe lệnh của chúng ta (webserver.js). Vì vậy, chỉ cần thay thế các tệp được thấy cho đến bây giờ (chỉ là các ví dụ để kiểm tra hệ thống) bằng webserver.txt và index.txt đính kèm.
Bước 8: BẮT ĐẦU GIAO DIỆN ĐIỀU KHIỂN VÀ MÁY CHỦ TRUYỀN HÌNH
Để bắt đầu các dịch vụ, hãy mở hai cửa sổ đầu cuối và chạy các lệnh sau:
node nodehome / webserver.js
./nodehome/start_stream.sh
Mở trang web trong trình duyệt bằng https:// Raspberry_IP: 8080 (thay Raspberry_IP bằng IP của bạn)
Đề xuất:
Bắt đầu với giao diện cảm biến I2C ?? - Giao diện MMA8451 của bạn bằng ESP32s: 8 bước
Bắt đầu với giao diện cảm biến I2C ?? - Giao diện MMA8451 của bạn bằng cách sử dụng ESP32s: Trong hướng dẫn này, bạn sẽ tìm hiểu tất cả về Cách khởi động, kết nối và nhận thiết bị I2C (Gia tốc kế) hoạt động với bộ điều khiển (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Hướng dẫn: Cách sử dụng ESP32-CAM trong Máy chủ web phát trực tuyến video: 3 bước
Hướng dẫn: Cách sử dụng ESP32-CAM trong Máy chủ web phát trực tuyến video: Mô tả: ESP32-CAM là Bảng phát triển tầm nhìn IoT không dây ESP32 ở dạng rất nhỏ, được thiết kế để sử dụng trong các dự án IoT khác nhau, chẳng hạn như thiết bị thông minh gia đình, công nghiệp điều khiển không dây, giám sát không dây, đặc điểm nhận dạng không dây QR
Bắt đầu với ESP32 CAM - Phát trực tuyến video bằng ESP CAM qua Wifi - Dự án camera an ninh ESP32: 8 bước
Bắt đầu với ESP32 CAM | Phát trực tuyến video bằng ESP CAM qua Wifi | Dự án camera an ninh ESP32: Hôm nay chúng ta sẽ tìm hiểu cách sử dụng bo mạch ESP32 CAM mới này và cách chúng ta có thể mã hóa nó và sử dụng nó như một camera an ninh và nhận video phát trực tuyến qua wifi
Robot phát trực tuyến video được điều khiển bằng Wifi Raspberry Pi: 8 bước (có hình ảnh)
Robot phát trực tuyến video điều khiển bằng Wifi Raspberry Pi: Bạn đã bao giờ nghĩ đến việc chế tạo một robot tuyệt vời với camera trên đó chưa? Chà, bạn đã đến đúng nơi, tôi sẽ hướng dẫn bạn từng bước về cách chế tạo robot này. Với điều này, bạn có thể đi săn ma vào ban đêm bằng cách điều khiển và xem nguồn cấp dữ liệu video trên
Truy cập trực tuyến mà không bị gián đoạn: Tor (Bộ định tuyến củ hành): 4 bước (có hình ảnh)
Truy cập trực tuyến mà không bị gián đoạn: Tor (Bộ định tuyến củ hành): Khi bạn trực tuyến, bạn để lại dấu vết ở khắp nơi. Bạn có thể đi chơi với bạn bè trên IM, xem các trang web hoặc tải nhạc xuống. Nếu bạn sống ở một quốc gia nơi những kẻ rình mò đang dòm ngó những gì người dân bình thường làm trên mạng (lke, ừm, U