Sisukord:

Raspberry Pi HomeLab ja kes on kodus: 11 sammu
Raspberry Pi HomeLab ja kes on kodus: 11 sammu

Video: Raspberry Pi HomeLab ja kes on kodus: 11 sammu

Video: Raspberry Pi HomeLab ja kes on kodus: 11 sammu
Video: USB4 Deep Dive: What Every IT Professional Should Know 2024, November
Anonim
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus
Raspberry Pi HomeLab ja kes on kodus

See on minu esimene hävimatu, kuid sellel juhendil on kaks faasi.

faze one: kas luuakse pi, mis töötab IOT-töö kodulaborina tudengite arendajate meeskonnas.

faze two: kasutab süsteemi arendamiseks, rakendades demonstratsiooni, kasutades meie projekti kes on kodu.

selle lõpuks on teil kaugjuurdepääsetav peata pi, mida inimesed saavad kasutada IOT -seadmete kaugprogrammeerimiseks ja nendega töötamiseks.

nüüd hoiatan, et kui avate oma pi avalikkusele ilma nõuetekohase turvalisuse, avate end oma koduvõrgu ründamise ohule.

me läheme esimese faze üle järgmistes sammudes, kuid see on link mõnele teabele meie klubi ja kes on kodu projekti kohta.

github.com/ValenciaRobotics/embeddedclub

Kes on kodu

projekt Kes on kodu teeb järgmist: käivitab pythoni skripti, mis kontrollib teie võrguga ühendatud seadmete mac -aadresse. ta kasutab selleks Nmapi. see töötab need aadressid aadresside loendi vastu ja kui loetletud aadress on olemas, saadab see jadaühenduse abil arduinole sümboli. arduino juhib LED -riba ja kui ta saab sümboli, on sellel seadmel vastav värv ja see süttib selle inimese LED -id nende olemasolu alusel.

meie divisjonide alamsait

sites.google.com/view/valencia-robotics

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

meie klubide saidil

sites.google.com/view/valenciatechclub

Pythoni skripti pakkus: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino skripti ning kodulabori läbimise ja seadistamise viis läbi: Dylan Poll

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

Olen Dylan Poll, olen meie kolledži tehnikaklubi praegune president ja olen ka manussüsteemide juht.

Tarvikud

A pi

Arduino

Leivalaud

hüppaja juhtmed

Veebikaamera

individuaalselt adresseeritav RGB LED -riba

toiteallikas teie pi, klaviatuur, hiir, arvuti esialgse seadistuse tegemiseks.

Samm: esialgsete häälestusfailide allalaadimine ja installimine

laadige alla ja installige kitt (Windows)

www.putty.org

laadige rufus alla ja installige

rufus.ie

laadige alla raspbian full buster ja soovitatav tarkvara (.zip)

www.raspberrypi.org/downloads/raspbian/

ekstraheerige.zipi sisu, see on teie [pildifail].

võtke micro sd -kaart ja kasutage dokki või microsd -d USB -seadmele ja ühendage see oma arvutiga, vormindage oma sd -kaart

2. etapp: teine osa: installige Raspbian Rufuse abil

Teine osa: installige Raspbian Rufuse abil
Teine osa: installige Raspbian Rufuse abil

käivita rufus vali esimeselt väljalt oma sd -kaart, vali.iso/.img jaoks raspbiani pildifail, vali start ja oota, kuni see lõpeb.

3. samm: kolmas osa: Pi ühendamine

kui see on tehtud, tõmmake SD -kaart välja, pange see pi -l olevasse sd -kaardi pesasse, HDMI -kaabli "alumisse" pistikusse pi, enne klaviatuuri ja hiirt ning viimast toitekaablit. kui ühendate toite kõigepealt vooluvõrku, ei pruugi see teie monitori/telerit registreerida.

4. samm: neljas osa: konto seadistamine

logige sisse pi! tehke esimese käivituse seadistus! ärge jätke seda vahele! valige USA inglise klaviatuur või te ei leia oma @ sümbolit hiljem … kui te ei leia, on teie @ sümbol seal, kus teie "on. logige oma wifi -sse pi sisse, ärge veel värskendage. Mul on põhjus. vajutage Windowsi klaviatuuri klahvi "ja minge eelistuste juurde, minge pi konfiguratsiooni. minge vahekaardile liidesed.

lubage VNC…. ja kõik muu ei taaskäivitu.

5. samm: viies osa: oma Pi seadistamine peata (parim asi kunagi)

Viies osa: Pi seadistamine peata (parim asi kunagi)
Viies osa: Pi seadistamine peata (parim asi kunagi)

vaadake ekraani paremas ülanurgas. näete musta ja sinist VNC logo. ava see. vajuta logi sisse, tee ja konto. lisa pi. töölaual/sülearvutis avage brauseri otsing google VNC vaataja allalaadimise install. logige oma kontole sisse. kontrollige oma e -posti sisselogimist ja volitage ennast. looge ühendus oma pi -ga (tippige teise sisselogimismenüüsse pi parool), kui see töötab, lülitage pi välja. ühendage oma pliit lahti ja kõik. pange pi oma toa nurka ja viige selle juurde ainult toitekaabel. saate ühendada pi abil VNC vaataja abil. sul on nüüd "peata" pi. saate sellele ka SSH -d teha. (SSH teavet leiate jahtunud asjade jaotisest)

6. samm: kuues osa: kõigi põhitööriistade installimine arendamiseks Pi -le

Kuues osa: kõigi põhitööriistade installimine pi arendamiseks
Kuues osa: kõigi põhitööriistade installimine pi arendamiseks

kasutades SSH -d või VNC -d (või kui otsustasite mitte jahe olla ja seadisite selle peata), tehke järgmist. avatud terminal (see järgmine osa võib veidi aega võtta …)) käivitage need käsud ükshaaval pärast iga valmimist.

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

7. samm: seitsmes osa: Adafruit WebIDE installimine

Seitsmes osa: Adafruit WebIDE installimine
Seitsmes osa: Adafruit WebIDE installimine

curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh avage oma põhitöölaual brauser. suunake oma brauseri URL -ile "https://***.*.*.***: 8080", asendage "*" oma Pi kohaliku IP -aadressiga. tee kasutajanimi ja mine edasi. teil on nüüd adafruit webIDE seadistus.

8. samm: kaheksas osa: värskendage sõlme-red ja Node.js

update-nodejs-ja-nodered järgmine kood paneb nodered käivitamisel käima nagu adafruit webIDE, see on oluline, kui soovite nende asjadega edasi areneda. sudo systemctl lubage nodered.service taaskäivitage Pi

Samm: üheksas osa: Arduino IDE installimine

Osa üheksas: Arduino IDE installimine
Osa üheksas: Arduino IDE installimine

saate seda teha käsurealt, kuid… see ei ole täisversioon.. see tähendab, et te ei saa kasutada kogu importimise/otsimise tööriista, täisversiooni installimiseks peate minema arduino veebisaidile ja laadima alla oma pi mudeli versiooni. see on pi3 jaoks ARM32bit, hankige stabiilne versioon. avage terminal. (asendage tähed *väljalaske teabega) käivitage need käsud.

www.arduino.cc/en/Main/Software

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

10. samm: kümnes osa: Ffmpeg

Kümnes osa: Ffmpeg
Kümnes osa: Ffmpeg

1x veebikaamera logitech

(järgmised üksused ei sisalda ööpäevaringse voo käivitamiseks vajalikku) 1x leivalaud teine vaarika pi mudel 3 b (sd -kaardiga) individuaalselt adresseeritav LED -riba. arduino nano -hüppaja traat võimaldab VNC -vaatajat mõlemal Pi -l

pi eelistused, lubage vnc luua konto VNC vaatajaga TÄHTIS: minge pi -le, mida kavatsete kasutada avaliku töö pingina, minge vnc -serveri seadete, suvandite, vahekaardi Ekspert ja tehke jõudeoleku aeg: 0 sekundit, see on määratud Vnc -i sulgemiseks vaataja, kui see on tunni aja pärast jõudeolekus, peatab see teie akna voo keskel sulgemise, installige vnc -vaataja terminali voogesitusse pi.

sudo apt-get install vnc-java y

ühendage oma veebikaamera ja … installige oma veebikaamera.

sudo apt install fswebcam

install ffmpeg sudo apt-get install ffmpeg y

siin tulevad mängu teie enda valikud. käivitage terminalis see skript, et avada veebikaamera jaoks voogesituse pi töölaual aken.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay võimaldab teil seda näha aknas nimega pi -cam, veebikaamera, mis näitab teile asukohas dev/video0 ja selle algne suurus on 1920x1080. Ma tahan näha ainult kärpimist = laius: kõrgus: topleft_X: topleft_Y ja mulle piisab 20 kaadrisagedusest. järgmine kood voolab tõmblema.

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

-f x11grab kasutatakse teie ekraani haaramiseks. minu ekraani eraldusvõime on seatud 1280x1024. Tahan seda kuvada 1280x720 formaadis, nii -vf -videovormingus.

2m = 2mgb üleslaadimiskiirus. -f flv on video vormindamine.flv -ks, et twitch saaks seda kasutada.

nüüd saate oma meeskonnale anda oma VNC mandaadi töölauale Pi ja nad näevad LED -riba muudatusi otseülekandena. Karju sellele kutile ~! tema video aitas mul õigele teele jõuda, pidin siiski välja mõtlema, kuidas oma veebikaamerat avada… ja ffmpeg X kohta teada saada

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc MÄRKUS. Ma ei ole kõige teadlikum inimene, see sobib lihtsalt minu vajadustele, kui kellelgi on konstruktiivset nõu, tahaksin seda kuulda, aga palun ärge see oleks üks võimalikest viisidest, kuidas seda edasi arendada, oleks selle voogesituse abil selle mehaaniku kasutamine ning selle voo toomiseks teise pi ja kroomitud pikenduse valgusvoo kasutamine ning veebikaamera sisestamine sellesse või muul viisil. https://www.youtube.com/embed/kb_5_9GkwZc KA: kui soovite lisada heli, nagu on näha meeste YouTube'i videos, saate seda stringi kasutada, ma ei tahtnud, et mu maja jäädvustataks ja tõmblema saadetud, see istub minu toas, nii et ma ei edasta heli, see aitab ka pi koormust vähendada.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i vaikimisi -af acompressor = lävi = 0,089: ratio = 9: attack = 200: release = 1000 -vf skaala = 1280x720 -c: v h264 - g 24 -b: v 2M -ülikiire eelseade -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

11. samm:

Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt

nüüd viimasesse etappi, rakendades arduino ja pi jadaühendust pythoniga.

--- kes on koduprojekt --- Projekt kasutab pythoni skripti, mis käivitab terminalis nmap, kopeerib selle sisu, parsib välja vajaliku teksti ja võrdleb võrgus olevaid mac-aadresse loetletud mac -aadressid ja vaste leidmisel on see inimene kodus. mac -aadressid leiti ruuteril uurimistööd tehes, kuid tööriist nmap annab teile teavet koodi abil loodud tekstifailis olevate seadmete kohta. kui kasutaja on kohal, saadab ta arduinole märgi ja arduino ootab, kuni kontrollnimekiri on valmis, ning süttib LED -id, mis vastavad praeguste seadmete mac -aadresside jaoks loetletud profiilidele. saate lisada muid asju, näiteks lasta ebakõla robotitel käitada käske inimestele, kes tulevad või lähevad sama koodiga, kasutades alamprotsessi operaatorit, et täita oma pythoni skripti terminali käske. nii et kõigepealt installime nmap sudo apt-get install nmap. Järgmisena soovite alla laadida failid meie klubidest Git-Hub.

github.com/ValenciaRobotics/embeddedclub

python -koodi jaoks on raspbiani installimisel kaasas kõik, mida selles koodis kasutatakse, nii et te ei vaja midagi täiendavat. kasutasime importi re, impordi alamprotsessi, impordi aega, impordi seeriat Oluline on märkida, et python kasutab koodiplokkide eraldamiseks taanet, seega pidage meeles, et kui otsustate koodi kirjutamisviisi muuta:) py on kaasas thonny ide ja mõned muud võimalused, leian, et skripti käitamine thonny -s on tõesti lihtne, kui klõpsate failil ja proovite seda käivitada, soovitati või eeldatakse, et thonny on see, mida soovite kasutada. enne programmi käivitamist peate redigeerima järgmist. rida 14: * sümboleid kasutatakse minu enda ruuteriteabe varjamiseks, peate selle asendama oma kohaliku IP -ga. see oleks sama, mida kasutate ruuteriga ühenduse loomiseks. read 28, 38, 48, 58: need kõik kasutavad sümbolit *, et varjata minu võrgust loetletud seadme mac -aadresse, ühenduste tuvastamiseks peate need muutma oma võrgu seadmete mac -aadressideks. miks mac -aadressid? sest ilma teie seadme jaoks asukohti reserveerimata jäävad need kindlasti samaks, kui keegi ei teeskle. selle koodiga probleeme, tuvastab see ainult siis, kui ühendus aktiivselt Internetti kasutab, nii et seda ei pruugita tuvastada vaatamata kasutaja olemasolule. arduino koodis soovite muuta järgmist. esiteks soovite minna tööriistade vahekaardile, valida raamatukogude haldur ja otsida "fastLED" ning installida "fastLED" raamatukogu. Järgmisena peate githubi lehelt laadima "kes on kodus".ino koodi ja muutma järgmist, kui soovite. rida 86: muutke värve vastavalt sellele, mida soovite, et kasutajad oleksid lisanud:)

// lülitage sisse, mida vajate

kui (d == 1) {leds [0] = 0xdd8bff; // lillad ledid [1] = 0xdd8bff;}

kui (l == 1) {ledid [2] = CRGB:: roheline; ledid [3] = CRGB:: roheline;}

kui (k == 1) {ledid [4] = CRGB:: punane; ledid [5] = CRGB:: Punane; }

kui (j == 1) {ledid [6] = CRGB:: Sinine; ledid [7] = CRGB:: sinine;}

FastLED.show (); viivitus (30000); // 10 sekundit ootama lüliti korpust, lühike selgitus, kuidas rohkem kasutajaid lisada, on järgmine

void loop () {

kui (Serial.available ()> 0) {

Serial.println ();

isik = Serial.read ();

viivitus (1000);

lüliti (inimene) {

juhtum 'D': d = 1;

isik = 'F';

loendama = loendama+1;

murda;

juhtum ':

d = 0;

isik = 'F';

loendama = loendama+1;

murda;

suured tähed D on pythoni skriptist saadud märk, seega teab ta, et kasutaja on kohal, kuna saadud täht on suur D, seega muudab see INTEGER d väärtuseks 1, kui see on väiketäht, kui ta seda teab puuduvad, nii et INTEGER on seatud väärtusele 0. tingimus LED -ide valgustamiseks skriptis varasemalt kasutab väidet, et IF d on 1, siis süttib LED, kuid kui see pole nii, jääb LED "mustaks", mis tähendab, et see ei põle. see kood kasutab teeki "fastLED" ja selle kohta on palju dokumente. pange tähele, et kui muudate märke, lisate tähemärke või eemaldate tähemärke, peate muutma pythoni skripti, et taastada ka need, mida muutsite, samuti peate muutma tühimikusilmuse tingimust. if (count == 4) {holdup ();}} arv peab peegeldama jälgitavate seadmete arvu. minu puhul on see 4, nii et ta ootab, kuni 4 seadet on kuulutatud olemasolevaks või puuduvaks, ja seejärel värskendab LED -riba. python -koodis on ridadel 31, 34, 41, 44, 51, 54, 61, 64 järgmine rida ser.write (b ' *') #saadab tähemärgi baitina üle seeria, kus * on märk arduinole saatmine. muutke seda, kui muudate arduino koodi või vastupidi:)

Lõppsõnana tahan jällegi tunnustada oma meeskonnakaaslast Jonit, kes tegi suurepärast tööd lõtvuse kogumisel, kui seda vajasime.

tema Pythoni skripti pakkus: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Arduino skripti ning kodulabori läbimise ja seadistamise viis läbi: Dylan Poll

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

Loodetavasti võidame vähemalt t-särgi! Värskendan seda kestakäskudega, et enamus sellest automaatselt alla laadida ja installida, meie klubide veebisaidil on tegelikult ffmpeg -toimingute tegemiseks allalaaditavad kestaskriptid.

See projekt võttis palju aega, asutasin selle klubi divisjoni juba maast madalast, nii et võin uhkusega öelda, et see hetk toob mulle palju rõõmu.:) aitäh aja eest, selle projekti tõttu on meil nüüd klubis tööplatvorm, mida arendada.

Soovitan: