Talaan ng mga Nilalaman:

Raspberry Pi HomeLab at Sino ang Bahay: 11 Hakbang
Raspberry Pi HomeLab at Sino ang Bahay: 11 Hakbang

Video: Raspberry Pi HomeLab at Sino ang Bahay: 11 Hakbang

Video: Raspberry Pi HomeLab at Sino ang Bahay: 11 Hakbang
Video: Bury Your Backup Servers Underground ⚰️ 2024, Hulyo
Anonim
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay
Raspberry Pi HomeLab at Sino ang Bahay

Ito ang aking unang hindi masisira, Ngunit ang itinuturo na ito ay may dalawang mga faze.

faze one: ay nagse-set up ng isang pi upang gumana bilang isang home-lab para sa trabaho ng IOT para sa isang pangkat ng mga developer ng mag-aaral.

faze two: ay gumagamit ng system para sa kaunlaran, sa pamamagitan ng pagpapatupad ng isang demonstrasyon gamit ang aming proyekto sa bahay.

sa pagtatapos nito magkakaroon ka ng isang malayuan ma-access na walang ulo na pi na maaaring magamit ng mga tao upang malayuan ang programa at magtrabaho sa mga IOT na aparato.

Ngayon ay nagbabala ako, na sa pamamagitan ng pagbubukas ng iyong pi sa publiko nang walang naaangkop na seguridad binubuksan mo ang iyong sarili sa panganib na atakehin ang iyong home network.

tatalakayin namin ang unang faze sa mga sumusunod na hakbang, ngunit ito ay isang link sa ilang impormasyon sa aming club at kung sino ang home project.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

ang proyekto ng Who Is home ang gumagawa ng sumusunod: nagpapatakbo ng isang script ng sawa na sumusuri para sa mga mac address ng mga aparato na konektado sa iyong network. gumagamit ito ng Nmap para dito. pinapatakbo nito ang mga address laban sa isang listahan ng mga address at kung naroroon ang nakalistang address ay nagpapadala ito ng char sa isang arduino sa pamamagitan ng paggamit ng mga serial na komunikasyon. kinokontrol ng arduino ang isang LED strip at kapag nakatanggap ito ng isang char mayroon itong nauugnay na kulay para sa aparatong iyon at sinisindi nito ang mga LED para sa taong iyon batay sa pagkakaroon nila.

aming mga dibisyon sa subsite

site.google.com/view/valencia-robotics

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

site ng aming mga club

site.google.com/view/valenciatechclub

ang Python Script ay ibinigay ni: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

ang Arduino Script at paglalakad at pag-set up ng home lab ay ginawa ni: Dylan Poll

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

Ako si Dylan Poll, ako ang kasalukuyang pangulo ng tech club ng aming kolehiyo at ako din ang naka-embed na system lead.

Mga gamit

Isang pi

Isang arduino

Isang breadboard

jumper wires

Isang webcam

isa-isang matutugunan RGB LED Strip

power supply para sa iyong pi, isang keyboard isang mouse, computer upang gawin ang paunang pag-set up.

Hakbang 1: Pag-download at Pag-install ng Mga Paunang Pag-setup ng Mga File

i-download at i-install ang masilya (windows)

www.putty.org

i-download ang rufus at i-install

rufus.ie

mag-download ng raspbian full buster at inirekumendang software (.zip)

www.raspberrypi.org/downloads/raspbian/

kunin ang mga nilalaman sa.zip ito ang iyong [file ng imahe].

kumuha ng isang micro sd card, at gumamit ng isang dock o isang microsd sa usb device at i-plug ito sa iyong computer format ang iyong sd card

Hakbang 2: Bahagi Dalawa: I-install ang Raspbian Gamit ang Rufus

Pangalawang bahagi: I-install ang Raspbian Gamit ang Rufus
Pangalawang bahagi: I-install ang Raspbian Gamit ang Rufus

patakbuhin ang rufus piliin ang iyong sd card sa unang patlang piliin ang raspbian na file ng imahe para sa.iso /.img piliin ang pagsisimula at hintayin itong matapos.

Hakbang 3: bahagi ng Tatlo: Pag-plug sa Pi

pagkatapos nito tapos na hilahin ang sd card, ilagay ito sa slot ng sd card sa pi, ito ay nasa "ilalim" na plug sa HDMI cord sa pi muna, kaysa sa isang keyboard at mouse, at huling power cable. kung nag-plug ka muna sa kuryente maaaring hindi ito marehistro ang iyong monitor / tv.

Hakbang 4: bahaging Apat: Pagse-set up ng Iyong Account

mag-log in sa pi! gawin ang unang pag-set up! huwag laktawan ito! piliin ang USA English keyboard o hindi mo mahahanap ang iyong simbolo @ sa ibang pagkakataon … kung hindi mo ang iyong simbolo @ ay kung nasaan ang iyong ". mag-log in sa iyong wifi sa pi huwag pa mag-update. Mayroon akong isang dahilan. pindutin ang" windows keyboard key "at pumunta sa mga kagustuhan, pumunta sa pi config. pumunta sa tab na mga interface.

paganahin ang VNC …. at lahat ng iba pa huwag mag-reboot.

Hakbang 5: Bahagi Limang: Pagse-set up ng iyong Pi Bilang Walang Head (ang Pinakamahusay na Kailanman)

Bahagi Limang: Pagse-set up ng iyong Pi Bilang Walang Head (ang Pinakamahusay na Kailanman)
Bahagi Limang: Pagse-set up ng iyong Pi Bilang Walang Head (ang Pinakamahusay na Kailanman)

tingnan ang kanang bahagi sa itaas ng iyong screen. makikita mo ang itim at asul na logo ng VNC. buksan mo yan hit mag-sign in, gumawa at account. idagdag ang pi. sa iyong desktop / laptop bukas na paghahanap ng browser sa pag-install ng download ng manonood ng Google VNC. mag-login sa iyong account. suriin ang iyong email para sa pag-log in at pahintulutan ang iyong sarili. kumonekta sa iyong pi (i-type ang password ng pi sa pangalawang menu ng pag-login) kung gumagana ito patayin ang iyong pi. i-unplug ang iyong pi at lahat. ilagay ang pi sa isang sulok ng iyong silid at patakbuhin lamang ang kuryente dito. maaari kang kumonekta sa pi gamit ang VNC viewer. mayroon kang isang "walang ulo" pi. maaari mo ring SSH dito. (tingnan ang impormasyon sa SSH sa cool na seksyon ng mga bagay-bagay)

Hakbang 6: Bahagi Anim: Pag-install ng Lahat ng Mga Core Tool para sa pagbuo sa isang Pi

Bahagi ng Anim: Pag-install ng Lahat ng Mga Core Tool para sa Pagbuo sa isang Pi
Bahagi ng Anim: Pag-install ng Lahat ng Mga Core Tool para sa Pagbuo sa isang Pi

gamit ang SSH o VNC (o kung nagpasya kang hindi maging cool at i-set up ito na walang ulo) gawin ang sumusunod. buksan ang terminal (ang susunod na bahagi na ito ay maaaring magtagal ….

sudo apt-get update; sudo apt-get upgrade sa pag-install ng ffmpeg {sudo apt-get install ffmpeg

Hakbang 7: bahaging Pito: Pag-install ng Adafruit WebIDE

Ikapitong bahagi: Pag-install ng Adafruit WebIDE
Ikapitong bahagi: Pag-install ng Adafruit WebIDE

curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh buksan ang isang browser sa iyong pangunahing desktop. ituro ang iyong browser URL sa "https://#*.*.*.**: 8080" palitan ang "*" ng lokal na IP address ng iyong Pi. gumawa ng username at pumasa. mayroon ka na ngayong setup ng adafruit webIDE.

Hakbang 8: bahagi ng Walo: I-update ang Node-red at Node.js

i-update-nodejs-at-nodered ang susunod na code ay gagawing nodered sa pagsisimula tulad ng adafruit webIDE, mahalaga ito kung nais mong bumuo sa mga bagay na ito. sudo systemctl paganahin ang nodered.service i-restart ang Pi

Hakbang 9: bahagi Siyam: Pag-install ng Arduino IDE

Bahagi Siyam: Pag-install ng Arduino IDE
Bahagi Siyam: Pag-install ng Arduino IDE

magagawa mo ito sa pamamagitan ng linya ng utos ngunit …. hindi ito magiging buong bersyon.. nangangahulugang hindi mo magagamit ang tool sa pag-import / paghahanap ng library, upang mai-install ang buong bersyon na kailangan mo upang pumunta sa website ng arduino at i-download ang bersyon para sa iyong modelo ng pi. ito ang magiging ARM32bit para sa pi3, makuha ang matatag na paglabas. buksan ang terminal. (palitan ang * ng impormasyon sa paglabas) patakbuhin ang mga utos na ito.

www.arduino.cc/en/Main/Software

cd Mga Pag-download / tar -xf arduino-1. *. * - linuxarm.tar.xz sudo mv arduino-1. *. * / opt sudo /opt/arduino-1.*.*/install.sh

Hakbang 10: Sampung Bahagi: Ffmpeg

Sampung Bahagi: Ffmpeg
Sampung Bahagi: Ffmpeg

1x webcam logitech

(ang mga susunod na item ay hindi isama kung ano ang kailangan mo upang magpatakbo ng isang 24/7 stream) 1x breadboard isang pangalawang modelo ng raspberry pi 3 b (na may sd card) na isa-isang matutugunan LED strip. arduino nano jumper wire paganahin ang VNC manonood sa parehong Pi (s)

mga kagustuhan sa pi, paganahin ang vnc gumawa ng isang account sa manonood ng VNC MAHALAGA: sa plano mong pi na gagamitin bilang isang pampublikong trabaho bench, pumunta sa mga setting ng vnc server, mga pagpipilian, tab na dalubhasa, at gumawa ng idle timeout: 0 segundo, nakatakda itong isara ang Vnc manonood kung walang ginagawa pagkatapos ng isang oras, ang paggawa nito ay titigil sa iyong window mula sa pagsasara ng mid stream i-install ang vnc viewer sa streamer pi sa terminal.

sudo apt-get install vnc-java y

plug in iyong webcam at..install ang iyong webcam.

sudo apt i-install ang fswebcam

i-install ang ffmpeg sudo apt-get install ffmpeg y

dito nagmula ang iyong sariling mga pagpipilian. sa terminal, patakbuhin ang script na ito upang buksan ang isang window sa desktop ng iyong streamer pi para sa iyong webcam.

ffplay -window_title "pi-cam" / dev / video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 FFplay ay magbibigay-daan sa iyo upang makita ito sa isang window na pinangalanang pi-cam, ang webcam na ipinapakita sa iyo ay sa lokasyon ng dev / video0 at ang orihinal na laki nito ay 1920x1080. Gusto ko lang makita ang ani = lapad: taas: topleft_X: topleft_Y at isang framerate na 20 ay sapat na para sa akin. ang susunod na code ay mai-stream sa twitch.

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 ay ginagamit upang makuha ang iyong screen. ang aking resolusyon sa screen ay nakatakda sa 1280x1024 Nais kong ipakita iyon sa 1280x720 kaya -vf format ng video.

2m = 2mgb rate ng pag-upload. -f flv ay i-format ang video sa.flv upang magamit ito ng twitch.

Ngayon ay maaari mong ibigay sa iyong koponan ang iyong mga kredensyal sa VNC sa workbench Pi at makikita nila ang mga pagbabago sa led strip na live nang malayuan. Shout-out sa lalaking ito ~! tinulungan ako ng kanyang video na maka-track, kailangan ko pang malaman kung paano mag-pop sa aking webcam … at alamin ang tungkol sa ffmpeg X /

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc TANDAAN: Hindi ako ang pinaka may kaalamang tao, gumagana lamang ito para sa aking mga pangangailangan, kung ang sinuman ay may nakabubuo na payo nais kong pakinggan ito ngunit mangyaring huwag maging nangangahulugang isa sa mga posibleng ruta upang madala pa ito, ay ang paggamit ng mekanikong ito upang mai-stream ito, at gumamit ng isa pang pi at ang chrome extension lightstream upang makuha ang stream na iyon at kaysa pakainin ang webcam sa iyon o sa anumang ibang paraan. https://www.youtube.com/embed/kb_5_9GkwZc DIN: kung nais mong idagdag sa audio, tulad ng nakikita sa mans youtube video, maaari mong gamitin ang string na ito, ayokong mairekord ang aking bahay at ipinadala sa twitch, nakaupo ito sa aking silid kaya't hindi ako nag-stream ng anumang audio, nakakatulong din itong bawasan ang pag-load sa pi.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i default -af acompressor = threshold = 0.089: ratio = 9: attack = 200: release = 1000 -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)"

Hakbang 11:

Larawan
Larawan
Larawan
Larawan
Larawan
Larawan
Larawan
Larawan

Ngayon hanggang sa pangwakas na kahabaan, pagpapatupad ng arduino at pi serial na komunikasyon sa sawa.

--- ang kung sino ang home project --- Gumagamit ang proyekto ng isang script ng sawa na nagpapatakbo ng nmap sa terminal, kopyahin ang mga nilalaman nito, nai-parse ang teksto na hindi namin kailangan, at inihambing ang mga mac address sa network laban sa nakalista mac address at kung mayroong laban ay nasa bahay ang taong iyon. ang mga mac address ay natagpuan sa pamamagitan ng paggawa ng gawaing pagsisiyasat sa router, ngunit ang tool na nmap ay nagbibigay sa iyo ng impormasyon tungkol sa mga aparato sa text file na nabuo ng code. kung ang gumagamit ay naroroon, nagpapadala ito ng isang character sa arduino, at naghihintay ang arduino hanggang sa matapos ang listahan ng tseke, at sindihan ang mga LED na naaayon sa mga profile na nakalista para sa mac address ng mga kasalukuyang aparato. maaari kang magdagdag ng iba pang mga bagay, tulad ng pagkakaroon ng mga hindi pagkakasundo bots patakbuhin ang mga utos sa mga taong darating o pagpunta sa parehong code sa pamamagitan ng paggamit ng sub-proseso na operator upang magpatupad ng mga utos ng terminal sa loob ng iyong script ng sawa. kaya unang i-install namin ang nmap sudo apt-get install nmap. susunod na gugustuhin mong i-download ang mga file sa aming mga club Git-Hub.

github.com/ValenciaRobotics/embeddedclub

para sa python code, ang pag-install ng raspbian ay mayroong lahat ng ginamit sa code na ito, kaya't hindi mo kailangan ng anumang karagdagang naka-install. ginamit namin ang muling pag-import, pag-import ng subprocess, pag-import ng oras, pag-import ng serial mahalaga na tandaan na ang python ay gumagamit ng indentation para sa paghihiwalay ng mga bloke ng code, kaya magkaroon ng kamalayan na kung magpasya kang baguhin ang paraan ng pagsulat ng code:) may kasama ang py thonny ide at ilang iba pang mga pagpipilian, nalaman ko na ang pagpapatakbo ng script sa thonny ay talagang tuwid, kung nag-click ka sa file at tangkaing ipatupad ito, iminungkahi o ipalagay na si thonny ang nais mong gamitin. bago mo patakbuhin ang programa, kakailanganin mong i-edit ang sumusunod. linya 14: ang * mga simbolo ay ginagamit upang i-mask ang aking sariling impormasyon sa router, kailangan mong palitan iyon sa iyong sariling lokal na ip. magiging pareho ito sa ginagamit mo upang kumonekta sa iyong router. mga linya 28, 38, 48, 58: ginagamit ng lahat ang * simbolo upang itakip ang mga address ng mac ng aparato na nakalista mula sa aking network, kailangan mong baguhin ang mga iyon sa mga mac address ng mga aparato sa iyong sariling network upang makita ang mga koneksyon. bakit mac address? dahil nang walang pagreserba ng mga lokasyon para sa iyong aparato, sigurado silang mananatili silang pareho maliban kung may isang nanloloko. mga problema sa code na ito, makakakita lamang ito habang ang isang koneksyon ay aktibong gumagamit ng internet, kaya't maaaring hindi ito nakita sa kabila ng isang gumagamit na naroroon. sa code ng arduino, gugustuhin mong baguhin ang sumusunod. una, gugustuhin mong pumunta sa tab na mga tool, pumili ng tagapamahala ng mga library, at maghanap para sa "fastLED" at mai-install ang library para sa "fastLED". susunod na kakailanganin mong i-load ang "sino ang tahanan".ino code mula sa pahina ng github at baguhin ang sumusunod ayon sa nais mo. linya 86: baguhin ang mga kulay batay sa kung ano ang nais mong ikabit ng iyong mga gumagamit:)

// buksan ang kailangan mo

kung (d == 1) {leds [0] = 0xdd8bff; // purple leds [1] = 0xdd8bff;}

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

kung (k == 1) {leds [4] = CRGB:: Pula; leds [5] = CRGB:: Pula; }

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

FastLED.show (); pagkaantala (30000); // 10 segundong paghihintay sa switch case isang maikling paliwanag para sa kung paano magdagdag ng higit pang mga gumagamit ay ang sumusunod

void loop () {

kung (Serial.available ()> 0) {

Serial.println ();

tao = Serial.read ();

pagkaantala (1000);

lumipat (tao) {

case'D ': d = 1;

tao = 'F';

bilangin = bilang + 1;

pahinga;

case'd ':

d = 0;

tao = 'F';

bilangin = bilang + 1;

pahinga;

ang uppercase D ay ang natanggap na character mula sa script ng python, kaya't alam nito na ang gumagamit ay naroroon dahil ang natanggap na liham ay ang uppercase D, kaya't binabago nito ang halaga ng INTEGER d sa 1, kung ito ay isang maliit na maliit kaysa sa nalalaman nilang absent kaya ang INTEGER ay nakatakda sa 0. ang kundisyon para sa pag-iilaw ng leds sa script mula sa dati ay gumagamit ng isang pahayag na KUNG ang d ay 1 kaysa sa ito ay magaan ang pinangungunahan, ngunit kung hindi ito pinangunahan ay mananatili bilang "itim" na nangangahulugang hindi ilaw. ang code na ito ay gumagamit ng library na "fastLED" at maraming dokumentasyon dito. tandaan na kung binago mo ang mga character, magdagdag ng mga character o mag-aalis ng mga character kakailanganin mong baguhin ang script ng sawa upang ibalik ang mga binago mo rin sila, kailangan mo ring baguhin ang kondisyon sa void loop. kung (count == 4) {holdup ();}} ang bilang ay magkakaroon upang ipakita ang bilang ng mga aparato na iyong "sinusubaybayan". sa aking kaso ito ay 4, kaya't naghihintay ito hanggang sa 4 na aparato ang naideklarang present o wala at pagkatapos ay ina-update nito ang LED strip. sa python code, ang mga linya na 31, 34, 41, 44, 51, 54, 61, 64 ay may sumusunod na linya na ser.write (b '*') #sends character cast as byte over serial where * is a character it is nagpapadala sa arduino. baguhin ito kung binago mo ang code sa arduino o kabaligtaran:)

Muli, bilang isang pangwakas na pahayag, nais kong bigyan ng kredito ang aking kapareha na si Jon, gumawa siya ng mahusay na trabaho sa pagkuha ng matamlay kapag kailangan namin ito.

siya Python Script ay ibinigay ni: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

ang Arduino Script at paglalakad at pag-set up ng home lab ay ginawa ni: Dylan Poll

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

Sana manalo tayo kahit isang t-shirt lang! Ina-update ko ito sa mga command ng shell upang awtomatikong mai-download at mai-install ang karamihan dito, ang aming website ng mga club ay talagang mayroong mga nada-download na script ng shell upang gawin ang mga pagpapatakbo ng ffmpeg.

Ang proyektong ito ay tumagal ng maraming oras, itinatag ko ang dibisyon ng club mula sa lupa hanggang sa buong kapurihan na masasabi kong ang sandaling ito ay nagdudulot sa akin ng maraming kagalakan.:) salamat sa iyong oras, mayroon kaming isang gumaganang platform upang paunlarin ngayon sa aking club dahil sa proyektong ito.

Inirerekumendang: