Sisällysluettelo:

Raspberry Pi HomeLab ja kuka on kotona: 11 vaihetta
Raspberry Pi HomeLab ja kuka on kotona: 11 vaihetta

Video: Raspberry Pi HomeLab ja kuka on kotona: 11 vaihetta

Video: Raspberry Pi HomeLab ja kuka on kotona: 11 vaihetta
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Heinäkuu
Anonim
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona
Raspberry Pi HomeLab ja kuka on kotona

Tämä on ensimmäinen tuhoutumaton, mutta tällä ohjeella on kaksi ulkonäköä.

faze one: perustaa pi: n toimimaan IOT-työn kotilaboratoriona opiskelijakehittäjien tiimille.

faze two: käyttää järjestelmää kehittämiseen toteuttamalla esittelyn käyttämällä kuka on koti -projektiamme.

Tämän loppuun mennessä sinulla on etäkäytettävä pääntuki, jota ihmiset voivat käyttää etäohjelmointiin ja työskentelyyn IOT -laitteilla.

nyt varoitan, että kun avaat pi: si yleisölle ilman asianmukaista turvallisuutta, avaat itsesi riskille saada kotiverkko hyökkäyksen kohteeksi.

käymme läpi ensimmäisen vaiheen seuraavissa vaiheissa, mutta tämä on linkki joihinkin tietoihin klubistamme ja kuka on koti -projektistamme.

github.com/ValenciaRobotics/embeddedclub

Kuka on koti

Kuka on koti -projekti toimii seuraavasti: suorittaa python -komentosarjan, joka tarkistaa verkkoon kytkettyjen laitteiden mac -osoitteet. se käyttää Nmapia tähän. se suorittaa kyseiset osoitteet osoiteluetteloa vastaan ja jos lueteltu osoite on läsnä, se lähettää char: n arduinoon sarjaliikenteen avulla. arduino ohjaa LED -nauhaa, ja kun se saa hiilen, sillä on siihen liittyvä väri ja se sytyttää kyseisen henkilön LEDit läsnäolonsa perusteella.

divisiooniemme alisivusto

sites.google.com/view/valencia-robotics

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

klubimme sivustolla

sites.google.com/view/valenciatechclub

Python -skriptin toimitti: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino -käsikirjoituksen ja kävellä läpi ja määrittää laboratoriot: Dylan Poll

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

Olen Dylan Poll, olen korkeakoulumme teknisen klubin nykyinen puheenjohtaja ja olen myös sulautettujen järjestelmien johtaja.

Tarvikkeet

A pi

Arduino

Leipälauta

hyppyjohtimet

Verkkokamera

yksilöllisesti osoitettava RGB -LED -nauha

virtalähde pi -laitteellesi, näppäimistö hiiri, tietokone alkuasetusten tekemiseen.

Vaihe 1: Alkuasetustiedostojen lataaminen ja asentaminen

lataa ja asenna kitti (Windows)

www.putty.org

lataa rufus ja asenna

rufus.ie

Lataa raspbian full buster ja suositeltu ohjelmisto (.zip)

www.raspberrypi.org/downloads/raspbian/

purkaa.zip -tiedoston sisältö, tämä on [kuvatiedostosi].

Ota micro -sd -kortti ja käytä telakointiasemaa tai microsd -laitetta USB -laitteeseen ja liitä se tietokoneeseesi.

Vaihe 2: Osa 2: Asenna Raspbian Rufuksen avulla

Osa kaksi: Asenna Raspbian Rufuksen avulla
Osa kaksi: Asenna Raspbian Rufuksen avulla

suorita rufus valitse sd -korttisi ensimmäisestä kentästä. valitse raspbian -kuvatiedosto.iso/.img valitse aloitus ja odota sen päättymistä.

Vaihe 3: kolmas osa: Pi -laitteen kytkeminen

sen jälkeen vedä SD -kortti ulos, aseta se pi -kortin SD -korttipaikkaan, sen HDMI -johdon "alareunassa" olevaan pistokkeeseen, ensin näppäimistöön, hiireen ja viimeiseen virtajohtoon. Jos kytket virran ensin, se ei ehkä rekisteröi näyttöäsi/televisiota.

Vaihe 4: osa neljä: Tilin luominen

kirjaudu sisään pi! tee ensimmäisen ajon asetukset! älä ohita sitä! valitse USA: n englanninkielinen näppäimistö tai et löydä @ -merkkiäsi myöhemmin… jos et ole @ -merkkisi missä olet. kirjaudu sisään wifi -laitteeseesi pi: llä, älä päivitä vielä. Minulla on syy. paina "Windows -näppäimistö "ja siirry asetuksiin, siirry pi -kokoonpanoon. siirry rajapinnat -välilehteen.

ota VNC käyttöön … ja kaikki muu ei käynnisty uudelleen.

Vaihe 5: Osa 5: Pi: n asettaminen päättömäksi (paras asia koskaan)

Osa viisi: Pi: n asettaminen päättömäksi (paras asia koskaan)
Osa viisi: Pi: n asettaminen päättömäksi (paras asia koskaan)

katso näytön oikeasta yläkulmasta. näet mustan ja sinisen VNC -logon. avaa se. paina kirjaudu sisään, tee ja luo tili. lisää pi. työpöydälläsi/kannettavassasi avaa selainhaku google VNC viewer lataa asennus. Kirjaudu tilillesi. Tarkista sähköpostisi kirjautumisesta ja valtuuta itsesi. muodosta yhteys pi -laitteeseen (kirjoita pi -salasana toiseen kirjautumisvalikkoon), jos se toimii, sammuta pi. irrota pistorasia ja kaikki. aseta pi huoneesi nurkkaan ja vedä siihen vain virtajohto. voit muodostaa yhteyden pi -laitteeseen VNC -katseluohjelman avulla. sinulla on nyt "päätön" pi. voit myös SSH: n siihen. (katso SSH -tiedot viileistä jutuista)

Vaihe 6: osa kuusi: Kaikkien kehitystyökalujen asentaminen Pi: lle

Osa kuusi: Kaikkien ydintyökalujen asentaminen kehittämiseen Pi: lle
Osa kuusi: Kaikkien ydintyökalujen asentaminen kehittämiseen Pi: lle

käyttämällä SSH: ta tai VNC: tä (tai jos olet päättänyt olla viileä ja asettaa sen ilman päätä), toimi seuraavasti. avaa pääte (tämä seuraava osa voi viedä hetken…)) suorita nämä komennot yksi kerrallaan, kun jokainen on VALMIS.

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

Vaihe 7: osa seitsemäs: Adafruit WebIDE -asennuksen asentaminen

Osa Seitsemän: Adafruit WebIDE -asennuksen asentaminen
Osa Seitsemän: Adafruit WebIDE -asennuksen asentaminen

curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh avaa selain työpöydälläsi. osoita selaimesi URL -osoite kohtaan "https://***.*.*.***: 8080" ja korvaa "*" Pi: n paikallisella IP -osoitteella. luo käyttäjätunnus ja läpäise. sinulla on nyt adafruit webIDE -asennus.

Vaihe 8: osa kahdeksan: Päivitä Node-red ja Node.js

update-nodejs-ja-nodered seuraava koodi saa nodederin käyntiin käynnistyksen yhteydessä aivan kuten adafruit webIDE, tämä on tärkeää, jos haluat kehittää näitä asioita. sudo systemctl enable nodered.service käynnistä Pi uudelleen

Vaihe 9: osa yhdeksän: Arduino IDE: n asennus

Osa yhdeksän: Arduino IDE: n asentaminen
Osa yhdeksän: Arduino IDE: n asentaminen

voit tehdä sen komentorivin kautta, mutta…. se ei ole täysversio.. eli et voi käyttää kirjaston tuonti-/hakutyökalua, jos haluat asentaa täysversion, sinun on siirryttävä arduino -verkkosivustoon ja ladattava pi -mallisi versio. se on ARM32bit pi3: lle, hanki vakaa julkaisu. Avaa terminaali. (korvaa *: t julkaisutiedoilla) suorita nämä komennot.

www.arduino.cc/en/Main/Software

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

Vaihe 10: Osa 10: Ffmpeg

Osa kymmenen: Ffmpeg
Osa kymmenen: Ffmpeg

1x verkkokamera logitech

(Seuraavat kohteet eivät sisällä sitä, mitä tarvitset 24/7 streamin suorittamiseen) 1x leipälauta toinen vadelmapi malli 3 b (sd -kortilla) yksilöllisesti osoitettava LED -nauha. arduino nano -hyppyjohdin mahdollistaa VNC -katseluohjelman molemmissa Pi -laitteissa

pi -asetukset, ota vnc käyttöön, luo tili VNC -katseluohjelmaan TÄRKEÄÄ: siirry v: n palvelimen asetuksiin, asetuksiin, asiantuntija -välilehteen ja tee tyhjäkäynnin aikakatkaisu: pi, jota aiot käyttää julkisena työpöytänä: 0 sekuntia, sen on tarkoitus sulkea Vnc katsoja, jos se on käyttämättömänä tunnin kuluttua, tämä estää ikkunasi sulkeutumasta keskivirran asennuksen aikana.

sudo apt-get install vnc-java y

kytke verkkokamera ja … asenna verkkokamera.

sudo apt asentaa fswebcam

asenna ffmpeg sudo apt-get install ffmpeg y

tässä tulee sinun valintasi mukaan. suorita tämä komentosarja päätelaitteessa avataksesi ikkunan streamer pi: n työpöydällä verkkokameraasi varten.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay antaa sinun nähdä tämän ikkunassa nimeltä pi -cam, verkkokamera, joka näyttää sijainti dev/video0 ja sen alkuperäinen koko on 1920x1080. Haluan vain nähdä sadon = leveys: korkeus: topleft_X: topleft_Y ja 20: n kehysnopeus riittää minulle. seuraava koodi virtaa nykimään.

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

-f x11grab käytetään näytön tarttumiseen. näytön resoluutio on 1280x1024 Haluan näyttää sen 1280x720 niin -vf -videomuodossa.

2m = 2mgb lähetysnopeus. -f flv on muotoilla video.flv -muotoon, jotta twitch voi käyttää sitä.

nyt voit antaa tiimillesi VNC -kirjautumistietosi työpöydälle Pi ja he voivat nähdä led -nauhan muutokset suorana etänä. Huuto tälle kaverille ~! hänen videonsa auttoi minua pääsemään raiteille, mutta minun piti vielä selvittää, miten voin avata verkkokamerani… ja tietää ffmpeg X/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc HUOMAUTUS: En ole kaikkein tietoisin henkilö, tämä toimii yksinkertaisesti minun tarpeisiini, jos jollain on rakentavia neuvoja, haluaisin kuulla ne, mutta älä olla yksi mahdollisista reiteistä viedä tämä eteenpäin, olisi käyttää tätä mekaanikkoa tämän suoratoistamiseen ja käyttää toista pi: tä ja kromi -laajennusvalovirtaa virran hakemiseen ja verkkokameran syöttämiseen siihen tai millään muulla tavalla. https://www.youtube.com/embed/kb_5_9GkwZc MYÖS: jos haluat lisätä ääntä, kuten miehen youtube -videossa näkyy, voit käyttää tätä merkkijonoa, en halunnut taloni tallentamista ja lähetetty nykimään, tämä istuu huoneessani, joten en suoratoista ääntä, se auttaa myös vähentämään pi: n kuormitusta.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af -kompressori = kynnys = 0,089: suhde = 9: hyökkäys = 200: julkaisu = 1000 -vf -asteikko = 1280x720 -c: v h264 - g 24 -b: v 2M -esiasetettu ultranopea -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

Vaihe 11:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

nyt viimeiseen vaiheeseen, toteuttamalla arduino- ja pi -sarjaliikenne pythonin kanssa.

--- kuka on kotiprojekti --- Projekti käyttää python-skriptiä, joka suorittaa nmap-terminaalin, kopioi sen sisällön, jäsentää tarpeettoman tekstin ja vertaa verkon mac-osoitteita luetteloon mac -osoitteet ja jos on vastaavuutta, kyseinen henkilö on kotona. mac -osoitteet löydettiin tekemällä tutkintatyötä reitittimellä, mutta nmap -työkalu antaa sinulle tietoja koodin luoman tekstitiedoston laitteista. jos käyttäjä on läsnä, se lähettää merkin arduinoon, ja arduino odottaa, kunnes tarkistusluettelo on tehty, ja syttyy LEDit, jotka vastaavat nykyisten laitteiden mac -osoitteiden profiileja. Voit lisätä muita asioita, kuten ottaa discord-botit suorittamaan komentoja ihmisille, jotka tulevat tai menevät samalla koodilla, käyttämällä aliprosessioperaattoria suorittamaan päätekomennot python-skriptissäsi. niin ensin asennamme nmap sudo apt-get install nmap. seuraavaksi haluat ladata tiedostot klubeillemme Git-Hub.

github.com/ValenciaRobotics/embeddedclub

python -koodin osalta raspbian -asennus sisältää kaiken, mitä tässä koodissa käytetään, joten sinun ei tarvitse asentaa mitään ylimääräistä. käytimme tuontia uudelleen, tuonnin aliprosessia, tuontiaikaa, tuontisarjaa, on tärkeää huomata, että python käyttää sisennystä koodilohkojen erottamiseen, joten muista, että jos päätät muuttaa koodin kirjoittamistapaa, py tulee mukana thonny ide ja muutamia muita vaihtoehtoja, huomaan, että komentosarjan käyttäminen thonnyssä on todella suoraviivaista, jos napsautat tiedostoa ja yrität suorittaa sen, ehdotettiin tai oletettiin, että thonny on se, mitä halusit käyttää. Ennen kuin suoritat ohjelman, sinun on muokattava seuraavat asiat. rivi 14: * -merkkejä käytetään peittämään omat reitittimen tiedot, sinun on korvattava se omalla paikallisella IP -osoitteellasi. se olisi sama kuin reitittimeen yhdistämisessä. rivit 28, 38, 48, 58: nämä kaikki käyttävät * -merkkiä verkostani lueteltujen laitteiden mac -osoitteiden peittämiseen, sinun on vaihdettava ne oman verkon laitteiden mac -osoitteiksi yhteyksien havaitsemiseksi. miksi mac -osoitteet? koska varaamatta paikkoja laitteellesi, ne pysyvät varmasti samana, ellei joku huijaa. ongelmia tämän koodin kanssa, se havaitsee vain, kun yhteys käyttää aktiivisesti Internetiä, joten sitä ei ehkä havaita, vaikka käyttäjä on läsnä. arduino -koodissa haluat muuttaa seuraavaa. Ensinnäkin haluat siirtyä Työkalut -välilehteen, valita kirjastojen hallintaohjelman ja etsiä "fastLED" ja asentaa "fastLED" -kirjaston. seuraavaksi sinun on ladattava "kuka on kotona".ino -koodi github -sivulta ja muutettava seuraavaa haluamallasi tavalla. rivi 86: muuta värejä sen mukaan, mitä haluat käyttäjien liittäneen:)

// kytke päälle mitä tarvitset

jos (d == 1) {leds [0] = 0xdd8bff; // violetit ledit [1] = 0xdd8bff;}

jos (l == 1) {ledit [2] = CRGB:: vihreä; ledit [3] = CRGB:: Vihreä;}

jos (k == 1) {ledit [4] = CRGB:: Punainen; ledit [5] = CRGB:: Punainen; }

jos (j == 1) {ledit [6] = CRGB:: sininen; ledit [7] = CRGB:: sininen;}

FastLED.show (); viive (30000); // 10 sekuntia odota kytkinkotelossa lyhyt selitys käyttäjien lisäämisestä on seuraava

void loop () {

jos (Serial.available ()> 0) {

Sarja.println ();

henkilö = Sarja.luku ();

viive (1000);

kytkin (henkilö) {

tapaus 'D': d = 1;

henkilö = 'F';

count = count+1;

tauko;

tapaus ':

d = 0;

henkilö = 'F';

count = count+1;

tauko;

isot D -kirjaimet ovat python -skriptistä vastaanotettuja merkkejä, joten ne tietävät, että käyttäjä on läsnä, koska vastaanotettu kirjain on iso D, joten se muuttaa INTEGER -arvon arvon 1: ksi, jos se on pienikokoinen kuin se tietää ovat poissa, joten INTEGER on asetettu arvoon 0. ehto ledien syttymiselle skriptissä aikaisemmin käyttää lausetta, että JOS d on 1, se sytyttää ledin, mutta jos ei, ledi pysyy "mustana", mikä tarkoittaa, että se ei pala. tämä koodi käyttää kirjastoa "fastLED" ja tästä on paljon dokumentaatiota. Huomaa, että jos muutat merkkejä, lisäät merkkejä tai poistat merkkejä, sinun on vaihdettava python -komentosarja palauttaaksesi ne, jotka olet myös muuttanut, sinun on myös muutettava ehtoa tyhjäsilmukassa. if (count == 4) {holdup ();}} laskun on vastattava seurattujen laitteiden määrää. minun tapauksessani se on 4, joten se odottaa, kunnes 4 laitetta on ilmoitettu läsnä tai poissa, ja päivittää sitten LED -nauhan. Python -koodissa riveillä 31, 34, 41, 44, 51, 54, 61, 64 on seuraava rivi ser.write (b ' *') #lähettää merkin, joka on syötetty tavuina sarjaan, jossa * on merkki lähettäminen arduinoon. muuta tätä, jos muutat arduinon koodia tai päinvastoin:)

Lopuksi haluan kiittää joukkuetoveriani Jonia, hän teki hienoa työtä poimiessaan löysyyttä, kun tarvitsimme sitä.

Python -skriptin toimitti: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Arduino -käsikirjoituksen ja kävellä läpi ja määrittää kotilaboratorion: Dylan Poll

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

Toivottavasti voitamme ainakin t-paidan! Päivitän tämän kuorikomennoilla, jotta voin ladata ja asentaa suurimman osan tästä, klubimme verkkosivustolla on itse asiassa ladattavia komentosarjoja ffmpeg -toimintojen suorittamiseen.

Tämä projekti vei paljon aikaa, perustin tämän klubin osaston alusta asti, joten voin ylpeänä sanoa, että tämä hetki tuo minulle paljon iloa.:) kiitos ajastasi, meillä on työskentelyalusta, jota voin nyt kehittää klubissani tämän projektin vuoksi.

Suositeltava: