Orodha ya maudhui:

Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video: Hatua 8 (na Picha)
Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video: Hatua 8 (na Picha)

Video: Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video: Hatua 8 (na Picha)

Video: Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video: Hatua 8 (na Picha)
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video
Tangi ya Raspberry na Kiolesura cha Wavuti na Utiririshaji wa Video

Tutaona jinsi nimegundua Tangi ndogo ya WiFi, inayoweza kudhibiti Udhibiti wa Wavuti na Utiririshaji wa Video.

Hii imekusudiwa kuwa mafunzo ambayo yanahitaji ujuzi wa kimsingi wa programu za elektroniki na programu. Kwa sababu hii nimechagua Kitanda cha chasisi ya Tank (badala ya kuchapisha kwa kutumia printa ya 3D, inaweza kuwa sasisho la baadaye) na jumla ya vifaa 6 pamoja na betri. Kwa upande wa programu unaweza kufuata hatua kwa hatua mchakato wa usanidi na programu huhifadhiwa kwa kiwango cha chini, ujuzi wa kimsingi wa mambo ya Raspberry unaweza kusaidia.

Nimekadiria saa 12 za kazi kutoka 0 hadi tayari kukimbia tanki. Jumla ya gharama ya 70 € kwa vifaa vyote.

Hatua ya 1: BOM

BOM
BOM
BOM
BOM
BOM
BOM
BOM
BOM

1 - DIY RC Robot Chassis Tank - 32 (€)

www.banggood.com/DIY-RC-Robot-Chassis-Tan …….

1 - Dual Channel L298N DC Bodi ya Dereva wa Magari - 1, 39 (€)

www.banggood.com/Dual-Channel-L298N-DC-Mo …….

1 - Raspberry Pi Zero W Starter Kit - 26 (€)

amzn.eu/1ugAaMP

Kadi ya SD ya 1 - 16 - 5, 50 (€)

www.gearbest.com/memory-cards/pp_337819.h…

1 - Raspberry Pi 5MP Moduli ya Kamera ya Wavuti ya Model Zero - 8 (€)

www.gearbest.com/raspberry-pi/pp_612249.h…

1 - Benki ya Nguvu 5V

1 - 9v betri

Kontakt Cable Dupont Kiunganishi cha Mkate

Panya, kibodi, Monitor au TV kwa usanidi wa Raspberry (hiari, ili kufanya usanidi wa kwanza uwe rahisi)

Hatua ya 2: Sehemu kuu za Vipengele

Magari

JGA25-370 DC gearmotor

Pikipiki hii ina shimoni la pato lenye umbo la D.

Ufafanuzi

· Uendeshaji voltage: kati ya 6 V na 18 V

· Voltage ya jina: 12 V

· Kasi ya kukimbia bure saa 12 V: 399 RPM

· Mzunguko wa bure wa saa 12 V: 50 mA

· Duka la sasa saa 12V: 1200 mA

· Jumba la duka saa 12V: 2.2 kg.cm

· Uwiano wa gia: 1:21

Ukubwa wa kipunguzi: 19 mm

· Uzito: 84 g

Dual Channel L298N DC Bodi ya Dereva wa Magari

Dual H-daraja dereva wa gari, anaweza kuendesha motors mbili za DC au waya wa waya wa awamu mbili za stepper. Kujengwa katika TSD, kulinda kutoka duka la magari.

Ufafanuzi

· Voltage ya usambazaji wa Moduli: DC 2V-10V

· Voltage ya kuingiza ishara: DC 1.8-7V

· Sasa kazi moja: 1.5A

· Kilele cha sasa hadi 2.5A

· Sasa chini ya kusubiri (chini ya 0.1uA)

· Mzunguko wa kawaida wa kujengwa, kituo cha pembejeo wazi, motor haifanyi kazi vibaya

· Ukubwa: 24.7 x 21 x 7mm

Hatua ya 3: WIRING

Wiring
Wiring
Wiring
Wiring

Hii itakuwa wiring ya mwisho, lakini Subiri, kabla hatujahitaji kufunga zingine

programu na ni wazo nzuri kuijaribu na wiring rahisi, ikiwa tayari ambayo inarudi hapa.

Tunahitaji chanzo cha nguvu mbili tofauti, moja kwa motor na moja ya Raspberry.

Dereva wa dereva Dual Channel L298N DC Bodi ya Dereva wa Magari (voltage ya pembejeo kubwa DC 2V-10V) inaendeshwa kwa kutumia betri ya 9V na Raspberry Pi hutumia mkusanyiko wa viwango vya 5V USB.

Pini ya GND ya dereva wa gari itaunganishwa na minus ya betri na Raspberry Pi (GND). Pini za GPIO za Raspberry Pi zimeunganishwa na dereva wa gari kama meza.

Hatua ya 4: KUANDAA RASPBERRY O. S

Hii ni usanidi wa kawaida wa mfumo wa ushirika wa Raspbian, unaweza kupata

mafunzo mengi ya kina kutafuta wavuti, kimsingi hatua ni:

1. Pakua iso RASPBIAN STRETCH NA DESKTOP kutoka

2. Umbiza Kadi ya SD ya GB 16, nimetumia Mpangilio wa SD

3. Choma faili ya IMG, nimetumia Win32DiskImager

Sasa rasipberry yako iko tayari kuanza, unganisha kwenye chanzo cha nguvu cha USB (5V, 2A) na uandae kwa usanidi wa kwanza wa buti. Unaweza kuifanya kwa njia mbili, ukitumia vifaa vya nje kama panya, kibodi na ufuatiliaji au kutumia PC yako na unganisho la kijijini kwa Raspberry. Kuna mafunzo mengi juu ya hii, moja ni:

Hatua ya 5: JINSI YA KUDHIBITI TANKI YETU YA WIFI NA NODE. JS NA WEBSOCKET. IO

JINSI YA KUDHIBITI TANKI YETU YA WIFI NA NODE. JS NA WEBSOCKET. IO
JINSI YA KUDHIBITI TANKI YETU YA WIFI NA NODE. JS NA WEBSOCKET. IO

Sasa tuna usanikishaji mpya wa Raspberry PC yetu ndogo tayari kuendesha kazi yetu, kwa hivyo… tunatumia nini kutoa amri kwa tangi?

Python ni lugha rahisi sana kutumia ambayo hutumiwa kwa kawaida kuendesha mchanga wa mradi wa Rapsberry inaweza kutumiwa kwa urahisi pia kuingiliana na pini za kuingiza na pato za Rapsberry (GPIO)

Lakini, lengo langu lilikuwa ni kuunganisha wi-fi yangu kutoka kwa kifaa chochote (PC, simu ya rununu, kompyuta kibao…) kwa kutumia kivinjari cha wavuti cha kawaida na pia kutiririsha video kutoka kwake. Kwa hivyo, sahau chatu kwa sasa, na acha tuendelee NODE. JS na SOCKET. IO.

NODE.js

Node. Kwa kuwa ninatumia Raspberry Pi Zero (ARMv6 CPU) hatuwezi kutumia mchakato wa usanikishaji wa moja kwa moja (uliokusudiwa kwa ARMv7 CPU) na tunahitaji kuifanya kwa mikono:

Pakua Nodejs hapa, (nimetumia toleo la 7.7.2 kwa ARMv6, angalia matoleo mengine hapa

pi @ raspberry: ~ $ wget

nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…

Mara baada ya kumaliza, toa faili iliyoshinikizwa:

pi @ raspberry: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz

Nakili na usakinishe faili ndani ya / mtumiaji / mtaa

pi @ raspberry: ~ $ sudo cp -R node-v7.7.2-linux-armv6l / * / usr / local /

Ongeza mahali tunapoweka nodejs kwa njia, hariri faili ya ". Profile":

pi @ raspberry: ~ $ nano ~ /.profile

Ongeza laini ifuatayo mwishoni mwa faili, hifadhi na uondoke

NJIA = $ PATH: / usr / local / bin

Ondoa faili iliyopakuliwa:.

pi @ raspberry: ~ $ rm ~ / node-v7.7.2-linux-armv6l.tar.gz

pi @ raspberry: ~ $ rm -r ~ / node-v7.7.2-linux-armv6l

Andika amri zifuatazo kuangalia usakinishaji wa nodejs:

pi @ raspberry: ~ $ node -v

pi @ raspberry: ~ $ npm -v

Unapaswa kusoma v7.7.2 na v4.1.2 kama jibu.

Ikiwa kila kitu kilienda sawa, tengeneza folda mpya ya kupangisha faili zako za nodejs:

pi @ raspberry: ~ $ mkdir nodehome

Sogeza ndani ya folda mpya:

pi @ raspberry: ~ $ cd nodehome

Sakinisha moduli ya ziada inayohitajika kusimamia GPIO kwa njia ya msingi, ON na OFF:

pi @ raspberry: ~ $ npm kufunga onoff

Sasa ni wakati wa kujaribu mradi wetu wa kwanza "Blink.js", matokeo yatakuwa … mwangaza wa LED

pi @ raspberry: ~ $ nano blink.js

Bandika nambari ifuatayo, hifadhi na utoke:

var Gpio = zinahitaji ('onoff'). Gpio; // ni pamoja na onoff

var LED = Gpio mpya (3, 'nje'); // tumia GPIO 3

var blinkInterval = setInterval (blinkLED, 250);

// blink LED kila 250ms

kazi blinkLED () {// kazi kuanza kupepesa

kama

(LED.readSync () === 0) {// angalia hali ya pini, ikiwa hali ni 0 (au imezimwa)

Kuandika. Sync (1);

// weka hali ya pini iwe 1 (washa LED)

} mwingine {

KuandikaSync ya LED (0);

// weka hali ya siri kuwa 0 (zima LED)

}

}

kazi endBlink () {// kazi ya kuacha kupepesa

waziInterval (blinkInterval); // Acha vipindi vya kupepesa

KuandikaSync ya LED (0); // Zima LED

Usafirishaji wa LED (); // Unexport GPIO ili upate rasilimali bure

}

setTimeout (endBlink, 5000); // acha kupepesa baada ya sekunde 5

Washa LED, Resistor (200ohms) kama inavyoonyeshwa kwenye schema na uendeshe mradi:

pi @ raspberry: ~ $ node blink.js

Node iko tayari.

SOCKET. IO

WebSocket ni itifaki ya mawasiliano ya kompyuta, kulingana na unganisho la TCP, hutoa programu kuunda seva na mteja. Mteja huunganisha kwenye seva na hutoa na kupokea ujumbe kwenda na kutoka kwa seva. Utekelezaji wa WebSocket kwa Node.js inaitwa Socket.io (https://socket.io/).

Sakinisha socket.io:

pi @ raspberry: ~ $ npm kufunga socket.io - save

Sogea ndani ya nyumba ya nodejs, iliyoundwa mapema:

pi @ raspberry: ~ $ cd nodehome

Na uunda folda mpya "ya umma":

pi @ raspberry: ~ $ mkdir hadharani

Unda sampuli mpya ya wavuti, iite "webserver.js"

pi @ raspberry: ~ $ nano webserver.js

Bandika nambari ifuatayo, hifadhi na utoke:

var http = zinahitaji ('http'). kuundaServer (handler); // zinahitaji seva ya http, na unda seva na kishikaji cha kazi ()

var fs = kuhitaji ('fs'); // zinahitaji moduli ya mfumo wa faili

sikiliza (8080); // sikiliza bandari 8080

kidhibiti kazi (req, res) {// tengeneza seva

fs.readFile (_ jina la utani + '/ umma /index.html', kazi (makosa, data) {// soma

index index.html katika folda ya umma

ikiwa (makosa) {

res.writeHead (404, {'Aina ya Yaliyomo': 'text / html'}); // onyesha 404 kwa kosa

rudisha res.end ( 404 Sio

Kupatikana );

}

res.writeHead (200, {'Aina ya Yaliyomo': 'text / html'}); // kuandika HTML

andika tena (data); // kuandika data

kutoka index.html

kurudi res.end ();

});

}

Seva hii ya mtandao itasikiliza bandari yako ya Raspberry 8080 na itapeana faili ya mteja yeyote wa wavuti anayeiunganisha. Sasa tunahitaji kuunda kitu cha kukaribisha na kutoa kwa wateja wetu: Songa ndani ya folda ya "umma": pi @ raspberry: ~ $ cd umma

Unda faili mpya ya html "index.html":

pi @ raspberry: ~ $ nano index.html

Bandika nambari kutoka kwenye "HelloWorld.txt" iliyoambatishwa, weka na uondoke.

Sogeza ndani ya folda ya nodejs "nodehome":

pi @ raspberry: ~ $ cd nodehome

Anzisha seva ya wavuti ya

pi @ raspberry: ~ $ node webserver.js

Fungua wavuti kwenye kivinjari ukitumia https:// Raspberry_IP: 8080 / (badilisha Raspberry_IP na IP yako)

Hatua ya 6: Kuongeza uwezo wa kutangaza video

Kuna njia tofauti za kutekeleza utiririshaji wa video kwenye Raspberry, rahisi

njia ambayo nimepata hadi sasa, kwamba kama utendaji mzuri na inaweza kuunganishwa katika kiolesura cha wavuti ni msingi wa mradi kutoka Miguel Mota:

miguelmota.com/blog/raspberry-pi-camera-bo…

Asante Miguel! Kutoka kwa blogi yake hizi ni hatua:

Sakinisha vifaa vya libjpeg8 na cmake:

pi @ raspberry: ~ $ sudo apt-get kufunga libjpeg8

pi @ raspberry: ~ $ sudo apt-get kufunga libjpeg8-dev

pi @ raspberry: ~ $ sudo apt-get kufunga cmake

Pakua mjpg-streamer na programu-jalizi ya raspicam:

pi @ raspberry: ~ $ git clone

github.com/jacksonliam/mjpg-streamer.git ~ / mjpg-streamer

Badilisha saraka:

pi @ raspberry: ~ $ cd ~ / mjpg-streamer / mjpg-streamer-majaribio

Kutunga:

pi @ raspberry: ~ $ safisha yote

Badilisha nafasi ya zamani ya mjpg:

pi @ raspberry: ~ $ sudo rm -rf / opt / mjpg-streamer

pi @ raspberry: ~ $ sudo mv ~ / mjpg-streamer / mjpg-streamer-majaribio

/ opt / mjpg-mtiririshaji

pi @ raspberry: ~ $ sudo rm -rf ~ / mjpg-streamer

Unda faili mpya ya "start_stream.sh", nakili na ubandike kutoka faili ya "start_stream.txt" iliyoambatishwa.

Fanya iweze kutekelezwa (tengeneza hati za ganda):

pi @ raspberry: ~ $ chmod + x start_stream.sh

Anza Kutiririsha seva:

pi @ raspberry: ~ $./start_stream.sh

Fungua wavuti kwenye kivinjari ukitumia https:// Raspberry_IP: 9000 (badilisha Raspberry_IP na IP yako)

Hatua ya 7: PROGRAMU YA TANKI

Kila kitu kiko tayari, sasa lazima tuunde ukurasa wetu wa wavuti kudhibiti tank (index.html) na seva yetu ya wavuti kusikiliza amri zetu (webserver.js). Kwa hivyo, badilisha faili zilizoonekana hadi sasa (mifano tu ya kujaribu mfumo) na webserver.txt na index.txt.

Hatua ya 8: ANZA UDHIBITI KIASILI NA USHINDI WA KUTUMIA

ANZA KUDHIBITI KIASILI NA USHARA WA KUTUMIA
ANZA KUDHIBITI KIASILI NA USHARA WA KUTUMIA

Kuanza huduma fungua windows mbili za terminal na utumie amri hizi:

node nodehome / webserver.js

./nodehome/start_stream.sh

Fungua wavuti kwenye kivinjari ukitumia https:// Raspberry_IP: 8080 (badilisha Raspberry_IP na IP yako)

Ilipendekeza: