Tartalomjegyzék:
- Kellékek
- 1. lépés: A kezdeti beállítási fájlok letöltése és telepítése
- 2. lépés: Második rész: A Raspbian telepítése a Rufus használatával
- 3. lépés: harmadik rész: A Pi csatlakoztatása
- 4. lépés: negyedik rész: A fiók beállítása
- 5. lépés: Ötödik rész: A Pi beállítása fejetlenül (a legjobb dolog valaha)
- 6. lépés: hatodik rész: A fejlesztéshez szükséges összes alapvető eszköz telepítése Pi -re
- 7. lépés: hetedik rész: Az Adafruit WebIDE telepítése
- 8. lépés: Nyolcadik rész: Frissítse a Node-red és a Node.js fájlokat
- 9. lépés: Kilencedik rész: Az Arduino IDE telepítése
- 10. lépés: Tizedik rész: Ffmpeg
- 11. lépés:
Videó: Raspberry Pi HomeLab és ki van otthon: 11 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ez az első elpusztíthatatlan, de ennek az utasításnak két faze van.
faze one: létrehoz egy pi-t, hogy otthoni laboratóriumként dolgozzon az IOT munkában egy diákfejlesztő csapat számára.
faze two: a rendszert használja a fejlesztéshez, egy bemutató megvalósításával a mi otthon projekt segítségével.
ennek végére lesz egy távolról hozzáférhető fej nélküli pi, amellyel az emberek távolról programozhatnak és dolgozhatnak IOT eszközökön.
most arra figyelmeztetek, hogy ha a pi -t a nyilvánosság elé tárod megfelelő biztonság nélkül, nyitva állsz annak a veszélynek, hogy megtámadják az otthoni hálózatodat.
a következő lépésekben áttekintjük az első faze -t, de ez egy link a klubunkkal és az otthoni projekttel kapcsolatos információkhoz.
github.com/ValenciaRobotics/embeddedclub
WhoIsHome
a Ki van otthon projekt a következőket teszi: futtat egy python -szkriptet, amely ellenőrzi a hálózatához csatlakoztatott eszközök mac -címét. erre Nmap -ot használ. ezeket a címeket egy címlistára futtatja, és ha a felsorolt cím megvan, akkor egy karaktert küld egy arduino -nak soros kommunikáció segítségével. az arduino egy LED szalagot vezérel, és amikor egy karaktert kap, hozzárendeli az adott eszköz színét, és meggyújtja az adott személy LED -jeit a jelenlétük alapján.
osztályaink alterületét
sites.google.com/view/valencia-robotics
sites.google.com/view/valencia-robotics/cl…
klubjaink honlapján
sites.google.com/view/valenciatechclub
a Python -szkriptet biztosította: Jonathan De La Cruz
www.linkedin.com/in/jonathandelacruz96/
az Arduino -szkriptet és a házilabor végigjárását és beállítását végezte: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Dylan Poll vagyok, én vagyok az egyetemünk technikai klubjának jelenlegi elnöke, és én vagyok a beágyazott rendszerek vezetője.
Kellékek
Egy pi
Egy arduino
Egy kenyértábla
jumper vezetékek
Egy webkamera
egyedileg címezhető RGB LED szalag
tápegység a pi -hez, billentyűzet, egér, számítógép a kezdeti beállításhoz.
1. lépés: A kezdeti beállítási fájlok letöltése és telepítése
a gitt letöltése és telepítése (Windows)
www.putty.org
töltse le és telepítse a rufust
rufus.ie
töltse le a raspbian full buster programot és az ajánlott szoftvert (.zip)
www.raspberrypi.org/downloads/raspbian/
bontsa ki a.zip tartalmát, ez lesz a [képfájl].
vegyen egy micro sd kártyát, és használjon dokkot vagy microsd -t az USB -eszközhöz, és csatlakoztassa a számítógéphez formattálja az SD -kártyát
2. lépés: Második rész: A Raspbian telepítése a Rufus használatával
futtassa a rufus parancsot, válassza ki az SD -kártyát az első mezőben.
3. lépés: harmadik rész: A Pi csatlakoztatása
Miután ez megtörtént, húzza ki az SD -kártyát, helyezze be a pi -n lévő SD -kártya nyílásba, először a HDMI -kábel "alsó" csatlakozójába a pi -hez, majd a billentyűzetet és az egeret, valamint az utolsó tápkábelt. ha először csatlakoztatja az áramellátást, előfordulhat, hogy nem regisztrálja a monitort/tévét.
4. lépés: negyedik rész: A fiók beállítása
jelentkezzen be a pi! -ba, végezze el az első futtatás beállítását! ne hagyd ki! válassza az USA angol billentyűzetet, vagy később nem fogja megtalálni a @ szimbólumát … ha nem, akkor a @ szimbóluma ott van, ahol van. jelentkezzen be a wifi -re a pi -n, még ne frissítse. Megvan az oka. nyomja meg a "Windows billentyűzet gombot "és lépjen a beállításokhoz, lépjen a pi konfigurációhoz. lépjen az interfész fülre.
engedélyezze a VNC -t…. és minden más ne induljon újra.
5. lépés: Ötödik rész: A Pi beállítása fejetlenül (a legjobb dolog valaha)
nézd meg a képernyő jobb felső sarkát. látni fogja a fekete -kék VNC logót. nyisd ki azt. nyomja meg a bejelentkezést, a gyártást és a fiókot. add hozzá a pi -t. asztalon/laptopon nyissa meg a böngésző keresését a google VNC viewer letöltés telepítése alatt. Jelentkezz be a fiókodba. ellenőrizze az e -mailben a bejelentkezést, és engedélyezze magát. csatlakozzon a pi -hez (írja be a pi jelszót a második bejelentkezési menüben), ha működik, kapcsolja ki a pi -t. húzza ki a pi -t és mindent. tegye a pi -t a szoba egyik sarkába, és csak a tápkábelt vezesse hozzá. csatlakozhat a pi -hez a VNC viewer segítségével. most van egy "fejetlen" pi. SSH -t is használhat. (lásd az SSH -információkat a menő dolgok részben)
6. lépés: hatodik rész: A fejlesztéshez szükséges összes alapvető eszköz telepítése Pi -re
SSH vagy VNC használatával (vagy ha úgy döntött, hogy nem lesz menő, és fejetlenül állítja be), tegye a következőket. nyissa meg a terminált (ez a következő rész eltarthat egy ideig …). futtassa ezeket a parancsokat egyenként, miután mindegyik befejeződött.
sudo apt-get update; sudo apt-get upgrade ffmpeg telepítése {sudo apt-get install ffmpeg
7. lépés: hetedik rész: Az Adafruit WebIDE telepítése
curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh nyissa meg a böngészőt a fő asztalon. mutassa böngészője URL -jét a „https://***.*.*.***: 8080” címre, cserélje ki a „*” jelzést a Pi helyi IP -címére. hozzon létre felhasználónevet és adja át. most megvan az adafruit webIDE beállítása.
8. lépés: Nyolcadik rész: Frissítse a Node-red és a Node.js fájlokat
A update-nodejs-és-nodered következő kódja indításkor ugyanúgy futtatja a csomópontot, mint az adafruit webIDE, ez fontos, ha ezeken a dolgokon szeretne fejlődni. sudo systemctl enable nodered.service indítsa újra a Pi -t
9. lépés: Kilencedik rész: Az Arduino IDE telepítése
parancssorból megteheti, de … ez nem a teljes verzió.. azaz nem tudja használni a könyvtár importáló/keresőeszközét, a teljes verzió telepítéséhez el kell mennie az arduino webhelyre, és le kell töltenie a pi modelljének verzióját. ez lesz a pi3 ARM32bitje, szerezd be a stabil kiadást. nyissa meg a terminált. (cserélje ki a *-ket a kiadási információra) futtassa ezeket a parancsokat.
www.arduino.cc/en/Main/Software
cd Letöltések/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh
10. lépés: Tizedik rész: Ffmpeg
1x webkamera logitech
(a következő tételek nem tartalmazzák a 24/7 adatfolyam futtatásához szükséges) 1x kenyérsütő lemez egy második málna pi modell 3 b (sd kártyával) egyedileg címezhető LED szalag. Az arduino nano jumper vezeték lehetővé teszi a VNC megjelenítést mindkét Pi -n
pi preferenciák, engedélyezze a vnc fiók létrehozását a VNC viewer alkalmazásban FONTOS: azon a pi -n, amelyet nyilvános munkaasztalként szeretne használni, lépjen a vnc szerver beállításaihoz, beállításaihoz, szakértői füléhez, és készenléti időtúllépést tegyen: 0 másodperc, a Vnc bezárása viewer, ha tétlen egy óra múlva, ezzel megakadályozza, hogy az ablak bezáródjon a stream közepén, telepítse a vnc viewer -t a terminál pi streamerére.
sudo apt-get install vnc-java y
csatlakoztassa a webkamerát és … telepítse a webkamerát.
sudo apt install fswebcam
install ffmpeg sudo apt-get install ffmpeg y
itt a saját döntéseid jönnek szóba. a terminálban futtassa ezt a szkriptet, hogy megnyisson egy ablakot a streamer pi asztalon a webkamera számára.
ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay lehetővé teszi, hogy ezt egy pi -cam nevű ablakban lássa, a webkamera, amelyen látható a dev/video0 helyen, eredeti mérete 1920x1080. Csak a termést akarom látni: szélesség: magasság: topleft_X: topleft_Y és 20 -as képkockasebesség elég nekem. a következő kód streamelni fog.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf scale = 1280x720 -c: v h264 -g 24 -b: v 2M -preset ultragyors -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"
-f x11grab a képernyő megragadására szolgál. képernyőfelbontásom 1280x1024 -re van állítva. Ezt szeretném megjeleníteni 1280x720 -as so -vf videó formátumban.
2m = 2mgb feltöltési sebesség. -f flv a videó.flv formátumba való formázása, hogy a twitch használhassa.
most átadhatja csapatának a VNC hitelesítő adatait a Pi munkaasztalhoz, és távolról láthatják a led szalag változásait. Kiáltás ennek a fickónak ~! a videója segített a helyes úton járni, de még ki kellett találnom, hogyan kell beugranom a webkamerámba… és megtudnom az ffmpeg X/
Arthur Reeder: https://www.youtube.com/embed/kb_5_9GkwZc az egyik lehetséges út, hogy továbbvigyük ezt, az lenne, ha ezt a szerelőt használnánk a streameléshez, és egy másik pi -t és a króm kiterjesztésű fényáramot használnánk az adatfolyam lekérésére, és nem a webkamera betáplálására ebbe vagy más módon. https://www.youtube.com/embed/kb_5_9GkwZc IS: ha hangot szeretne hozzáadni, amint azt a mans youtube videója is mutatja, akkor ezt a karakterláncot használhatja, nem akartam, hogy a házamat rögzítsék, és rángatózásra küldve, ez a szobámban ül, így nem sugározok hangot, ez is segít csökkenteni a pi terhelését.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af acompressor = küszöb = 0,089: ratio = 9: attack = 200: release = 1000 -vf scale = 1280x720 -c: v h264 - g 24 -b: v 2M -előre beállított ultragyors -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"
11. lépés:
most az utolsó szakaszig, megvalósítva az arduino és pi soros kommunikációt a python segítségével.
--- a ki az otthoni projekt --- A projekt egy python szkriptet használ, amely nmap-t futtat a terminálon, másolja át annak tartalmát, elemezze a nem szükséges szöveget, és összehasonlítja a hálózaton lévő mac-címeket a felsoroltakkal mac címeket, és ha van egyezés, az illető otthon van. a mac címeket az útválasztón végzett nyomozási munkával találták meg, de az nmap eszköz információt nyújt a kód által generált szövegfájl eszközeiről. ha a felhasználó jelen van, akkor egy karaktert küld az arduino -nak, és az arduino megvárja, amíg az ellenőrző lista elkészül, és felgyújtja a jelenlegi eszközök mac -címéhez tartozó profiloknak megfelelő LED -eket. hozzáadhat más dolgokat is, például ha a discord botok parancsokat futtatnak azokkal a személyekkel, akik ugyanazzal a kóddal érkeznek vagy mennek, ha az alfolyamat-operátorral végzi a terminálparancsokat a python szkriptjében. így először telepítjük az nmap sudo apt-get install nmap alkalmazást. Ezután le kell töltenie a fájlokat a Git-Hub klubjainkról.
github.com/ValenciaRobotics/embeddedclub
a python kódhoz a raspbian telepítéshez minden szükséges, ami ebben a kódban használatos, így nincs szükség további telepítésre. az import re, az import alfolyamatokat, az importálási időt, a soros importálást használtuk, fontos megjegyezni, hogy a python behúzást használ a kódblokkok szétválasztásához, ezért vegye figyelembe, hogy ha úgy dönt, hogy megváltoztatja a kód írásának módját:) a py thonny ide és néhány más lehetőség közül azt találom, hogy a szkript futtatása thonny -ban valóban egyszerű, ha rákattint a fájlra, és megpróbálja végrehajtani, azt javasolta vagy feltételezte, hogy a thonny az, amit használni akart. a program futtatása előtt szerkesztenie kell az alábbiakat. 14. sor: a * szimbólumok a saját útválasztó adataim elfedésére szolgálnak, ezt le kell cserélnie a saját helyi ip -jére. ugyanaz lenne, mint amit az útválasztóhoz való csatlakozáshoz használ. 28., 38., 48., 58. sor: ezek mindegyike a * szimbólumot használja a hálózatomból felsorolt eszköz -mac -címek elfedésére, a kapcsolatok észleléséhez ezeket a saját hálózatán lévő eszközök mac -címére kell módosítania. miért a mac címek? mert anélkül, hogy lefoglalná a helyeket az eszközéhez, biztosan ugyanazok maradnak, hacsak valaki nem hamisít. problémákat okoz ezzel a kóddal, csak akkor észleli, ha a kapcsolat aktívan használja az internetet, így előfordulhat, hogy nem észleli annak ellenére, hogy a felhasználó jelen van. az arduino kódban a következőket kell megváltoztatni. először az Eszközök fülre kell lépnie, válassza ki a könyvtárak kezelőjét, és keresse meg a "fastLED" kifejezést, és telepítse a "fastLED" könyvtárat. Ezután be kell töltenie a "ki otthon".ino kódot a github oldalról, és szükség szerint módosítania kell a következőket. 86. sor: változtassa meg a színeket annak alapján, hogy mit szeretne csatolni a felhasználóknak:)
// kapcsolja be, amire szüksége van
if (d == 1) {ledek [0] = 0xdd8bff; // lila ledek [1] = 0xdd8bff;}
if (l == 1) {ledek [2] = CRGB:: Zöld; ledek [3] = CRGB:: Zöld;}
if (k == 1) {ledek [4] = CRGB:: Piros; ledek [5] = CRGB:: Piros; }
ha (j == 1) {ledek [6] = CRGB:: Kék; ledek [7] = CRGB:: Kék;}
FastLED.show (); késleltetés (30000); // 10 másodperc várakozás a kapcsolótáskán, a következő rövid magyarázat a további felhasználók hozzáadásához
void loop () {
ha (Serial.available ()> 0) {
Sorozat.println ();
személy = Sorozat.olvasás ();
késleltetés (1000);
kapcsoló (személy) {
„D” eset: d = 1;
személy = 'F';
szám = szám+1;
szünet;
eset ':
d = 0;
személy = 'F';
szám = szám+1;
szünet;
a D nagybetű a python szkriptből kapott karakter, így tudja, hogy a felhasználó jelen van, mert a kapott betű a D nagybetű, ezért az INTEGER d értékét 1 -re változtatja, ha kisbetű, mint amennyit tud hiányoznak, így az INTEGER értéke 0. A LED -ek előzetes világításának feltétele a szkriptben egy olyan kijelentést használ, hogy HA d 1, akkor megvilágítja a LED -et, de ha nem, akkor a led "fekete" marad, azaz nem világít. ez a kód a "fastLED" könyvtárat használja, és sok dokumentáció van erről. ne feledje, hogy ha megváltoztatja a karaktereket, hozzáad karaktereket vagy eltávolít karaktereket, akkor módosítania kell a python parancsfájlt, hogy visszaadja azokat is, amelyeket megváltoztatott, a void ciklus feltételét is. if (count == 4) {holdup ();}} a számlálásnak tükröznie kell a "nyomon követett" eszközök számát. az én esetemben ez 4, tehát megvárja, amíg 4 készüléket jelenlévőnek vagy hiányzónak nyilvánítanak, majd frissíti a LED szalagot. a python kódban a 31., 34., 41., 44., 51., 54., 61., 64. sor a következő sorral rendelkezik. küldeni az arduino -nak. ezt változtasd meg, ha megváltoztatod az arduino kódját vagy fordítva:)
Ismét zárásként szeretném elismerni a csapattársamat, Jon -t, remek munkát végzett, amikor felvette a lazaságot, amikor szükségünk volt rá.
a Python -szkriptet Jonathan De La Cruz biztosította
az Arduino -szkriptet és a házilabor végigjárását és beállítását végezte: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Reméljük nyerünk legalább egy pólót! Ezt frissíteni fogom shell parancsokkal, hogy automatikusan letöltsem és telepítsem ennek nagy részét, klubjaink honlapja valójában letölthető shell parancsfájlokkal rendelkezik az ffmpeg műveletek elvégzéséhez.
Ez a projekt sok időt vett igénybe, az alapoktól alapítottam a klubnak ezt a részlegét, így büszkén mondhatom, hogy ez a pillanat sok örömet okoz nekem.:) köszönöm az idejét, van egy működő platformunk, amit most fejleszteni tudok a klubomban a projekt miatt.
Ajánlott:
Hogyan készítsünk otthon rugós rezgésérzékelőt!: 5 lépés (képekkel)
Hogyan készítsünk rugós rezgésérzékelőt otthon !: Egy új projekten dolgoztam, amely egy rugós rezgésérzékelőt tartalmaz, azaz a " szegény ember " gyorsulásmérő/mozgásérzékelő! Ezek a rugós rezgéskapcsolók nagy érzékenységű, nem irányított rezgések által kiváltott triggerkapcsolók. Belül van egy
Hogyan kell barkácsolni 32 sávos LED audio zenei spektrum elemzőt az Arduino Nano használatával otthon #arduinoproject: 8 lépés
Hogyan készítsünk 32 sávos LED audio zenei spektrum elemzőt az Arduino Nano használatával otthon #arduinoproject: Ma elkészítünk egy 32 sávos LED audió zenei spektrum elemzőt otthon, az Arduino segítségével, amely egyszerre képes megjeleníteni a frekvencia spektrumot és lejátszani a muisc -ot. a 100k -os ellenállás elé kell csatlakoztatni, különben a hangzaj
DIY Arduino gesztusvezérlő robot készítése otthon: 4 lépés
Hogyan készítsünk otthoni DIY Arduino gesztusvezérlő robotot: Hogyan készítsünk házilag DIY Arduino gesztusvezérlő robotot. Ebben a projektben megmutatom, hogyan lehet DIY Arduino gesztusvezérlő robotot készíteni
Hogyan készítsünk Rc -repülőgépet otthon 60 dollár alatt: 4 lépés
Hogyan készítsünk Rc repülőgépet otthon 60 dollár alatt: Ma megmutatom, hogyan lehet 60 dollár alatt rc repülőgépet készíteni. Megértheted a videómat a youtube -on. A videóban az árat indiai rúpiában mondtam, mivel az indiai közönséget akarom megcélozni. Ha tetszett a videóm, akkor iratkozz fel a csatornámra a jövőben
Készítsen otthon higrométert a Raspberry Pi és az SI7021 segítségével: 6 lépés
Készítsen otthoni higrométert a Raspberry Pi és az SI7021 segítségével: Ma párás? Kicsit nedvesnek érzem magam. Néha számunkra a magas páratartalom nagyon kényelmetlen és egészségtelen is. A háztartások számára ez potenciális károkat is okozhat. Otthon esetén a magas páratartalom tönkreteszi a fapadlót és a bútorokat