INHOUDSOPGAWE:

Raspberry Pi HomeLab en wie is tuis: 11 stappe
Raspberry Pi HomeLab en wie is tuis: 11 stappe

Video: Raspberry Pi HomeLab en wie is tuis: 11 stappe

Video: Raspberry Pi HomeLab en wie is tuis: 11 stappe
Video: HDD Coin — Как ЛЕГКО получить 30 % БЕСПЛАТНЫХ HDD Coin (программа HODL + командное интервью) 2024, Julie
Anonim
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis
Raspberry Pi HomeLab en wie is tuis

Dit is my eerste onvernietigbare, maar hierdie instruksies het twee fazes.

faze one: is besig om 'n pi op te stel om as 'n tuislaboratorium te werk vir IOT-werk vir 'n span studente-ontwikkelaars.

faze twee: gebruik die stelsel vir ontwikkeling deur 'n demonstrasie te implementeer met behulp van ons wie -is -tuis -projek.

teen die einde hiervan het u 'n op afstand toeganklike pi wat deur mense gebruik kan word om op afstand op IOT -toestelle te programmeer en te werk.

nou waarsku ek dat u deur u pi sonder die nodige sekuriteit vir die publiek oop te maak, die risiko loop om u tuisnetwerk aan te val.

Ons gaan in die volgende stappe oor die eerste fout, maar dit is 'n skakel na inligting oor ons klub en die projek wie tuis is.

github.com/ValenciaRobotics/embeddedclub

Wie is tuis

die Who Is home -projek doen die volgende: voer 'n python -script uit wat kyk na die mac -adresse van toestelle wat aan u netwerk gekoppel is. dit gebruik Nmap hiervoor. dit loop die adresse teen 'n lys adresse, en as die gelyste adres teenwoordig is, stuur dit 'n char na 'n arduino deur gebruik te maak van seriële kommunikasie. die arduino beheer 'n LED -strook, en as dit 'n teken ontvang, het dit 'n gepaardgaande kleur vir die toestel en dit lig die LED's vir die persoon aan, gebaseer op die teenwoordigheid daarvan.

ons afdelings sak

sites.google.com/view/valencia-robotics

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

ons klub se webwerf

sites.google.com/view/valenciatechclub

die Python Script is verskaf deur: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

die Arduino Script en deurloop en opstel van die tuislaboratorium is gedoen deur: Dylan Poll

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

Ek is Dylan Poll, ek is die huidige president van die tegnologieklub van ons kollege en ek is ook die ingeboude stelselshoof.

Voorrade

'N pi

'N Arduino

'N Broodplank

springdrade

'N Webcam

individueel aanspreekbare RGB LED Strip

kragtoevoer vir u pi, 'n sleutelbord, 'n muis, 'n rekenaar om die eerste opstelling uit te voer.

Stap 1: Laai en installeer aanvanklike opstellêers

aflaai en installeer stopverf (vensters)

www.putty.org

laai rufus af en installeer

rufus.ie

laai raspbian full buster af en aanbevole sagteware (.zip)

www.raspberrypi.org/downloads/raspbian/

haal die inhoud in die.zip uit, dit is u [prentlêer].

neem 'n micro sd -kaart en gebruik 'n dock of 'n microsd na usb -toestel en steek dit in u rekenaarformaat op u sd -kaart

Stap 2: Deel twee: Installeer Raspbian met behulp van Rufus

Deel twee: Installeer Raspbian met behulp van Rufus
Deel twee: Installeer Raspbian met behulp van Rufus

run rufus, kies u sd -kaart in die eerste veld, kies die raspbian -beeldlêer vir die.iso/.img kies begin en wag totdat dit klaar is.

Stap 3: deel drie: Sluit die Pi aan

nadat dit klaar is, trek die sd -kaart uit, plaas dit in die sd -kaartgleuf op die pi, eers op die "onderste" prop van die HDMI -koord na die pi, as 'n sleutelbord en muis en die laaste kragkabel. As u eers die krag aansluit, sal dit moontlik nie u monitor/TV registreer nie.

Stap 4: deel vier: Die opstel van u rekening

meld aan by pi! doen die eerste opstelling! moet dit nie oorslaan nie! kies 'n Amerikaanse Engelse sleutelbord, of u sal later nie u @ -simbool vind nie … as u dit nie doen nie, is u @ -simbool waar u 'is. meld dan aan by u wifi op pi moet nog nie opdateer nie. en gaan na voorkeure, gaan na pi -konfigurasie. gaan na die blad koppelvlakke.

aktiveer VNC … en alles anders moet nie herlaai nie.

Stap 5: deel vyf: Stel u Pi as koploos in (die beste ding ooit)

Deel vyf: Stel jou Pi as koploos in (die beste ding ooit)
Deel vyf: Stel jou Pi as koploos in (die beste ding ooit)

kyk regs bo op u skerm. u sien die swart en blou VNC -logo. maak dit oop. druk op teken, maak en maak rekening. voeg die pi by. op u lessenaar/skootrekenaar oop blaaier soek op Google VNC viewer aflaai installeer. Teken in op jou rekening. kyk na u e -pos om aan te meld en magtig uself. koppel aan u pi (tik die pi -wagwoord in die tweede aanmeldkieslys in) as dit werk, skakel u pi af. ontkoppel jou pi en alles. sit die pi in 'n hoek in u kamer en voer slegs die kragkabel daarheen. u kan aan die pi koppel met behulp van VNC viewer. jy het nou 'n "koplose" pi. U kan dit ook SSH. (sien SSH -inligting in die afdeling vir cool stuff)

Stap 6: deel ses: Die installering van al die kernhulpmiddels vir die ontwikkeling op 'n Pi

Deel ses: Die installering van al die kernhulpmiddels vir die ontwikkeling op 'n Pi
Deel ses: Die installering van al die kernhulpmiddels vir die ontwikkeling op 'n Pi

deur SSH of VNC te gebruik (of as u besluit het om nie koel te wees nie en dit sonder kop op te stel), doen die volgende. oop terminale (dit kan 'n rukkie neem …) voer hierdie opdragte een vir een uit nadat elkeen voltooi is.

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

Stap 7: deel sewe: Die installering van die Adafruit WebIDE

Deel sewe: Die installering van die Adafruit WebIDE
Deel sewe: Die installering van die Adafruit WebIDE

krul https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo moet 'n blaaier op u hoofskerm oopmaak. wys u blaaier -URL na "https://***.*.*.****: 8080" vervang die "*" met die plaaslike IP -adres van u Pi. maak 'n gebruikersnaam en gee dit deur. u het nou die adafruit webIDE -opstelling.

Stap 8: deel agt: Werk Node-red en Node.js op

update-nodejs-and-nodered die volgende kode sal genereer word tydens die opstart, net soos die adafruit webIDE, dit is belangrik as u oor hierdie dinge wil ontwikkel. sudo systemctl aktiveer nodered.service herbegin die Pi

Stap 9: deel nege: die installering van Arduino IDE

Deel nege: die installering van Arduino IDE
Deel nege: die installering van Arduino IDE

u kan dit via die opdragreël doen, maar …. dit is gewoonlik nie die volledige weergawe nie. Dit beteken dat u nie die biblioteek se invoer-/soekinstrument kan gebruik nie. Om die volledige weergawe te installeer, moet u na die arduino -webwerf gaan en die weergawe vir u pi -model aflaai. dit sal die ARM32bit vir die pi3 wees, kry die stabiele weergawe. open terminale. (vervang die *'s met die vrystellingsinligting) voer hierdie opdragte uit.

www.arduino.cc/en/Main/Software

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

Stap 10: Deel tien: Ffmpeg

Deel tien: Ffmpeg
Deel tien: Ffmpeg

1x webkamera logitech

(die volgende items bevat nie wat u nodig het om 'n 24/7 stroom uit te voer nie) 1x broodbord 'n tweede framboos pi model 3 b (met sd -kaart) individueel aanspreekbare LED -strook. arduino nano jumper wire aktiveer VNC viewer op beide Pi (s)

pi -voorkeure, aktiveer vnc maak 'n rekening met VNC viewer BELANGRIK: op die pi wat u van plan is om as 'n openbare werkbank te gebruik, gaan na vnc -bedienerinstellings, opsies, deskundige -oortjie en maak 'n ledige time -out: 0 sekondes, dit is ingestel om Vnc te sluit as die kyker na 'n uur onaktief is, sal dit voorkom dat u venster in die middel van die stroom installeer vnc viewer op streamer pi in die terminale.

sudo apt-get installeer vnc-java y

koppel u webkamera aan en installeer u webkamera.

sudo apt installeer fswebcam

installeer ffmpeg sudo apt-get install ffmpeg y

dit is waar u eie keuses ter sprake kom. In terminaal, voer hierdie script uit om 'n venster op u streamer pi se lessenaar vir u webcam oop te maak.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay laat jou toe om dit te sien in 'n venster met die naam pi -cam, die webcam wys jou by location dev/video0 en die oorspronklike grootte is 1920x1080. Ek wil net die gewas = breedte: hoogte: topleft_X: topleft_Y sien en 'n framerate van 20 is vir my genoeg. die volgende kode sal stroom om te trek.

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

-f x11grab word gebruik om u skerm te gryp. my skermresolusie is ingestel op 1280x1024, ek wil dit in 1280x720 so -vf videoformaat vertoon.

2m = 2 mgb oplaaisnelheid. -f flv is om die video in.flv te formateer sodat twitch dit kan gebruik.

nou kan u u span u VNC -geloofsbriewe aan die werkbank Pi gee, en hulle kan die veranderinge aan die led -strook op afstand sien. Roep hierdie man uit ~! sy video het my gehelp om op die regte spoor te kom, maar ek moes nog steeds uitvind hoe ek in my webcam moet inkom … en meer te wete kom oor ffmpeg X/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc LET WEL: ek is nie die mees ingeligte persoon nie, dit werk eenvoudig vir my behoeftes; as iemand opbouende advies het, hoor ek dit graag, maar moet dit asseblief nie doen nie bedoel, een van die moontlike roetes om dit verder te neem, sou wees om hierdie werktuigkundige te gebruik om dit te stroom, en 'n ander pi en die chroom -verlengingsligstroom te gebruik om die stroom te gaan haal en dan die webcam daarin of op 'n ander manier te voer. https://www.youtube.com/embed/kb_5_9GkwZc OOK: as u klank wil byvoeg, soos gesien in die mans -YouTube -video, kan u hierdie string gebruik, ek wou nie hê dat my huis opgeneem moet word nie en gestuur om te ruk, dit sit in my kamer, sodat ek geen klank stroom nie, dit help ook om die las op die pi te verminder.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i standaard -af acompressor = drempel = 0.089: ratio = 9: aanval = 200: vrylating = 1000 -vf skaal = 1280x720 -c: v h264 - g 24 -b: v 2M -preset ultra -vinnige -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

Stap 11:

Beeld
Beeld
Beeld
Beeld
Beeld
Beeld
Beeld
Beeld

nou tot die laaste rek, met die implementering van arduino en pi seriële kommunikasie met python.

--- die wie is tuisprojek --- Die projek gebruik 'n python-script wat nmap in terminale uitvoer, kopieer die inhoud daarvan, ontleed die teks wat ons nie nodig het nie en vergelyk die mac-adresse op die netwerk met die gelyste mac -adresse en as daar 'n pasmaat is, is die persoon tuis. Die mac -adresse is gevind deur ondersoekwerk op die router te doen, maar die nmap -instrument gee u inligting oor die toestelle in die tekslêer wat deur die kode gegenereer word. as die gebruiker teenwoordig is, stuur dit 'n karakter na die arduino, en die arduino wag totdat die kontrolelys voltooi is, en brand LED's wat ooreenstem met die profiele wat gelys word vir die mac -adresse van huidige toestelle. u kan ander dinge byvoeg, soos om onenigheid bots opdragte uit te voer op mense wat met dieselfde kode kom of gaan deur die subproses-operateur te gebruik om terminale opdragte in u python-script uit te voer. dus installeer ons eers nmap sudo apt-get install nmap. Vervolgens wil u die lêers aflaai op ons Git-Hub van ons klubs.

github.com/ValenciaRobotics/embeddedclub

Vir die python -kode bevat die raspbian -installasie alles wat in hierdie kode gebruik word, sodat u niks meer nodig het nie. ons het invoer her, subproses invoer, tyd ingevoer, reeks ingevoer, dit is belangrik om daarop te let dat python inspringing gebruik om kodeblokke te skei, dus wees bewus daarvan as u besluit om die manier waarop die kode geskryf word, te verander:) die py kom met thonny ide en 'n paar ander opsies, ek vind dat die uitvoering van die script in thonny regtig eenvoudig is; as u op die lêer klik en probeer om dit uit te voer, is dit voorgestel of aanvaar thonny wat u wou gebruik. Voordat u die program begin, moet u die volgende wysig. reël 14: die * simbole word gebruik om my eie router -inligting te masker, u moet dit vervang met u eie plaaslike ip. dit sal dieselfde wees as wat u gebruik om aan u router te koppel. reëls 28, 38, 48, 58: hierdie almal gebruik die * simbool om die mac -adresse van die toestel wat in my netwerk verskyn, te masker, u moet dit verander na die mac -adresse van die toestelle op u eie netwerk om verbindings op te spoor. hoekom mac adresse? want sonder om plekke vir u toestel te bespreek, sal hulle sekerlik dieselfde bly, tensy iemand hulle bedrieg. probleme met hierdie kode, sal dit slegs opspoor terwyl 'n verbinding aktief internet gebruik, sodat dit moontlik nie opgespoor word nie, selfs al is daar 'n gebruiker. in die arduino -kode, wil u die volgende verander. Eerstens wil u na die tabblad Gereedskap gaan, biblioteekbestuurder kies en na "fastLED" soek en die biblioteek installeer vir "fastLED". Vervolgens moet u die 'wie is tuis'.ino -kode vanaf die github -bladsy laai en die volgende verander soos u wil. reël 86: verander die kleure op grond van wat u wil hê dat u gebruikers daaraan moet heg:)

// skakel aan wat u nodig het

as (d == 1) {leds [0] = 0xdd8bff; // pers leds [1] = 0xdd8bff;}

as (l == 1) {leds [2] = CRGB:: Groen; leds [3] = CRGB:: Groen;}

as (k == 1) {leds [4] = CRGB:: Rooi; leds [5] = CRGB:: Rooi; }

as (j == 1) {leds [6] = CRGB:: Blou; leds [7] = CRGB:: Blou;}

FastLED.show (); vertraging (30000); // Wag 10 sekondes op die skakelaarkas, 'n kort uiteensetting van hoe u meer gebruikers kan byvoeg, is die volgende

leemte -lus () {

as (Serial.available ()> 0) {

Serial.println ();

persoon = Reeks.lees ();

vertraging (1000);

skakelaar (persoon) {

case'D ': d = 1;

persoon = 'F';

tel = tel+1;

breek;

case'd ':

d = 0;

persoon = 'F';

tel = tel+1;

breek;

die hoofletter D is die ontvangen karakter uit die python -skrif, sodat dit weet dat die gebruiker teenwoordig is omdat die ontvangde letter die hoofletter D is, sodat dit die waarde van die INTEGER d na 1 verander, as dit 'n kleinletter is as wat dit weet afwesig is, sodat die INTEGER ingestel is op 0. Die voorwaarde vir LED -beligting in die skrif van voor gebruik 'n stelling dat IF d 1 is as dit die LED sal verlig, maar as dit nie die LED is nie, bly dit as 'swart', wat beteken dat dit nie brand nie. hierdie kode gebruik die biblioteek "fastLED" en daar is baie dokumentasie hieroor. Let daarop dat as u die karakters verander, karakters byvoeg of karakters verwyder, u die python -script moet verander om die karakters wat u ook verander het, terug te gee, u ook die toestand in die leemte -lus moet verander. if (count == 4) {holdup ();}} die telling sal die aantal toestelle wat u "dop" moet weerspieël. in my geval is dit 4, so dit wag totdat 4 toestelle as teenwoordig of afwesig verklaar is, en dan werk die LED -strook by. in die luislangkode het die reëls 31, 34, 41, 44, 51, 54, 61, 64 die volgende reël ser.write (b ' *') stuur na die arduino. verander dit as u die kode in die arduino verander of omgekeerd:)

Weereens, as 'n slotverklaring, wil ek my spanmaat Jon krediet gee, hy het 'n uitstekende taak gedoen om die spoed op te tel wanneer ons dit nodig gehad het.

die Python Script is verskaf deur: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

die Arduino Script en deurloop en opstel van die tuislaboratorium is gedoen deur: Dylan Poll

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

Hopelik wen ons ten minste 'n t-hemp! Ek sal dit opdateer met dopopdragte om die meeste hiervan outomaties af te laai en te installeer; ons klubwebwerf het eintlik aflaaibare dopskrifte om die ffmpeg -operasies uit te voer.

Hierdie projek het baie tyd in beslag geneem. Ek het hierdie afdeling van die klub van die begin af gestig, sodat ek met trots kan sê dat hierdie oomblik my baie vreugde verskaf.:) dankie vir jou tyd, ons het 'n werkende platform om nou in my klub te ontwikkel as gevolg van hierdie projek.

Aanbeveel: