Obsah:

Raspberry Pi HomeLab a kdo je doma: 11 kroků
Raspberry Pi HomeLab a kdo je doma: 11 kroků

Video: Raspberry Pi HomeLab a kdo je doma: 11 kroků

Video: Raspberry Pi HomeLab a kdo je doma: 11 kroků
Video: Beelink GK Mini часть 3 - Proxmox, виртуальная машина Home Assistant OS, простая и быстрая установка 2024, Červenec
Anonim
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma
Raspberry Pi HomeLab a kdo je doma

Toto je můj první nezničitelný, ale tento návod má dvě fáze.

faze jedna: je nastavení pí pro domácí laboratoř pro práci IOT pro tým vývojářů studentů.

faze two: is using the system for development, by implementation a demonstration using our who is home project.

Na konci toho budete mít dálkově přístupné bezhlavé pi, které mohou lidé používat k dálkovému programování a práci na zařízeních IOT.

Nyní varuji, že otevřením pi pro veřejnost bez náležitého zabezpečení se otevíráte riziku útoku na vaši domácí síť.

v následujících krocích projdeme první fází, ale toto je odkaz na některé informace o našem klubu a projektu kdo je doma.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

projekt Who Is home provede následující: spustí skript pythonu, který kontroluje mac adresy zařízení připojených k vaší síti. k tomu používá Nmap. spouští tyto adresy proti seznamu adres, a pokud je uvedená adresa uvedena, odešle znak arduinu pomocí sériové komunikace. arduino ovládá LED pásek a když obdrží znak, má pro toto zařízení přiřazenou barvu a rozsvítí LED diody pro tuto osobu na základě jejich přítomnosti.

naše divize sídlí

sites.google.com/view/valencia-robotics

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

stránky našeho klubu

sites.google.com/view/valenciatechclub

skript Python poskytl: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

skript Arduino a procházení a nastavení domácí laboratoře provedl: Dylan Poll

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

Jsem Dylan Poll, jsem současným prezidentem technologického klubu naší vysoké školy a jsem také vedoucím integrovaných systémů.

Zásoby

Arduino

Prkénko

propojovací vodiče

Webová kamera

individuálně adresovatelný RGB LED pásek

napájecí zdroj pro vaše pí, klávesnice, myš, počítač k počátečnímu nastavení.

Krok 1: Stažení a instalace počátečních instalačních souborů

stáhnout a nainstalovat tmel (Windows)

www.putty.org

stáhněte si rufus a nainstalujte

rufus.ie

stáhněte si plnou verzi Raspbian a doporučený software (.zip)

www.raspberrypi.org/downloads/raspbian/

rozbalte obsah v souboru.zip, bude to váš [soubor obrázku].

vezměte kartu micro sd a pomocí doku nebo microSD zařízení usb zapojte do počítače naformátujte kartu sd

Krok 2: část druhá: Nainstalujte si Raspbian pomocí Rufusu

Část druhá: Nainstalujte si Raspbian pomocí Rufusu
Část druhá: Nainstalujte si Raspbian pomocí Rufusu

run rufus vyberte svou sd kartu v prvním poli vyberte soubor s obrázkem raspbian pro.iso/.img vyberte start a počkejte na dokončení.

Krok 3: Část třetí: Zapojení Pi

poté, co je hotovo, vytáhněte kartu SD, vložte ji do slotu pro kartu SD na pí, jeho na „spodní“zástrčce nejprve zapojte kabel HDMI k pi, než klávesnici a myš a poslední napájecí kabel. pokud nejprve připojíte napájení, nemusí se zaregistrovat váš monitor/TV.

Krok 4: část čtvrtá: Nastavení účtu

přihlaste se do pi! proveďte nastavení prvního spuštění! nepřeskočte to! vyberte americkou anglickou klávesnici nebo svůj symbol @ později nenajdete … pokud ne, váš @ symbol je tam, kde je vaše „. Přihlaste se do své wifi na pi ještě neaktualizujte. Mám důvod. stiskněte klávesu Windows“ a přejděte na předvolby, přejděte na konfiguraci pi. přejděte na kartu rozhraní.

povolit VNC…. a vše ostatní se nerestartuje.

Krok 5: Část pátá: Nastavení vašeho Pi jako bezhlavého (nejlepší věc vůbec)

Část pátá: Nastavení vašeho Pi jako bezhlavého (nejlepší věc vůbec)
Část pátá: Nastavení vašeho Pi jako bezhlavého (nejlepší věc vůbec)

podívejte se v pravém horním rohu obrazovky. uvidíte černé a modré logo VNC. otevři to. stiskněte Přihlásit se, Vytvořit účet. přidat pí. na stolním počítači/notebooku otevřete prohlížeč vyhledejte v prohlížeči Google VNC stažení instalace. přihlaste se ke svému účtu. zkontrolujte svůj e -mail pro přihlášení a autorizujte se. připojte se ke svému pi (zadejte heslo pi v druhém přihlašovacím menu), pokud to funguje, vypněte pi. odpojte své pí a všechno. dejte pí do rohu vaší místnosti a připojte k němu pouze napájecí kabel. k pi se můžete připojit pomocí prohlížeče VNC. nyní máte „bezhlavé“pí. můžete k tomu také SSH. (viz informace o SSH v sekci cool věci)

Krok 6: část šestá: Instalace všech základních nástrojů pro vývoj na Pi

Část šestá: Instalace všech základních nástrojů pro vývoj na Pi
Část šestá: Instalace všech základních nástrojů pro vývoj na Pi

pomocí SSH nebo VNC (nebo pokud jste se rozhodli nebýt cool a nastavit to bezhlavě) proveďte následující. otevřený terminál (tato další část může chvíli trvat….) spusťte tyto příkazy jeden po druhém po dokončení každého.

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

Krok 7: část sedmá: Instalace Adafruit WebIDE

Sedmá část: Instalace Adafruit WebIDE
Sedmá část: Instalace Adafruit WebIDE

stočit https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh otevřete prohlížeč na hlavní ploše. nasměrujte URL svého prohlížeče na „https://***.*.*.***: 8080“nahraďte „*“místní IP adresou vašeho Pi. vytvořit uživatelské jméno a předat. nyní máte nastavení adafruit webIDE.

Krok 8: část osm: Aktualizujte Node-red a Node.js

update-nodejs-and-nodered the next code will make nodered run on startup just like the adafruit webIDE, this is important if you want to develop on these things. sudo systemctl enable nodered.service restart the Pi

Krok 9: část devět: Instalace Arduino IDE

Část devátá: Instalace Arduino IDE
Část devátá: Instalace Arduino IDE

můžete to udělat pomocí příkazového řádku, ale … nebude to plná verze.. to znamená, že nemůžete použít nástroj pro import/vyhledávání knihovny, k instalaci plné verze musíte přejít na web arduino a stáhnout si verzi pro svůj model pi. bude to ARM32bit pro pi3, získejte stabilní verzi. otevřete terminál. (nahraďte *s informacemi o vydání) spusťte tyto příkazy.

www.arduino.cc/en/Main/Software

Stažení CD/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh

Krok 10: Část desátá: Ffmpeg

Část desátá: Ffmpeg
Část desátá: Ffmpeg

1x webová kamera logitech

(další položky neobsahují to, co potřebujete ke spuštění 24/7 streamu) 1x prkénko na druhý malinový pi model 3 b (se sd kartou) individuálně adresovatelný LED pásek. arduino nano propojovací vodič umožňující prohlížeč VNC na obou Pi

předvolby pi, povolit vnc vytvořit účet pomocí prohlížeče VNC DŮLEŽITÉ: na pi, které plánujete použít jako veřejnou pracovní lavici, přejděte na nastavení serveru vnc, možnosti, záložka expert a udělejte časový limit nečinnosti: 0 sekund, je nastaveno na zavření Vnc prohlížeč, pokud je po hodině nečinný, zastaví se tím zavření okna mid stream install vnc viewer na streamer pi v terminálu.

sudo apt-get install vnc-java y

připojte webovou kameru a … nainstalujte webovou kameru.

sudo apt nainstalovat fswebcam

nainstalovat ffmpeg sudo apt-get install ffmpeg y

zde vstupují do hry vaše vlastní volby. v terminálu spusťte tento skript a otevřete okno na ploše vašeho streamer pi pro vaši webovou kameru.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay vám to umožní vidět v okně s názvem pi -cam, webová kamera, která vám ukazuje, je v umístění dev/video0 a jeho původní velikost je 1920x1080. Chci vidět pouze crop = width: height: topleft_X: topleft_Y a stačí mi framerate 20. další kód se bude streamovat do záškubu.

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

-f x11grab slouží k uchopení obrazovky. moje rozlišení obrazovky je nastaveno na 1280x1024 Chci to zobrazit ve formátu videa 1280x720 so -vf.

2m = rychlost odesílání 2mgb. -f flv je formátování videa do.flv, aby ho twitch mohl použít.

nyní můžete svému týmu předat přihlašovací údaje VNC na pracovní stůl Pi a oni mohou vzdáleně sledovat změny v LED pásku. Křičte na toho chlapa ~! jeho video mi pomohlo dostat se na správnou cestu, stále jsem musel zjistit, jak se dostat na webovou kameru… a zjistit něco o ffmpeg X/

Arthur Reeder Odkaz být jednou z možných cest, jak to dále posunout, by bylo použít tuto mechaniku ke streamování tohoto a použít jiný pí a chromový prodlužovací světelný proud k načtení tohoto proudu a poté k tomu nebo jakýmkoli jiným způsobem přivést webovou kameru. https://www.youtube.com/embed/kb_5_9GkwZc TAKÉ: pokud chcete přidat zvuk, jak je vidět na videu YouTube mans, můžete použít tento řetězec, nechtěl jsem, aby byl můj dům nahráván a odesláno do škubnutí, toto sedí v mém pokoji, takže neposílám žádný zvuk, také to pomáhá snížit zátěž na pí.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af acompressor = práh = 0,089: ratio = 9: attack = 200: release = 1000 -vf scale = 1280x720 -c: v h264 - g 24 -b: v 2M -přednastavené ultrarychlé -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

Krok 11:

obraz
obraz
obraz
obraz
obraz
obraz
obraz
obraz

nyní do posledního úseku, implementace arduino a pi sériové komunikace s pythonem.

--- projekt kdo je doma --- projekt používá python skript, který spouští nmap v terminálu, zkopíruje jeho obsah, analyzuje text, který nepotřebujeme, a porovnává adresy mac v síti s uvedenými mac adresy a pokud existuje shoda, je tato osoba doma. adresy mac byly nalezeny vyšetřovací prací na routeru, ale nástroj nmap vám poskytne informace o zařízeních v textovém souboru generovaném kódem. pokud je uživatel přítomen, odešle znak do arduina a arduino počká, dokud nebude dokončen kontrolní seznam, a rozsvítí se diody LED odpovídající profilům uvedeným pro adresy MAC současných zařízení. můžete přidat další věci, například nechat roboty svárů spouštět příkazy lidem, kteří přicházejí nebo odcházejí se stejným kódem, pomocí operátoru dílčích procesů ke spouštění příkazů terminálu ve vašem python skriptu. nejprve tedy nainstalujeme nmap sudo apt-get install nmap. dále si budete chtít stáhnout soubory na našich klubech Git-Hub.

github.com/ValenciaRobotics/embeddedclub

pro kód pythonu je instalace raspbian dodávána se vším, co je v tomto kódu použito, takže nepotřebujete nic dalšího instalovaného. použili jsme import re, import subprocess, import time, import serial je důležité si uvědomit, že python používá k oddělení bloků kódu odsazení, takže si uvědomte, že pokud se rozhodnete změnit způsob psaní kódu:) py přichází s thonny ide a několik dalších možností, zjistil jsem, že spuštění skriptu v thonny je opravdu jednoduché, pokud kliknete na soubor a pokusíte se jej spustit, bylo to navrhnout nebo předpokládat, že thonny je to, co jste chtěli použít. před spuštěním programu budete muset upravit následující. řádek 14: symboly * se používají k maskování informací o mém vlastním routeru, budete je muset nahradit vlastní místní IP. bylo by to stejné jako to, co používáte k připojení k routeru. řádky 28, 38, 48, 58: všechny tyto používají symbol * k maskování MAC adres zařízení uvedených v mé síti, pro detekci připojení je musíte změnit na mac adresy zařízení ve vaší vlastní síti. proč mac adresy? protože bez rezervace umístění pro vaše zařízení určitě zůstanou stejné, pokud někdo nepodvádí. problémy s tímto kódem, bude detekován pouze tehdy, když připojení aktivně používá internet, takže nemusí být detekováno, přestože je přítomen uživatel. v kódu arduino budete chtít změnit následující. Nejprve budete chtít přejít na kartu nástrojů, vybrat správce knihoven a hledat „fastLED“a nainstalovat knihovnu pro „fastLED“. dále budete muset načíst.ino kód „kdo je doma“ze stránky github a podle potřeby změnit následující. řádek 86: změňte barvy podle toho, co chcete, aby vaši uživatelé připojili:)

// zapněte, co potřebujete

if (d == 1) {leds [0] = 0xdd8bff; // fialové diody [1] = 0xdd8bff;}

if (l == 1) {leds [2] = CRGB:: Green; leds [3] = CRGB:: Green;}

if (k == 1) {leds [4] = CRGB:: Red; leds [5] = CRGB:: Red; }

if (j == 1) {leds [6] = CRGB:: Blue; leds [7] = CRGB:: Blue;}

FastLED.show (); zpoždění (30 000); // 10 sekund počkejte na případ přepínače a stručné vysvětlení, jak přidat další uživatele, je následující

prázdná smyčka () {

pokud (Serial.available ()> 0) {

Serial.println ();

osoba = Serial.read ();

zpoždění (1000);

přepínač (osoba) {

case'D ': d = 1;

osoba = 'F';

count = count+1;

přestávka;

case'd ':

d = 0;

osoba = 'F';

count = count+1;

přestávka;

velká písmena D je přijatý znak ze skriptu pythonu, takže ví, že je uživatel přítomen, protože přijaté písmeno je velké D, takže změní hodnotu INTEGER d na 1, pokud je malá, než ví, že chybí, takže INTEGER je nastaven na 0. podmínka pro LED diody ve skriptu před používá prohlášení, že IF d je 1, než rozsvítí LED, ale pokud není, LED zůstane jako „černá“, což znamená nesvítí. tento kód používá knihovnu „fastLED“a je k tomu spousta dokumentace. Všimněte si toho, že pokud změníte znaky, přidáte znaky nebo odeberete znaky, budete muset změnit skript pythonu, abyste vrátili i ty, které jste změnili, budete také muset změnit podmínku v prázdné smyčce. if (count == 4) {holdup ();}} count will have to respond the number of devices you are "tracking". v mém případě jsou 4, takže čeká, dokud nebudou 4 zařízení prohlášena za přítomná nebo chybí a poté aktualizuje LED pás. v kódu pythonu mají řádky 31, 34, 41, 44, 51, 54, 61, 64 následující řádek ser.write (b ' *') #odesílá znak přetypovaný jako bajt přes sériový, kde * je znak, kterým je odeslání do arduina. změňte to, pokud změníte kód v arduinu nebo naopak:)

Znovu, jako závěrečné prohlášení, chci vyjádřit uznání svému spoluhráči Jonovi, který odvedl skvělou práci při zvedání vůle, když jsme to potřebovali.

Skript Python poskytl: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

skript Arduino a procházení a nastavení domácí laboratoře provedl: Dylan Poll

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

Snad vyhrajeme alespoň tričko! Budu to aktualizovat pomocí příkazů shellu, které automaticky stáhnou a nainstalují většinu z toho, náš klubový web má ve skutečnosti skripty shellů ke stažení pro provádění operací ffmpeg.

Tento projekt zabral hodně času, založil jsem tuto divizi klubu od základů, takže mohu hrdě říci, že mi tento okamžik přináší velkou radost.:) děkuji za váš čas, díky tomuto projektu máme v mém klubu pracovní platformu, kterou nyní rozvíjíme.

Doporučuje: