Satura rādītājs:
- 1. darbība: BOM
- 2. darbība. Galveno komponentu specifikācijas
- 3. solis: VADĪŠANA
- 4. solis: AUGU SAGATAVOŠANA O.S
- 5. darbība. KĀ KONTROLĒT WIFI TANKU AR NODE.JS UN WEBSOCKET.IO
- 6. darbība: VIDEO STREAMING IESPĒJAS PIEVIENOŠANA
- 7. solis: Tvertnes programma
- 8. darbība: SĀKT KONTROLES SASKARNI UN STREAMING SERVER
Video: Aveņu tvertne ar tīmekļa saskarni un video straumēšanu: 8 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Mēs redzēsim, kā esmu sapratis nelielu WiFi tvertni, kas spēj attālināti kontrolēt tīmekli un video straumēt.
Šī ir apmācība, kurai nepieciešamas pamatzināšanas par elektronisko un programmatūras programmēšanu. Šī iemesla dēļ esmu izvēlējies tvertnes šasijas komplektu (tā vietā, lai to drukātu, izmantojot 3D printeri, var būt vēlāka jaunināšana) un kopā 6 komponentus, ieskaitot baterijas. Programmatūras pusē varat pakāpeniski sekot instalēšanas procesam, un programmēšana tiek samazināta līdz minimumam, var palīdzēt pamatzināšanas par Raspberry lietām.
Esmu aprēķinājis 12 stundas darba no 0 līdz gatavai darbībai. Kopējās izmaksas 70 € par visām sastāvdaļām.
1. darbība: BOM
1 - DIY RC robotu šasijas tvertne - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - divkanālu L298N līdzstrāvas motora draivera panelis - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Raspberry Pi Zero W sākuma komplekts - 26 (€)
amzn.eu/1ugAaMP
1 - 16 GB SD karte - 5, 50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Raspberry Pi 5MP kameras moduļa tīmekļa kamera modelim Zero - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Barošanas bloks 5V
1 - 9 voltu akumulators
Jaukts maizes dēļa kabeļa Dupont savienotājs
Pele, tastatūra, monitors vai televizors aveņu iestatīšanai (pēc izvēles, lai atvieglotu pirmo iestatīšanu)
2. darbība. Galveno komponentu specifikācijas
Motors
JGA25-370 līdzstrāvas reduktors
Šim motoram ir D formas izejas vārpsta.
Specifikācijas
· Darba spriegums: no 6 V līdz 18 V
· Nominālais spriegums: 12 V
· Brīvgaitas ātrums pie 12 V: 399 apgr./min
· Brīvas darbības strāva pie 12 V: 50 mA
· Krituma strāva pie 12 V: 1200 mA
· Krituma griezes moments pie 12 V: 2,2 kg.cm
· Pārnesumu attiecība: 1:21
· Reduktora izmērs: 19 mm
· Svars: 84 g
Divkanālu L298N līdzstrāvas motora draivera panelis
Divkāršs H tilta motora vadītājs, var vadīt divus līdzstrāvas motorus vai 4 vadu divfāžu pakāpju motorus. Iebūvēts TSD, lai pasargātu no motora apstāšanās.
Specifikācijas
· Moduļa barošanas spriegums: DC 2V-10V
· Signāla ieejas spriegums: DC 1,8-7V
· Viena darba strāva: 1,5A
· Maksimālā strāva līdz 2,5A
· Zema gaidstāves strāva (mazāka par 0,1uA)
· Iebūvēta kopējā vadīšanas ķēde, ieejas spailes ir brīvas, motoram nav darbības traucējumu
· Izmērs: 24,7 x 21 x 7 mm
3. solis: VADĪŠANA
Šī būs pēdējā elektroinstalācija, bet pagaidiet, pirms mums ir jāinstalē daži
programmatūru, un ir laba ideja to pārbaudīt, izmantojot vienkāršāku vadu, kad esat gatavs, lai atgrieztos šeit.
Mums ir vajadzīgi divi dažādi enerģijas avoti, viens motoram un otrs avenēm.
Motora draivera divkanālu L298N līdzstrāvas motora draivera panelis (maksimālais ieejas spriegums DC 2V-10V) tiek darbināts, izmantojot 9V akumulatoru, un Raspberry Pi izmanto standarta 5V USB akumulatoru.
Motora draivera GND tapa tiks pievienota akumulatora mīnusam un Raspberry Pi (GND). Raspberry Pi GPIO tapas ir savienotas ar motora draiveri kā galds.
4. solis: AUGU SAGATAVOŠANA O. S
Šī ir standarta instalācija Raspbian operētājsistēmai
daudz detalizētu pamācību, meklējot tīmeklī, būtībā ir šādas darbības:
1. Lejupielādējiet iso RASPBIAN STRETCH WISH DESKTOP no
2. Formatējiet 16 GB SD karti, es izmantoju SD formātu
3. Ierakstiet. IMG failu, es izmantoju Win32DiskImager
Tagad jūsu avenes ir gatavas sāknēšanai, pievienojiet to USB barošanas avotam (5V, 2A) un sagatavojieties pirmajai sāknēšanas iestatīšanai. To var izdarīt divos veidos, izmantojot ārējās ierīces, piemēram, peli, tastatūru un monitoru, vai izmantojot datoru un attālo savienojumu ar Raspberry. Par to ir daudz pamācību, viena ir:
5. darbība. KĀ KONTROLĒT WIFI TANKU AR NODE. JS UN WEBSOCKET. IO
Tagad mums ir jauna mūsu Raspberry mikro datora instalācija, kas ir gatava darbam, tāpēc… ko mēs izmantojam, lai izdotu komandas tvertnei?
Python ir ļoti viegli lietojama valoda, ko parasti izmanto, lai palaistu Rapsberry projekta smiltis, un to var viegli izmantot arī, lai mijiedarbotos ar Rapsberry ievades un izvades tapām (GPIO).
Bet mans mērķis bija savienot savu tvertnes Wi-Fi no jebkuras ierīces (datora, mobilā tālruņa, planšetdatora …), izmantojot kopīgu tīmekļa pārlūkprogrammu, kā arī straumēt video no tās. Tātad, pagaidām aizmirstiet Python un dodieties tālāk uz NODE. JS un SOCKET. IO.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) ir atvērtā pirmkoda servera rāmja darbs, kura pamatā ir js valoda. Tā kā es izmantoju Raspberry Pi Zero (ARMv6 CPU), mēs nevaram izmantot automātisko instalēšanas procesu (paredzēts ARMv7 CPU), un mums tas jādara manuāli:
Lejupielādējiet Nodejs lokāli (ARMv6 esmu izmantojis 7.7.2 versiju, citas versijas skatiet šeit:
pi@aveņu: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Kad esat pabeidzis, izvelciet saspiesto failu:
pi@aveņu: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Kopējiet un instalējiet failus mapē /user /local
pi@aveņu: ~ $ sudo cp -R node-v7.7.2-linux-armv6l/*/usr/local/
Pievienojiet ceļam vietu, kur mēs instalējam nodejs, rediģējiet failu “.profile”:
pi@aveņu: ~ $ nano ~/.profils
Faila beigās pievienojiet šādu rindu, saglabājiet un izejiet
PATH = $ PATH:/usr/local/bin
Noņemiet lejupielādēto failu:.
pi@aveņu: ~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz
pi@aveņu: ~ $ rm -r ~/node-v7.7.2-linux-armv6l
Lai pārbaudītu nodejs instalēšanu, ierakstiet šādas komandas:
pi@aveņu: ~ $ node -v
pi@aveņu: ~ $ npm -v
Jums vajadzētu izlasīt v7.7.2 un v4.1.2 kā atbildi.
Ja viss gāja labi, izveidojiet jaunu mapi, lai mitinātu savus nodjs failus:
pi@aveņu: ~ $ mkdir nodehome
Pārvietoties jaunā mapē:
pi@aveņu: ~ $ cd nodehome
Instalējiet papildu moduli, kas nepieciešams, lai pārvaldītu GPIO visvienkāršākajā veidā, ieslēdzot un izslēdzot:
pi@aveņu: ~ $ npm instalēt onoff
Tagad ir pienācis laiks pārbaudīt mūsu pirmo projektu “Blink.js”, un rezultāts būs… mirgojoša gaismas diode
pi@aveņu: ~ $ nano blink.js
Ielīmējiet šādu kodu, saglabājiet un izejiet:
var Gpio = prasīt ('ieslēgt'). Gpio; // iekļaut ieslēgšanu
var LED = jauns Gpio (3, 'out'); // izmantot GPIO 3
var blinkInterval = setInterval (blinkLED, 250);
// mirgo LED ik pēc 250 ms
funkcija blinkLED () {// funkcija, lai sāktu mirgot
ja
(LED.readSync () === 0) {// pārbaudiet tapas stāvokli, ja stāvoklis ir 0 (vai izslēgts)
LED.writeSync (1);
// iestatiet tapas stāvokli uz 1 (ieslēdziet LED)
} vēl {
LED.writeSync (0);
// iestatiet tapas stāvokli uz 0 (izslēdziet LED)
}
}
funkcija endBlink () {// funkcija mirgošanas pārtraukšanai
clearInterval (blinkInterval); // Pārtraukt mirgošanas intervālus
LED.writeSync (0); // Izslēdziet LED
LED.unexport (); // Neportēt GPIO uz bezmaksas resursiem
}
setTimeout (endBlink, 5000); // beidz mirgot pēc 5 sekundēm
Pievienojiet LED, rezistoru (200 omi), kā parādīts shēmā, un palaidiet projektu:
pi@aveņu: ~ $ mezgls blink.js
Mezgls ir gatavs.
SOCKET. IO
WebSocket ir datora sakaru protokols, kura pamatā ir TCP savienojums, un tas nodrošina programmētāju servera un klienta izveidei. Klients izveido savienojumu ar serveri un emitē un saņem ziņas uz serveri un no tā. WebSocket ieviešanu Node.js sauc par Socket.io (https://socket.io/).
Instalējiet socket.io:
pi@aveņu: ~ $ npm instalēt socket.io --saglabāt
Pārvietoties nodejs mājās, kas izveidota iepriekš:
pi@aveņu: ~ $ cd nodehome
Un izveidojiet jaunu mapi “publiska”:
pi@aveņu: ~ $ mkdir public
Izveidojiet jaunu tīmekļa servera paraugu, nosauciet to par “webserver.js”
pi@aveņu: ~ $ nano webserver.js
Ielīmējiet šādu kodu, saglabājiet un izejiet:
var http = pieprasīt ('http'). createServer (apstrādātājs); // pieprasīt http serveri un izveidot serveri ar funkciju apstrādātāju ()
var fs = prasīt ('fs'); // nepieciešams failu sistēmas modulis
http.listen (8080); // klausieties portu 8080
funkciju apstrādātājs (req, res) {// izveidot serveri
fs.readFile (_ dirname + '/public/index.html', function (kļūda, dati) {// lasīt
failu index.html publiskajā mapē
ja (kļūda) {
res.writeHead (404, {'Content-Type': 'text/html'}); // parādīt kļūdu 404
return res.end ( 404 Nē
Atrasts );
}
res.writeHead (200, {'Content-Type': 'text/html'}); // rakstīt HTML
res.write (dati); // rakstīt datus
no index.html
atgriezties res.end ();
});
}
Šis tīmekļa serveris klausīsies jūsu Raspberry portu 8080 un nodrošinās failu jebkuram tīmekļa klientam, kas to savieno. Tagad mums ir jāizveido kaut kas, ko uzņemt un nodrošināt saviem klientiem: Pārvietojieties mapē “publiska”: pi@aveņu: ~ $ cd public
Izveidojiet jaunu html failu “index.html”:
pi@aveņu: ~ $ nano index.html
Ielīmējiet kodu no pievienotā "HelloWorld.txt", saglabājiet un izejiet.
Pārvietojieties nodejs mapē "nodehome":
pi@aveņu: ~ $ cd nodehome
Palaidiet HTTP tīmekļa serveri:
pi@aveņu: ~ $ node webserver.js
Atveriet vietni pārlūkprogrammā, izmantojot https:// Raspberry_IP: 8080/(aizstājiet Raspberry_IP ar savu IP)
6. darbība: VIDEO STREAMING IESPĒJAS PIEVIENOŠANA
Ir visvienkāršākais veids, kā ieviest video straumēšanu Raspberry
Līdz šim esmu atklājis, ka Miguel Mota projekta pamatā ir lieliska veiktspēja un to var integrēt tīmekļa saskarnē:
miguelmota.com/blog/raspberry-pi-camera-bo…
Paldies Migelam! No viņa emuāra ir šādas darbības:
Instalējiet komponentus libjpeg8 un cmake:
pi@aveņu: ~ $ sudo apt-get install libjpeg8
pi@aveņu: ~ $ sudo apt-get install libjpeg8-dev
pi@aveņu: ~ $ sudo apt-get install cmake
Lejupielādēt-j.webp
pi@aveņu: ~ $ git klons
github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer
Mainīt direktoriju:
pi@aveņu: ~ $ cd ~/mjpg-streamer/mjpg-streamer-experimental
Sastādīt:
pi@aveņu: ~ $ padarīt tīru visu
Nomainiet veco-j.webp
pi@aveņu: ~ $ sudo rm -rf /opt /-j.webp
pi@aveņu: ~ $ sudo mv ~/mjpg-streamer/mjpg-streamer-experimental
/opt/mjpg-streamer
pi@aveņu: ~ $ sudo rm -rf ~/mjpg -streamer
Izveidojiet jaunu “start_stream.sh” failu, nokopējiet un ielīmējiet no pievienotā “start_stream.txt” faila.
Padariet to izpildāmu (izveidojiet čaulas skriptus):
pi@aveņu: ~ $ chmod +x start_stream.sh
Sāciet straumēšanas serveri:
pi@aveņu: ~ $./start_stream.sh
Atveriet vietni pārlūkprogrammā, izmantojot https:// Raspberry_IP: 9000 (aizstājiet Raspberry_IP ar savu IP)
7. solis: Tvertnes programma
Viss ir gatavs, tagad mums ir jāizveido sava tīmekļa lapa, lai kontrolētu tvertni (index.html) un tīmekļa serveris, lai klausītos mūsu komandas (webserver.js). Tātad, vienkārši nomainiet līdz šim redzētos failus (tikai piemēri sistēmas pārbaudei) ar pievienotajiem webserver.txt un index.txt.
8. darbība: SĀKT KONTROLES SASKARNI UN STREAMING SERVER
Lai palaistu pakalpojumus, atveriet divus termināļa logus un palaidiet šīs komandas:
mezgls nodehome/webserver.js
./nodehome/start_stream.sh
Atveriet vietni pārlūkprogrammā, izmantojot https:// Raspberry_IP: 8080 (aizstājiet Raspberry_IP ar savu IP)
Ieteicams:
ESP32-CAM Veidojiet savu robotu automašīnu ar tiešraides video straumēšanu: 4 soļi
ESP32-CAM Veidojiet savu robotu automašīnu ar tiešraides video straumēšanu: Ideja ir padarīt šeit aprakstīto robotu automašīnu pēc iespējas lētāku. Tāpēc es ceru sasniegt lielu mērķa grupu ar saviem detalizētajiem norādījumiem un izvēlētajiem komponentiem lētam modelim. Es vēlos iepazīstināt jūs ar savu ideju par robotu automašīnu
HP WebCam 101 Aka 679257-330 tīmekļa kameras moduļa atkārtota izmantošana kā vispārēja USB tīmekļa kamera: 5 soļi
Atkārtoti izmantot HP WebCam 101 Aka 679257-330 tīmekļa kameras moduli kā vispārēju USB tīmekļa kameru: es vēlos papildināt savu 14 gadus veco Panasonic CF-18 ar pavisam jaunu tīmekļa kameru, bet Panasonic vairs neatbalsta šo brīnišķīgo mašīnu, tāpēc man tas ir jādara izmantojiet pelēko vielu kaut kam vienkāršākam nekā b & b (alus un burgeri). Šī ir pirmā daļa
ESP8266 Automatizācija ar tīmekļa saskarni un DDNS: 8 soļi
ESP8266 automatizācija ar tīmekļa saskarni un DDNS: šodienas rakstā mēs parādīsim automatizāciju, kas var būt dzīvojamā, izmantojot DDNS (dinamiskās domēna nosaukumu sistēmas) funkciju. Jūs sapratīsit, kā konfigurēt lietojumprogrammu, kuru ievietojat ESP8266, NodeMCU. Turklāt mēs redzēsim, kā
Vienkārša 5 ASV dolāru viedā lampa ar viedtālruņa tīmekļa saskarni: 4 soļi
Vienkārša 5 ASV dolāru viedā lampa ar viedtālruņa tīmekļa saskarni: Sveiki! Mani sauc Rafaels. Šī ir mana pirmā pamācība! Mans galvenais šīs lampas radīšanas motīvs ir palīdzēt cilvēkiem ar kustību traucējumiem. Kādu dienu mums nebūs slēdžu pie sienām vai grūti sasniedzamiem kontaktdakšām, bet drīzāk mūsu viedtālruņiem, lai kontrolētu
RC automašīnas vadīšana, izmantojot tīmekļa saskarni: 6 soļi (ar attēliem)
RC automašīnas vadīšana, izmantojot tīmekļa saskarni: Hi draugi, šajā pamācībā es iemācīšu jums izveidot RC automašīnu, izmantojot tīmekļa saskarni. Mēs to vadīsim bezvadu režīmā, izmantojot savu serveri. Izmantojot metodi, kuru es jums parādīšu, mums nevajadzēs izmantot RC uztvērēju. Lai mitinātu tīmekli