Mündəricat:

Raspberry Pi HomeLab və Evdə Kimdir: 11 addım
Raspberry Pi HomeLab və Evdə Kimdir: 11 addım

Video: Raspberry Pi HomeLab və Evdə Kimdir: 11 addım

Video: Raspberry Pi HomeLab və Evdə Kimdir: 11 addım
Video: Mini PC Showdown: Which One For a HomeLab? [Raspberry Pi, Intel NUC, Zima Board, Beelink, Mac Mini] 2024, Noyabr
Anonim
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir
Raspberry Pi HomeLab və Evdə Kimdir

Bu mənim ilk sarsılmazdır, amma bu təlimatlandırmanın iki mərhələsi var.

faze one: tələbə inkişaf etdiricilər qrupu üçün IOT işi üçün ev laboratoriyası olaraq işləmək üçün bir pi qurur.

faze two: ev layihəmizi kimin istifadə etdiyini nümayiş etdirərək sistemi inkişaf etdirmək üçün istifadə edir.

Bunun sonunda insanlar tərəfindən uzaqdan proqramlaşdırmaq və IOT cihazlarında işləmək üçün istifadə edilə bilən uzaqdan əldə edilə bilən başsız bir pi olacaq.

İndi xəbərdarlıq edirəm ki, lazımi təhlükəsizlik olmadan pi -nizi xalqa açaraq özünüzü ev şəbəkənizə hücum etmə riski ilə üz -üzə qoyursunuz.

Aşağıdakı addımlarda ilk mərhələni keçəcəyik, ancaq bu, klubumuz və ev layihəsi haqqında bəzi məlumatlara bir keçiddir.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

ev kimdir layihəsi aşağıdakıları edir: şəbəkənizə bağlı cihazların mac ünvanlarını yoxlayan bir python skriptini işə salır. Bunun üçün Nmap istifadə edir. bu ünvanları bir ünvan siyahısına qarşı idarə edir və siyahıda göstərilən ünvan varsa, serial rabitə vasitəsi ilə bir arduinoya simvol göndərir. arduino bir LED şeridini idarə edir və bir char aldıqda həmin cihaz üçün əlaqəli bir rəngə malikdir və mövcud olduğuna görə həmin şəxsin LEDlərini yandırır.

bölmələrimiz sıradan çıxır

sites.google.com/view/valencia-robotics

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

klublarımızın saytı

sites.google.com/view/valenciatechclub

Python Scriptini təqdim edən: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino Script və gəzmək və ev laboratoriyasının qurulması Dylan Poll tərəfindən edildi

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

Mən Dylan Poll, kollecimizin texnoloji klubunun hazırkı prezidentiyəm və eyni zamanda quraşdırılmış sistemlərin rəhbəriyəm.

Təchizat

Bir pi

Bir arduino

Çörək taxtası

tullanan tellər

Veb kamera

fərdi ünvanlı RGB LED şeridi

pi üçün enerji təchizatı, klaviatura siçan, kompüterin ilkin qurulmasını etmək.

Addım 1: İlkin Quraşdırma Fayllarının Yüklənməsi və Qurulması

macunu yükləyin və quraşdırın (pəncərələr)

www.putty.org

rufus yükləyin və quraşdırın

rufus.ie

raspbian full buster və tövsiyə olunan proqramı yükləyin (.zip)

www.raspberrypi.org/downloads/raspbian/

.zipdəki məzmunu çıxarın, bu sizin [şəkil faylınız] olacaq.

bir micro sd kartı götürün və usb cihazına bir dock və ya microsd istifadə edin və sd kartınızı kompüterinizə qoşun

Addım 2: İkinci hissə: Rufus istifadə edərək Raspbian quraşdırın

İkinci hissə: Rufus istifadə edərək Raspbian qurun
İkinci hissə: Rufus istifadə edərək Raspbian qurun

run rufus sd kartınızı ilk sahədə seçin.iso/.img üçün raspbian görüntü faylını seçin və bitməsini gözləyin.

Addım 3: Üçüncü hissə: Pi'yi bağlayın

tamamlandıqdan sonra sd kartını çıxarın, pi üzərindəki sd kart yuvasına qoyun, əvvəlcə HDMI kordonunun "altındakı" fişinə klaviatura və siçan və son elektrik kabelindən daha çox. əvvəlcə gücə qoşsanız, monitorunuzu/televizorunuzu qeyd edə bilməz.

Addım 4: Dördüncü hissə: Hesabınızı qurmaq

pi -ə daxil olun! ilk çalıştırma quruluşunu edin! qaçırmayın! ABŞ İngilis klaviaturasını seçin, yoxsa @ simvolunuzu daha sonra tapa bilməyəcəksiniz … əgər @ simvolunuzun "olduğu yer deyil. pi -də wifi -yə daxil olun hələ yeniləməyin. Səbəbim var." Windows klaviatura düyməsini vurun "və seçimlərə keçin, pi konfiqurasiyasına gedin. interfeyslər sekmesine keçin.

VNC -ni işə salın … və qalan hər şey yenidən başlamır.

Addım 5: Beşinci hissə: Pi -nizi başsız qoyun (indiyə qədərki ən yaxşı şey)

Beşinci hissə: Pi -ni başsız qoymaq (indiyə qədərki ən yaxşı şey)
Beşinci hissə: Pi -ni başsız qoymaq (indiyə qədərki ən yaxşı şey)

ekranınızın yuxarı sağ tərəfinə baxın. qara və mavi VNC loqotipini görəcəksiniz. bunu açın. vurun, daxil olun, hesab edin. pi əlavə edin. masaüstünüzdə/dizüstü kompüterinizdə google VNC görüntüləyicisində açıq bir brauzer axtarışı yükləyin. hesabınıza daxil olun. giriş üçün e -poçtunuzu yoxlayın və özünüzə icazə verin. pi -yə qoşulun (ikinci giriş menyusunda pi parolunu yazın), əgər işləyirsə pi -ni söndürün. pi və hər şeyi ayırın. pi -ni otağınızın bir küncünə qoyun və ona yalnız elektrik kabelini çəkin. VNC görüntüleyicisini istifadə edərək pi -yə qoşula bilərsiniz. indi "başsız" pi var. buna da SSH edə bilərsiniz. (sərin materiallar bölməsində SSH məlumatlarına baxın)

Addım 6: Altıncı hissə: Bir Pi üzərində İnkişaf Etmək üçün Bütün Əsas Alətlərin Qurulması

Altı hissə: Bir Pi üzərində İnkişaf Etmək üçün Bütün Əsas Alətlərin Qurulması
Altı hissə: Bir Pi üzərində İnkişaf Etmək üçün Bütün Əsas Alətlərin Qurulması

SSH və ya VNC istifadə edərək (və ya sərin olmağa və başsız qurmağa qərar verdiyiniz halda) aşağıdakıları edin. açıq terminal (bu sonrakı hissə bir müddət çəkə bilər …) hər biri bitdikdən sonra bu əmrləri bir -bir işlədin.

sudo apt-get yeniləmə; sudo apt-get upgrade ffmpeg {sudo apt-get install ffmpeg

Addım 7: Yeddinci hissə: Adafruit WebIDE -nin quraşdırılması

Yeddinci hissə: Adafruit veb saytının quraşdırılması
Yeddinci hissə: Adafruit veb saytının quraşdırılması

əymək https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo əsas masaüstünüzdə bir brauzer açın. brauzerinizin URL'sini "https://***.*.*.***: 8080" olaraq göstərin, "*" işarəsini Pi -nin yerli IP ünvanı ilə əvəz edin. istifadəçi adı yaradın və keçin. indi adafruit webIDE quruluşunuz var.

Addım 8: Səkkizinci hissə: Node-red və Node.js yeniləyin

update-nodejs-and-nodered sonrakı kod, adafruit webIDE kimi başlanğıcda da düymələnmiş işləməyə səbəb olacaq, əgər bunları inkişaf etdirmək istəyirsinizsə bu vacibdir. sudo systemctl nodered.service Pi -ni yenidən başladın

Addım 9: Doqquzuncu hissə: Arduino IDE quraşdırılması

Doqquzuncu hissə: Arduino IDE quraşdırılması
Doqquzuncu hissə: Arduino IDE quraşdırılması

Bunu əmr satırından edə bilərsiniz, amma … tam versiya olmayacaq.. kitabxana idxal/axtarış vasitəsindən istifadə edə bilməyəcəyiniz mənasında tam versiyanı yükləmək üçün arduino veb saytına daxil olub pi modelinizin versiyasını yükləməlisiniz. pi3 üçün ARM32bit olacaq, sabit buraxılışı əldə edin. açıq terminal. (*məlumatlarını buraxılış məlumatları ilə əvəz edin) bu əmrləri yerinə yetirin

www.arduino.cc/en/Main/Software

cd Yükləmələr/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh

Addım 10: On hissə: Ffmpeg

On hissə: Ffmpeg
On hissə: Ffmpeg

1x veb kamera logitech

(növbəti maddələr 24/7 axını idarə etmək üçün lazım olanları ehtiva etmir) 1x çörək taxtası ikinci bir moruq pi modeli 3 b (sd kartı ilə) ayrı -ayrı ünvanlı LED şeridi. arduino nano tullanan teli, hər iki Pi -də VNC görüntüleyicisini aktivləşdirir

pi üstünlükləri, vnc -in VNC görüntüleyicisi ilə hesab açmasını aktivləşdirin Vacibdir: ictimai bir iş tezgahı olaraq istifadə etməyi planlaşdırdığınız pi -də vnc server parametrlərinə, seçimlərə, mütəxəssis nişanına gedin və boş dayanma vaxtı verin: 0 saniyə, Vnc -ni bağlamaq üçün quruldu Tamaşaçı bir saat sonra boş olarsa, bunu etmək pəncərənizi axınının ortasında bağlanmasını dayandıracaq vnc görüntüleyicisini terminaldakı streamer pi -də quraşdırın.

sudo apt-get vnc-java y quraşdırın

Veb kameranızı qoşun və veb kameranızı quraşdırın.

sudo apt fswebcam quraşdırın

ffmpeg sudo apt-get ffmpeg y qurun

burada öz seçimlərinizin işə düşdüyü yerdir. terminalda, web kameranız üçün streamer pi masaüstünüzdə bir pəncərə açmaq üçün bu skriptdən istifadə edin.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf məhsul = 400: 500: 300: 50 -framate 20 ffplay bunu pi -cam adlı bir pəncərədə görməyə imkan verəcək. dev/video0 yerində və orijinal ölçüsü 1920x1080 -dir. Yalnız məhsulu görmək istəyirəm = width: height: topleft_X: topleft_Y və 20 kadr tezliyi mənim üçün kifayətdir. Növbəti kod seğirməyə başlayacaq.

ffmpeg -f x11grab -video_size 1280x1024 -kadriyat 24 -i $ DISPLAY -f alsa -vf miqyaslı = 1280x720 -c: v h264 -g 24 -b: v 2M -prespres ultrafast -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (axınınızı bura daxil edin)"

-f x11grab ekranınızı tutmaq üçün istifadə olunur. mənim ekran qətnaməm 1280x1024 olaraq qurulmuşdur ki, bunu 1280x720 formatında -vf formatında göstərmək istəyirəm.

2m = 2mgb yükləmə dərəcəsi. -f flv, videonu.flv formatına çevirmək üçün seğirmənin istifadə edə bilməsidir.

İndi komandanıza VNC etimadnamənizi iş tezgahına verə bilərsiniz və onlar lentdəki dəyişiklikləri uzaqdan canlı olaraq görə bilərlər. Bu oğlana bağırın ~! onun videosu yolumu düzəltməyə kömək etdi, yenə də veb kamerama necə girəcəyimi anlamalı idim… və ffmpeg X haqqında məlumat əldə et/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc DİQQƏT: Mən ən çox məlumatlı insan deyiləm, bu sadəcə ehtiyaclarım üçün işləyir, əgər hər kəsin konstruktiv məsləhətləri varsa, eşitmək istərdim, amma xahiş edirəm Bunu davam etdirməyin mümkün yollarından biri, bunu axın etmək üçün bu mexanikdən istifadə etmək və bu axını əldə etmək üçün başqa bir pi və xrom uzantı işığı istifadə etmək və veb kameranı bu və ya başqa bir şəkildə qidalandırmaq olardı. https://www.youtube.com/embed/kb_5_9GkwZc DAHA: mans youtube videosunda göründüyü kimi səs əlavə etmək istəyirsinizsə, bu simli istifadə edə bilərsiniz, evimin yazılmasını istəmədim və seğirməyə göndərildikdə, bu mənim otağımda oturur, buna görə heç bir səs yaymıram, bu da pi üzərindəki yükü azaltmağa kömək edir.

ffmpeg -f x11grab -video_size 1280x1024 -framate 24 -i $ DISPLAY -f alsa -i default -af acompressor = eşik = 0.089: nisbət = 9: hücum = 200: azad = 1000 -vf miqyaslı = 1280x720 -c: v h264 - g 24 -b: v 2M -ultrasast -c: aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (axınınızı bura daxil edin)"

Addım 11:

Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil

python ilə arduino və pi serial ünsiyyətini həyata keçirərək son mərhələyə keçək.

--- ev layihəsi kimdir --- Layihə terminalda nmap işlədən, bunun məzmununu kopyalayan, ehtiyacımız olmayan mətni təhlil edən və şəbəkədəki mac ünvanlarını siyahıda göstərilənlərlə müqayisə edən bir python skriptindən istifadə edir. mac ünvanları və bir uyğunluq varsa həmin şəxs evindədir. mac ünvanları marşrutlaşdırıcıda araşdırma işləri apararaq tapıldı, ancaq nmap vasitəsi kodun yaratdığı mətn sənədindəki cihazlar haqqında məlumat verir. İstifadəçi varsa, arduinoya bir xarakter göndərir və arduino yoxlama siyahısı bitənə qədər gözləyir və indiki cihazların mac ünvanları üçün sadalanan profillərə uyğun LEDləri yandırır. python skriptinizdəki terminal əmrlərini yerinə yetirmək üçün alt proses operatorundan istifadə edərək eyni kodla gələn və ya gedən insanlara fikir ayrılığı botlarının əmrləri yerinə yetirməsi kimi başqa şeylər əlavə edə bilərsiniz. əvvəlcə nmap sudo apt-get install nmap qururuq. Sonra Git-Hub klublarımızdakı faylları yükləmək istəyəcəksiniz.

github.com/ValenciaRobotics/embeddedclub

Python kodu üçün, raspbian qurğusu bu kodda istifadə olunan hər şeylə gəlir, buna görə əlavə bir şeyə ehtiyac yoxdur. idxal yenidən, idxal alt prosesi, idxal vaxtı, serial seriyasından istifadə etdik, qeyd etmək vacibdir ki, python kod bloklarını ayırmaq üçün girintidən istifadə edir, buna görə də kodun yazılma tərzini dəyişdirmək qərarına gəlsəniz bunu unutmayın:) py ilə gəlir thonny ide və bir neçə başqa variantda, tapıram ki, thonny -də skriptin işləməsi həqiqətən düzdür, əgər faylı vurub icra etməyə cəhd etsəniz, Thonny -nin istifadə etmək istədiyinizi düşünür və ya güman edirsiniz. Proqramı işə salmadan əvvəl aşağıdakıları redaktə etməlisiniz. sətir 14: * simvolları öz router məlumatlarımı maskalamaq üçün istifadə olunur, bunu öz yerli ipinizlə əvəz etməli olacaqsınız. marşrutlaşdırıcınıza qoşulmaq üçün istifadə etdiyinizlə eyni olardı. 28, 38, 48, 58 sətirləri: bunların hamısı * simvolundan istifadə edərək şəbəkəmdən sadalanan cihazın mac ünvanlarını maskalamaq üçün əlaqələri aşkar etmək üçün bunları öz şəbəkənizdəki cihazların mac ünvanlarına dəyişməlisiniz. niyə mac ünvanları? çünki cihazınız üçün yer ayırmadan, kimsə aldatmadıqca eyni qalacaqlarına əminik. bu kodla bağlı problemləri yalnız bir əlaqə aktiv olaraq internetdən istifadə edərkən aşkarlayacaq, buna görə də bir istifadəçinin olmasına baxmayaraq aşkarlanmaya bilər. arduino kodunda aşağıdakıları dəyişdirmək istəyəcəksiniz. Əvvəlcə alətlər sekmesine keçmək, kitabxana menecerini seçmək və "fastLED" axtarıb kitabxananı "fastLED" üçün qurmaq istəyəcəksiniz. bundan sonra github səhifəsindən "evdə kim".ino kodunu yükləməli və istədiyiniz kimi aşağıdakıları dəyişdirməlisiniz. sətir 86: istifadəçilərinizin əlavə etmələrini istədiklərinizə əsaslanaraq rəngləri dəyişdirin:)

// ehtiyacınız olanı açın

əgər (d == 1) {leds [0] = 0xdd8bff; // bənövşəyi ledlər [1] = 0xdd8bff;}

əgər (l == 1) {leds [2] = CRGB:: Yaşıl; led [3] = CRGB:: Yaşıl;}

if (k == 1) {leds [4] = CRGB:: Red; led [5] = CRGB:: Qırmızı; }

əgər (j == 1) {leds [6] = CRGB:: Mavi; led [7] = CRGB:: Mavi;}

FastLED.show (); gecikmə (30000); // keçid qutusunda 10 saniyə gözləyin, daha çox istifadəçinin necə əlavə olunacağına dair qısa bir izahat aşağıdakı kimidir

boşluq döngəsi () {

əgər (Serial.available ()> 0) {

Serial.println ();

şəxs = Serial.read ();

gecikmə (1000);

keçid (şəxs) {

halda'D ': d = 1;

şəxs = 'F';

say = say+1;

fasilə;

halda ':

d = 0;

şəxs = 'F';

say = say+1;

fasilə;

böyük D, python skriptindən alınan xarakterdir, buna görə də istifadəçinin olduğunu bilir, çünki alınan məktub böyük D hərfidir, buna görə də bildiklərindən kiçik hərf olduqda INTEGER d dəyərini 1 -ə dəyişir. yoxdur, buna görə də INTEGER 0 olaraq təyin olunur. Əvvəlcədən skriptdə LEDlərin işıqlandırılması şərti, IF d -nin 1 olduğunu bildirir, amma led deyilsə "qara" olaraq yanmır. bu kod "fastLED" kitabxanasından istifadə edir və bununla bağlı çoxlu sənədlər var. Diqqət yetirin ki, simvolları dəyişdirsəniz, simvol əlavə etsəniz və ya simvolları silsəniz, onları da dəyişdirdiyiniz sözləri qaytarmaq üçün python skriptini dəyişdirməli olacaqsınız, boşluq döngəsindəki vəziyyəti də dəyişdirməlisiniz. if (count == 4) {holdup ();}} sayı "izlədiyiniz" cihazların sayını əks etdirməli olacaq. mənim vəziyyətimdə 4 -dür, buna görə 4 cihazın mövcud və ya olmaması elan olunana qədər gözləyir və sonra LED şeridini yeniləyir. python kodunda, 31, 34, 41, 44, 51, 54, 61, 64 sətirlərində aşağıdakı ser.write (b ' *') #xətti olduğu üçün serialın üstündə bayt olaraq tökmə göndərilir. arduino -ya göndərir. kodu arduinoda və ya əksinə dəyişdirsəniz bunu dəyişdirin:)

Yenə də yekun bir bəyanat olaraq, komanda yoldaşım Jon'a kredit vermək istəyirəm, ehtiyacımız olanda boşluğu götürməkdə çox yaxşı iş gördü.

Python Scriptini təmin edən: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Arduino Script və gəzmək və ev laboratoriyasının qurulması Dylan Poll tərəfindən edildi

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

İnşallah ən azı bir köynək qazanarıq! Bunun çoxunu avtomatik yükləmək və quraşdırmaq üçün qabıq əmrləri ilə yeniləyəcəyəm, klublarımızın veb saytında həqiqətən də ffmpeg əməliyyatlarını etmək üçün yüklənə bilən qabıq skriptləri var.

Bu layihə çox vaxt aldı, klubun bu bölməsini sıfırdan qurdum, buna görə qürurla deyə bilərəm ki, bu an mənə çox sevinc gətirir.:) Vaxt ayırdığınız üçün təşəkkür edirəm, bu layihə səbəbiylə klubumda indi inkişaf etdirmək üçün bir iş platformamız var.

Tövsiyə: