فهرست مطالب:

Raspberry Pi HomeLab and Who Is Home: 11 مرحله
Raspberry Pi HomeLab and Who Is Home: 11 مرحله

تصویری: Raspberry Pi HomeLab and Who Is Home: 11 مرحله

تصویری: Raspberry Pi HomeLab and Who Is Home: 11 مرحله
تصویری: How to Homelab: 3 awesome apps to run on your Raspberry Pi 2024, جولای
Anonim
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home
Raspberry Pi HomeLab و Who Is Home

این اولین شکست ناپذیر من است ، اما این دستورالعمل دو مرحله دارد.

مرحله اول: در حال راه اندازی یک pi برای کار به عنوان آزمایشگاه خانگی برای کار IOT برای تیمی از توسعه دهندگان دانشجو.

مرحله دوم: استفاده از سیستم برای توسعه ، با اجرای یک نمایش با استفاده از پروژه ما که خانه است.

در پایان این کار شما یک پی بدون هد از راه دور خواهید داشت که می تواند توسط افراد برای برنامه ریزی از راه دور و کار بر روی دستگاه های IOT استفاده شود.

در حال حاضر من هشدار می دهم که با باز کردن pi خود برای عموم بدون امنیت مناسب ، خود را در معرض خطر حمله به شبکه خانگی خود قرار می دهید.

در مراحل زیر اولین مرحله را پشت سر می گذاریم ، اما این پیوندی است به اطلاعاتی درباره باشگاه ما و پروژه خانه نشین.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

پروژه Who Is Home موارد زیر را انجام می دهد: یک اسکریپت پایتون را اجرا می کند که آدرس مک دستگاه های متصل به شبکه شما را بررسی می کند. برای این کار از Nmap استفاده می کند. این آدرس ها را در برابر لیستی از آدرس ها اجرا می کند و در صورت وجود آدرس ذکر شده ، با استفاده از ارتباطات سریال ، یک کاراکتر به arduino ارسال می کند. آردوینو یک نوار LED را کنترل می کند و هنگامی که یک کاراکتر دریافت می کند ، رنگ مربوط به آن دستگاه را دارد و LED های آن شخص را بر اساس وجود آنها روشن می کند.

بخشهای ما فرعی هستند

sites.google.com/view/valencia-robotics

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

سایت باشگاه های ما

sites.google.com/view/valenciatechclub

اسکریپت پایتون توسط: جاناتان د لا کروز تهیه شده است

www.linkedin.com/in/jonathandelacruz96/

اسکریپت آردوینو و راه اندازی و راه اندازی آزمایشگاه خانگی توسط: Dylan Poll انجام شد

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

من Dylan Poll هستم ، من رئیس فعلی باشگاه فناوری دانشکده مان هستم و همچنین رهبر سیستم های تعبیه شده هستم.

تدارکات

یک پی

یک آردوینو

یک تخته نان

سیم های جهنده

یک وب کم

نوار RGB LED قابل آدرس دهی جداگانه

منبع تغذیه pi شما ، صفحه کلید ماوس ، رایانه برای انجام تنظیمات اولیه.

مرحله 1: بارگیری و نصب فایل های راه اندازی اولیه

بارگیری و نصب بتونه (ویندوز)

www.putty.org

rufus را بارگیری کرده و نصب کنید

rufus.ie

دانلود نرم افزار raspbian full buster و توصیه شده (.zip)

www.raspberrypi.org/downloads/raspbian/

استخراج محتویات در.zip این [فایل تصویر] شما خواهد بود.

یک کارت حافظه micro SD بردارید ، و از یک داک یا microsd برای دستگاه USB استفاده کنید و آن را به فرمت رایانه خود به کارت SD خود وصل کنید

مرحله 2: قسمت دوم: Raspbian را با استفاده از Rufus نصب کنید

قسمت دوم: Raspbian را با استفاده از Rufus نصب کنید
قسمت دوم: Raspbian را با استفاده از Rufus نصب کنید

run rufus کارت SD خود را انتخاب کنید در اولین فیلد فایل تصویری raspbian را برای.iso/.img انتخاب کنید و منتظر بمانید تا به پایان برسد.

مرحله 3: قسمت سوم: اتصال Pi

پس از اتمام کار ، کارت SD را بیرون بیاورید ، آن را در شکاف کارت sd روی pi قرار دهید ، ابتدا در کابل HDMI به pi وصل شوید ، تا صفحه کلید و موس و آخرین کابل برق. اگر ابتدا برق را وصل کنید ممکن است مانیتور/تلویزیون شما ثبت نشود.

مرحله 4: قسمت چهارم: تنظیم حساب خود

به pi وارد شوید! اولین راه اندازی را انجام دهید! آن را نادیده نگیرید! صفحه کلید انگلیسی ایالات متحده را انتخاب کنید یا بعداً نماد @ خود را پیدا نخواهید کرد … اگر نماد @ خود را در جایی که "" قرار دارد ، وارد کنید. هنوز در pi به وای فای خود وارد نشوید. هنوز دلیل ندارم. کلید "صفحه کلید Windows" را بزنید "و به تنظیمات بروید ، به تنظیمات pi بروید. به برگه رابط ها بروید.

VNC را فعال کنید… و بقیه راه اندازی مجدد نمی شود

مرحله 5: قسمت پنجم: تنظیم Pi خود بدون سر (بهترین چیزی که تاکنون وجود دارد)

قسمت پنجم: تنظیم Pi خود بدون سر (بهترین کار تاریخ)
قسمت پنجم: تنظیم Pi خود بدون سر (بهترین کار تاریخ)

به بالا سمت راست صفحه خود نگاه کنید. لوگوی VNC سیاه و آبی را مشاهده خواهید کرد. آن را باز کن ورود به سیستم ، ایجاد و حساب را بزنید پی را اضافه کنید در رایانه رومیزی/لپ تاپ مرورگر خود را باز کنید در google VNC viewer download install. وارد حساب کاربری خود شوید. برای ورود به سیستم ایمیل خود را بررسی کنید و خود را مجوز دهید. به pi خود متصل شوید (اگر رمز عبور pi را در منوی ورود دوم وارد کنید) اگر کار می کند ، pi خود را خاموش کنید. pi و همه چیز را از برق بکشید پی را در گوشه ای از اتاق خود قرار دهید و فقط کابل برق را به آن وصل کنید. می توانید با استفاده از نمایشگر VNC به pi متصل شوید. شما اکنون یک پی "بدون سر" دارید. همچنین می توانید از آن SSH استفاده کنید. (اطلاعات SSH را در قسمت موارد جالب مشاهده کنید)

مرحله 6: قسمت ششم: نصب همه ابزارهای اصلی توسعه بر روی Pi

قسمت ششم: نصب همه ابزارهای اصلی توسعه بر روی Pi
قسمت ششم: نصب همه ابزارهای اصلی توسعه بر روی Pi

با استفاده از SSH یا VNC (یا اگر تصمیم گرفتید خونسرد نباشید و آن را بدون سر تنظیم کنید) موارد زیر را انجام دهید. ترمینال باز (این قسمت بعدی ممکن است مدتی طول بکشد …) بعد از اتمام هر کدام ، این دستورات را یک به یک اجرا کنید

sudo apt-get update؛ sudo apt-get ارتقاء نصب ffmpeg {sudo apt-get install ffmpeg

مرحله 7: قسمت هفتم: نصب Adafruit WebIDE

قسمت هفتم: نصب Adafruit WebIDE
قسمت هفتم: نصب Adafruit WebIDE

پیچش https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh مرورگری را در دسکتاپ اصلی خود باز کنید. آدرس مرورگر خود را به "https://***.*.*.***: 8080" نشان دهید "IP" را با آدرس IP محلی Pi خود جایگزین کنید. یک نام کاربری بسازید و پاس کنید اکنون تنظیمات adafruit webIDE را دارید.

مرحله 8: قسمت هشتم: Node-red و Node.js را به روز کنید

update-nodejs-and-nodered کد بعدی باعث ایجاد nodered در هنگام راه اندازی می شود درست مانند webIDE adafruit ، این مهم است اگر می خواهید در این موارد پیشرفت کنید. sudo systemctl فعال کردن nodered.service Pi را راه اندازی مجدد کنید

مرحله 9: قسمت نهم: نصب Arduino IDE

قسمت نهم: نصب Arduino IDE
قسمت نهم: نصب Arduino IDE

می توانید این کار را از طریق خط فرمان انجام دهید اما…. این نسخه کامل نخواهد بود.. به این معنی که نمی توانید از ابزار واردات/جستجوی کتابخانه استفاده کنید ، برای نصب نسخه کامل باید به وب سایت arduino بروید و نسخه مدل pi خود را بارگیری کنید. این ARM32bit برای pi3 خواهد بود ، نسخه پایدار را دریافت کنید. ترمینال را باز کنید. (اطلاعات *را با نسخه *جایگزین کنید) این دستورات را اجرا کنید.

www.arduino.cc/fa/Main/Software

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

مرحله 10: قسمت دهم: Ffmpeg

قسمت دهم: Ffmpeg
قسمت دهم: Ffmpeg

1 برابر وب کم لاجیتک

(موارد بعدی موارد مورد نیاز برای اجرای جریان 24 ساعته و 7 روزه را شامل نمی شود) 1 برابر تخته نان دوم تمشک pi مدل 3 b (با کارت sd) نوار LED قابل آدرس دهی جداگانه. arduino nano jumper wire نمایشگر VNC را روی هر دو Pi فعال می کند

ترجیحات pi ، فعال کردن vnc ایجاد یک حساب با نمایشگر VNC مهم: در pi که قصد دارید از آن به عنوان یک میز کار عمومی استفاده کنید ، به تنظیمات سرور vnc ، گزینه ها ، برگه متخصص بروید و زمان بیکاری را تنظیم کنید: 0 ثانیه ، تنظیم می شود که Vnc را ببندد بیننده اگر بعد از یک ساعت بیکار باشد ، انجام این کار باعث می شود پنجره شما بسته نشود که جریان میانی را نصب کنید ، vnc viewer را روی streamer pi در ترمینال نصب کنید.

sudo apt-get vnc-java y را نصب کنید

وب کم خود را وصل کرده و وب کم خود را نصب کنید.

sudo apt fswebcam را نصب کنید

install ffmpeg sudo apt-get install ffmpeg y

اینجاست که انتخاب های خود شما مطرح می شود. در ترمینال ، این اسکریپت را اجرا کنید تا پنجره ای روی دسکتاپ streamer pi شما برای وب کم شما باز شود.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay به شما این امکان را می دهد که این مورد را در پنجره ای بنام pi -cam مشاهده کنید ، وب کم که به شما نشان می دهد در محل dev/video0 و اندازه اصلی آن 1920x1080 است. من فقط می خواهم crop = 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 -preset ultrafast -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

-f x11grab برای گرفتن صفحه نمایش شما استفاده می شود. وضوح صفحه نمایش من روی 1280x1024 تنظیم شده است من می خواهم آن را با فرمت ویدئویی 1280x720 so -vf نمایش دهم.

2m = 2 بار سرعت بارگذاری -f flv این است که ویدیو را به.flv قالب بندی کنید تا twitch بتواند از آن استفاده کند.

اکنون می توانید اعتبارات VNC خود را به تیم خود به میز کار Pi بدهید و آنها می توانند تغییرات از راه دور را از راه دور به صورت زنده مشاهده کنند. فریاد بزن به این پسر! ویدئوی او به من کمک کرد تا بتوانم راه را درست پیش ببرم ، من هنوز مجبور بودم بفهمم که چگونه در وب کم خود ظاهر شوم … و در مورد ffmpeg X/ اطلاعاتی کسب کنم.

آرتور ریدر https://www.youtube.com/watch؟v=kb_5_9GkwZc توجه: من آگاه ترین فرد نیستم ، این به سادگی برای نیازهای من کار می کند ، اگر کسی توصیه سازنده ای دارد من دوست دارم آن را بشنوم اما لطفاً این کار را نکنید به عنوان یکی از راههای ممکن برای ادامه این کار ، استفاده از این مکانیک برای پخش جریان ، و استفاده از pi و جریان کروم دیگر برای واکاوی آن جریان و غیر از تغذیه وب کم به آن یا به هر روش دیگری است. https://www.youtube.com/watch؟v=kb_5_9GkwZc همچنین: اگر می خواهید صدا اضافه کنید ، همانطور که در ویدیوی youtube mans دیده می شود ، می توانید از این رشته استفاده کنید ، من نمی خواستم خانه ام ضبط شود و به twitch ارسال می شود ، این در اتاق من نشسته است بنابراین من هیچ صوتی را پخش نمی کنم ، همچنین به کاهش بار روی 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)"

مرحله 11:

تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر

در حال حاضر در مرحله نهایی ، پیاده سازی ارتباط arduino و pi با پایتون.

--- the who is home project --- این پروژه از یک اسکریپت پایتون استفاده می کند که nmap را در ترمینال اجرا می کند ، محتویات آن را کپی می کند ، متن مورد نیاز ما را تجزیه می کند و آدرس مک های شبکه را با لیست های ذکر شده مقایسه می کند. آدرس مک و اگر مسابقه ای وجود داشته باشد ، آن فرد در خانه است. آدرس های mac با انجام کارهای تحقیقاتی روی روتر پیدا شد ، اما ابزار nmap اطلاعاتی در مورد دستگاه های موجود در فایل متنی ایجاد شده توسط کد به شما می دهد. در صورت حضور کاربر ، یک کاراکتر به arduino ارسال می کند و arduino منتظر می ماند تا چک لیست انجام شود و LED های مربوط به پروفایل های ذکر شده برای آدرس مک دستگاه های کنونی روشن می شود. شما می توانید موارد دیگری را اضافه کنید ، مانند اجرای رباتهای ناسازگاری برای افرادی که با این کد می آیند یا می روند با استفاده از اپراتور فرایند فرعی برای اجرای دستورات ترمینال در اسکریپت پایتون خود. بنابراین ابتدا nmap sudo apt-get install nmap را نصب می کنیم. در مرحله بعد می خواهید فایل ها را در باشگاه های ما Git-Hub بارگیری کنید.

github.com/ValenciaRobotics/embeddedclub

برای کد پایتون ، نصب raspbian با همه موارد استفاده شده در این کد همراه است ، بنابراین نیازی به نصب اضافی ندارید. ما از import re ، subprocess import ، زمان واردات ، سریال واردات استفاده می کنیم ، توجه به این نکته ضروری است که پایتون از تورفتگی برای جداسازی بلوک های کد استفاده می کند ، بنابراین توجه داشته باشید که اگر تصمیم به تغییر نحوه نوشتن کد گرفتید:) py با thonny ide و چند گزینه دیگر ، من متوجه می شوم که اجرای اسکریپت در thonny واقعاً مستقیم است ، اگر روی فایل کلیک کنید و سعی کنید آن را اجرا کنید ، این پیشنهاد یا فرض بر این است که thonny همان چیزی است که می خواهید از آن استفاده کنید. قبل از اجرای برنامه ، باید موارد زیر را ویرایش کنید. خط 14: نمادهای * برای پوشاندن اطلاعات روتر من استفاده می شود ، شما باید آن را با IP محلی خود جایگزین کنید. این همان چیزی است که برای اتصال به روتر خود استفاده می کنید. خطوط 28 ، 38 ، 48 ، 58: همه اینها از نماد * برای پوشاندن آدرس های دستگاه دستگاه ذکر شده در شبکه من استفاده می کنند ، شما باید آنها را به آدرس مک دستگاه های شبکه خود تغییر دهید تا اتصالات را تشخیص دهید. چرا آدرس های مک زیرا بدون رزرو مکان برای دستگاه شما ، مطمئناً همانطور باقی می مانند مگر اینکه کسی جعل کرده باشد. مشکلات مربوط به این کد ، فقط در زمانی که اتصال به طور فعال از اینترنت استفاده می کند ، تشخیص داده می شود ، بنابراین ممکن است با وجود حضور کاربر ، شناسایی نشود. در کد arduino ، می خواهید موارد زیر را تغییر دهید. ابتدا می خواهید به برگه ابزارها بروید ، مدیر کتابخانه ها را انتخاب کرده و عبارت "fastLED" را جستجو کرده و کتابخانه را برای "fastLED" نصب کنید. در مرحله بعد باید ". home is" کد.ino را از صفحه github بارگیری کرده و موارد زیر را به دلخواه تغییر دهید. خط 86: رنگها را بر اساس چیزی که می خواهید کاربران شما به آن ضمیمه کرده باشند تغییر دهید:)

// آنچه را که نیاز دارید روشن کنید

if (d == 1) {leds [0] = 0xdd8bff؛ // بنفش leds [1] = 0xdd8bff؛}

if (l == 1) {leds [2] = CRGB:: سبز ؛ leds [3] = CRGB:: سبز ؛}

if (k == 1) {leds [4] = CRGB:: قرمز ؛ leds [5] = CRGB:: قرمز ؛ }

if (j == 1) {leds [6] = CRGB:: آبی ؛ leds [7] = CRGB:: آبی ؛}

FastLED.show ()؛ تاخیر (30000) ؛ // 10 ثانیه صبر در مورد سوئیچ توضیح مختصری در مورد نحوه افزودن کاربران بیشتر به شرح زیر است

حلقه خالی () {

if (Serial.available ()> 0) {

Serial.println ()؛

شخص = Serial.read ()؛

تاخیر (1000) ؛

تغییر (شخص) {

case'D ': d = 1؛

شخص = 'F'؛

شمارش = شمارش+1 ؛

زنگ تفريح؛

case'd ':

d = 0 ؛

شخص = 'F'؛

شمارش = شمارش+1 ؛

زنگ تفريح؛

حروف بزرگ D کاراکتر دریافتی از اسکریپت پایتون است ، بنابراین می داند که کاربر در آنجا حضور دارد زیرا حرف دریافتی بزرگ D است ، بنابراین مقدار INTEGER d را به 1 تغییر می دهد ، اگر از حروف کوچک آن بیشتر باشد. وجود ندارد بنابراین INTEGER روی 0 تنظیم شده است. شرط روشنایی led ها در اسکریپت از قبل از این جمله استفاده می کند که IF d 1 باشد ، چراغ را روشن می کند ، اما اگر LED نباشد ، به عنوان "سیاه" به معنای روشن نیست. این کد از کتابخانه "fastLED" استفاده می کند و اسناد زیادی در این مورد وجود دارد. توجه داشته باشید که اگر کاراکترها را تغییر دهید ، کاراکترها را اضافه کنید یا کاراکترها را حذف کنید ، باید اسکریپت پایتون را تغییر دهید تا مواردی را که تغییر داده اید نیز برگرداند ، همچنین باید شرایط را در حلقه void تغییر دهید. if (count == 4) {holdup ()؛}} شمارش باید تعداد دستگاه هایی را که "ردیابی" می کنید منعکس کند. در مورد من 4 است ، بنابراین منتظر می ماند تا 4 دستگاه موجود یا غایب اعلام شوند و سپس نوار LED را به روز می کند. در کد پایتون ، خطوط 31 ، 34 ، 41 ، 44 ، 51 ، 54 ، 61 ، 64 خط زیر را دارند. ارسال به آردوینو اگر کد را در آردوینو تغییر دادید یا برعکس ، این را تغییر دهید:)

باز هم ، به عنوان یک جمله پایانی ، می خواهم به هم تیمی خود جان تقدیر کنم ، او در رفع مشکل زمانی که به آن نیاز داشتیم کار بزرگی انجام داد.

اسکریپت پایتون توسط: جاناتان د لا کروز تهیه شده است

اسکریپت آردوینو و راه اندازی و راه اندازی آزمایشگاه خانگی توسط: Dylan Poll انجام شد

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

امیدوارم حداقل یک تی شرت ببریم! من این را با دستورات shell برای بارگیری خودکار و نصب اکثر این موارد به روز می کنم ، وب سایت باشگاه های ما در واقع دارای اسکریپت های پوسته قابل بارگیری برای انجام عملیات ffmpeg است.

این پروژه زمان زیادی را صرف کرد ، من این بخش از باشگاه را از ابتدا تاسیس کردم تا بتوانم با افتخار بگویم این لحظه شادی زیادی را برای من به ارمغان می آورد.:) با تشکر از وقت شما ، ما یک پلت فرم کار داریم که اکنون در باشگاه من به دلیل این پروژه توسعه می یابد.

توصیه شده: