Turinys:

„Raspberry Pi HomeLab“ir kas yra namuose: 11 žingsnių
„Raspberry Pi HomeLab“ir kas yra namuose: 11 žingsnių

Video: „Raspberry Pi HomeLab“ir kas yra namuose: 11 žingsnių

Video: „Raspberry Pi HomeLab“ir kas yra namuose: 11 žingsnių
Video: OpenSSH for Windows: The IT Admin's Key to Remote Management 2024, Liepa
Anonim
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“
„Raspberry Pi HomeLab“ir „Kas yra namie“

Tai mano pirmasis nesugriaunamas, tačiau šis nurodymas turi dvi fazes.

faze one: sukuriamas pi, kad jis dirbtų kaip namų laboratorija IOT darbui studentų kūrėjų komandoje.

faze two: naudoja sistemą plėtrai, įgyvendindama demonstraciją, naudodama projektą „Kas yra namai“.

pabaigos turėsite nuotoliniu būdu prieinamą pi be galvos, kurį žmonės galės naudoti nuotoliniu būdu programuoti ir dirbti su IOT įrenginiais.

Dabar aš įspėju, kad atvėrę savo pi visuomenei be tinkamo saugumo, jūs atveriate sau riziką, kad jūsų namų tinklas bus užpultas.

atliksime šiuos veiksmus, tačiau tai yra nuoroda į tam tikrą informaciją apie mūsų klubą ir projektą „Kas yra namai“.

github.com/ValenciaRobotics/embeddedclub

Kas yra namai

projektas „Kas yra namai“atlieka šiuos veiksmus: paleidžia „python“scenarijų, kuris tikrina prie jūsų tinklo prijungtų įrenginių „Mac“adresus. tam ji naudoja Nmap. jis paleidžia tuos adresus pagal adresų sąrašą ir, jei nurodytas adresas yra, jis siunčia simbolį arduino naudodamas serijinį ryšį. „arduino“valdo šviesos diodų juostą ir, gavusi žariją, turi atitinkamą to įrenginio spalvą ir uždega to asmens šviesos diodus, atsižvelgdama į jų buvimą.

mūsų padalinių poskyris

sites.google.com/view/valencia-robotics

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

mūsų klubų svetainėje

sites.google.com/view/valenciatechclub

„Python“scenarijų pateikė: Jonathanas De La Cruzas

www.linkedin.com/in/jonathandelacruz96/

„Arduino“scenarijų ir namų laboratorijos aprašymą bei nustatymą atliko: Dylanas Apklausa

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

Aš esu Dylanas Apklausa, esu dabartinis mūsų kolegijos technologijų klubo prezidentas ir taip pat esu įterptųjų sistemų lyderis.

Prekės

A pi

Arduino

Duonos lenta

jungiamieji laidai

Interneto kamera

individualiai adresuojama RGB LED juostelė

maitinimo šaltinis jūsų pi, klaviatūra, pelė, kompiuteris pradinei sąrankai atlikti.

1 veiksmas: pradinių sąrankos failų atsisiuntimas ir diegimas

Atsisiųskite ir įdiekite glaistą („Windows“)

www.putty.org

Atsisiųskite „rufus“ir įdiekite

rufus.ie

atsisiųskite raspbian full buster ir rekomenduojamą programinę įrangą (.zip)

www.raspberrypi.org/downloads/raspbian/

ištraukite.zip turinį, tai bus jūsų [vaizdo failas].

paimkite „micro sd“kortelę ir naudokite doką arba „microsd“prie USB įrenginio ir prijunkite jį prie kompiuterio formatu savo SD kortelę

2 veiksmas: antra dalis: įdiekite „Raspbian“naudodami „Rufus“

Antra dalis: įdiekite „Raspbian“naudodami „Rufus“
Antra dalis: įdiekite „Raspbian“naudodami „Rufus“

paleiskite rufus pasirinkite savo sd kortelę pirmame lauke pasirinkite raspbian vaizdo failą.iso/.img pasirinkite start ir palaukite, kol jis baigsis.

3 žingsnis: trečioji dalis: „Pi“prijungimas

Kai tai bus padaryta, ištraukite sd kortelę, įdėkite ją į sd kortelės lizdą ant pi, pirmiausia „apatiniame“kištuke į HDMI laidą prie pi, nei klaviatūrą ir pelę, ir paskutinį maitinimo kabelį. jei pirmiausia įjungsite maitinimą, monitorius/televizorius gali būti neužregistruotas.

4 žingsnis: ketvirta dalis: paskyros nustatymas

prisijunkite prie pi! atlikite pirmojo paleidimo sąranką! nepraleisk! pasirinkite JAV anglų klaviatūrą arba vėliau nerasite @ simbolio … jei ne jūsų @ simbolis yra ten, kur yra „. prisijunkite prie„ wifi “pi dar neatnaujinkite. Aš turiu priežastį. paspauskite„ Windows “klaviatūros klavišą ir eikite į nuostatas, eikite į pi konfigūraciją. eikite į sąsajų skirtuką.

įjungti VNC … ir visa kita neperkraunama.

5 žingsnis: penktoji dalis: „Pi“nustatymas be galvos (geriausias dalykas)

Penkta dalis: „Pi“nustatymas kaip be galvos (geriausias dalykas)
Penkta dalis: „Pi“nustatymas kaip be galvos (geriausias dalykas)

pažiūrėkite į viršutinį dešinįjį ekrano kampą. pamatysite juodą ir mėlyną VNC logotipą. atidaryk tai. paspauskite prisijungti, padaryti ir paskyra. pridėti pi. darbalaukyje/nešiojamajame kompiuteryje atidarykite naršyklės paiešką „Google“VNC peržiūros programos atsisiuntime. prisijunkite prie savo paskyros. patikrinkite savo el. pašto adresą ir prisijunkite. prisijunkite prie savo pi (įveskite pi slaptažodį antrame prisijungimo meniu), jei jis veikia, išjunkite savo pi. atjunkite savo pi ir viskas. padėkite pi į kambario kampą ir prijunkite prie jo tik maitinimo kabelį. prie „pi“galite prisijungti naudodami „VNC viewer“. dabar jūs turite „be galvos“pi. taip pat galite prisijungti prie SSH. (SSH informaciją rasite įdomių dalykų skyriuje)

6 žingsnis: šeštoji dalis: visų pagrindinių „Pi“kūrimo įrankių įdiegimas

Šeštoji dalis: visų pagrindinių „Pi“kūrimo įrankių įdiegimas
Šeštoji dalis: visų pagrindinių „Pi“kūrimo įrankių įdiegimas

naudodami SSH arba VNC (arba jei nusprendėte nebūti kietas ir nustatėte tai be galvos), atlikite šiuos veiksmus. Atidarykite terminalą (ši kita dalis gali užtrukti …). Vykdykite šias komandas po vieną po to, kai kiekviena bus baigta.

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

7 žingsnis: Septinta dalis: „Adafruit WebIDE“diegimas

Septintoji dalis: „Adafruit WebIDE“diegimas
Septintoji dalis: „Adafruit WebIDE“diegimas

garbanoti https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh atidarykite naršyklę pagrindiniame darbalaukyje. nukreipkite naršyklės URL į „https://***.*.*.***: 8080“, pakeiskite „*“savo „Pi“vietiniu IP adresu. sukurkite vartotojo vardą ir praeikite. dabar turite „adafruit webIDE“sąranką.

8 veiksmas: aštunta dalis: atnaujinkite „Node-red“ir „Node.js“

„update-nodejs-and-nodered“kitas kodas leis „nodered“paleisti paleidžiant, kaip ir „adafruit webIDE“, tai yra svarbu, jei norite tobulėti. sudo systemctl enable nodered.service iš naujo paleiskite Pi

9 veiksmas: devinta dalis: „Arduino IDE“diegimas

Devinta dalis: „Arduino IDE“diegimas
Devinta dalis: „Arduino IDE“diegimas

tai galite padaryti naudodami komandinę eilutę, bet … tai nebus pilna versija.. tai reiškia, kad negalite naudoti bibliotekos importavimo/paieškos įrankio, norėdami įdiegti pilną versiją, turite eiti į arduino svetainę ir atsisiųsti savo pi modelio versiją. tai bus „pi3“skirtas ARM32bit, gaukite stabilų leidimą. atidarykite terminalą. (*pakeiskite išleidimo informacija) paleiskite šias komandas.

www.arduino.cc/en/Main/Software

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

10 žingsnis: dešimtoji dalis: Ffmpeg

Dešimtoji dalis: Ffmpeg
Dešimtoji dalis: Ffmpeg

1x logitech internetinė kamera

(į kitus elementus neįeina tai, ko reikia 24/7 srautui paleisti) 1x duonos lenta antras aviečių pi modelis 3 b (su SD kortele) individualiai adresuojama LED juostelė. „arduino nano“jungiklio laidas įgalina VNC peržiūros programą abiejuose „Pi“

pi nuostatos, įjunkite „vnc“susikurkite paskyrą su „VNC viewer“SVARBU: „pi“, kurį planuojate naudoti kaip viešojo darbo suolą, eikite į „vnc“serverio nustatymus, parinktis, skirtuką „Ekspertas“ir padarykite tuščiosios eigos laiką: 0 sekundžių, nustatyta uždaryti „Vnc“žiūrovas, jei po valandos jis neveiks, tai padarius, jūsų langas neužsidarys srauto viduryje. Įdiekite „vnc viewer“srautinio perdavimo sistemoje terminale.

sudo apt-get install vnc-java y

prijunkite savo internetinę kamerą ir … įdiekite savo internetinę kamerą.

sudo apt įdiegti fswebcam

įdiegti ffmpeg sudo apt-get install ffmpeg y

čia atsiranda jūsų paties pasirinkimas. terminale paleiskite šį scenarijų, kad atidarytumėte langą savo vaizdo kameros „streamer pi“darbalaukyje.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay leis jums tai pamatyti lange, pavadintame pi -cam, kuriame rodoma internetinė kamera vietoje dev/video0, o jo pradinis dydis yra 1920x1080. Aš noriu pamatyti tik pasėlį = plotis: aukštis: topleft_X: topleft_Y ir man pakanka 20 kadrų. kitas kodas bus transliuojamas į trūkčiojimą.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf scale = 1280x720 -c: v h264 -g 24 -b: v 2M -preset itin greitas -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (įterpkite savo srauto raktą čia)"

-f x11grab naudojamas ekranui patraukti. mano ekrano skiriamoji geba nustatyta į 1280x1024. Noriu tai parodyti 1280x720 vaizdo įrašo formatu.

2 m = 2 mgb įkėlimo greitis. -f flv yra vaizdo įrašo formatavimas į.flv, kad „Twitch“galėtų jį naudoti.

dabar galite perduoti savo komandai savo VNC kredencialus prie darbastalio Pi ir jie galės matyti LED juostos pakeitimus tiesiogiai nuotoliniu būdu. Šauk šiam vaikinui ~! jo vaizdo įrašas padėjo man įsibėgėti, vis tiek turėjau išsiaiškinti, kaip patekti į savo internetinę kamerą … ir sužinoti apie ffmpeg X/

Arthuras Reederis https://www.youtube.com/embed/kb_5_9GkwZc PASTABA: Nesu labiausiai informuotas žmogus, tai tiesiog tinka mano poreikiams, jei kas nors turi konstruktyvaus patarimo, norėčiau jį išgirsti tai būtų vienas iš galimų būdų, kaip tai padaryti toliau, tai būtų naudoti šį mechaniką srautiniam perdavimui, o kitam pi ir chromo plėtinio šviesos srautui gauti tą srautą ir ne tiekti žiniatinklio kamerą į tą ar bet kokiu kitu būdu. https://www.youtube.com/embed/kb_5_9GkwZc TAIP PAT: jei norite pridėti garso įrašą, kaip matyti mano „YouTube“vaizdo įraše, galite naudoti šią eilutę, nenorėjau, kad mano namas būtų įrašytas ir siunčiama trūkčioti, tai sėdi mano kambaryje, todėl neperduodu jokio garso, tai taip pat padeda sumažinti pi apkrovą.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af acompressor = slenkstis = 0.089: ratio = 9: ataka = 200: išleidimas = 1000 -vf skalė = 1280x720 -c: v h264 - g 24 -b: v 2M -iš anksto nustatytas itin greitas -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

11 veiksmas:

Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas

dabar iki paskutinio etapo, įgyvendinant arduino ir pi serijinį ryšį su python.

--- kas yra namų projektas --- Projekte naudojamas „python“scenarijus, kuris terminale paleidžia „nmap“, nukopijuoja jo turinį, išnagrinėja mums nereikalingą tekstą ir palygina tinklo „Mac“adresus su išvardytais „Mac“adresai ir jei yra atitiktis, tas asmuo yra namuose. „Mac“adresai buvo rasti atliekant tiriamąjį darbą su maršrutizatoriumi, tačiau „nmap“įrankis suteikia jums informacijos apie kodo sugeneruotus tekstinio failo įrenginius. jei vartotojas yra, jis siunčia simbolį arduino, o arduino laukia, kol bus atliktas kontrolinis sąrašas, ir užsidega šviesos diodai, atitinkantys esamų įrenginių „Mac“adresų profilius. galite pridėti kitų dalykų, pvz., nesutarimų robotai paleisti komandas žmonėms, atvykstantiems ar vykstantiems naudojant tą patį kodą, naudodami papildomo proceso operatorių, kad įvykdytumėte terminalo komandas pagal „python“scenarijų. todėl pirmiausia įdiegiame nmap sudo apt-get install nmap. Tada norėsite atsisiųsti failus iš mūsų klubų „Git-Hub“.

github.com/ValenciaRobotics/embeddedclub

naudojant „python“kodą, „raspbian“diegimas turi viską, kas naudojama šiame kode, todėl jums nereikia nieko papildomai įdiegti. mes naudojome importavimą iš naujo, importo subprocesą, importo laiką, importo seriją, svarbu pažymėti, kad „python“naudoja įterpimą kodų blokams atskirti, todėl atminkite, kad jei nuspręsite pakeisti kodo rašymo būdą:) „Thonny ide“ir dar keletas variantų, manau, kad paleisti scenarijų „Thonny“yra tikrai paprasta, jei spustelėsite failą ir bandysite jį vykdyti, tai buvo pasiūlyta arba manoma, kad „Thonny“yra tai, ką norėjote naudoti. prieš paleisdami programą turėsite redaguoti šiuos dalykus. 14 eilutė: * simboliai naudojami mano maršrutizatoriaus informacijai užmaskuoti, turėsite ją pakeisti savo vietiniu IP. tai būtų tas pats, ką naudojate prisijungdami prie maršrutizatoriaus. 28, 38, 48, 58 eilutės: visos jos naudoja simbolį *, kad užmaskuotų įrenginio „Mac“adresus, nurodytus mano tinkle. Norėdami nustatyti ryšius, turite pakeisti juos į savo tinklo įrenginių „Mac“adresus. kodel mac adresai? nes neužsisakę vietų jūsų įrenginiui, jos tikrai išliks tos pačios, nebent kas nors sukčiauja. problemų su šiuo kodu, jis aptiks tik tuo metu, kai ryšys aktyviai naudoja internetą, todėl jis gali būti neaptiktas, nepaisant to, kad yra vartotojas. „arduino“kode norėsite pakeisti šiuos dalykus. pirmiausia norėsite eiti į įrankių skirtuką, pasirinkti bibliotekų tvarkyklę ir ieškoti „fastLED“bei įdiegti „fastLED“biblioteką. Toliau turėsite įkelti „kas yra namie“.ino kodą iš „github“puslapio ir pakeisti, kaip norite. 86 eilutė: pakeiskite spalvas pagal tai, ką norite, kad naudotojai pridėtų:)

// įjunkite tai, ko jums reikia

jei (d == 1) {leds [0] = 0xdd8bff; // violetinės lemputės [1] = 0xdd8bff;}

if (l == 1) {leds [2] = CRGB:: žalia; šviesos diodai [3] = CRGB:: žalia;}

if (k == 1) {leds [4] = CRGB:: Raudona; šviesos diodai [5] = CRGB:: Raudona; }

if (j == 1) {leds [6] = CRGB:: mėlyna; šviesos diodai [7] = CRGB:: mėlyna;}

FastLED.show (); vėlavimas (30000); // 10 sekundžių palaukite jungiklio dėklo, trumpas paaiškinimas, kaip pridėti daugiau vartotojų, yra toks

void loop () {

jei (Serial.available ()> 0) {

Serial.println ();

asmuo = Serijinis.paskaitymas ();

vėlavimas (1000);

jungiklis (asmuo) {

atvejis „D“: d = 1;

asmuo = 'F';

skaičiuoti = skaičiuoti+1;

pertrauka;

atvejis ':

d = 0;

asmuo = 'F';

skaičiuoti = skaičiuoti+1;

pertrauka;

didžiosios raidės D yra gautas simbolis iš „python“scenarijaus, todėl jis žino, kad vartotojas yra, nes gauta raidė yra didžioji raidė „D“, todėl pakeičia INTEGER d reikšmę į 1, jei ji yra mažoji raidė, nei ji žino nėra, todėl INTEGER yra nustatytas į 0. sąlyga, kad šviesos diodai įsižiebtų scenarijuje iš ankstesnio, naudoja teiginį, kad jei IF d yra 1, jis užsidegs, tačiau jei ne, LED lemputė lieka „juoda“, o tai reiškia, kad ji nedega. šis kodas naudoja biblioteką „fastLED“ir yra daug dokumentacijos apie tai. atminkite, kad jei pakeisite simbolius, pridėsite simbolių arba pašalinsite simbolius, turėsite pakeisti „python“scenarijų, kad grąžintumėte tuos, kuriuos taip pat pakeitėte, taip pat turėsite pakeisti tuštumos ciklo sąlygą. if (count == 4) {holdup ();}} skaičius turės atspindėti „stebimų“įrenginių skaičių. mano atveju tai yra 4, todėl laukia, kol 4 įrenginiai bus paskelbti esamais arba jų nėra, ir tada atnaujina LED juostą. „Python“kode 31, 34, 41, 44, 51, 54, 61, 64 eilutėse yra tokia eilutė ser.write (b ' *') #siunčia simbolį, perduotą kaip baitas per seriją, kur * yra simbolis siunčia arduino. pakeiskite tai, jei pakeisite arduino kodą arba atvirkščiai:)

Vėlgi, kaip baigiamąjį žodį noriu padėkoti savo komandos draugui Jonui, jis puikiai padėjo susitvarkyti, kai mums to reikėjo.

„Python“scenarijų pateikė: Jonathanas De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

„Arduino“scenarijų ir namų laboratorijos aprašymą bei nustatymą atliko: Dylanas Apklausa

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

Tikimės, kad laimėsime bent marškinėlius! Aš atnaujinsiu tai naudodami apvalkalo komandas, kad automatiškai atsisiųsčiau ir įdiegčiau didžiąją dalį šių dalykų, mūsų klubų svetainėje iš tikrųjų yra atsisiunčiamų apvalkalo scenarijų, skirtų ffmpeg operacijoms atlikti.

Šis projektas užėmė daug laiko, aš įkūriau šį klubo padalinį nuo pat pradžių, todėl galiu išdidžiai pasakyti, kad ši akimirka man teikia daug džiaugsmo.:) ačiū už jūsų laiką, dėl šio projekto dabar turime sukurti platformą, kuri gali būti sukurta mano klube.

Rekomenduojamas: