Мазмұны:
- 1 -қадам: BOM
- 2 -қадам: негізгі компоненттердің ерекшеліктері
- 3 -қадам: Сымдар
- 4 -қадам: РАСПБЕРРИГЕ ДАЙЫНДАУ O.S
- 5 -қадам: WIFI танкімізді NODE.JS және WEBSOCKET.IO арқылы қалай басқаруға болады
- 6 -қадам: VIDEO STREAMING МҮМКІНДІГІН ҚОСУ
- 7 -қадам: ТАНК БАҒДАРЛАМАСЫ
- 8 -қадам: БАСҚАРУ ИНТЕРФЕСІ МЕН СТРИМИНГ ҚЫЗМЕТКЕРІН БАСТАҢЫЗ
Бейне: Веб -интерфейсі мен бейне ағыны бар таңқурай ыдысы: 8 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Біз қашықтан веб -басқару мен бейне ағыны бар кішкене WiFi танкісін қалай іске асырғанымды көреміз.
Бұл электронды және бағдарламалық қамтамасыз ету бойынша негізгі білімді қажет ететін оқулыққа арналған. Осы себепті мен танк шасси жинағын таңдадым (оны 3D принтермен басып шығарудың орнына кейінірек жаңарту мүмкін) және батареяларды қоса алғанда 6 компонентті таңдадым. Бағдарламалық қамтамасыз етуде сіз орнату процесін біртіндеп қадағалай аласыз және бағдарламалау минималды болады, бұл таңқурай туралы қарапайым білімге көмектеседі.
Мен 12 сағаттық жұмысты 0 -ден дайын цистернаға дейін бағаладым. Барлық компоненттер үшін жалпы құны 70 евро.
1 -қадам: BOM
1 - DIY RC робот шасси танкі - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - қос каналды L298N тұрақты ток қозғалтқыштарының тақтасы - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Raspberry Pi Zero W бастауыш жинағы - 26 (€)
amzn.eu/1ugAaMP
1 - 16 ГБ SD картасы - 5, 50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Zero үлгісіне арналған Raspberry Pi 5MP камералық модуль веб -камерасы - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - 5В қуат банкі
1 - 9В батарея
Аралас жұмыс тақтасы кабелі Dupont қосқышы
Raspberry орнатуға арналған тінтуір, пернетақта, монитор немесе теледидар (міндетті емес, бірінші орнатуды жеңілдету үшін)
2 -қадам: негізгі компоненттердің ерекшеліктері
Мотор
JGA25-370 тұрақты ток редукторы
Бұл қозғалтқышта D-тәрізді шығыс білігі бар.
Ерекшеліктер
· Жұмыс кернеуі: 6 В және 18 В аралығында
· Номиналды кернеу: 12 В.
· 12 В: 399 айн / мин жылдамдықта еркін жүру
· 12 В: 50 мА еркін ток
· 12В: 1200 мА тоқтаушы ток
· 12В кернеудегі тоқ моменті: 2,2 кг.см
· Беріліс коэффициенті: 1:21
· Редуктордың өлшемі: 19 мм
· Салмағы: 84 гр
Қос каналды L298N тұрақты ток қозғалтқышының тақтасы
Н-көпірлі қос қозғалтқыш, екі тұрақты ток қозғалтқышын немесе 4 сымды екі фазалы қадамдық қозғалтқышты басқара алады. Кіріктірілген TSD, моторлық тоқтаудан қорғау үшін.
Ерекшеліктер
· Модульдің кернеуі: тұрақты ток 2В-10В
· Сигналдың кіріс кернеуі: тұрақты ток 1,8-7В
· Бір жұмыс ток: 1,5А
· 2,5А дейін максималды ток
· Күту токы төмен (0,1уА -дан аз)
· Кіріктірілген жалпы өткізгіштік схемасы, кіріс терминалы бос, қозғалтқыш істен шықпайды
· Өлшемі: 24,7 x 21 x 7 мм
3 -қадам: Сымдар
Бұл соңғы сымдар болады, бірақ кейбіреулерін орнатпас бұрын КҮТІҢІЗ
бағдарламалық қамтамасыз ету және дайын болған кезде осында оралу үшін оны қарапайым сымдармен тексерген дұрыс.
Бізге екі түрлі қуат көзі қажет, біреуі моторға, екіншісі таңқурайға арналған.
Қозғалтқыш қос каналы L298N тұрақты мотор драйвері тақтасы (максималды кіріс кернеуі DC 2V-10V) 9В батареямен жұмыс істейді, ал Raspberry Pi стандартты 5В USB аккумуляторын қолданады.
Мотор драйверінің GND түйреуіші минус батареяға және Raspberry Pi (GND) қосылады. Raspberry Pi GPIO түйреуіштері мотор драйверіне үстел ретінде қосылады.
4 -қадам: РАСПБЕРРИГЕ ДАЙЫНДАУ O. S
Бұл Raspbian операциялық жүйесі үшін стандартты қондырғы, сіз таба аласыз
Интернетте көптеген егжей -тегжейлі оқулықтар, негізінен қадамдар:
1. https://www.raspberrypi.org/downloads/raspbian/ сайтынан жұмыс үстелінің көмегімен iso RASPBIAN STRETCH жүктеп алыңыз.
2. 16 ГБ SD картасын пішімдеңіз, мен SD Formatter қолдандым
3.. IMG файлын жазыңыз, мен Win32DiskImager қолдандым
Енді сіздің таңқурай жүктеуге дайын, оны USB қуат көзіне қосыңыз (5V, 2A) және бірінші жүктеуді орнатуға дайын болыңыз. Сіз мұны тышқан, пернетақта және монитор сияқты сыртқы құрылғыларды немесе компьютерді және Raspberry -ге қашықтан қосылу арқылы екі жолмен жасай аласыз. Бұл туралы көптеген оқулықтар бар, олардың бірі:
5 -қадам: WIFI танкімізді NODE. JS және WEBSOCKET. IO арқылы қалай басқаруға болады
Енді бізде Raspberry микрокомпьютерінің жаңа қондырғысы жұмыс істеуге дайын, сондықтан … біз танкке командалар беру үшін не қолданамыз?
Python - бұл Rapsberry жобасын іске қосу үшін жиі қолданылатын құм тілі, оны Rapsberry кіріс және шығыс түйреуіштерімен (GPIO) өзара әрекеттесу үшін де қолдануға болады
Бірақ менің мақсатым-кез-келген құрылғыдан (компьютерден, ұялы телефоннан, планшеттен) жалпыға ортақ веб-шолғышты қолдана отырып, резервуарлық wi-fi қосу және одан бейнені шығару. Сонымен, Python -ды ұмытыңыз және NODE. JS пен SOCKET. IO -ға көшуге рұқсат етіңіз.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) - бұл JS тіліне негізделген ашық бастапқы серверлік жұмыс. Мен Raspberry Pi Zero (ARMv6 CPU) қолданғандықтан, біз автоматты орнату процесін қолдана алмаймыз (ARMv7 процессорына арналған) және оны қолмен жасау керек:
Nodejs -ты жергілікті түрде жүктеңіз, (мен ARMv6 үшін 7.7.2 нұсқасын қолдандым, басқа нұсқаларды мына жерден қараңыз
pi@таңқурай: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Аяқтағаннан кейін сығылған файлды шығарыңыз:
pi@таңқурай: ~ $ tar -xzf торабы-v7.7.2-linux-armv6l.tar.gz
Файлдарды /user /local ішіне көшіріңіз және орнатыңыз
pi@таңқурай: ~ $ sudo cp -R node-v7.7.2-linux-armv6l/*/usr/local/
Жолға nodejs орнататын орынды қосыңыз, «.profile» файлын өңдеңіз:
pi@таңқурай: ~ $ нано ~/.профиль
Файлдың соңына келесі жолды қосыңыз, сақтаңыз және шығыңыз
PATH = $ PATH:/usr/local/bin
Жүктелген файлды жойыңыз:.
pi@таңқурай: ~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz
pi@таңқурай: ~ $ rm -r ~/node-v7.7.2-linux-armv6l
Nodejs орнатылуын тексеру үшін келесі пәрмендерді теріңіз:
pi@таңқурай: ~ $ node -v
pi@таңқурай: ~ $ npm -v
Жауап ретінде v7.7.2 және v4.1.2 оқу керек.
Егер бәрі жақсы болса, nodejs файлдарын орналастыру үшін жаңа қалта жасаңыз:
pi@таңқурай: ~ $ mkdir түйін үйі
Жаңа қалтаға жылжыңыз:
pi@таңқурай: ~ $ cd түйіндік үй
ҚОСУЛЫ және ӨШІРІКТІ түрде GPIO басқару үшін қажет қосымша модульді орнатыңыз:
pi@таңқурай: ~ $ npm орнату
Енді біздің бірінші «Blink.js» жобамызды тексеретін уақыт келді, нәтиже … жыпылықтайтын жарық диоды болады
pi@таңқурай: ~ $ nano blink.js
Келесі кодты қойыңыз, сақтаңыз және шығыңыз:
var Gpio = талап етіңіз ('өшіру'). Gpio; // қосуды қосады
var LED = жаңа Gpio (3, 'шығу'); // GPIO 3 пайдаланыңыз
var blinkInterval = setInterval (blinkLED, 250);
// жарық диоды әр 250 м сайын жыпылықтайды
жыпылықтауды бастау үшін функция blinkLED () {// функциясы
егер
(LED.readSync () === 0) {// түйіннің күйін тексеріңіз, егер күй 0 (немесе өшірулі) болса
LED.writeSync (1);
// түйреуіш күйін 1 -ге орнатыңыз (жарық диодты қосыңыз)
} басқа {
LED.writeSync (0);
// түйреуіш күйін 0 күйіне орнатыңыз (жарық диодты өшіріңіз)
}
}
endBlink () {// функциясы жыпылықтауды тоқтату үшін
clearInterval (blinkInterval); // жыпылықтау аралықтарын тоқтату
LED.writeSync (0); // Жарық диодты өшіріңіз
LED.unexport (); // Бос ресурстарға GPIO экспорттау
}
setTimeout (endBlink, 5000); // 5 секундтан кейін жыпылықтауды тоқтатыңыз
Схемада көрсетілгендей светодиодты, резисторды (200 Ом) жалғаңыз және жобаны іске қосыңыз:
pi@таңқурай: ~ $ node blink.js
Түйін дайын.
SOCKET. IO
WebSocket - бұл TCP қосылымына негізделген компьютерлік байланыс хаттамасы, ол бағдарламалаушыға сервер мен клиент құруға мүмкіндік береді. Клиент серверге қосылады және серверге және одан хабарларды шығарады және қабылдайды. Node.js үшін WebSocket енгізу Socket.io деп аталады (https://socket.io/).
Socket.io орнатыңыз:
pi@таңқурай: ~ $ npm socket.io орнатыңыз -сақтаңыз
Nodejs үйінің ішіне көшіңіз, алдын ала жасалған:
pi@таңқурай: ~ $ cd түйіндік үй
Жаңа «жалпыға ортақ» қалтасын жасаңыз:
pi@таңқурай: ~ $ mkdir қоғамдық
Жаңа үлгі веб -серверді жасаңыз, оны «webserver.js» деп атаңыз
pi@таңқурай: ~ $ nano webserver.js
Келесі кодты қойыңыз, сақтаңыз және шығыңыз:
var http = қажет ('http'). createServer (өңдеуші); // http серверін қажет етеді және функция өңдегішпен сервер құрады ()
var fs = қажет ('fs'); // файлдық жүйе модулін қажет етеді
http.listen (8080); // 8080 портын тыңдаңыз
функция өңдегіші (req, res) {// сервер құру
fs.readFile (_ dirname + '/public/index.html', функция (қате, деректер) {// оқу
index.html файлын жалпы қалтада
егер (қате) {
res.writeHead (404, {'Content-Type': 'text/html'}); // қате бойынша 404 көрсету
return res.end («404 Жоқ
Табылды «);
}
res.writeHead (200, {'Content-Type': 'text/html'}); // HTML жазу
res.write (деректер); // деректерді жазу
index.html сайтынан
қайтару res.end ();
});
}
Бұл веб -сервер сіздің Raspberry 8080 портын тыңдайды және оны қосатын кез келген веб -клиентке файл береді. Енді біз өз клиенттерімізге орналастыру және қамтамасыз ету үшін бірдеңе жасауымыз керек: «жалпыға ортақ» қалтасында жылжу: pi@raspberry: ~ $ cd public
Жаңа «index.html» html файлын жасаңыз:
pi@таңқурай: ~ $ нано индексі.html
Қосылған «HelloWorld.txt» ішінен кодты қойыңыз, сақтаңыз және шығыңыз.
Nodejs «nodehome» қалтасына жылжытыңыз:
pi@таңқурай: ~ $ cd түйіндік үй
HTTP веб -серверін іске қосыңыз:
pi@таңқурай: ~ $ node webserver.js
Веб -сайтты браузерде https:// Raspberry_IP: 8080/көмегімен ашыңыз (Raspberry_IP -ді IP -ге ауыстырыңыз)
6 -қадам: VIDEO STREAMING МҮМКІНДІГІН ҚОСУ
Таңқурайға бейне ағынын енгізудің әр түрлі әдістері бар, ең оңай
Мен осы уақытқа дейін Мигель Мота жобасына негізделген керемет өнімділік пен веб -интерфейске біріктіруге болатынын таптым:
miguelmota.com/blog/raspberry-pi-camera-bo…
Рахмет Мигель! Оның блогынан келесі қадамдар:
Libjpeg8 және cmake компоненттерін орнатыңыз:
pi@таңқурай: ~ $ sudo apt-get libjpeg8 орнатыңыз
pi@таңқурай: ~ $ sudo apt-get libjpeg8-dev орнатыңыз
pi@таңқурай: ~ $ sudo apt-get install cmake
Raspicam плагинімен mjpg-ағынды жүктеңіз:
pi@таңқурай: ~ $ git клоны
github.com/jacksonliam/mjpg-streamer.git ~/mjpg-стример
Каталогты өзгерту:
pi@таңқурай: ~ $ cd ~/mjpg-streamer/mjpg-streamer-эксперименттік
Құрастыру:
pi@таңқурай: ~ $ бәрін тазартыңыз
Ескі mjpg-ағынды ауыстырыңыз:
pi@таңқурай: ~ $ sudo rm -rf /opt /-j.webp
pi@таңқурай: ~ $ sudo mv ~/mjpg-стример/mjpg-ағынды-эксперименттік
/opt/mjpg-ағыны
pi@таңқурай: ~ $ sudo rm -rf ~/mjpg -ағын
Жаңа «start_stream.sh» файлын жасаңыз, бекітілген «start_stream.txt» файлынан көшіріп қойыңыз.
Оны орындалатын етіп жасаңыз (қабық сценарийлерін жасаңыз):
pi@таңқурай: ~ $ chmod +x start_stream.sh
Ағындық серверді бастау:
pi@таңқурай: ~ $./start_stream.sh
Веб -сайтты браузерде https:// Raspberry_IP: 9000 арқылы ашыңыз (Raspberry_IP -ді IP -ге ауыстырыңыз)
7 -қадам: ТАНК БАҒДАРЛАМАСЫ
Барлығы дайын, енді біз резервуарды басқару үшін веб -парағымызды (index.html) және біздің командаларды тыңдау үшін веб -серверімізді құруымыз керек (webserver.js). Сонымен, осы уақытқа дейін көрген файлдарды (жүйені тексеруге арналған мысалдарды) бекітілген webserver.txt және index.txt файлдарына ауыстырыңыз.
8 -қадам: БАСҚАРУ ИНТЕРФЕСІ МЕН СТРИМИНГ ҚЫЗМЕТКЕРІН БАСТАҢЫЗ
Қызметтерді бастау үшін екі терминалды терезені ашып, мына пәрмендерді орындаңыз:
түйін түйін үйі/webserver.js
./nodehome/start_stream.sh
Веб -сайтты браузерде https:// Raspberry_IP: 8080 арқылы ашыңыз (Raspberry_IP -ді IP -ге ауыстырыңыз)
Ұсынылған:
Бейне ағыны және смартфонмен басқару 4WD робот машинасы (Bluetooth арқылы): 5 қадам
Бейне ағыны және смартфонмен басқару 4WD робот машинасы (Bluetooth арқылы): Сәлеметсіз бе, мен Arduino үшін бірегей TFT қалқанына арналған мақалалар сериясын жалғастырамын. Бұл мақала 4WD роботын жасауға арналған, онда " көру қабілеті " суреттерді жіберетін қарапайым және қымбат емес OV7670 камерасын қолдана отырып
Тікелей 4G/5G HD бейне ағыны DJI Drone -ден төмен кідірісте [3 қадам]: 3 қадам
Тікелей 4G/5G HD бейне ағыны DJI Drone-ден төмен кідірісте [3 қадам]: Келесі нұсқаулық кез-келген DJI дронынан HD сапалы бейне ағындарын алуға көмектеседі. FlytOS мобильді қосымшасы мен FlytNow веб -қосымшасының көмегімен сіз дроннан бейне ағынды бастай аласыз
ESP32 CAM -мен жұмысты бастау - Wifi арқылы ESP CAM көмегімен бейне ағыны - ESP32 қауіпсіздік камерасының жобасы: 8 қадам
ESP32 CAM -мен жұмысты бастау | Wifi арқылы ESP CAM көмегімен бейне ағыны | ESP32 қауіпсіздік камерасының жобасы: Бүгін біз осы жаңа ESP32 CAM тақтасын қалай пайдалану керектігін және оны қалай кодтауға және оны қауіпсіздік камерасы ретінде пайдалануға және wifi арқылы ағынды бейнені алуға болатынын білеміз
Raspberry Pi веб -ағындар жинағы - 2 -бөлім (Pi бейне ағыны): 6 қадам
Raspberry Pi веб -ағындар жинағы - 2 -бөлім (Pi бейне ағыны): Жарайды, бұл фотосуреттер қажет деп ойламадым, бірақ веб -сайтқа суреттер ұнайды. Бұл негізінен сіз үшін бірнеше командалар мен қадамдар. Кез келген ерекшеліктерге жауап беретін басқа да көптеген сайттар бар, бұл мен үшін жұмыс жасады. Бұл басқаларды біріктіреді
Банан/таңқурай Pi + Arduino веб -камерасы бар Rover: 9 қадам
Banana/Raspberry Pi + Arduino Rover веб -камерасы: Мен бос уақытымда жасаған жоба. Бұл веб-интерфейс арқылы басқарылатын толық жетекті 4 дөңгелекті робот. Егер сізде қандай да бір түсініктеме немесе сұрақтар болса, маған хабарласыңыз. Бұл жобаның өзі 3D басып шығарылған бөлшектерді және кодтың кейбір бөліктерін қолданады