Kazalo:
- Zaloge
- 1. korak: Prenos in namestitev začetnih nastavitvenih datotek
- 2. korak: drugi del: Namestite Raspbian z uporabo Rufusa
- 3. korak: tretji del: Priključite Pi
- 4. korak: četrti del: Nastavitev računa
- 5. korak: peti del: nastavite svoj Pi kot brez glave (najboljša stvar doslej)
- 6. korak: šesti del: Namestitev vseh osnovnih orodij za razvoj na Pi
- 7. korak: Sedmi del: Namestitev Adafruit WebIDE
- 8. korak: osmi del: Posodobite Node-red in Node.js
- 9. korak: del devet: Namestitev Arduino IDE
- 10. korak: deseti del: Ffmpeg
- 11. korak:
Video: Raspberry Pi HomeLab in kdo je doma: 11 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
To je moj prvi neuničljiv, vendar ima ta pouk dve fazi.
prva faza: nastavitev pi za delo kot domači laboratorij za delo IOT za skupino študentov.
druga faza: uporablja sistem za razvoj z izvedbo predstavitve z uporabo našega projekta kdo je doma.
do konca tega boste imeli daljinsko dostopno pi brez glave, ki jo lahko ljudje uporabljajo za daljinsko programiranje in delo na napravah IOT.
zdaj pa opozarjam, da se z odpiranjem svojega pi za javnost brez ustrezne varnosti odprete tveganju napada vašega domačega omrežja.
v naslednjih korakih bomo obravnavali prvo fazo, vendar je to povezava do nekaterih informacij o našem klubu in projektu kdo je doma.
github.com/ValenciaRobotics/embeddedclub
WhoIsHome
projekt Who Is home naredi naslednje: zažene skript python, ki preveri naslove mac naprav, povezanih z vašim omrežjem. za to uporablja Nmap. te naslove vodi proti seznamu naslovov in če je naveden naslov, pošlje znak arduinu z uporabo serijske komunikacije. arduino nadzoruje LED trak in ko prejme znak, ima za to napravo povezano barvo in prižge LED za to osebo glede na njihovo prisotnost.
naši oddelki se nahajajo pod
sites.google.com/view/valencia-robotics
sites.google.com/view/valencia-robotics/cl…
spletno mesto naših klubov
sites.google.com/view/valenciatechclub
Python Script je zagotovil: Jonathan De La Cruz
www.linkedin.com/in/jonathandelacruz96/
Arduino Script, sprehod in nastavitev domačega laboratorija je opravil: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Jaz sem Dylan Poll, sem trenutni predsednik tehnološkega kluba naše fakultete in sem tudi vodja vgrajenih sistemov.
Zaloge
Pi
Arduino
Tla
mostične žice
Spletna kamera
individualno naslovljiv RGB LED trak
napajanje za vaš pi, tipkovnica miška, računalnik za prvo nastavitev.
1. korak: Prenos in namestitev začetnih nastavitvenih datotek
prenesite in namestite kit (windows)
www.putty.org
Prenesite rufus in ga namestite
rufus.ie
prenesite celotno zbirko raspbian in priporočeno programsko opremo (.zip)
www.raspberrypi.org/downloads/raspbian/
izvlecite vsebino v.zip, to bo vaša [slikovna datoteka].
vzemite kartico micro sd in uporabite priklopno postajo ali kartico microsd za usb napravo in jo priključite v računalnik in formatirajte svojo SD kartico
2. korak: drugi del: Namestite Raspbian z uporabo Rufusa
run rufus izberite svojo sd kartico v prvem polju izberite slikovno datoteko raspbian za.iso/.img select start in počakajte, da se konča.
3. korak: tretji del: Priključite Pi
po tem izvlecite SD kartico, jo vstavite v režo za SD kartico na pi, najprej na spodnjem vtiču kabla HDMI do pi, nato tipkovnico in miško ter zadnji napajalni kabel. če najprej priključite napajanje, morda ne bo registriral vašega monitorja/televizije.
4. korak: četrti del: Nastavitev računa
prijavite se v pi! naredite prvo nastavitev zagona! ne preskočite! izberite ameriško angleško tipkovnico ali pozneje ne boste našli svojega simbola @ … če tega ne storite, je vaš simbol @ tam. prijavite se v svoj wifi na pi se še ne posodabljate. Imam razlog. pritisnite tipko na tipkovnici windows in pojdite na nastavitve, pojdite na konfiguracijo pi. pojdite na zavihek vmesniki.
omogoči VNC … in vse ostalo se ne zažene znova.
5. korak: peti del: nastavite svoj Pi kot brez glave (najboljša stvar doslej)
poglejte v zgornjem desnem kotu zaslona. videli boste črno -modri logotip VNC. odpri to. hit prijavite se, ustvarite in ustvarite račun. dodaj pi. na namizju/prenosnem računalniku odprite iskanje brskalnika v google VNC viewer download install. prijavite se v svoj račun. preverite svojo e -pošto za prijavo in se pooblastite. povežite se s pi (vnesite geslo pi v drugem meniju za prijavo), če deluje, izklopite pi. odklopi pi in vse. postavite pi v kot v svoji sobi in do njega pripeljite samo napajalni kabel. s pi se lahko povežete s pregledovalnikom VNC. zdaj imaš "brez glave" pi. vanj lahko uporabite tudi SSH (glejte informacije o SSH v razdelku kul stvari)
6. korak: šesti del: Namestitev vseh osnovnih orodij za razvoj na Pi
z uporabo SSH ali VNC (ali če ste se odločili, da ne boste kul in ga nastavite brez glave) naredite naslednje. odprti terminal (ta naslednji del lahko traja nekaj časa …) te ukaze izvajajte enega za drugim, potem ko je vsak zaključen.
sudo apt-get update; sudo apt-get upgrade namestitev ffmpeg {sudo apt-get install ffmpeg
7. korak: Sedmi del: Namestitev Adafruit WebIDE
curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh odprite brskalnik na svojem glavnem namizju. URL brskalnika usmerite na "https://***.*.*.***: 8080" zamenjajte "*" z lokalnim naslovom IP vašega Pi. naredite uporabniško ime in ga posredujte. zdaj imate nastavitev adafruit webIDE.
8. korak: osmi del: Posodobite Node-red in Node.js
update-nodejs-and-nodered bo naslednja koda omogočila zagon vozlišča ob zagonu tako kot adafruit webIDE, kar je pomembno, če se želite razvijati na teh stvareh. sudo systemctl enable nodered.service znova zaženite Pi
9. korak: del devet: Namestitev Arduino IDE
to lahko storite prek ukazne vrstice, vendar…. to ne bo polna različica.. kar pomeni, da ne morete uporabljati orodja za uvoz/iskanje knjižnice, če želite namestiti celotno različico, pojdite na spletno mesto arduino in prenesite različico za svoj model pi. to bo ARM32bit za pi3, dobite stabilno izdajo. odprite terminal. (nadomestite *z informacijami o izdaji) zaženite te ukaze.
www.arduino.cc/en/Main/Software
cd prenosi/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh
10. korak: deseti del: Ffmpeg
1x logitech za spletno kamero
(Naslednji elementi ne vključujejo tistega, kar potrebujete za zagon 24 -urnega pretoka) 1x matrica druge maline pi model 3 b (s SD kartico) posamično naslovljiv LED trak. arduino nano skakalna žica omogoči pregledovalnik VNC na obeh Pi (-ih)
nastavitve pi, omogočite vnc ustvarjanje računa s pregledovalnikom VNC POMEMBNO: na pi, ki ga nameravate uporabiti kot javno delovno mizo, pojdite na nastavitve strežnika vnc, možnosti, zavihek strokovnjak in nastavite čas mirovanja: 0 sekund, nastavljeno je, da zaprete Vnc pregledovalnik, če po eni uri miruje, s tem preprečite, da bi se okno zaprlo sredi toka, namestite vnc viewer na streamer pi v terminalu.
sudo apt-get install vnc-java y
priključite spletno kamero in.. namestite spletno kamero.
sudo apt namestite fswebcam
namestite ffmpeg sudo apt-get namestite ffmpeg y
tu pridejo v poštev vaše lastne izbire. v terminalu zaženite ta skript, da odprete okno na namizju strežnika pi za vašo spletno kamero.
ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay vam bo to omogočil v oknu z imenom pi -cam, spletna kamera, ki vam jo prikazuje, je na lokaciji dev/video0 in njegova prvotna velikost je 1920x1080. Želim samo videti obrezovanje = širina: višina: topleft_X: topleft_Y in hitrost sličic 20 mi je dovolj. naslednja koda se bo pretakala v trzanje.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf lestvica = 1280x720 -c: v h264 -g 24 -b: v 2M -nastavljena ultra hitra -c: a aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (vstavite vaš tok tukaj)"
-f x11grab se uporablja za prijemanje zaslona. moja ločljivost zaslona je nastavljena na 1280x1024 To želim prikazati v 1280x720 torej -vf video formatu.
2m = 2mgb hitrost nalaganja. -f flv je formatiranje videoposnetka v.flv, da ga lahko twitch uporabi.
zdaj lahko svoji ekipi predate poverilnice za VNC delovni mizi Pi in ti lahko na daljavo v živo vidijo spremembe LED traku. Pokliči tega fanta ~! njegov video mi je pomagal priti na pot, še vedno sem moral ugotoviti, kako vstaviti spletno kamero … in izvedeti o ffmpeg X/
Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc OPOMBA: Nisem najbolj obveščena oseba, to preprosto deluje za moje potrebe, če ima kdo konstruktiven nasvet, bi ga rad slišal, vendar prosim ne Ena od možnih poti za nadaljevanje tega bi bila uporaba tega mehanika za pretočno predvajanje in uporaba drugega pi in svetlobnega toka razširitve krom za prenos tega toka in nato v to ali kako drugače napajanje spletne kamere. https://www.youtube.com/embed/kb_5_9GkwZc TUDI: če želite dodati zvok, kot je razvidno iz videa mans youtube, lahko uporabite ta niz, nisem želel, da bi bila moja hiša posneta in poslano na trzanje, to sedi v moji sobi, zato ne pretakam nobenega zvoka, prav tako pomaga zmanjšati obremenitev pi.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i privzeto -af kompresor = prag = 0,089: razmerje = 9: napad = 200: sprostitev = 1000 -vf lestvica = 1280x720 -c: v h264 - g 24 -b: v 2M -nastavljen ultra hiter -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (vstavite vaš tok tukaj)"
11. korak:
zdaj do zadnjega dela, ki izvaja arduino in pi serijsko komunikacijo s pythonom.
--- projekt kdo je doma --- Projekt uporablja skript python, ki v terminalu izvaja nmap, kopira njegovo vsebino, razčlenjuje besedilo, ki ga ne potrebujemo, in naslove mac v omrežju primerja z navedenimi mac naslovi in če se ujema, je ta oseba doma. naslovi mac so bili najdeni s preiskovalnim delom na usmerjevalniku, vendar vam orodje nmap poda informacije o napravah v besedilni datoteki, ki jo ustvari koda. če je uporabnik prisoten, pošlje znak na arduino, arduino pa počaka, da je kontrolni seznam končan, in prižge LED, ki ustrezajo profilom, navedenim za naslove mac sedanjih naprav. lahko dodate še druge stvari, na primer, če imate discord bote, ki izvajajo ukaze za ljudi, ki prihajajo ali gredo s to isto kodo, z operaterjem podprocesa za izvajanje terminalskih ukazov v vašem skriptu python. zato najprej namestimo nmap sudo apt-get install nmap. nato boste želeli prenesti datoteke v naše klube Git-Hub.
github.com/ValenciaRobotics/embeddedclub
za kodo python je v namestitvi raspbian vse, kar je v tej kodi uporabljeno, zato ne potrebujete ničesar dodatno nameščenega. uporabili smo uvoz re, uvozni podproces, čas uvoza, uvoz serijsko, pomembno je omeniti, da python uporablja zamik za ločevanje kodnih blokov, zato se zavedajte, da če se odločite spremeniti način zapisa kode:) py prihaja z thonny ide in nekaj drugih možnosti, se mi zdi, da je izvajanje skripta v thonnyju res naravnost, če kliknete datoteko in jo poskusite izvesti, je bilo predlagano ali predpostavljeno, da je thonny tisto, kar ste želeli uporabiti. preden zaženete program, boste morali urediti naslednje. vrstica 14: simboli * se uporabljajo za prikrivanje mojih podatkov o usmerjevalniku, to boste morali zamenjati z lastnim lokalnim ip. bi bilo enako kot tisto, kar uporabljate za povezavo z usmerjevalnikom. vrstice 28, 38, 48, 58: vse te oznake uporabljajo simbol * za prikrivanje naslovov mac naprav, navedenih v mojem omrežju, zato jih morate spremeniti v naslove mac naprav v svojem omrežju, da odkrijete povezave. zakaj mac naslovi? ker brez rezervacije lokacij za vašo napravo zagotovo ostanejo enaki, razen če nekdo ponareja. težave s to kodo, bo zaznala le, ko povezava aktivno uporablja internet, zato je morda ne bo zaznala kljub prisotnosti uporabnika. v kodi arduino boste želeli spremeniti naslednje. najprej pojdite na zavihek orodja, izberite upravitelja knjižnic in poiščite »fastLED« ter knjižnico namestite za »fastLED«. nato boste morali naložiti kodo "ino, ki je doma ".ino s strani github in po želji spremeniti naslednje. vrstica 86: spremenite barve glede na to, kaj želite, da bodo vaši uporabniki priložili:)
// vklopite tisto, kar potrebujete
če (d == 1) {leds [0] = 0xdd8bff; // vijolične svetleče diode [1] = 0xdd8bff;}
če (l == 1) {leds [2] = CRGB:: Zelena; LED [3] = CRGB:: Zelena;}
če (k == 1) {leds [4] = CRGB:: Rdeča; LED [5] = CRGB:: Rdeča; }
če (j == 1) {leds [6] = CRGB:: Modra; LED [7] = CRGB:: Modra;}
FastLED.show (); zamuda (30000); // 10 sekund čakanja na stikalo Kratka razlaga, kako dodati več uporabnikov, je naslednja
void loop () {
if (Serial.available ()> 0) {
Serial.println ();
person = Serial.read ();
zamuda (1000);
switch (oseba) {
primer 'D': d = 1;
person = 'F';
count = count+1;
zlom;
zadeva ':
d = 0;
person = 'F';
count = count+1;
zlom;
velika črka D je prejeti znak iz skripta python, zato ve, da je uporabnik prisoten, ker je prejeta črka velika črka D, zato spremeni vrednost INTEGER d na 1, če gre za male črke, kot ve, da manjkajo, zato je INTEGER nastavljen na 0. pogoj za osvetlitev LED v skriptu od prej uporablja stavek, da je IF d 1, potem bo osvetlil LED, če pa ni, ta ostane "črna", kar pomeni, da ni osvetljena. ta koda uporablja knjižnico "fastLED" in o tem je veliko dokumentacije. Upoštevajte, da boste morali, če spremenite znake, dodate znake ali odstranite znake, spremeniti skript python, da vrnete tiste, ki ste jih spremenili, boste morali spremeniti tudi pogoj v zanki void. if (count == 4) {holdup ();}} bo moralo število odražati število naprav, ki jim »sledite«. v mojem primeru je 4, zato počaka, da se 4 naprave razglasijo za prisotne ali odsotne, nato pa posodobi LED trak. v kodi python imajo vrstice 31, 34, 41, 44, 51, 54, 61, 64 naslednjo vrstico: pošiljanje na arduino. spremenite to, če spremenite kodo v arduinu ali obratno:)
Še enkrat, kot zaključno besedo želim priznati mojemu soigralcu Jonu, ki se je odlično odrezal, ko je to potreboval.
Skript Python je zagotovil: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/
Arduino Script, sprehod in nastavitev domačega laboratorija je opravil: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Upajmo, da bomo osvojili vsaj majico! To bom posodobil z ukazi lupine za samodejni prenos in namestitev večine tega, na našem spletnem mestu klubov so dejansko na voljo skripti lupine, ki jih je mogoče prenesti za operacije ffmpeg.
Ta projekt je vzel veliko časa, to divizijo kluba sem ustanovil od začetka, zato lahko s ponosom rečem, da mi ta trenutek prinaša veliko veselja.:) hvala za vaš čas, zaradi tega projekta imamo zdaj v svojem klubu delovno platformo za razvoj.
Priporočena:
[15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta): 4 koraki (s slikami)
[15min] Ura Weasley / Kazalec Kdo je doma-temelji na TR-064 (beta): UPDATE: Glej korak 3. Dolga zgodba (TL; DR spodaj): Pred časom sem na svoj računalnik napisal majhen bash-skript poiščite omrežje za registrirane naprave in primerjajte njihova imena gostiteljev s seznamom s povezanimi imeni. Vsakič, ko bi se naprava prijavila
Light Rush! Kdo ima najhitrejšo svetlobo!?: 3 koraki
Light Rush! Kdo ima najhitrejšo luč!?: Igrajte katero koli igro je kul in zabavno, a ko jo lahko ustvarite sami, je vsekakor bolje! Tako sem navajen igrati z arduinom in ledstripom, zato sem z njim opravil lahkotno dirko. Razložimo, kako se zabavati in igrati, ne glede na vašo starost, ker
Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: 3 koraki
Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: Včasih med gledanjem televizije ne želite odpreti vrat, razen če je to pomembno. Ta projekt vam omogoča, da si ogledate osebo pred vrati, tako da preprosto rečete Amazonovi napravi Echo "Alexa, vklopite nadzor vrat". Preverite, kdo se pojavi
Kdo je pri mojih vratih? Projekt PIR senzorja gibanja/senzorja dosega: 5 korakov
Kdo je pri mojih vratih? Projekt senzorja gibanja PIR/senzorja dosega: Naš projekt je namenjen zaznavanju gibanja prek PIR in senzorjev razdalje. Koda Arduino bo oddajala vizualni in zvočni signal, ki bo uporabniku povedal, da je nekdo v bližini. Koda MATLAB bo poslala e -poštni signal, ki bo uporabnika opozoril, da je nekdo v bližini. Ta naprava
Tehno-geek ruleta (ali kdo skuha kavo?): 6 korakov (s slikami)
Tehno -geek ruleta (ali kdo skuha kavo?): To je pripomoček, narejen iz recikliranih računalniških delov, ki daje absoluten, nedvoumen in neovrgljiv odgovor na to večno pisarniško vprašanje - " Na čigavo vrsto pride kava? &Quot; Vsakič, ko vklopite napajanje, ta čudovit devi