Përmbajtje:

Raspberry Pi HomeLab dhe Kush është në shtëpi: 11 hapa
Raspberry Pi HomeLab dhe Kush është në shtëpi: 11 hapa

Video: Raspberry Pi HomeLab dhe Kush është në shtëpi: 11 hapa

Video: Raspberry Pi HomeLab dhe Kush është në shtëpi: 11 hapa
Video: OpenSSH for Windows: The IT Admin's Key to Remote Management 2024, Korrik
Anonim
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi
Raspberry Pi HomeLab dhe Kush është në shtëpi

Ky është imi i parë i pathyeshëm, por ky udhëzues ka dy faza.

faza e parë: po krijon një pi për të punuar si laborator shtëpiak për punën IOT për një ekip zhvilluesish studentë.

faza e dytë: po përdor sistemin për zhvillim, duke zbatuar një demonstrim duke përdorur projektin tonë kush është shtëpia.

në fund të kësaj ju do të keni një pi pa kokë nga distanca, e cila mund të përdoret nga njerëzit për të programuar dhe punuar në distancë në pajisjet IOT.

tani unë paralajmëroj, se duke hapur pi -në tuaj për publikun pa sigurinë e duhur, ju hapeni veten ndaj rrezikut të sulmimit të rrjetit tuaj në shtëpi.

ne do të kalojmë fazën e parë në hapat në vijim, por kjo është një lidhje me disa informacione mbi klubin tonë dhe projektin kush është në shtëpi.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

projekti Kush është në shtëpi bën sa më poshtë: drejton një skript python që kontrollon adresat mac të pajisjeve të lidhura me rrjetin tuaj. përdor Nmap për këtë. i drejton ato adresa kundër një liste adresash dhe nëse adresa e listuar është e pranishme, i dërgon një shenjë një arduino duke përdorur komunikimet serike. arduino kontrollon një shirit LED dhe kur merr një shenjë ka një ngjyrë të lidhur për atë pajisje dhe ndez LED -et për atë person bazuar në praninë e tyre.

ndarjet tona subsite

sites.google.com/view/valencia-robotics

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

siti i klubeve tona

sites.google.com/view/valenciatechclub

Shkrimi Python u sigurua nga: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Skripti Arduino dhe ecja nëpër dhe konfigurimi i laboratorit të shtëpisë u bë nga: Dylan Poll

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

Unë jam Dylan Poll, unë jam presidenti aktual i klubit teknologjik të kolegjit tonë dhe jam gjithashtu udhëheqës i sistemeve të integruara.

Furnizimet

Një pi

Një arduino

Një dërrasë buke

telat e kërcyesit

Një kamerë në internet

Rrip LED i adresueshëm individualisht

furnizimi me energji për pi tuaj, një tastierë një mouse, kompjuter për të bërë konfigurimin fillestar.

Hapi 1: Shkarkimi dhe instalimi i skedarëve fillestarë të konfigurimit

shkarkoni dhe instaloni stuko (Windows)

www.putty.org

shkarkoni rufus dhe instaloni

rufus.ie

Shkarkoni programin e plotë raspbian dhe programin e rekomanduar (.zip)

www.raspberrypi.org/downloads/raspbian/

ekstraktoni përmbajtjen në.zip ky do të jetë [skedari i imazhit] tuaj.

merrni një kartë mikro sd dhe përdorni një bankë dore ose një mikrosd për të pajisur me USB dhe futeni në formatin e kompjuterit tuaj kartën tuaj sd

Hapi 2: pjesa e dytë: Instaloni Raspbian duke përdorur Rufus

Pjesa e dytë: Instaloni Raspbian duke përdorur Rufus
Pjesa e dytë: Instaloni Raspbian duke përdorur Rufus

ekzekutoni rufus zgjidhni kartën tuaj sd në fushën e parë zgjidhni skedarin e imazhit raspbian për.iso/.img zgjidhni fillimin dhe prisni që të përfundojë.

Hapi 3: pjesa e tretë: Futja në Pi

pasi të keni përfunduar, nxirrni kartën sd, vendoseni në folenë e kartës sd në pi, e cila është në prizën "e poshtme" në kordonin HDMI në pi së pari, sesa një tastierë dhe miun, dhe kabllo të fundit të energjisë. nëse së pari lidhni rrymën, mund të mos regjistrojë monitorin/televizorin tuaj.

Hapi 4: pjesa e Katërt: Krijimi i llogarisë suaj

hyni në pi! bëni konfigurimin e parë të ekzekutimit! mos e anashkaloni! zgjidhni tastierën amerikane në anglisht ose nuk do ta gjeni simbolin tuaj @ më vonë … nëse nuk e keni simbolin tuaj @ ku është ". hyni në wifi tuaj në pi mos e përditësoni akoma. Unë kam një arsye. godit tastin e" tastierës së dritareve " "dhe shkoni te preferencat, shkoni te konfigurimi pi. shkoni te skeda e ndërfaqeve.

aktivizoni VNC…. dhe gjithçka tjetër mos rindizni.

Hapi 5: pjesa e Pestë: Konfigurimi i Pi -t tuaj si pa kokë (gjëja më e mirë ndonjëherë)

Pjesa e Pestë: Vendosja e Pi -t tuaj si pa kokë (gjëja më e mirë ndonjëherë)
Pjesa e Pestë: Vendosja e Pi -t tuaj si pa kokë (gjëja më e mirë ndonjëherë)

shikoni në pjesën e sipërme të djathtë të ekranit tuaj. do të shihni logon VNC të zezë dhe të kaltër. hape ate. goditi identifikohuni, bëni dhe jepni llogari. shtoni pi. në desktopin/laptopin tuaj hapni kërkimin e shfletuesit në google VNC view download download install. hyni në llogarinë tuaj. kontrolloni email -in tuaj për t'u identifikuar dhe autorizoni veten. lidheni me pi -në tuaj (shkruani fjalëkalimin pi në menunë e dytë të hyrjes) nëse funksionon fikni pi -në tuaj. shkëputni pi -në tuaj dhe gjithçka. vendosni pi në një cep në dhomën tuaj dhe drejtojeni vetëm kabllon e energjisë në të. mund të lidheni me pi duke përdorur shikuesin VNC. tani keni një pi "pa kokë". ju gjithashtu mund të SSH në të. (shikoni informacionin SSH në seksionin e gjërave të lezetshme)

Hapi 6: pjesa e Gjashtë: Instalimi i të gjitha mjeteve bazë për zhvillimin në Pi

Pjesa e Gjashtë: Instalimi i të gjitha mjeteve bazë për zhvillimin në Pi
Pjesa e Gjashtë: Instalimi i të gjitha mjeteve bazë për zhvillimin në Pi

duke përdorur SSH ose VNC (ose nëse keni vendosur të mos jeni të ftohtë dhe ta vendosni atë pa kokë) bëni sa më poshtë. terminal i hapur (kjo pjesë tjetër mund të zgjasë një kohë …

sudo apt-get update; sudo apt-get upgrade instalimin e ffmpeg {sudo apt-get install ffmpeg

Hapi 7: pjesa e Shtatë: Instalimi i Adafruit WebIDE

Pjesa e Shtatë: Instalimi i Adafruit WebIDE
Pjesa e Shtatë: Instalimi i Adafruit WebIDE

përdredh https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh hap një shfletues në desktopin tuaj kryesor. drejtoni URL -në e shfletuesit tuaj në "https://***.*.*.***: 8080" zëvendësoni "*" me adresën IP lokale të Pi tuaj. bëni një emër përdoruesi dhe kaloni. tani keni konfigurimin adafruit webIDE.

Hapi 8: pjesa e Tetë: Përditësoni Nyjen-red dhe Node.js

update-nodejs-dhe-nodered kodi tjetër do të bëjë që nodered të funksionojë gjatë fillimit ashtu si webIDE e adafruit, kjo është e rëndësishme nëse doni të zhvilloheni në këto gjëra. sudo systemctl aktivizoni nodered.service rinisni Pi

Hapi 9: pjesa e Nëntë: Instalimi i Arduino IDE

Pjesa e Nëntë: Instalimi i Arduino IDE
Pjesa e Nëntë: Instalimi i Arduino IDE

ju mund ta bëni atë përmes vijës së komandës, por…. nuk do të jetë versioni i plotë.. do të thotë që nuk mund të përdorni mjetin e importit/kërkimit të bibliotekës, për të instaluar versionin e plotë duhet të shkoni në faqen e internetit të arduino dhe të shkarkoni versionin për modelin tuaj pi. do të jetë ARM32bit për pi3, merrni lirimin e qëndrueshëm. hap terminalin. (zëvendëso * -të me informacionin e lëshimit) ekzekuto këto komanda.

www.arduino.cc/en/Main/Software

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

Hapi 10: Pjesa e Dhjetë: Ffmpeg

Pjesa e Dhjetë: Ffmpeg
Pjesa e Dhjetë: Ffmpeg

1x kamera logitech

(artikujt e mëposhtëm nuk përfshijnë atë që ju nevojitet për të drejtuar një rrjedhë 24/7) 1x breadboard një model të dytë mjedër pi 3 b (me kartë sd) shirit LED i adresueshëm individualisht. teli arduino nano jumper aktivizon shikuesin VNC në të dy Pi (të)

preferencat pi, aktivizoni vnc të bëni një llogari me shikuesin VNC E RORTNDSISHME: në pi që planifikoni të përdorni si stol të punës publike, shkoni te cilësimet e serverit vnc, opsionet, skeda e ekspertëve dhe bëni afatin boshe: 0 sekonda, është vendosur të mbyllë Vnc shikuesi nëse është i papunë pas një ore, duke bërë këtë do të ndalojë që dritarja juaj të mbyllet në mesin e rrymës instaloni shikuesin vnc në streamer pi në terminal.

sudo apt-get install vnc-java y

lidhni kamerën tuaj në internet dhe..instaloni kamerën tuaj në internet.

sudo apt instaloni fswebcam

install ffmpeg sudo apt-get install ffmpeg y

këtu hyjnë në lojë zgjedhjet tuaja. në terminal, ekzekutoni këtë skenar për të hapur një dritare në desktopin e transmetuesit tuaj pi për kamerën tuaj në internet.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay do t'ju lejojë ta shihni këtë në një dritare të quajtur pi -cam, kamera në internet që ju tregon është në vendndodhjen dev/video0 dhe madhësia e tij origjinale është 1920x1080. Unë vetëm dua të shoh kulture = gjerësi: lartësi: topleft_X: topleft_Y dhe një kuadër prej 20 është i mjaftueshëm për mua. kodi i ardhshëm do të transmetohet për tu dridhur.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf scale = 1280x720 -c: v h264 -g 24 -b: v 2M -preset ultrafast -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

-f x11grab përdoret për të kapur ekranin tuaj. Rezolucioni i ekranit tim është vendosur në 1280x1024 Unë dua ta shfaq atë në formatin video 1280x720 kështu -vf.

2m = shpejtësia e ngarkimit 2mgb. -f flv do të formatojë videon në.flv kështu që twitch mund ta përdorë atë.

tani ju mund t'i jepni ekipit tuaj kredencialet tuaja VNC në tryezën e punës Pi dhe ata mund t'i shikojnë ndryshimet në shiritin led drejtpërdrejt nga distanca. Bërtit këtë djalë ~! videoja e tij më ndihmoi të ecja në rrugën e duhur, më duhej të kuptoja se si të shfaqesha në kamerën time në internet … dhe të mësoja rreth ffmpeg X/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc SHENIM: Unë nuk jam personi më i informuar, kjo thjesht punon për nevojat e mia, nëse dikush ka këshilla konstruktive do të më pëlqente ta dëgjoja, por ju lutem mos të jetë një nga rrugët e mundshme për ta çuar këtë më tej, do të ishte përdorimi i këtij mekaniku për të transmetuar këtë, dhe përdorimi i një tjetër pi dhe shtrirja e kromit për të tërhequr atë rrymë dhe sesa për të ushqyer kamerën në atë ose në ndonjë mënyrë tjetër. https://www.youtube.com/embed/kb_5_9GkwZc GJITHASHTU: nëse doni të shtoni audio, siç shihet në videon e burrit në youtube, mund ta përdorni këtë varg, nuk doja që shtëpia ime të regjistrohej dhe dërguar në twitch, kjo është ulur në dhomën time kështu që unë nuk transmetoj asnjë audio, gjithashtu ndihmon në zvogëlimin e ngarkesës në pi.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af acompressor = pragu = 0.089: ratio = 9: sulm = 200: release = 1000 -vf shkallë = 1280x720 -c: v h264 - g 24 -b: v 2M -paraprakisht ultrafast -c: aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

Hapi 11:

Imazhi
Imazhi
Imazhi
Imazhi
Imazhi
Imazhi
Imazhi
Imazhi

tani në shtrirjen përfundimtare, duke zbatuar komunikimin serial arduino dhe pi me python.

--- projekti kush është në shtëpi --- Projekti përdor një shkrim python që ekzekuton nmap në terminal, kopjon përmbajtjen e tij, analizon tekstin që nuk na nevojitet dhe krahason adresat mac në rrjet me ato të listuara adresat mac dhe nëse ka një ndeshje ai person është në shtëpi. adresat mac u gjetën duke bërë punë hetimore në ruter, por mjeti nmap ju jep informacion në lidhje me pajisjet në skedarin tekst të gjeneruar nga kodi. nëse përdoruesi është i pranishëm, ai dërgon një karakter në arduino, dhe arduino pret derisa të përfundojë lista e kontrollit dhe ndez dritat LED që korrespondojnë me profilet e listuara për adresat mac të pajisjeve aktuale. mund të shtoni gjëra të tjera, si p.sh. që botët e mosmarrëveshjes të ekzekutojnë komanda mbi njerëzit që vijnë ose shkojnë me të njëjtin kod duke përdorur operatorin e nën-procesit për të ekzekutuar komandat terminale brenda shkrimit tuaj python. kështu që së pari ne instalojmë nmap sudo apt-get install nmap. tjetër ju do të dëshironi të shkarkoni skedarët në klubet tanë Git-Hub.

github.com/ValenciaRobotics/embeddedclub

për kodin python, instalimi raspbian vjen me gjithçka që përdoret në këtë kod, kështu që nuk keni nevojë për asgjë shtesë të instaluar. ne përdorim import re, nënproces import, kohë importi, serial importi është e rëndësishme të theksohet se python përdor indentacion për ndarjen e blloqeve të kodit, prandaj ki parasysh se nëse vendos të ndryshosh mënyrën e shkrimit të kodit:) py vjen me ide thonny dhe disa opsione të tjera, unë zbuloj se drejtimi i skriptit në thonny është vërtet i drejtpërdrejtë, nëse klikoni në skedar dhe përpiqeni ta ekzekutoni atë, sugjerohej ose supozohej se thonny është ajo që dëshironi të përdorni. para se të ekzekutoni programin, do t'ju duhet të modifikoni sa vijon. rreshti 14: simbolet * përdoren për të maskuar informacionin tim të ruterit, ju do të duhet ta zëvendësoni atë me IP -në tuaj lokale. do të ishte e njëjtë me atë që përdorni për t'u lidhur me ruterin tuaj. linjat 28, 38, 48, 58: të gjitha këto përdorin simbolin * për të maskuar adresat e pajisjeve mac të listuara nga rrjeti im, ju duhet t'i ndryshoni ato në adresat mac të pajisjeve në rrjetin tuaj për të zbuluar lidhjet. pse adresat mac? sepse pa rezervuar vende për pajisjen tuaj, ata me siguri do të qëndrojnë të njëjtë nëse dikush nuk mashtron. probleme me këtë kod, ai do të zbulojë vetëm kur një lidhje është duke përdorur internetin në mënyrë aktive, kështu që mund të mos zbulohet pavarësisht se një përdorues është i pranishëm. në kodin arduino, do të dëshironi të ndryshoni sa vijon. së pari, do të dëshironi të shkoni në skedën e mjeteve, të zgjidhni menaxherin e bibliotekave dhe të kërkoni "fastLED" dhe të instaloni bibliotekën për "fastLED". tjetër do t'ju duhet të ngarkoni kodin "kush është në shtëpi".ino nga faqja e github dhe të ndryshoni sa më poshtë sipas dëshirës tuaj. rreshti 86: ndryshoni ngjyrat bazuar në atë që dëshironi të kenë bashkangjitur përdoruesit tuaj:)

// ndizni atë që ju nevojitet

nëse (d == 1) {leds [0] = 0xdd8bff; // leds vjollce [1] = 0xdd8bff;}

if (l == 1) {leds [2] = CRGB:: E gjelbër; leds [3] = CRGB:: Green;}

nëse (k == 1) {leds [4] = CRGB:: E kuqe; leds [5] = CRGB:: E kuqe; }

if (j == 1) {leds [6] = CRGB:: Blu; leds [7] = CRGB:: Blu;}

FastLED.shfaq (); vonesë (30000); // Pritja 10 sekondëshe në kutinë e ndërprerës është një shpjegim i shkurtër se si të shtoni më shumë përdorues

lak void () {

nëse (Seriali i disponueshëm ()> 0) {

Serial.println ();

person = Serial.lex ();

vonesa (1000);

kaloni (person) {

rasti 'D': d = 1;

person = 'F';

numërim = numërim+1;

pushim;

rast ':

d = 0;

person = 'F';

numërim = numërim+1;

pushim;

shkronja e madhe D është karakteri i marrë nga shkrimi python, kështu që ai e di që përdoruesi është i pranishëm sepse shkronja e marrë është e madhe D, kështu që ndryshon vlerën e INTEGER d në 1, nëse është një shkronjë e vogël nga sa e di ata mungojnë kështu që INTEGER është vendosur në 0. kushti për ndriçimin e leds në skenar nga më parë përdor një pohim se IF d është 1 se do të ndriçojë led, por nëse nuk është ai led qëndron si "i zi" që do të thotë i pa ndriçuar. ky kod përdor bibliotekën "fastLED" dhe ka shumë dokumentacion për këtë. vini re se nëse ndryshoni karakteret, shtoni karaktere ose hiqni karaktere ju do të duhet të ndryshoni shkrimin python për t'i kthyer ato që i keni ndryshuar gjithashtu, gjithashtu do t'ju duhet të ndryshoni gjendjen në lakin void. nëse (numëroni == 4) {holdup ();}} numërimi do të duhet të pasqyrojë numrin e pajisjeve që po "gjurmoni". në rastin tim është 4, kështu që pret derisa 4 pajisje të jenë deklaruar si të pranishme ose të munguara dhe pastaj përditëson shiritin LED. në kodin python, rreshtat 31, 34, 41, 44, 51, 54, 61, 64 kanë rreshtin e mëposhtëm ser.shkruaj (b ' *') #dërgon karakter të hedhur si bajt mbi serialin ku * është një karakter që është duke dërguar në arduino. ndryshoni këtë nëse ndryshoni kodin në arduino ose anasjelltas:)

Përsëri, si një deklaratë përmbyllëse, dua t'i jap merita shokut tim të skuadrës Jon, ai bëri një punë të shkëlqyeshme në kapjen e përtacisë kur na duhej.

ai Python Script u sigurua nga: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Skenari Arduino dhe ecja nëpër dhe konfigurimi i laboratorit të shtëpisë u bë nga: Dylan Poll

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

Shpresojmë të fitojmë të paktën një bluzë! Unë do ta azhurnoj këtë me komandat shell për të shkarkuar dhe instaluar automatikisht pjesën më të madhe të kësaj, faqja e internetit e klubeve tona në të vërtetë ka skripte shell të shkarkueshme për të bërë operacionet ffmpeg.

Ky projekt mori shumë kohë, unë themelova këtë ndarje të klubit nga themeli kështu që mund të them me krenari se ky moment më sjell shumë gëzim.:) faleminderit për kohën tuaj, ne kemi një platformë pune për t'u zhvilluar tani në klubin tim për shkak të këtij projekti.

Recommended: