Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Downloading og installation af første installationsfiler
- Trin 2: del to: Installer Raspbian ved hjælp af Rufus
- Trin 3: del tre: Tilslutning af Pi
- Trin 4: del fire: Opsætning af din konto
- Trin 5: del fem: Opsætning af din Pi som hovedløs (det bedste nogensinde)
- Trin 6: del seks: Installation af alle kerneværktøjer til udvikling på en Pi
- Trin 7: del syv: Installation af Adafruit WebIDE
- Trin 8: del otte: Opdater Node-red og Node.js
- Trin 9: del ni: Installation af Arduino IDE
- Trin 10: Del ti: Ffmpeg
- Trin 11:
Video: Raspberry Pi HomeLab og hvem der er hjemme: 11 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Dette er min første uforgængelige, men denne instruerbare har to faser.
faze one: opretter en pi til at arbejde som hjemmelab til IOT-arbejde for et team af studerende udviklere.
faze to: bruger systemet til udvikling ved at implementere en demonstration ved hjælp af vores hvem er hjemme -projektet.
ved slutningen af dette vil du have en eksternt tilgængelig hovedløs pi, der kan bruges af folk til eksternt at programmere og arbejde på IOT -enheder.
nu advarer jeg, at ved at åbne din pi for offentligheden uden behørig sikkerhed åbner du dig selv for risikoen for at få dit hjemmenetværk angrebet.
vi vil gå over den første faze i de følgende trin, men dette er et link til nogle oplysninger om vores klub og hvem der er hjemmeprojektet.
github.com/ValenciaRobotics/embeddedclub
Hvem er hjemme
Who Who -hjemmeprojektet gør følgende: kører et python -script, der kontrollerer mac -adresserne på enheder, der er forbundet til dit netværk. det bruger Nmap til dette. den kører disse adresser mod en liste over adresser, og hvis den angivne adresse er til stede, sender den en char til en arduino ved hjælp af seriel kommunikation. arduino styrer en LED -strimmel, og når den modtager en kul, har den en tilhørende farve til den pågældende enhed, og den tænder lysdioderne for den person baseret på, at de er til stede.
vores divisioner undersider
sites.google.com/view/valencia-robotics
sites.google.com/view/valencia-robotics/cl…
vores klubs websted
sites.google.com/view/valenciatechclub
Python Script blev leveret af: Jonathan De La Cruz
www.linkedin.com/in/jonathandelacruz96/
Arduino Script og gennemgang og opsætning af hjemmelaboratoriet blev udført af: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Jeg er Dylan Poll, jeg er den nuværende formand for tech -klubben på vores college, og jeg er også den integrerede systemleder.
Forbrugsvarer
Et pi
En arduino
Et brødbræt
jumper ledninger
Et webcam
individuelt adresserbar RGB LED Strip
strømforsyning til din pi, et tastatur en mus, computer til at foretage den første opsætning.
Trin 1: Downloading og installation af første installationsfiler
download og installer kit (Windows)
www.putty.org
download rufus og installer
rufus.ie
download raspbian full buster og anbefalet software (.zip)
www.raspberrypi.org/downloads/raspbian/
uddrag indholdet i.zip dette vil være din [billedfil].
tag et micro sd -kort, og brug en dock eller en microsd til usb -enhed og tilslut det til din computer, formater dit sd -kort
Trin 2: del to: Installer Raspbian ved hjælp af Rufus
kør rufus vælg dit sd -kort i det første felt, vælg raspbian -billedfilen til.iso/.img vælg start, og vent på, at det er færdigt.
Trin 3: del tre: Tilslutning af Pi
efter det er gjort, skal du trække sd -kortet ud, sætte det i sd -kortstikket på pi'en, det er på "bunden" stikket i HDMI -ledningen til pi først, end et tastatur og en mus, og det sidste strømkabel. Hvis du først tilslutter strøm, registrerer det muligvis ikke din skærm/tv.
Trin 4: del fire: Opsætning af din konto
log ind pi! lav den første kørselsopsætning! spring ikke over det! vælg USA engelsk tastatur, eller du finder ikke dit @ -symbol senere … hvis du ikke gør dit @ -symbol, er dit dit ". "og gå til præferencer, gå til pi -konfiguration. gå til fanen Interfaces.
aktiver VNC…. og alt andet genstart ikke.
Trin 5: del fem: Opsætning af din Pi som hovedløs (det bedste nogensinde)
se øverst til højre på din skærm. du vil se det sorte og blå VNC -logo. åbn det. hit log ind, lav og konto. tilføj pi. på din stationære/bærbare computer, åbn browsersøgning på google VNC viewer download install. log ind på din konto. tjek din e -mail for at logge ind, og godkend dig selv. oprette forbindelse til din pi (indtast pi -adgangskoden i den anden login -menu), hvis den virker, skal du slukke for din pi. tag stikket ud af din pi og alt. Sæt pi'en i et hjørne i dit værelse, og kør kun strømkablet til den. du kan oprette forbindelse til pi'en ved hjælp af VNC viewer. du har nu en "hovedløs" pi. du kan også SSH til det. (se SSH -info i afsnittet om fede ting)
Trin 6: del seks: Installation af alle kerneværktøjer til udvikling på en Pi
ved hjælp af SSH eller VNC (eller hvis du besluttede dig for ikke at være cool og konfigurere den uden hoved) gør følgende. åben terminal (denne næste del kan tage et stykke tid….) Kør disse kommandoer en ad gangen efter hver en er færdig.
sudo apt-get opdatering; sudo apt-get opgradering ved at installere ffmpeg {sudo apt-get install ffmpeg
Trin 7: del syv: Installation af Adafruit WebIDE
curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh åbne en browser på dit hoved skrivebord. peg din browser URL til "https://***.*.*.***: 8080" erstat "*" med din Pi's lokale IP -adresse. lav et brugernavn og pas. du har nu opsætningen af adafruit webIDE.
Trin 8: del otte: Opdater Node-red og Node.js
update-nodejs-and-nodered den næste kode vil få nodered til at køre ved opstart ligesom adafruit webIDE, dette er vigtigt, hvis du vil udvikle på disse ting. sudo systemctl enable nodered.service genstart Pi
Trin 9: del ni: Installation af Arduino IDE
du kan gøre det via kommandolinjen, men…. det vil ikke være den fulde version.. hvilket betyder, at du ikke kan bruge bibliotekets import/søgeværktøj, for at installere den fulde version skal du gå til arduino -webstedet og downloade versionen til din pi -model. det vil være ARM32bit til pi3, få den stabile udgivelse. åben terminal. (udskift *'erne med udgivelsesoplysningerne) kør disse kommandoer.
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
Trin 10: Del ti: Ffmpeg
1x webcam logitech
(de næste varer indeholder ikke, hvad du har brug for for at køre en 24/7 stream) 1x breadboard en anden hindbær pi model 3 b (med sd -kort) individuelt adresserbar LED -strip. arduino nano jumper wire aktivere VNC viewer på begge Pi (er)
pi -præferencer, aktiver vnc lav en konto med VNC viewer VIGTIGT: på den pi, du planlægger at bruge som en offentlig arbejdsbænk, skal du gå til vnc -serverindstillinger, muligheder, fanen ekspert og lave inaktiv timeout: 0 sekunder, det er indstillet til at lukke Vnc fremviser hvis den er inaktiv efter en time, vil dette forhindre dit vindue i at lukke midtstrømmen installere vnc viewer på streamer pi i terminalen.
sudo apt-get install vnc-java y
tilslut dit webcam og..installer dit webcam.
sudo apt installere fswebcam
installer ffmpeg sudo apt-get install ffmpeg y
det er her dine egne valg spiller ind. i terminal, kør dette script for at åbne et vindue på din streamer pi's skrivebord til dit webcam.
ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay giver dig mulighed for at se dette i et vindue med navnet pi -cam, webkameraet viser dig at location dev/video0 og dens originale størrelse er 1920x1080. Jeg vil kun se afgrøden = bredde: højde: topleft_X: topleft_Y og en framerate på 20 er nok for mig. den næste kode vil streame for at rykke.
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 bruges til at få fat i din skærm. min skærmopløsning er sat til 1280x1024 Jeg vil vise det i 1280x720 så -vf videoformat.
2m = 2mgb uploadrate. -f flv er at formatere videoen til.flv, så twitch kan bruge den.
nu kan du give dit team dine VNC -legitimationsoplysninger til arbejdsbordet Pi, og de kan se ændringerne af LED -strimlen eksternt. Råb til denne fyr ~! hans video hjalp mig med at komme på sporet, jeg var stadig nødt til at finde ud af, hvordan jeg skulle komme ind i mit webcam … og finde ud af om ffmpeg X/
Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc BEMÆRK: Jeg er ikke den mest informerede person, dette virker simpelthen til mine behov, hvis nogen har konstruktive råd, vil jeg meget gerne høre det, men lad være med at gøre det være ensbetydende med en af de mulige ruter til at tage dette videre, ville være at bruge denne mekaniker til at streame dette og bruge en anden pi og kromforlængelses -lysstrømmen til at hente den strøm og derefter fodre webkameraet i den eller på anden måde. https://www.youtube.com/embed/kb_5_9GkwZc OGSÅ: hvis du vil tilføje lyd, som det ses i mans youtube -video, kan du bruge denne streng, jeg ville ikke have mit hus optaget og sendt for at rykke, dette sidder i mit værelse, så jeg streamer ikke nogen lyd, det hjælper også med at reducere belastningen på pi.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i standard -af acompressor = tærskel = 0,089: ratio = 9: angreb = 200: release = 1000 -vf skala = 1280x720 -c: v h264 - g 24 -b: v 2M -forudindstilling ultrahurtig -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"
Trin 11:
nu til den sidste strækning, implementering af arduino og pi seriel kommunikation med python.
--- hvem er hjemmeprojektet --- Projektet bruger et python-script, der kører nmap i terminal, kopierer indholdet i det, analyserer den tekst, vi ikke har brug for, og sammenligner mac-adresserne på netværket med de anførte mac -adresser, og hvis der er et match, er personen hjemme. mac -adresserne blev fundet ved at udføre undersøgelsesarbejde på routeren, men nmap -værktøjet giver dig oplysninger om enhederne i tekstfilen, der genereres af koden. hvis brugeren er til stede, sender den et tegn til arduinoen, og arduinoen venter, indtil tjeklisten er udført, og lyser LED'er, der svarer til de profiler, der er angivet for mac -adresserne på nuværende enheder. du kan tilføje andre ting, f.eks. at lade discord-bots køre kommandoer, når folk kommer eller går med den samme kode ved at bruge subprocessoperatøren til at udføre terminalkommandoer i dit python-script. så først installerer vi nmap sudo apt-get install nmap. næste vil du gerne downloade filerne på vores klubber Git-Hub.
github.com/ValenciaRobotics/embeddedclub
for python -koden følger den raspbian -installation med alt, der bruges i denne kode, så du ikke har brug for noget ekstra installeret. vi brugte import re, import delproces, importtid, import seriel det er vigtigt at bemærke, at python bruger indrykning til at adskille kodeblokke, så vær opmærksom på det, hvis du beslutter dig for at ændre måden, koden skrives på:) py'en kommer med thonny ide og et par andre muligheder, jeg finder ud af, at kørsel af scriptet i thonny er virkelig ligetil, hvis du klikker på filen og forsøger at udføre den, var det foreslå eller antage, at thonny var det, du ville bruge. før du kører programmet, skal du redigere følgende. linje 14: * symbolerne bruges til at maskere mine egne routeroplysninger, du bliver nødt til at erstatte det med din egen lokale ip. det ville være det samme som det, du bruger til at oprette forbindelse til din router. linje 28, 38, 48, 58: disse bruger alle symbolet * til at maskere enheds -mac -adresser, der er angivet fra mit netværk, du skal ændre dem til mac -adresserne på enhederne på dit eget netværk for at registrere forbindelser. hvorfor mac adresser? fordi uden at reservere placeringer til din enhed, vil de helt sikkert forblive de samme, medmindre nogen spoofer. problemer med denne kode, registreres den kun, mens en forbindelse aktivt bruger internettet, så den muligvis ikke registreres på trods af, at en bruger er til stede. i arduino -koden, vil du gerne ændre følgende. Først vil du gå til fanen Værktøjer, vælge bibliotekshåndtering og søge efter "fastLED" og installere biblioteket for "fastLED". næste skal du indlæse "hvem er hjemme".ino -koden fra github -siden og ændre følgende, som du ønsker. linje 86: ændre farverne baseret på, hvad du vil have dine brugere vedhæftet:)
// tænd for det, du har brug for
hvis (d == 1) {leds [0] = 0xdd8bff; // lilla lysdioder [1] = 0xdd8bff;}
hvis (l == 1) {leds [2] = CRGB:: Grøn; leds [3] = CRGB:: Grøn;}
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å switch -sagen en kort forklaring på, hvordan man tilføjer flere brugere, er følgende
void loop () {
hvis (Serial.available ()> 0) {
Serial.println ();
person = Serial.read ();
forsinkelse (1000);
switch (person) {
case'D ': d = 1;
person = 'F';
count = count+1;
pause;
case'd ':
d = 0;
person = 'F';
count = count+1;
pause;
den store bogstav D er det modtagne tegn fra python -scriptet, så det ved, at brugeren er til stede, fordi det modtagne bogstav er store D, så det ændrer værdien af INTEGER d til 1, hvis det er en lille bogstav, end den ved, at de er fraværende, så INTEGER er indstillet til 0. betingelsen for LED -belysning i scriptet fra før bruger en erklæring om, at IF d er 1, end det vil tænde LED'en, men hvis det ikke er det, forbliver LED som "sort", hvilket betyder ubelyst. denne kode bruger biblioteket "fastLED", og der er meget dokumentation om dette. Bemærk, at hvis du ændrer tegnene, tilføjer tegn eller fjerner tegn, skal du ændre python -scriptet for at returnere dem, du også har ændret dem, du bliver også nødt til at ændre betingelsen i tomrumsløkken. if (count == 4) {holdup ();}} tællingen skal afspejle antallet af enheder, du "sporer". i mit tilfælde er det 4, så det venter, indtil 4 enheder er blevet erklæret som til stede eller fraværende, og derefter opdaterer det LED -strimlen. i python -koden har linjerne 31, 34, 41, 44, 51, 54, 61, 64 følgende linje ser.write (b ' *') #sender karakterkast som byte over seriel, hvor * er et tegn, det er sender til arduinoen. ændre dette, hvis du ændrer koden i arduino eller omvendt:)
Igen, som en afsluttende erklæring, vil jeg give æren til min holdkammerat Jon, han gjorde et godt stykke arbejde med at opfange slapheden, når vi havde brug for det.
han Python Script blev leveret af: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/
Arduino Script og gennemgang og opsætning af hjemmelaboratoriet blev udført af: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Forhåbentlig vinder vi mindst en t-shirt! Jeg vil opdatere dette med shell -kommandoer til automatisk download og installation af det meste, vores klubs websted har faktisk shell -scripts, der kan downloades til at udføre ffmpeg -operationerne.
Dette projekt tog meget tid, jeg grundlagde denne afdeling af klubben fra bunden, så jeg kan med stolthed sige, at dette øjeblik giver mig en masse glæde.:) tak for din tid, vi har en arbejdsplatform til at udvikle nu i min klub på grund af dette projekt.
Anbefalede:
Sådan laver du YouTube Mic hjemme: 6 trin
Sådan laver du YouTube -mikrofon derhjemme: Hej ven, I dag skal jeg lave en mikrofon, der kan bruges som en ekstern mikrofon til telefon, bærbar computer, fane …… osv. Denne type mikrofon er meget nyttig for youtubere for at optage videoer med lyd af god kvalitet. Lad os komme i gang
Light Rush! Hvem har det hurtigste lys!?: 3 trin
Light Rush! Hvem har det hurtigste lys!?: Spil ethvert spil er sejt og sjovt, men når du kan oprette det selv, er det bestemt bedre! Så jeg er vant til at lege med arduino og ledstrip, så jeg har lavet et lysløb med det. Lad os forklare, hvordan man kan have det sjovt og lege, uanset din alder, fordi
Hvem er ved døren, et Alexa -aktiveret kamerasystem: 3 trin
Hvem er ved døren, et Alexa -aktiveret kamerasystem: Nogle gange, mens du ser tv, vil du ikke besvare døren, medmindre det er vigtigt. Dette projekt giver dig mulighed for at se personen ved døren ved blot at fortælle Amazons Echo -enhed " Alexa, tænd for dørmonitoren ". Du tjekker hvem der vises
Hvem er ved min dør? PIR Motion Sensor/Range Sensor Project: 5 trin
Hvem er ved min dør? PIR Motion Sensor/Range Sensor Project: Vores projekt har til formål at registrere bevægelse via PIR og afstandssensorer. Arduino -koden udsender et visuelt og lydsignal for at fortælle brugeren, at nogen er i nærheden. MATLAB -koden sender et e -mailsignal for at advare brugeren om, at nogen er i nærheden. Denne enhed
Techno-nørdet roulette (eller hvem laver kaffen?): 6 trin (med billeder)
Techno -nørdet roulette (eller Hvem laver kaffen?): Dette er en gadget lavet af genbrugte computerdele for at give et absolut, utvetydigt og ubestrideligt svar på det evige kontorspørgsmål - " Hvem er det til at lave kaffen? &Quot; Hver gang der tændes for strømmen, vil denne vidunderlige enhed