Mundarija:

Raspberry Pi HomeLab va kim uy: 11 qadam
Raspberry Pi HomeLab va kim uy: 11 qadam

Video: Raspberry Pi HomeLab va kim uy: 11 qadam

Video: Raspberry Pi HomeLab va kim uy: 11 qadam
Video: Is reTerminal E10-1 for you? 2024, Noyabr
Anonim
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda
Raspberry Pi HomeLab va kim uyda

Bu mening birinchi buzilmas narsam, lekin bu ko'rsatmaning ikki bosqichi bor.

faze one: talabalarni ishlab chiquvchilar jamoasi uchun IOT ishi uchun uy laboratoriyasi sifatida ishlash uchun pi tashkil qilmoqda.

faza 2: bizning uy loyihamiz yordamida namoyish o'tkazish orqali tizimni rivojlantirish uchun foydalanadi.

oxirigacha sizda masofadan turib foydalanish mumkin bo'lgan boshsiz pi bo'ladi, uni odamlar IOT qurilmalarida masofadan turib dasturlash va ishlash uchun ishlatishi mumkin.

Endi men ogohlantiraman, agar siz o'z xavfsizligingizni bilmay turib, jamoatchilikka o'z pingizni ochsangiz, o'zingizni uy tarmog'ingizga hujum qilish xavfi bilan ochasiz.

biz keyingi bosqichlarda birinchi bosqichni o'tamiz, lekin bu bizning klub va uy loyihasi haqidagi ba'zi ma'lumotlarga havola.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

uy kimdir loyihasi quyidagilarni bajaradi: tarmoqqa ulangan qurilmalarning mak manzillarini tekshiradigan python skriptini ishga tushiradi. Buning uchun u Nmapdan foydalanadi. u bu manzillarni manzillar ro'yxatiga qarshi ishlaydi va agar ko'rsatilgan manzil mavjud bo'lsa, ketma -ket aloqa yordamida arduino -ga char yuboradi. arduino LED chizig'ini boshqaradi va u char qabul qilganda, u mos keladigan rangga ega bo'ladi va u o'sha odam uchun LEDlarni yonadi.

bizning bo'linmalarimiz tinchlanmoqda

sites.google.com/view/valencia-robotics

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

bizning klub sayti

sites.google.com/view/valenciatechclub

Python skriptini taqdim etgan: Jonatan De La Kruz

www.linkedin.com/in/jonathandelacruz96/

Arduino skriptini o'rganish va uy laboratoriyasini sozlash: Dylan Poll

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

Men Dylan Poll, men kollejimiz texnologiya klubining amaldagi prezidentiman, shuningdek, o'rnatilgan tizimlar yetakchisiman.

Ta'minotlar

A pi

Arduino

Non paneli

o'tish simlari

Veb -kamera

yakka tartibdagi RGB LED tasmasi

Sizning pi uchun quvvat manbai, klaviatura sichqonchasi, kompyuterni dastlabki sozlash.

1 -qadam: Dastlabki o'rnatish fayllarini yuklab olish va o'rnatish

macunni yuklab oling va o'rnating (derazalar)

www.putty.org

rufus -ni yuklab oling va o'rnating

rufus.ie

raspbian full buster va tavsiya etilgan dasturlarni yuklab oling (.zip)

www.raspberrypi.org/downloads/raspbian/

.zip tarkibini chiqarib oling, bu sizning [rasm faylingiz] bo'ladi.

micro sd -kartani oling va usb qurilmasiga dock yoki microsd -dan foydalaning va uni kompyuteringizga sd -kartangizni formatlang

2 -qadam: Ikkinchi qism: Rufus yordamida Raspbian -ni o'rnating

Ikkinchi qism: Rufus -dan foydalanib Raspbian -ni o'rnating
Ikkinchi qism: Rufus -dan foydalanib Raspbian -ni o'rnating

rufus -ni ishga tushiring sd -kartani birinchi maydonda tanlang.iso/.img uchun raspbian rasm faylini tanlang va tugashini kuting.

3 -qadam: Uchinchi qism: Pi -ni ulash

Ish tugagandan so'ng, sd -kartani chiqarib oling, uni sd -karta uyasiga joylashtiring, u "pastki" qismidagi HDMI kabelidan oldin klaviatura va sichqonchadan va oxirgi quvvat simidan. Agar siz avval quvvat manbaiga ulasangiz, u sizning monitoringizni/televizoringizni ro'yxatdan o'tkazmasligi mumkin.

4 -qadam: To'rtinchi qism: Hisob qaydnomangizni o'rnatish

pi ga kiring! birinchi ishga tushirishni sozlang! o'tkazib yubormang! AQSh ingliz klaviaturasini tanlang, aks holda siz @ belgisini topa olmaysiz … agar siz @ belgisini "qaerda" qilmasangiz. Wi -Fi tarmog'iga kirishni hali yangilamang. Mening sababim bor. "Windows klaviatura tugmachasini bosing. "va parametrlarga o'ting, pi konfiguratsiyasiga o'ting. interfeyslar yorlig'iga o'ting.

VNC -ni yoqish … va boshqa hamma narsa qayta yuklanmaydi.

5 -qadam: Beshinchi qism: Pi -ni boshsiz qilib o'rnatish (eng yaxshi narsa)

Beshinchi qism: Pi -ni boshsiz qilib o'rnatish (eng yaxshi narsa)
Beshinchi qism: Pi -ni boshsiz qilib o'rnatish (eng yaxshi narsa)

ekranning o'ng yuqori qismiga qarang. siz qora va ko'k VNC logotipini ko'rasiz. buni oching. kiring, kiriting va hisobni bosing. pi qo'shing. Ish stolida/noutbukda brauzerni Google VNC Viewer -da qidirishni oching. hisobingizga kiring. kirish uchun elektron pochtangizni tekshiring va o'zingizni avtorizatsiya qiling. pi -ga ulaning (ikkinchi kirish menyusida pi parolini kiriting), agar u ishlayotgan bo'lsa, pi -ni o'chiring. pi va hamma narsani ajratib oling. pi -ni xonangizning burchagiga qo'ying va unga faqat elektr kabelini o'tkazing. pi -ga VNC tomoshabin yordamida ulanishingiz mumkin. endi sizda "boshsiz" pi bor. Siz unga SSH -ni ham qo'shishingiz mumkin.

6 -qadam: Oltinchi qism: Pi -da ishlab chiqish uchun barcha asosiy vositalarni o'rnatish

Oltinchi qism: Pi -da ishlab chiqish uchun barcha asosiy vositalarni o'rnatish
Oltinchi qism: Pi -da ishlab chiqish uchun barcha asosiy vositalarni o'rnatish

SSH yoki VNC -dan foydalanib (yoki agar siz salqin bo'lishga va boshsiz o'rnatishga qaror qilgan bo'lsangiz) quyidagilarni bajaring. ochiq terminal (bu keyingi qism biroz vaqt talab qilishi mumkin …) har biri TUG'ILGandan so'ng, bu buyruqlarni birma -bir bajaradi.

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

7 -qadam: Ettinchi qism: Adafruit veb -saytini o'rnatish

Ettinchi qism: Adafruit veb -saytini o'rnatish
Ettinchi qism: Adafruit veb -saytini o'rnatish

burish https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh asosiy ish stolida brauzer oching. brauzer URL manzilini "https://***.*.*.***: 8080" ga yo'naltiring, "*" ni Pi mahalliy IP -manziliga almashtiring. foydalanuvchi nomini kiriting va kiriting. endi sizda adafruit webIDE sozlamalari mavjud.

8-qadam: sakkizinchi qism: Node-red va Node.js-ni yangilang

update-nodejs-and-nodered keyingi kodi ishga tushirishda xuddi adafruit webIDE kabi ishga tushiriladi, agar siz bu narsalarni rivojlantirmoqchi bo'lsangiz, bu juda muhim. sudo systemctl ni yoqish nodered.service Pi -ni qayta ishga tushiring

9 -qadam: To'qqizinchi qism: Arduino IDE -ni o'rnatish

To'qqizinchi qism: Arduino IDE -ni o'rnatish
To'qqizinchi qism: Arduino IDE -ni o'rnatish

Siz buni buyruq satri orqali qilishingiz mumkin, lekin … bu to'liq versiya bo'lmaydi.. demak siz kutubxonani import qilish/qidirish vositasidan foydalana olmaysiz, to'liq versiyani o'rnatish uchun arduino veb -saytiga kirishingiz va pi modelingiz uchun versiyani yuklab olishingiz kerak. bu pi3 uchun ARM32bit bo'ladi, barqaror chiqarishni oling. terminalni oching.

www.arduino.cc/en/Main/Software

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

10 -qadam: O'ninchi qism: Ffmpeg

O'ninchi qism: Ffmpeg
O'ninchi qism: Ffmpeg

1x logitech veb -kamerasi

(keyingi elementlarga 24/7 oqimini ishga tushirish uchun kerak bo'ladigan narsalar kirmaydi) 1x non paneli ikkinchi malina pi modeli 3 b (sd kartasi bilan) alohida joylashtiriladigan LED tasmasi. arduino nano -o'tish simlari har ikkala Pi (lar) da VNC ko'rish vositasini yoqadi.

pi parametrlari, vnc -ni VNC tomoshabin bilan hisob qaydnomasini yaratishga imkon bering MUHIM: siz ommaviy ish stoli sifatida foydalanmoqchi bo'lgan pi -da vnc -server sozlamalari, variantlari, mutaxassislar yorlig'iga o'ting va bo'sh vaqtni 0 soniya ichida o'chiring. Agar tomoshabin bir soatdan keyin ishlamasa, bu sizning oynangizni yopilishini to'xtatadi, vnc tomoshabinni terminalda streamer pi -ga o'rnatadi.

sudo apt-get vnc-java y ni o'rnating

veb -kamerangizni ulang va veb -kamerangizni o'rnating.

sudo apt install fswebcam

ffmpeg sudo apt-get ffmpeg y ni o'rnating

bu erda sizning shaxsiy tanlovingiz o'ynaydi. terminalda, veb -kamerangiz uchun streamer pi ish stolida oynani ochish uchun ushbu skriptni ishga tushiring.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf kesish = 400: 500: 300: 50 -framate 20 ffplay buni sizga pi -cam nomli oynada ko'rishga imkon beradi. dev/video0 joylashgan joyda va uning asl o'lchami 1920x1080. Men faqat hosilni ko'rishni xohlayman = width: height: topleft_X: topleft_Y va 20 kadr tezligi men uchun etarli. keyingi kod siljiydi.

ffmpeg -f x11grab -video_size 1280x1024 -kadriyat 24 -i $ DISPLAY -f alsa -vf o'lchovi = 1280x720 -c: v h264 -g 24 -b: v 2M -tezlikni yuqori tezlikda sozlash -c: aac -pix_fmt yuv420p -f flv " rtmp: //live-lax.twitch.tv/app/ (oqimingizni bu erga kiriting)"

-f x11grab sizning ekraningizni olish uchun ishlatiladi. Mening ekran o'lchamim 1280x1024 ga o'rnatildi, men buni 1280x720 formatida video formatida ko'rsatmoqchiman.

2m = 2mgb yuklash tezligi. -f flv -videoni.flv formatlash, shuning uchun twitch uni ishlatishi mumkin.

Endi siz o'z jamoangizga VNC hisob ma'lumotlarini ishchi dastgohiga berishingiz mumkin va ular masofadan turib to'g'ridan -to'g'ri chiziqdagi o'zgarishlarni ko'rishlari mumkin. Bu odamga baqiring ~! uning videosi menga to'g'ri yo'lga tushishga yordam berdi, men hali ham veb -kameramga qanday kirishni aniqlashim kerak edi … va ffmpeg X/ haqida bilib olishim kerak edi.

Artur Reeder https://www.youtube.com/embed/kb_5_9GkwZc DIQQAT: Men eng ma'lumotli odam emasman, bu mening ehtiyojlarim uchun ishlaydi, agar kimdir konstruktiv maslahatga ega bo'lsa, men eshitishni xohlayman, lekin iltimos qilmang. Buni davom ettirishning mumkin bo'lgan yo'llaridan biri - bu mexanikani ishlatish, bu oqimni olish uchun boshqa pi va xrom kengaytmali yorug'lik oqimidan foydalanish va veb -kamerani unga yoki boshqa yo'l bilan berish. https://www.youtube.com/embed/kb_5_9GkwZc HAM: agar siz odamlarning youtube videosida ko'rinib turganidek, audio qo'shishni xohlasangiz, bu satrdan foydalanishingiz mumkin, men o'z uyimni yozib olishni xohlamadim va tebranishga yuborildi, bu mening xonamda o'tiribdi, shuning uchun men hech qanday ovoz uzatmayman, bu pi yukini kamaytirishga yordam beradi.

ffmpeg -f x11grab -video_size 1280x1024 -framera 24 -i $ DISPLAY -f alsa -i sukut bo'yicha -af akompressor = pol = 0.089: nisbat = 9: hujum = 200: chiqarish = 1000 -vf shkalasi = 1280x720 -c: v h264 - g 24 -b: v 2M -ultra tezkor -c: aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (oqimingizga bu erga kiriting)"

11 -qadam:

Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm

Endi python bilan arduino va pi ketma -ket muloqotni amalga oshiradigan oxirgi bosqichga.

--- kim uy loyihasi --- Loyiha terminalda nmap ishlaydigan python skriptidan foydalanadi, uning tarkibini nusxa ko'chiradi, bizga kerak bo'lmagan matnni ajratadi va tarmoqdagi mak manzillarini sanab o'tilganlar bilan solishtiradi. mac manzillari va agar mos keladigan bo'lsa, u kishi uyda. mac manzillari yo'riqnoma ustida tergov ishlarini olib borganida topilgan, lekin nmap vositasi sizga kod yordamida yaratilgan matnli fayldagi qurilmalar haqida ma'lumot beradi. agar foydalanuvchi hozir bo'lsa, u arduino -ga belgi yuboradi va arduino tekshirish ro'yxati tugaguncha kutadi va hozirgi qurilmalarning mak -manzillari uchun sanab o'tilgan profillarga mos keladigan LEDlarni yoqadi. Siz boshqa narsalarni qo'shishingiz mumkin, masalan, kelishmovchilik botlari, xuddi shu kod bilan kelgan yoki ketayotgan odamlarga buyruqlarni bajaradi, pastki protsessor operatoridan foydalanib, sizning python skriptingiz ichida terminal buyruqlarini bajaradi. shuning uchun avval nmap sudo apt-get install nmap ni o'rnatamiz. Keyin siz Git-Hub klublaridagi fayllarni yuklab olishni xohlaysiz.

github.com/ValenciaRobotics/embeddedclub

Python kodi uchun raspbian o'rnatilishi ushbu kodda ishlatilgan hamma narsa bilan birga keladi, shuning uchun sizga qo'shimcha o'rnatilgan narsa kerak emas. biz importni qayta import qilish, quyi ishlov berish, import vaqtini, ketma -ket importni ishlatdik, shuni ta'kidlash kerakki, python kod bloklarini ajratish uchun chiziqdan foydalanadi, shuning uchun agar siz kodni yozish usulini o'zgartirishga qaror qilsangiz, shuni biling:) py thonny ide va boshqa bir nechta variantlar, menimcha, thonny -da skriptni ishga tushirish haqiqatan ham oldinga siljiydi, agar siz faylni bosganingizda va uni bajarishga urinib ko'rsangiz, thonny siz foydalanmoqchi bo'lgan narsani taklif qilgan yoki taxmin qilgan. Dasturni ishga tushirishdan oldin siz quyidagilarni o'zgartirishingiz kerak bo'ladi. 14 -satr: * belgilar mening yo'riqnoma ma'lumotimni yashirish uchun ishlatiladi, siz uni o'zingizning mahalliy ipingiz bilan almashtirishingiz kerak bo'ladi. bu sizning yo'riqnoma bilan bog'lanish uchun ishlatadigan narsangiz bilan bir xil bo'ladi. 28, 38, 48, 58 -qatorlar: bularning hammasi * simvolini ishlatib, mening tarmog'imdan sanab o'tilgan qurilmalarning mak manzillarini yashiradi, ulanishlarni aniqlash uchun ularni o'z tarmog'ingizdagi qurilmalarning mak manzillariga o'zgartirishingiz kerak. nima uchun Mac manzillari? chunki sizning qurilmangiz uchun joylar zaxiralanmagan holda, agar kimdir yolg'on gapirmasa, ular avvalgidek qoladi. Ushbu kod bilan bog'liq muammolar faqat ulanish Internetdan faol foydalanayotgan vaqtda aniqlanadi, shuning uchun foydalanuvchi mavjudligiga qaramay, u aniqlanmasligi mumkin. arduino kodida siz quyidagilarni o'zgartirishni xohlaysiz. Birinchidan, siz asboblar yorlig'iga o'tishni, kutubxonalar menejerini tanlashni va "fastLED" ni qidirishni va "fastLED" kutubxonasini o'rnatishni xohlaysiz. Keyin siz github sahifasidan "uyda kim".ino kodini yuklashingiz va xohlaganingizcha quyidagilarni o'zgartirishingiz kerak bo'ladi. 86 -qator: ranglarni foydalanuvchilaringiz biriktirgan narsalarga qarab o'zgartiring:)

// kerakli narsani yoqing

agar (d == 1) {leds [0] = 0xdd8bff; // binafsha nurlar [1] = 0xdd8bff;}

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

if (k == 1) {leds [4] = CRGB:: Qizil; leds [5] = CRGB:: Qizil; }

agar (j == 1) {leds [6] = CRGB:: Moviy; leds [7] = CRGB:: Moviy;}

FastLED.show (); kechikish (30000); // Kommutator qutisida 10 soniya kuting, ko'proq foydalanuvchilarni qo'shish uchun qisqacha tushuntirish quyidagicha

void loop () {

agar (Serial.available ()> 0) {

Serial.println ();

shaxs = Serial.read ();

kechikish (1000);

almashtirish (odam) {

Case'D ': d = 1;

shaxs = 'F';

hisoblash = hisoblash+1;

tanaffus;

ish :

d = 0;

shaxs = 'F';

hisoblash = hisoblash+1;

tanaffus;

katta D - bu python skriptidan olingan belgi, shuning uchun u foydalanuvchi borligini biladi, chunki qabul qilingan harf katta D harfidir, shuning uchun INTEGER d qiymatini 1 ga o'zgartiradi, agar u bilganidan kichikroq bo'lsa. ular yo'q, shuning uchun INTEGER 0 ga o'rnatiladi. Skriptda LEDlarni yoritish sharti, agar d d 1 bo'lsa, u svetodiodni yoqadi, lekin agar u "qora" bo'lib qolsa, u holda "yoritilmagan" bo'ladi. bu kod "fastLED" kutubxonasidan foydalanadi va bu borada ko'plab hujjatlar mavjud. E'tibor bering, agar siz belgilarni o'zgartirsangiz, belgilar qo'shsangiz yoki belgilarni olib tashlasangiz, siz ularni o'zgartirganlarni qaytarish uchun python skriptini o'zgartirishingiz kerak bo'ladi, siz ham bo'shliq tsiklidagi shartni o'zgartirishingiz kerak bo'ladi. if (count == 4) {holdup ();}} hisob siz kuzatayotgan qurilmalar sonini aks ettirishi kerak bo'ladi. mening holimda bu 4, shuning uchun u 4 ta qurilma mavjud yoki yo'q deb e'lon qilinishini kutadi va keyin LED tasmasini yangilaydi. Python kodida 31, 34, 41, 44, 51, 54, 61, 64 -satrlar quyidagi satrga ega. arduino -ga yuborish. agar kodni arduino -da o'zgartirsangiz yoki aksincha, buni o'zgartiring:)

Yana, yakuniy bayonot sifatida, men jamoadoshim Jonga minnatdorchilik bildirmoqchiman, u bizga kerak bo'lganda bo'shliqni yig'ishda juda yaxshi ish qildi.

Python skriptini Jonatan De La Kruz bergan:

Arduino skriptini o'rganish va uy laboratoriyasini sozlash: Dylan Poll

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

Umid qilamizki, biz hech bo'lmaganda futbolkani yutamiz! Men buni qobiq buyruqlari bilan yangilab turaman, shundan ko'pini avtomatik yuklab olish va o'rnatish, bizning klublar veb -saytida ffmpeg operatsiyalarini bajarish uchun yuklab olinadigan qobiq skriptlari mavjud.

Bu loyiha juda ko'p vaqtni oldi, men klubning bo'linmasiga asos solganman, shuning uchun g'urur bilan aytishim mumkinki, bu lahza menga katta quvonch keltiradi.:) vaqt ajratganingiz uchun tashakkur, bu loyiha tufayli bizning klubimizda hozir ishlab chiqish uchun ishchi platformamiz bor.

Tavsiya: