Агуулгын хүснэгт:

Raspberry Pi HomeLab ба Гэрт хэн бэ: 11 алхам
Raspberry Pi HomeLab ба Гэрт хэн бэ: 11 алхам

Видео: Raspberry Pi HomeLab ба Гэрт хэн бэ: 11 алхам

Видео: Raspberry Pi HomeLab ба Гэрт хэн бэ: 11 алхам
Видео: Homelab upgrade: New Raspberry Pi Cluster rackmount 2024, Арваннэгдүгээр
Anonim
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна
Raspberry Pi HomeLab ба Хэн Гэрт байна

Энэ бол миний анхны эвдэршгүй, гэхдээ энэ зааварчилгаа нь хоёр үе шаттай.

faze one: оюутны хөгжүүлэгчдийн багт IOT-ийн гэрийн лаборатори болгон ажиллахын тулд pi байгуулж байна.

faze two: манай гэрийн төсөл хэн болохыг ашиглан жагсаал хийж, хөгжүүлэлтийн системийг ашиглаж байна.

Үүний эцэст та алсаас нэвтрэх боломжтой толгойгүй пи -тэй болох бөгөөд үүнийг хүмүүс IOT төхөөрөмж дээр алсаас програмчлах, ажиллах боломжтой болно.

Пи -ийг олон нийтэд зохих хамгаалалтгүйгээр нээснээр та гэрийнхээ сүлжээнд халдлагад өртөх эрсдэлтэй болно гэдгээ анхааруулж байна.

Бид эхний үе шатыг дараах алхмуудаар даван туулах болно, гэхдээ энэ бол манай клуб болон гэрийн төсөлтэй холбоотой зарим мэдээллийг авах линк юм.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

Who is home төсөл нь дараахь зүйлийг хийдэг: таны сүлжээнд холбогдсон төхөөрөмжүүдийн мак хаягийг шалгадаг python скрипт ажиллуулдаг. Энэ нь Nmap -ийг ашигладаг. энэ хаягийг хаягийн жагсаалтын эсрэг ажиллуулдаг бөгөөд хэрэв байгаа хаяг байгаа бол цуваа холболтыг ашиглан arduino руу char илгээдэг. arduino нь LED зурвасыг хянадаг бөгөөд char хүлээн авахдаа тухайн төхөөрөмжийн холбогдох өнгөтэй байдаг бөгөөд тухайн хүний LED -ийг тэнд байгаа хүмүүс дээр үндэслэн асаадаг.

манай хэлтэсүүд намжиж байна

sites.google.com/view/valencia-robotics

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

манай клубын сайт

sites.google.com/view/valenciatechclub

Питон скриптийг өгсөн: Жонатан Де Ла Круз

www.linkedin.com/in/jonathandelacruz96/

Ардуино скрипт, гэрийн лабораторийн ажил, тохиргоог Дилан Санал асуулга хийсэн

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

Би бол Дилан Полл, би манай коллежийн технологийн клубын одоогийн ерөнхийлөгч, мөн суулгагдсан системийн удирдагч юм.

Хангамж

Пи

Ардуино

Талхны самбар

холбогч утас

Вэбкам

тус тусад нь авч үзэх боломжтой RGB LED зурвас

Таны pi -ийн тэжээлийн хангамж, гар, хулгана, анхны тохиргоог хийх компьютер.

Алхам 1: Анхны тохиргооны файлуудыг татаж аваад суулгана уу

шаваасыг татаж суулгана уу (цонх)

www.putty.org

rufus татаж аваад суулгаарай

rufus.ie

raspbian full buster болон санал болгож буй програм хангамжийг татаж авах (.zip)

www.raspberrypi.org/downloads/raspbian/

.zip дахь агуулгыг задлах нь энэ нь таны [зургийн файл] болно.

Бичил sd карт аваад USB төхөөрөмжөө залгахын тулд док эсвэл microsd -ийг ашиглан компьютераа sd картаа форматлана уу.

Алхам 2: Хоёрдугаар хэсэг: Rufus ашиглан Raspbian програмыг суулгана уу

Хоёрдугаар хэсэг: Rufus ашиглан Raspbian програмыг суулгана уу
Хоёрдугаар хэсэг: Rufus ашиглан Raspbian програмыг суулгана уу

rufus -ийг ажиллуулаад эхний талбарт sd картаа сонгоно уу.iso/.img -ийн хувьд raspbian зургийн файлыг сонгоод дуусгахыг хүлээнэ үү.

Алхам 3: Гуравдугаар хэсэг: Pi -г залгах

Үүнийг хийсний дараа sd картыг сугалж, пи дээрх sd картны үүрэнд оруулаад, "доод" залгуур дээр HDMI залгуурыг эхлээд гар, хулгана, сүүлчийн цахилгаан кабелиас холбоно уу. Хэрэв та эхлээд тэжээлээ залгасан бол энэ нь таны дэлгэц/телевизийг бүртгэхгүй байж магадгүй юм.

Алхам 4: Дөрөвдүгээр хэсэг: Бүртгэлээ тохируулах

pi руу нэвтэрнэ үү! бүү алгасаарай! АНУ -ын Англи хэлний гарыг сонгоорой, эс тэгвээс та @ тэмдгээ дараа нь олохгүй болно … хэрэв та @ тэмдэгээ хаана байгааг мэдэхгүй бол pi дээр wifi руугаа нэвтэрч хараахан шинэчлэгдээгүй байна. Надад шалтгаан байгаа. "Windows гарын товчлуурыг дарна уу. "ба тохиргоо руу ороод pi тохиргоонд очно уу. Интерфейс таб руу очно уу.

VNC -ийг идэвхжүүлэх … болон бусад бүх зүйл дахин ачаалагдахгүй.

Алхам 5: Тавдугаар хэсэг: Пи -ээ толгойгүй болгох (хамгийн сайн зүйл)

Тавдугаар хэсэг: Пи -ээ толгойгүй болгох (хамгийн сайхан зүйл)
Тавдугаар хэсэг: Пи -ээ толгойгүй болгох (хамгийн сайхан зүйл)

дэлгэцийнхээ баруун дээд хэсгийг харна уу. та хар, цэнхэр VNC логог харах болно. үүнийг нээ. нэвтрэх, хийх, данс дарна уу. pi нэмнэ үү. ширээний/зөөврийн компьютер дээрээ google VNC Viewer дээрээс татаж авах програмыг хайж олох. данс руугаа нэвтэрнэ үү. нэвтрэхийн тулд имэйлээ шалгаад өөрийгөө баталгаажуулна уу. pi -тэй холбогдоно уу (нэвтрэх хоёр дахь цэсэнд pi нууц үгээ оруулна уу). пи болон бүх зүйлээ салга. пи -г өрөөнийхөө буланд хийгээд зөвхөн цахилгаан кабелийг холбоно уу. Та VNC үзүүлэгч ашиглан pi -тэй холбогдож болно. танд одоо "толгойгүй" пи байна. Та үүнд SSH хийж болно. (SSH мэдээллийг сэрүүн зүйл хэсгээс үзнэ үү)

Алхам 6: Зургаа дахь хэсэг: Pi дээр хөгжүүлэх бүх үндсэн хэрэгслийг суулгах

Зургаа дахь хэсэг: Pi дээр хөгжүүлэх бүх үндсэн хэрэгслийг суулгах
Зургаа дахь хэсэг: Pi дээр хөгжүүлэх бүх үндсэн хэрэгслийг суулгах

SSH эсвэл VNC ашиглан (эсвэл хэрэв та даарахгүй, толгойгүй болгохоор шийдсэн бол) дараахь зүйлийг хий. нээлттэй терминал (энэ дараагийн хэсэг хэсэг хугацаа шаардагдах болно..) тус бүрийг ДУУСГАЖ дууссаны дараа эдгээр тушаалуудыг нэг нэгээр нь ажиллуулна.

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

Алхам 7: Долоо дахь хэсэг: Adafruit WebIDE суулгах

Долоо дахь хэсэг: Adafruit вэбсайтыг суулгах
Долоо дахь хэсэг: Adafruit вэбсайтыг суулгах

буржгар https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh үндсэн ширээний компьютер дээрээ хөтөч нээнэ үү. хөтчийнхөө URL хаягийг "https://***.*.*.***: 8080" гэж зааж "*" -г Pi -ийн локал IP хаягаар орлуулна уу. хэрэглэгчийн нэр оруулаад нэвтрэх. Та одоо adafruit вэбидэр тохируулгатай боллоо.

Алхам 8: Найм дахь хэсэг: Node-red болон Node.js-ийг шинэчилнэ үү

Дараагийн кодыг шинэчлэх-nodejs-ба-кодлох нь adafruit webIDE шиг эхлүүлэх үед nodered ажиллуулах болно, хэрэв та эдгээр зүйлийг хөгжүүлэхийг хүсч байвал энэ нь чухал юм. sudo systemctl нь nodered.service -ийг Pi -г дахин эхлүүлнэ

Алхам 9: Есөн хэсэг: Arduino IDE суулгах

Есөн хэсэг: Arduino IDE суулгах
Есөн хэсэг: Arduino IDE суулгах

Та үүнийг тушаалын мөрөөр хийж болно, гэхдээ … Энэ нь бүрэн хувилбар биш байх болно.. та номын сангийн импорт/хайлтын хэрэгслийг ашиглах боломжгүй гэсэн үг бөгөөд бүрэн хувилбарыг суулгахын тулд та arduino вэбсайт руу орж, pi загварынхээ хувилбарыг татаж авах хэрэгтэй. Энэ нь pi3 -ийн ARM32bit байх болно, тогтвортой хувилбарыг аваарай. нээлттэй терминал. (*-г суллах мэдээллээр солих) эдгээр тушаалуудыг ажиллуулна уу

www.arduino.cc/en/Main/Software

cd Татаж авах/tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.*/opt sudo /opt/arduino-1.*.*/install.sh

Алхам 10: Аравдугаар хэсэг: Ffmpeg

Аравдугаар хэсэг: Ffmpeg
Аравдугаар хэсэг: Ffmpeg

1x вэб камер logitech

(Дараагийн зүйлд 24/7 дамжуулалт хийхэд юу хэрэгтэй байгааг оруулаагүй болно) 1х талхны самбар хоёр дахь бөөрөлзгөнө pi загвар 3 b (sd карттай) тус тусад нь хаяглах боломжтой LED зурвас. arduino нано холбогч утас нь Pi (ууд) дээрх VNC үзэгчийг идэвхжүүлдэг

pi тохируулгууд, vnc -ийг идэвхжүүлэх, VNC үзэгчтэй данс үүсгэх ЧУХАЛ: та олон нийтийн ажлын вандан болгон ашиглахаар төлөвлөж буй pi дээр vnc серверийн тохиргоо, сонголтууд, шинжээч таб руу очоод сул зогсолт хийх хугацаа: 0 секунд, Vnc -ийг хаахаар тохируулагдсан болно. Үзэгч нэг цагийн дараа сул зогссон тохиолдолд үүнийг хийснээр таны цонх хаагдахаас сэргийлж, терминал дахь дамжуулагч pi дээр vnc үзүүлэгчийг суулгана.

sudo apt-get суулгах vnc-java y

вэбкамераа залгаж, вэбкамераа суулгана уу.

sudo apt суулгах fswebcam

ffmpeg sudo apt-get ffmpeg y-ийг суулгаарай

энд л таны өөрийн сонголт чухал үүрэг гүйцэтгэдэг. Терминал дээр энэ скриптийг ажиллуулж вэб камерынхаа дамжуулагчийн ширээний цонхыг нээнэ үү.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf газар тариалан = 400: 500: 300: 50 -framerate 20 ffplay нь үүнийг pi -cam нэртэй цонхноос харах боломжийг танд олгоно. dev/video0 байршилд, анхны хэмжээ нь 1920x1080. Би зөвхөн ургацыг харахыг хүсч байна = width: height: topleft_X: topleft_Y, 20 -ийн фрэйм нь надад хангалттай. Дараагийн код нь эргэх болно.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -vf scale = 1280x720 -c: v h264 -g 24 -b: v 2M -prespres ultrafast -c: a aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (урсгалаа энд оруулна уу)"

-f x11grab нь таны дэлгэцийг авахад хэрэглэгддэг. миний дэлгэцийн нарийвчлалыг 1280x1024 болгож тохируулсан бөгөөд үүнийг 1280x720 форматтай vv форматаар харуулахыг хүсч байна.

2m = 2mgb байршуулах хурд. -f flv нь видеог.flv болгон форматлах бөгөөд ингэснээр twitch үүнийг ашиглаж болно.

одоо та өөрийн багт VNC итгэмжлэлээ ажлын ширээн дээр өгч болно, тэд LED туузны өөрчлөлтийг алсаас харах боломжтой болно. Энэ залуу руу хашгираарай ~! Түүний видео нь намайг замд ороход тусалсан, гэхдээ би вэбкамерт хэрхэн нэвтрэхээ олох хэрэгтэй хэвээр байсан … ffmpeg X/

Артур Ридер https://www.youtube.com/embed/kb_5_9GkwZc ТАЙЛБАР: Би хамгийн мэдээлэл сайтай хүн биш, энэ бол миний хэрэгцээнд нийцсэн ажил юм Үүнийг цааш үргэлжлүүлэх боломжит маршрутуудын нэг бол үүнийг дамжуулахын тулд энэ механикийг ашиглах, мөн энэ урсгалыг авахын тулд өөр pi болон хром өргөтгөлийн гэрлийг ашиглан вэбкамераа ийм байдлаар эсвэл өөр хэлбэрээр оруулах явдал юм. https://www.youtube.com/embed/kb_5_9GkwZc МӨН: хэрэв та youtube видеон дээр үзүүлсэн шиг аудио оруулахыг хүсвэл энэ мөрийг ашиглаж болно, би байшингаа бичлэг хийлгэхийг хүсээгүй. Энэ нь миний өрөөнд сууж байгаа тул би ямар ч аудио дамжуулдаггүй, энэ нь pi дээрх ачааллыг бууруулахад тусалдаг.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i анхдагч -af acompressor = босго = 0.089: харьцаа = 9: халдлага = 200: хувилбар = 1000 -vf хуваарь = 1280x720 -c: v h264 - g 24 -b: v 2M -хэт хурдан тохируулах -c: aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (оруулгаа энд оруулна уу)"

Алхам 11:

Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг

python -тэй arduino болон pi цуваа холболтыг хэрэгжүүлж эцсийн шатандаа орлоо.

--- хэн гэрийн төсөл вэ --- Төсөл нь терминал дээр nmap ажиллуулдаг python скриптийг ашигладаг бөгөөд үүний агуулгыг хуулж, бидэнд хэрэггүй текстийг задлан шинжилж, сүлжээнд байгаа mac хаягийг жагсаасан жагсаалттай харьцуулдаг. mac хаягууд, хэрэв таарч байвал тэр хүн гэртээ байна. mac хаягийг чиглүүлэгч дээр эрэн сурвалжлах ажил хийснээр олсон боловч nmap хэрэгсэл нь кодоор үүсгэсэн текст файл дахь төхөөрөмжүүдийн талаар мэдээлэл өгдөг. хэрэв хэрэглэгч байгаа бол энэ нь arduino руу тэмдэгт илгээдэг бөгөөд arduino нь шалгах хуудсыг дуустал хүлээдэг бөгөөд одоо байгаа төхөөрөмжүүдийн мак хаягийн жагсаалтад багтсан LED -үүдийг асаадаг. Та python скрипт доторх терминал командыг ажиллуулахын тулд дэд процессын операторыг ашиглан ижил кодоор ирж буй эсвэл явж буй хүмүүст дискордын ботуудыг ажиллуулах гэх мэт бусад зүйлийг нэмж болно. Тиймээс эхлээд nmap sudo apt-get install nmap суулгана. Дараа нь та манай клуб Git-Hub дээрх файлуудыг татаж авахыг хүсэх болно.

github.com/ValenciaRobotics/embeddedclub

Питон кодын хувьд raspbian суулгац нь энэ кодонд ашиглагддаг бүх зүйл дагалддаг тул нэмэлт зүйл суулгах шаардлагагүй болно. Бид импорт дахин оруулах, импортлох дэд процесс, импортлох хугацаа, цуваа импорт ашигласан нь python кодын блокуудыг салгахдаа догол мөрийг ашигладаг болохыг анхаарах нь чухал бөгөөд хэрэв та кодыг бичих аргыг өөрчлөхөөр шийдсэн бол үүнийг анхаараарай:) py хамт ирдэг thonny ide болон бусад хэд хэдэн сонголтуудын хувьд, thonny дээр скриптийг ажиллуулах нь үнэхээр шууд урагшаа явж байгааг олж харна, хэрэв та файл дээр дараад үүнийг гүйцэтгэх гэж оролдвол thonny -ийг ашиглахыг хүссэн зүйлээ санал болгож байна. Програмыг ажиллуулахын өмнө та дараах зүйлийг засах хэрэгтэй болно. 14 -р мөр: * тэмдэг нь миний чиглүүлэгчийн мэдээллийг далдлахад хэрэглэгддэг тул та үүнийг өөрийн орон нутгийн ip -ээр солих шаардлагатай болно. Энэ нь чиглүүлэгчтэйгээ холбогдоход ашигладагтай ижил байх болно. 28, 38, 48, 58 мөрүүд: эдгээр нь бүгд * тэмдгийг ашиглан миний сүлжээнээс жагсаасан төхөөрөмжийн Mac хаягийг далдлах бөгөөд та холболтыг илрүүлэхийн тулд тэдгээрийг өөрийн сүлжээнд байгаа төхөөрөмжүүдийн мак хаягаар солих шаардлагатай болно. яагаад Mac хаягууд вэ? Учир нь таны төхөөрөмжид байршлыг хадгалахгүйгээр хэн нэгэн хууран мэхлэхгүй бол тэд хэвээрээ байх болно. Энэ кодтой холбоотой асуудлууд нь холболтыг интернет идэвхтэй ашиглаж байх үед л илрүүлдэг тул хэрэглэгч байгаа хэдий ч үүнийг илрүүлэхгүй байж магадгүй юм. arduino код дээр та дараах зүйлийг өөрчлөхийг хүсэх болно. Нэгдүгээрт, та багаж хэрэгслийн таб руу очиж номын сангийн менежерийг сонгоод "fastLED" хайж, "fastLED" номын санг суулгахыг хүсэх болно. Дараа нь та github хуудаснаас "хэн гэртээ байгаа".ino кодыг ачаалж, хүссэнээрээ өөрчлөх хэрэгтэй болно. 86 -р мөр: Хэрэглэгчдийнхээ хавсаргасан зүйл дээр үндэслэн өнгөө өөрчилнө үү:)

// хэрэгтэй зүйлээ асаана уу

хэрэв (d == 1) {leds [0] = 0xdd8bff; // нил ягаан гэрэл [1] = 0xdd8bff;}

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

if (k == 1) {leds [4] = CRGB:: Улаан; leds [5] = CRGB:: Улаан; }

if (j == 1) {leds [6] = CRGB:: Blue; leds [7] = CRGB:: Цэнхэр;}

FastLED.show (); саатал (30000); // Шилжүүлэгч тохиолдолд 10 секунд хүлээх нь илүү олон хэрэглэгч нэмэх талаар товч тайлбарыг доор өгөв

void loop () {

if (Serial.available ()> 0) {

Serial.println ();

хүн = Serial.read ();

саатал (1000);

шилжүүлэгч (хүн) {

тохиолдол'D ': d = 1;

хүн = 'F';

тоолох = тоолох+1;

завсарлага;

тохиолдолд ':

d = 0;

хүн = 'F';

тоолох = тоолох+1;

завсарлага;

том D нь питон скриптээс хүлээн авсан тэмдэгт тул хүлээн авсан үсэг нь том үсэг тул хэрэглэгч байгаа гэдгийг мэддэг тул INTEGER d -ийн утгыг 1 -ээр өөрчилдөг. байхгүй тул INTEGER -ийг 0 болгож тохируулсан болно. скрипт дэх LED гэрэлтүүлгийн нөхцлийг IF d бол 1 гэж хэлдэг бөгөөд энэ нь гэрлийг асаах болно, гэхдээ энэ нь тийм биш бол "хар" хэвээр үлдэнэ гэсэн үг юм. Энэ код нь "fastLED" номын санг ашигладаг бөгөөд энэ талаар маш олон баримт бичиг байдаг. Хэрэв та тэмдэгтүүдийг өөрчлөх, тэмдэгт нэмэх эсвэл тэмдэгтийг хасахдаа питон скриптийг өөрчилснөө буцааж өгөхийн тулд хоосон орон зай дахь нөхцөлийг өөрчлөх шаардлагатай болно гэдгийг анхаарна уу. if (count == 4) {holdup ();}} тоо нь таны "дагаж буй" төхөөрөмжийн тоог тусгах ёстой болно. миний хувьд энэ нь 4, тиймээс 4 төхөөрөмжийг байгаа эсвэл байхгүй гэж зарлах хүртэл хүлээгээд LED зурвасыг шинэчилнэ. Питон кодын 31, 34, 41, 44, 51, 54, 61, 64 мөрүүд нь дараах мөртэй байна ser.write (b ' *') #тэмдэгтийг цуваа дээр байт хэлбэрээр илгээдэг бөгөөд энэ нь * arduino руу илгээх. Хэрэв та кодыг arduino эсвэл эсрэгээр өөрчилвөл үүнийг өөрчилнө үү:)

Дахин хэлэхэд, хаалтын мэдэгдлээр би багийн анд Жонд талархал илэрхийлэхийг хүсч байна.

Python скриптийг өгсөн: Жонатан Де Ла Крузhtps: //www.linkedin.com/in/jonathandelacruz96/

Ардуино скрипт, гэрийн лабораторийн ажил, тохиргоог Дилан Санал асуулга хийсэн

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

Бид ядаж футболк хожно гэж найдаж байна! Би үүнийг ихэнхийг нь автоматаар татаж суулгахын тулд бүрхүүлийн командуудаар шинэчилж байх болно, манай клубын вэбсайт нь ffmpeg үйлдлийг гүйцэтгэхийн тулд татаж авах боломжтой бүрхүүлийн скриптүүдтэй байдаг.

Энэ төсөл маш их цаг хугацаа шаардсан, би клубын энэ хэлтсийг анхнаас нь байгуулсан болохоор энэ мөч надад маш их баяр баясгаланг авчирдаг гэж бахархалтайгаар хэлж чадна.:) Цаг гаргасанд баярлалаа, энэ төслийн ачаар манай клубт одоо хөгжүүлэх ажлын платформ бий.

Зөвлөмж болгож буй: