Sadržaj:

Raspberry Pi HomeLab i Tko je kod kuće: 11 koraka
Raspberry Pi HomeLab i Tko je kod kuće: 11 koraka

Video: Raspberry Pi HomeLab i Tko je kod kuće: 11 koraka

Video: Raspberry Pi HomeLab i Tko je kod kuće: 11 koraka
Video: Raspberry Pi Pico - Первый взгляд 2024, Srpanj
Anonim
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma
Raspberry Pi HomeLab i Tko je doma

Ovo je moje prvo neuništivo, ali ovo uputstvo ima dvije prednosti.

prva faza: postavljanje pi-ja za rad kao kućni laboratorij za IOT rad za tim studentskih programera.

druga faza: koristi sustav za razvoj, primjenom demonstracije pomoću našeg projekta tko je doma.

do kraja ovoga imat ćete daljinski dostupan pi bez glave koji ljudi mogu koristiti za daljinsko programiranje i rad na IOT uređajima.

upozoravam vas da se otvaranjem vašeg pi -a javnosti bez dužne sigurnosti otvarate riziku od napada na svoju kućnu mrežu.

u sljedećim koracima ćemo proći prvu fazu, ali ovo je veza na neke informacije o našem klubu i projektu tko je doma.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

projekt Who Is home radi sljedeće: pokreće python skriptu koja provjerava ima li Mac adresa uređaja povezanih na vašu mrežu. za to koristi Nmap. pokreće te adrese s popisom adresa, a ako je navedena adresa prisutna, šalje char arduinu pomoću serijske komunikacije. arduino kontrolira LED traku i kad primi znak ima povezanu boju za taj uređaj i pali LED diode za tu osobu na temelju njihove prisutnosti.

naše podjele se nalaze na dolje

sites.google.com/view/valencia-robotics

sites.google.com/view/valencia-robotics/cl…

stranicama naših klubova

sites.google.com/view/valenciatechclub

Python Script dao je: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino skriptu, prolazak i postavljanje kućnog laboratorija napravio je: Dylan Poll

www.linkedin.com/in/dylan-poll-4a324a1a2/

Ja sam Dylan Poll, trenutni sam predsjednik tehnološkog kluba našeg fakulteta, a također sam i voditelj ugrađenih sustava.

Pribor

A pi

Arduino

Matična ploča

kratkospojne žice

Web kamera

individualno adresabilna RGB LED traka

napajanje za vaš pi, tipkovnica miš, računalo za početno postavljanje.

Korak 1: Preuzimanje i instaliranje datoteka početnog postavljanja

preuzmite i instalirajte kit (Windows)

www.putty.org

preuzmite rufus i instalirajte

rufus.ie

preuzmite raspbian full buster i preporučeni softver (.zip)

www.raspberrypi.org/downloads/raspbian/

izdvojite sadržaj u.zip ovo će biti vaša [slikovna datoteka].

uzmite micro sd karticu i pomoću priključne stanice ili microsd -a usb uređaj i priključite u računalo formatirajte svoju sd karticu

Korak 2: drugi dio: Instalirajte Raspbian pomoću Rufusa

Drugi dio: Instalirajte Raspbian pomoću Rufusa
Drugi dio: Instalirajte Raspbian pomoću Rufusa

pokrenite rufus odaberite svoju SD karticu u prvom polju odaberite datoteku slike Raspbian za.iso/.img odaberite početak i pričekajte da završi.

Korak 3: treći dio: Priključivanje Pi -a

nakon što to učinite, izvucite SD karticu, umetnite je u utor za SD karticu na pi, ona na "donjem" priključku HDMI kabela prvo na pi, zatim tipkovnica i miš i zadnji kabel za napajanje. ako prvo priključite napajanje, možda neće registrirati vaš monitor/tv.

Korak 4: četvrti dio: Postavljanje računa

prijavite se na pi! izvršite postavljanje prvog pokretanja! nemojte to preskočiti! odaberite američku englesku tipkovnicu ili kasnije nećete pronaći svoj simbol @ … ako to ne učinite, vaš simbol @ nalazi se. " "i idite na postavke, idite na konfiguraciju pi. idite na karticu sučelja.

omogućiti VNC … i sve ostalo se ne restartuje.

Korak 5: peti dio: Postavljanje vašeg Pi -a bez glave (najbolja stvar ikad)

Dio peti: Postavljanje vašeg Pi -a bez glave (najbolja stvar ikad)
Dio peti: Postavljanje vašeg Pi -a bez glave (najbolja stvar ikad)

pogledajte u gornjem desnom kutu zaslona. vidjet ćete crno -plavi VNC logotip. otvori to. hit prijavite se, napravite i račun. dodaj pi. na radnoj površini/prijenosnom računaru otvorite pretraživanje preglednika na google VNC viewer preuzmite instalaciju. prijavite se na svoj račun. provjerite svoju e -poštu za prijavu i autorizirajte se. spojite se na svoj pi (upišite pi lozinku na drugom izborniku za prijavu) ako radi isključite svoj pi. isključite pi i sve. stavite pi u kut svoje sobe i provucite samo kabel za napajanje do njega. možete se povezati s pi pomoću VNC preglednika. sada imate "bez glave" pi. možete mu dodati i SSH. (pogledajte SSH podatke u odjeljku cool stvari)

Korak 6: dio šest: Instaliranje svih osnovnih alata za razvoj na Pi -u

Dio šesti: Instaliranje svih osnovnih alata za razvoj na Pi -u
Dio šesti: Instaliranje svih osnovnih alata za razvoj na Pi -u

pomoću SSH -a ili VNC -a (ili ako ste odlučili biti hladni i postaviti ga bez glave) učinite sljedeće. otvoreni terminal (ovaj sljedeći dio može potrajati …) pokrenite ove naredbe jednu po jednu nakon što se svaka ZAVRŠI.

sudo apt-get update; sudo apt-get upgrade instaliranje ffmpeg {sudo apt-get install ffmpeg

Korak 7: sedmi dio: Instaliranje Adafruit WebIDE -a

Dio sedmi: Instaliranje Adafruit WebIDE -a
Dio sedmi: Instaliranje Adafruit WebIDE -a

curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh otvorite preglednik na glavnoj radnoj površini. postavite URL vašeg preglednika na "https://***.*.*.***: 8080" zamijenite "*" lokalnom IP adresom vašeg Pi. napraviti korisničko ime i proći. sada imate adafruit webIDE postavku.

Korak 8: dio osam: Ažurirajte Node-red i Node.js

update-nodejs-and-nodered sljedeći kod učinit će da se nodered pokreće pri pokretanju, baš kao i adafruit webIDE, ovo je važno ako se želite razvijati na tim stvarima. sudo systemctl enable nodered.service ponovno pokrenite Pi

Korak 9: Deveti dio: Instaliranje Arduino IDE -a

Deveti dio: Instaliranje Arduino IDE -a
Deveti dio: Instaliranje Arduino IDE -a

to možete učiniti putem naredbenog retka, ali…. to neće biti puna verzija.. što znači da ne možete koristiti alat za uvoz/pretraživanje knjižnice, da biste instalirali punu verziju, morate otići na arduino web stranicu i preuzeti verziju za svoj pi model. bit će ARM32bit za pi3, dobiti stabilno izdanje. otvorite terminal. (zamijenite *sa podacima o izdanju) pokrenite ove naredbe.

www.arduino.cc/en/Main/Software

cd preuzimanja/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh

Korak 10: Deo dio: Ffmpeg

Deli dio: Ffmpeg
Deli dio: Ffmpeg

1x web kamera logitech

(sljedeće stavke ne uključuju ono što vam je potrebno za pokretanje 24/7 streama) 1x matična ploča druge maline pi model 3 b (sa SD karticom) pojedinačno adresirana LED traka. arduino nano kratkospojna žica omogućuje VNC preglednik na oba Pi (a)

pi postavke, omogućite vnc napravite račun s VNC preglednikom VAŽNO: na pi -ju koji namjeravate koristiti kao javni radni sto, idite na postavke vnc poslužitelja, opcije, karticu stručnjaka i postavite vrijeme mirovanja: 0 sekundi, postavljeno je za zatvaranje Vnc -a Viewer ako je u stanju mirovanja nakon sat vremena, to će spriječiti zatvaranje prozora u sredini toka. Instalirajte vnc viewer na streamer pi u terminalu.

sudo apt-get install vnc-java y

priključite web kameru i..instalirajte web kameru.

sudo apt install fswebcam

install ffmpeg sudo apt-get install ffmpeg y

tu dolaze do izražaja vaši vlastiti izbori. u terminalu pokrenite ovu skriptu da biste otvorili prozor na radnoj površini streamera pi za svoju web kameru.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay će vam omogućiti da to vidite u prozoru po imenu pi -cam, web kamera koju prikazuje vam je na lokaciji dev/video0 i izvorna veličina je 1920x1080. Želim vidjeti samo crop = width: height: topleft_X: topleft_Y i brzina kadra od 20 mi je dovoljna. sljedeći će se kod slijediti kako bi se trzao.

ffmpeg -f x11grab -video_veličina 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf ljestvica = 1280x720 -c: v h264 -g 24 -b: v 2M -namjena ultrabrza -c: a aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (umetnite svoj tok ključa ovdje)"

-f x11grab se koristi za hvatanje vašeg zaslona. moja je rezolucija zaslona postavljena na 1280x1024 Želim to prikazati u 1280x720 dakle -vf video formatu.

2m = 2mgb brzina prijenosa. -f flv je formatiranje videozapisa u.flv kako bi ga twitch mogao koristiti.

sada svom timu možete dati svoje VNC vjerodajnice radnom stolu Pi i oni mogu daljinski vidjeti promjene LED trake. Vikni ovom momku ~! njegov video mi je pomogao da dođem na pravi put, ipak sam morao smisliti kako ubaciti web kameru … i saznati o ffmpeg X/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc NAPOMENA: Nisam najinformiranija osoba, ovo jednostavno odgovara mojim potrebama, ako netko ima konstruktivan savjet volio bih ga čuti, ali molim vas nemojte biti jedan od mogućih putova za daljnje kretanje, bilo bi korištenje ovog mehaničara za prijenos ovoga, te korištenje drugog pi i svjetlosnog toka s kromiranim proširenjem za dohvaćanje tog streama i zatim dodavanje web kamere u to ili na bilo koji drugi način. https://www.youtube.com/embed/kb_5_9GkwZc TAKOĐER: ako želite dodati zvuk, kao što se vidi u videu man youtube, možete upotrijebiti ovaj niz, nisam želio da se moja kuća snima i poslano na twitch, ovo sjedi u mojoj sobi pa ne emitiram nikakav zvuk, također pomaže smanjiti opterećenje na pi.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i zadano -af kompresor = prag = 0,089: ratio = 9: attack = 200: release = 1000 -vf scale = 1280x720 -c: v h264 - g 24 -b: v 2M -namjenski ultrabrzi -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (umetnite svoj tok ključa ovdje")

11. korak:

Slika
Slika
Slika
Slika
Slika
Slika
Slika
Slika

sada do posljednjeg dijela, implementacijom arduino i pi serijske komunikacije s pythonom.

--- projekt who is home --- Projekt koristi python skriptu koja pokreće nmap u terminalu, kopira njegov sadržaj, raščlanjuje tekst koji nam ne treba i uspoređuje mac adrese na mreži s navedenim mac adrese i ako postoji podudaranje ta je osoba kod kuće. mac adrese pronađene su istražnim radom na usmjerivaču, ali alat nmap daje vam informacije o uređajima u tekstualnoj datoteci koju generira kôd. ako je korisnik prisutan, šalje znak arduinu, a arduino čeka dok se kontrolni popis ne završi i pali LED diode koje odgovaraju profilima navedenim za mac adrese sadašnjih uređaja. možete dodati i druge stvari, primjerice da discord botovi pokreću naredbe nad ljudima koji dolaze ili odlaze s istim kodom pomoću operatora podprocesa za izvršavanje terminalnih naredbi unutar vaše python skripte. pa prvo instaliramo nmap sudo apt-get install nmap. zatim ćete htjeti preuzeti datoteke na našim klubovima Git-Hub.

github.com/ValenciaRobotics/embeddedclub

za python kod, instalacija raspbian dolazi sa svime što se koristi u ovom kodu, tako da vam ne treba ništa dodatno instalirati. koristili smo import re, import subprocess, time import, import serial. Važno je napomenuti da python koristi uvlačenje za odvajanje blokova koda, stoga imajte na umu da ako odlučite promijeniti način pisanja koda:) py dolazi s thonny ide i nekoliko drugih mogućnosti, smatram da je pokretanje skripte u thonnyju vrlo jednostavno, ako kliknete na datoteku i pokušate je izvršiti, to je bilo sugeriralo ili pretpostavilo da je thonny ono što ste htjeli koristiti. prije nego pokrenete program, morat ćete urediti sljedeće. redak 14: simboli * koriste se za prikrivanje vlastitih podataka o usmjerivaču, to ćete morati zamijeniti vlastitim lokalnim ip -om. bilo bi isto kao i ono što koristite za povezivanje s usmjerivačem. retci 28, 38, 48, 58: svi oni koriste simbol * za maskiranje mac adresa uređaja navedenih u mojoj mreži, morate ih promijeniti u mac adrese uređaja na vlastitoj mreži da biste otkrili veze. zašto mac adrese? jer bez rezervacije lokacija za vaš uređaj, oni će zasigurno ostati isti osim ako netko lažira. problema s ovim kodom, otkrit će se samo dok veza aktivno koristi internet, pa se možda neće otkriti unatoč prisutnosti korisnika. u arduino kodu, htjet ćete promijeniti sljedeće. prvo ćete htjeti otići na karticu alati, odabrati upravitelja knjižnica, potražiti "fastLED" i instalirati biblioteku za "fastLED". zatim ćete morati učitati "who is home".ino kod sa stranice github i promijeniti sljedeće kako želite. redak 86: promijenite boje na temelju onoga što želite da vaši korisnici prilože:)

// uključite ono što trebate

if (d == 1) {leds [0] = 0xdd8bff; // ljubičaste LED diode [1] = 0xdd8bff;}

if (l == 1) {leds [2] = CRGB:: Zeleno; LED diode [3] = CRGB:: Zelena;}

if (k == 1) {leds [4] = CRGB:: Crveno; LED diode [5] = CRGB:: Crveno; }

if (j == 1) {leds [6] = CRGB:: Plavo; LED diode [7] = CRGB:: Plava;}

FastLED.show (); kašnjenje (30000); // 10 sekundi čekanja na prekidaču Kratko objašnjenje kako dodati više korisnika je sljedeće

void loop () {{100} {101}

if (Serial.available ()> 0) {

Serial.println ();

person = Serial.read ();

kašnjenje (1000);

switch (osoba) {

slučaj 'D': d = 1;

osoba = 'F';

count = brojanje+1;

pauza;

slučaj ':

d = 0;

osoba = 'F';

count = count+1;

pauza;

veliko D je primljeni znak iz python skripte, pa zna da je korisnik prisutan jer je primljeno slovo veliko D, pa mijenja vrijednost INTEGER d na 1, ako je malo slovo nego što zna su odsutni pa je INTEGER postavljen na 0. uvjet za osvjetljenje LED dioda u skripti od ranije koristi izjavu da je IF d 1 tada će zasvijetliti LED diodu, ali ako nije, ta LED lampica ostaje "crna" što znači neosvijetljeno. ovaj kôd koristi knjižnicu "fastLED" i postoji mnogo dokumentacije o tome. imajte na umu da ako promijenite znakove, dodate znakove ili uklonite znakove, morat ćete promijeniti python skriptu da biste vratili one koje ste i vi promijenili, također ćete morati promijeniti uvjet u petlji void. if (count == 4) {holdup ();}} broj će morati odražavati broj uređaja koje "pratite". u mom slučaju to je 4, pa čeka dok se 4 uređaja ne proglase prisutnima ili odsutnima, a zatim ažurira LED traku. u Python kodu, retci 31, 34, 41, 44, 51, 54, 61, 64 imaju sljedeći redak ser.write (b ' *') #šalje znak baciran kao bajt preko serijskog broja gdje je * znak koji je slanje na arduino. promijenite ovo ako promijenite kôd u arduinu ili obrnuto:)

Opet, kao završnu riječ, želim odati priznanje svom suigraču Jonu, koji je sjajno odradio posao kad je trebao kad smo trebali.

Skriptu za Python dao je: Jonathan De La Cruzhttttps: //www.linkedin.com/in/jonathandelacruz96/

Arduino skriptu, prolazak i postavljanje kućnog laboratorija napravio je: Dylan Poll

www.linkedin.com/in/dylan-poll-4a324a1a2/

Nadajmo se da ćemo osvojiti barem majicu! Ažurirat ću ovo naredbama ljuske za automatsko preuzimanje i instaliranje većine toga, web stranica naših klubova zapravo ima ljuske skripte koje se mogu preuzeti za obavljanje ffmpeg operacija.

Ovaj projekt oduzeo mi je puno vremena, osnovao sam ovu podjelu kluba od temelja pa s ponosom mogu reći da mi ovaj trenutak donosi mnogo radosti.:) hvala na vašem vremenu, zbog ovog projekta imamo radnu platformu za razvoj u mom klubu.

Preporučeni: