Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Last ned og installer første oppsettfiler
- Trinn 2: del to: Installer Raspbian ved hjelp av Rufus
- Trinn 3: del tre: Koble til Pi
- Trinn 4: del fire: Konfigurere kontoen din
- Trinn 5: del fem: Konfigurer Pi -en din som hodeløs (det beste noensinne)
- Trinn 6: del seks: Installere alle kjerneverktøyene for utvikling på en Pi
- Trinn 7: del syv: Installering av Adafruit WebIDE
- Trinn 8: del åtte: Oppdater Node-red og Node.js
- Trinn 9: del ni: Installere Arduino IDE
- Trinn 10: Del ti: Ffmpeg
- Trinn 11:
Video: Raspberry Pi HomeLab og hvem som er hjemme: 11 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Dette er min første uforgjengelige, men denne instruerbare har to fazes.
faze one: setter opp en pi for å jobbe som hjemmelaboratorium for IOT-arbeid for et team med studentutviklere.
faze to: bruker systemet for utvikling, ved å implementere en demonstrasjon ved hjelp av vårt hvem er hjemme -prosjektet.
ved slutten av dette vil du ha en eksternt tilgjengelig hodeløs pi som kan brukes av folk til å ekstern programmere og arbeide på IOT -enheter.
nå advarer jeg deg om at ved å åpne pi -en din for publikum uten nødvendig sikkerhet, åpner du deg selv for risikoen for å få ditt hjemmenettverk angrepet.
Vi vil gå over den første fazen i de følgende trinnene, men dette er en lenke til litt informasjon om klubben vår og hvem som er hjemmeprosjektet.
github.com/ValenciaRobotics/embeddedclub
Hvem er hjemme
Who Is home -prosjektet gjør følgende: kjører et python -skript som ser etter mac -adressene til enheter som er koblet til nettverket ditt. den bruker Nmap for dette. den kjører disse adressene mot en liste med adresser, og hvis adressen som er oppført, sender den en røyke til en arduino ved å bruke seriell kommunikasjon. arduinoen styrer en LED -stripe, og når den mottar en røye, har den en tilhørende farge for den enheten, og den tenner lysdiodene for den personen basert på at de er tilstede.
våre divisjoner subside
sites.google.com/view/valencia-robotics
sites.google.com/view/valencia-robotics/cl…
nettstedet til klubbene våre
sites.google.com/view/valenciatechclub
Python Script ble levert av: Jonathan De La Cruz
www.linkedin.com/in/jonathandelacruz96/
Arduino Script og gå gjennom og oppsett av hjemmelaboratoriet ble utført av: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Jeg er Dylan Poll, jeg er den nåværende presidenten for teknologiklubben på høyskolen vår, og jeg er også den innebygde systemlederen.
Rekvisita
En pi
En arduino
Et brødbrett
jumper ledninger
Et webkamera
individuelt adresserbar RGB LED -stripe
strømforsyning for pi, tastatur, mus, datamaskin for å gjøre det første oppsettet.
Trinn 1: Last ned og installer første oppsettfiler
last ned og installer kitt (windows)
www.putty.org
Last ned rufus og installer
rufus.ie
Last ned raspbian full buster og anbefalt programvare (.zip)
www.raspberrypi.org/downloads/raspbian/
trekk ut innholdet i.zip dette vil være din [bildefil].
ta et micro sd -kort, og bruk en dokkingstasjon eller en microsd til usb -enhet og koble det til datamaskinen din formatere sd -kortet
Trinn 2: del to: Installer Raspbian ved hjelp av Rufus
run rufus velg sd -kortet ditt i det første feltet, velg raspbian -bildefilen for.iso/.img velg start og vent til det er ferdig.
Trinn 3: del tre: Koble til Pi
Etter at det er gjort, trekker du ut sd -kortet, setter det inn i sd -kortsporet på pi -en, den sitter på "nederste" pluggen i HDMI -kabelen til pi først, enn et tastatur og en mus og den siste strømkabelen. Hvis du kobler til strømmen først, kan det hende at du ikke registrerer skjermen/TV -en din.
Trinn 4: del fire: Konfigurere kontoen din
logg inn pi! gjør det første oppsettet! ikke hopp over det! Velg USA engelsk tastatur, eller du vil ikke finne @ -symbolet ditt senere … hvis du ikke gjør det, er @ -symbolet der "er". Logg deg på wifi på pi ikke oppdater enda. Jeg har en grunn. Trykk på "Windows -tastaturet "og gå til preferanser, gå til pi -konfigurasjon. gå til grensesnittfanen.
aktiver VNC…. og alt annet må ikke startes på nytt.
Trinn 5: del fem: Konfigurer Pi -en din som hodeløs (det beste noensinne)
se øverst til høyre på skjermen. du vil se den svarte og blå VNC -logoen. åpne det. trykk logg på, lag og konto. legg til pi. på din stasjonære/bærbare datamaskin åpne nettlesersøk på google VNC viewer nedlasting install. Logg inn på kontoen din. sjekk e -posten din for pålogging og autoriser deg selv. koble til pi -en din (skriv inn pi -passordet i den andre påloggingsmenyen) hvis den fungerer, slå av pi -en. koble fra pi og alt. legg pien i et hjørne på rommet ditt og kjør bare strømkabelen til den. du kan koble til pi ved hjelp av VNC viewer. du har nå en "hodeløs" pi. du kan også SSH til det. (se SSH -informasjon i delen for kule ting)
Trinn 6: del seks: Installere alle kjerneverktøyene for utvikling på en Pi
bruker SSH eller VNC (eller hvis du bestemte deg for ikke å være kul og sette den opp hodeløs) gjør du følgende. åpen terminal (denne neste delen kan ta en stund ….). Kjør disse kommandoene en om gangen etter at hver er fullført.
sudo apt-get oppdatering; sudo apt-get oppgradering installere ffmpeg {sudo apt-get install ffmpeg
Trinn 7: del syv: Installering av Adafruit WebIDE
curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh åpne en nettleser på hovedskrivebordet. pek nettleserens URL til "https://***.*.*.***: 8080" erstatt "*" med Pi's lokale IP -adresse. lag et brukernavn og pass. du har nå adafruit webIDE -oppsettet.
Trinn 8: del åtte: Oppdater Node-red og Node.js
update-nodejs-and-nodered den neste koden vil få nodered til å kjøre ved oppstart akkurat som adafruit webIDE, dette er viktig hvis du vil utvikle deg på disse tingene. sudo systemctl enable nodered.service start Pi på nytt
Trinn 9: del ni: Installere Arduino IDE
du kan gjøre det via kommandolinjen, men…. det vil ikke være den fullstendige versjonen.. betyr at du ikke kan bruke bibliotekets import/søkeverktøy, for å installere hele versjonen må du gå til arduino -nettstedet og laste ned versjonen for din pi -modell. det vil være ARM32bit for pi3, få den stabile utgivelsen. åpen terminal. (erstatt *-ene med utgivelsesinformasjonen) kjør disse kommandoene.
www.arduino.cc/en/Main/Software
cd Nedlastinger/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh
Trinn 10: Del ti: Ffmpeg
1x webkamera logitech
(de neste elementene inkluderer ikke det du trenger for å kjøre en 24/7 stream) 1x breadboard en andre bringebær pi modell 3 b (med sd -kort) individuelt adresserbar LED -stripe. arduino nano jumper wire aktivere VNC viewer på begge Pi (e)
pi -preferanser, aktiver vnc, lag en konto med VNC viewer VIKTIG: på pi -en du planlegger å bruke som en offentlig arbeidsbenk, gå til vnc -serverinnstillinger, alternativer, ekspertfanen, og gjør inaktiv timeout: 0 sekunder, den er satt til å lukke Vnc visning hvis den er inaktiv etter en time, vil dette stoppe vinduet ditt fra å lukke midtstrømmen installere vnc viewer på streamer pi i terminalen.
sudo apt-get install vnc-java y
plugg inn webkameraet og..installer webkameraet.
sudo apt installere fswebcam
installer ffmpeg sudo apt-get install ffmpeg y
det er her dine egne valg spiller inn. i terminal, kjør dette skriptet for å åpne et vindu på streamer pi -skrivebordet for webkameraet ditt.
ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay lar deg se dette i et vindu med navnet pi -cam, webkameraet viser deg at location dev/video0 og den opprinnelige størrelsen er 1920x1080. Jeg vil bare se beskjæringen = bredde: høyde: topleft_X: topleft_Y og en framerate på 20 er nok for meg. neste kode vil strømme til rykninger.
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: a aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"
-f x11grab brukes til å ta tak i skjermen din. skjermoppløsningen min er satt til 1280x1024 Jeg vil vise den i 1280x720 so -vf videoformat.
2m = 2mgb opplastingshastighet. -f flv er å formatere videoen til.flv slik at rykninger kan bruke den.
nå kan du gi teamet ditt din VNC -legitimasjon til arbeidsbenken Pi, og de kan se endringene i LED -stripen eksternt. Rop til denne fyren ~! videoen hans hjalp meg med å komme i gang, jeg måtte fortsatt finne ut hvordan jeg skulle komme inn i webkameraet mitt … og finne ut om ffmpeg X/
Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc MERK: Jeg er ikke den mest informerte personen, dette fungerer ganske enkelt for mine behov, hvis noen har konstruktive råd, vil jeg gjerne høre det, men vær så snill å ikke gjøre det være en av de mulige rutene for å ta dette videre, ville være å bruke denne mekanikeren til å streame dette, og bruke en annen pi og kromforlengelsen lysstrøm for å hente den strømmen og deretter mate webkameraet inn i det eller på annen måte. https://www.youtube.com/embed/kb_5_9GkwZc OGSÅ: hvis du vil legge til lyd, som du kan se i mans youtube -videoen, kan du bruke denne strengen, jeg ønsket ikke at huset mitt skulle spilles inn og sendt for å rykke, dette sitter på rommet mitt, så jeg sender ikke lyd, det hjelper også med å redusere belastningen på pi.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i standard -af acompressor = terskel = 0,089: ratio = 9: attack = 200: release = 1000 -vf skala = 1280x720 -c: v h264 - g 24 -b: v 2M -preset ultrafast -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"
Trinn 11:
nå til den siste strekningen, implementering av arduino og pi seriell kommunikasjon med python.
--- hvem er hjemmeprosjektet --- Prosjektet bruker et python-script som kjører nmap i terminalen, kopierer innholdet i det, analyserer teksten vi ikke trenger, og sammenligner mac-adressene på nettverket mot de listede mac -adresser, og hvis det er en kamp, er personen hjemme. mac -adressene ble funnet ved å gjøre undersøkelsesarbeid på ruteren, men nmap -verktøyet gir deg informasjon om enhetene i tekstfilen som genereres av koden. hvis brukeren er til stede, sender den et tegn til arduinoen, og arduinoen venter til sjekklisten er ferdig, og lyser lysdioder som tilsvarer profilene som er oppført for mac -adressene til nåværende enheter. du kan legge til andre ting, for eksempel å la discord-bots kjøre kommandoer når folk kommer eller går med den samme koden ved å bruke delprosessoperatøren til å utføre terminalkommandoer i python-skriptet ditt. så først installerer vi nmap sudo apt-get install nmap. neste vil du laste ned filene på våre klubber Git-Hub.
github.com/ValenciaRobotics/embeddedclub
for python -koden, kommer raspbian -installasjonen med alt som brukes i denne koden, så du trenger ikke installere noe ekstra. vi brukte import re, import delprosess, importtid, import serial Det er viktig å merke seg at python bruker innrykk for å skille ut kodeblokker, så vær oppmerksom på det hvis du bestemmer deg for å endre måten koden skrives:) py kommer med thonny ide og et par andre alternativer, jeg finner ut at kjøring av skriptet i thonny er veldig rett frem, hvis du klikker på filen og prøver å utføre den, var det foreslå eller anta at thonny var det du ønsket å bruke. før du kjører programmet, må du redigere følgende. linje 14: * symbolene brukes til å maskere min egen ruterinformasjon, du må erstatte den med din egen lokale ip. det ville være det samme som det du bruker for å koble til ruteren din. linje 28, 38, 48, 58: disse bruker alle * -symbolet for å maskere enhets -mac -adresser som er oppført fra nettverket mitt, du må endre dem til mac -adressene til enhetene i ditt eget nettverk for å oppdage tilkoblinger. hvorfor mac -adresser? fordi uten å reservere steder for enheten din, vil de sikkert forbli de samme med mindre noen forfalsker. problemer med denne koden, vil den bare oppdage mens en tilkobling bruker aktivt internett, så den kan ikke oppdages til tross for at en bruker er tilstede. i arduino -koden, vil du endre følgende. Først vil du gå til verktøyfanen, velge biblioteksbehandling og søke etter "fastLED" og installere biblioteket for "fastLED". neste må du laste "hvem er hjemme".ino -koden fra github -siden og endre følgende etter ønske. linje 86: endre fargene basert på hva du vil at brukerne skal ha vedlagt:)
// slå på det du trenger
hvis (d == 1) {leds [0] = 0xdd8bff; // lilla leds [1] = 0xdd8bff;}
hvis (l == 1) {leds [2] = CRGB:: Grønn; leds [3] = CRGB:: Grønn;}
hvis (k == 1) {leds [4] = CRGB:: Rød; leds [5] = CRGB:: Rød; }
hvis (j == 1) {leds [6] = CRGB:: Blå; leds [7] = CRGB:: Blå;}
FastLED.show (); forsinkelse (30000); // 10 sekunders ventetid på bryterhuset En kort forklaring på hvordan du legger til flere brukere er følgende
void loop () {
hvis (Serial.available ()> 0) {
Serial.println ();
person = Serial.read ();
forsinkelse (1000);
bytte (person) {
case'D ': d = 1;
person = 'F';
telle = telle+1;
gå i stykker;
case'd ':
d = 0;
person = 'F';
telle = telle+1;
gå i stykker;
store D er det mottatte tegnet fra python -skriptet, så det vet at brukeren er tilstede fordi den mottatte bokstaven er store D, så det endrer verdien til INTEGER d til 1, hvis det er en liten bokstav enn den vet at de er fraværende, så INTEGER er satt til 0. Betingelsen for LED -belysning i manuset fra før bruker en uttalelse om at IF d er 1 enn det vil lyse LED, men hvis det ikke er det, forblir LED som "svart" som betyr ubelyst. denne koden bruker biblioteket "fastLED", og det er mye dokumentasjon om dette. Vær oppmerksom på at hvis du endrer tegnene, legger til tegn eller fjerner tegn, må du endre python -skriptet for å returnere de du endret dem også, må du også endre tilstanden i tomridsløyfen. if (count == 4) {holdup ();}} tellingen må gjenspeile antall enheter du "sporer". i mitt tilfelle er det 4, så det venter til 4 enheter har blitt erklært som til stede eller fraværende, og deretter oppdaterer den LED -stripen. i pythonkoden har linjene 31, 34, 41, 44, 51, 54, 61, 64 følgende linje ser.write (b ' *') #sender tegn kastet som byte over serie hvor * er et tegn det er sender til arduinoen. endre dette hvis du endrer koden i arduinoen eller omvendt:)
Igjen, som en avsluttende uttalelse, vil jeg gi æren til lagkameraten min Jon, han gjorde en god jobb med å plukke opp slakken når vi trengte den.
Python Script ble levert av: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/
Arduino Script og gå gjennom og oppsett av hjemmelaboratoriet ble utført av: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Forhåpentligvis vinner vi minst en t-skjorte! Jeg kommer til å oppdatere dette med skallkommandoer for å laste ned og installere det meste av dette, nettstedet til klubbene våre har faktisk nedlastbare skallskript for å utføre ffmpeg -operasjonene.
Dette prosjektet tok mye tid, jeg grunnla denne divisjonen av klubben fra bunnen av, så jeg kan stolt si at dette øyeblikket gir meg mye glede.:) takk for din tid, vi har en arbeidsplattform for å utvikle nå i klubben min på grunn av dette prosjektet.
Anbefalt:
En Raspberry Pi NAS som virkelig ser ut som en NAS: 13 trinn (med bilder)
En Raspberry Pi NAS som virkelig ser ut som en NAS: Hvorfor en Raspberry Pi NAS Vel, jeg har søkt etter en vakker, men plassbesparende Raspberry Pi NAS fra internett, og jeg fant ingenting. Jeg fant noen NAS -design med en Raspberry Pi som ble limt på en trebasert, men det er ikke det jeg vil. Jeg ønsker
Hvordan lage et $ 10 WiFi -sikkerhetssystem hjemme? Ingen gebyrer og fungerer hvor som helst !: 3 trinn
Hvordan lage et $ 10 WiFi -sikkerhetssystem hjemme? Ingen avgifter og fungerer hvor som helst !: Hvordan lage et wifi -sikkerhetsvarslingssystem på $ 10 hjemme? Det er gratis og det fungerer overalt! Hvis PIR -bevegelsessensoren oppdager bevegelser, sender den et varsel til mobiltelefonen. ESP8266 ESP-01 WiFi-modul, PIR bevegelsessensor og 3,3
Light Rush! Hvem har det raskeste lyset!?: 3 trinn
Light Rush! Hvem har det raskeste lyset!?: Spill et hvilket som helst spill som er kult og morsomt, men når du kan lage det selv er det definitivt bedre! Så jeg er vant til å leke med arduino og ledstrip, så jeg har gjort et lysløp med det. La oss forklare hvordan det å ha det gøy og lek spiller ingen rolle i alderen din fordi
Hvem er på min dør? PIR bevegelsessensor/område sensor prosjekt: 5 trinn
Hvem er på min dør? PIR bevegelsessensor/avstandssensorprosjekt: Prosjektet vårt har som mål å føle bevegelse via PIR- og avstandssensorer. Arduino -koden sender et visuelt og lydsignal for å fortelle brukeren at noen er i nærheten. MATLAB -koden sender et e -postsignal for å varsle brukeren om at noen er i nærheten. Denne enheten
Techno-geek Roulette (eller Hvem lager kaffe?): 6 trinn (med bilder)
Techno -geek Roulette (eller Who Makes the Coffee?): Dette er en gadget laget av resirkulerte datamaskindeler for å gi et absolutt, utvetydig og ubestridelig svar på det evige kontorspørsmålet - " Hvem sin tur er det å lage kaffen? &Quot; Hver gang strømmen slås på, vil denne fantastiske enheten