Mundarija:
- Ta'minotlar
- 1 -qadam: Dastlabki o'rnatish fayllarini yuklab olish va o'rnatish
- 2 -qadam: Ikkinchi qism: Rufus yordamida Raspbian -ni o'rnating
- 3 -qadam: Uchinchi qism: Pi -ni ulash
- 4 -qadam: To'rtinchi qism: Hisob qaydnomangizni o'rnatish
- 5 -qadam: Beshinchi qism: Pi -ni boshsiz qilib o'rnatish (eng yaxshi narsa)
- 6 -qadam: Oltinchi qism: Pi -da ishlab chiqish uchun barcha asosiy vositalarni o'rnatish
- 7 -qadam: Ettinchi qism: Adafruit veb -saytini o'rnatish
- 8-qadam: sakkizinchi qism: Node-red va Node.js-ni yangilang
- 9 -qadam: To'qqizinchi qism: Arduino IDE -ni o'rnatish
- 10 -qadam: O'ninchi qism: Ffmpeg
- 11 -qadam:
Video: Raspberry Pi HomeLab va kim uy: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
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
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)
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
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
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
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
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:
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:
Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): 19 qadam (rasmlar bilan)
Veb-sayt boshqariladigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): Siz veb-sayt boshqaradigan Rojdestvo daraxti qanday ko'rinishini bilmoqchimisiz? Mana mening rojdestvo daraxti loyihamni ko'rsatadigan video. Hozirda jonli efir tugadi, lekin men nima bo'layotganini tasvirga oladigan video tayyorladim: bu yil dekabr oyining o'rtalarida
Kimdir Xyc-wb-dc radar sensori yordamida xonaga kim kirganini bilib oling: 7 qadam
Kimdir Xyc-wb-dc radar sensori yordamida xonaga kirganini bilib oling: Ushbu qo'llanmada biz kimdir RTC moduli, xyc-wb-dc radar sensori, OLED-displey va arduino yordamida xonaga kirganini bilib olamiz. namoyish video
[15min] Uizli Soati / Uy ko'rsatkichi kim - TR -064 (beta) asosida: 4 qadam (rasmlar bilan)
[15min] Uizli Soati / Uy ko'rsatkichi kim-TR-064 asosida (beta): YANGILASH: 3-qadamga qarang. Uzoq hikoya (TL; DR pastda): Bir muncha vaqt oldin men kompyuterimda kichik bash-skript yozganman. tarmoqni ro'yxatdan o'tgan qurilmalar uchun skanerlang va ularning xost nomlarini tegishli nomlar ro'yxati bilan solishtiring. Har safar qurilma kirsa
KIM Uno - 5 evrolik mikroprotsessorli Dev Kit emulyatori: 13 qadam (rasmlar bilan)
KIM Uno - 5 evrolik mikroprotsessorli qurilma to'plami emulyatori: KIM Uno - bu ko'chma, dasturiy ta'minot (retro) mikroprotsessorlar uchun ishlab chiqilgan asboblar to'plami. Ammo men bu fikrni o'z vaqtida ortga qaytarish bilan tanishtiray: 2018 yil oxirida men miyamga ko'chma mikroprotsessorli kichik asboblar to'plamini yaratmoqchi edim, xolos
Light Rush! Kim eng tez nurga ega?!: 3 qadam
Light Rush! Kimda eng tez yorug'lik bor?!: Har qanday o'yinni o'ynang - bu ajoyib va qiziqarli, lekin uni o'zingiz yaratganingizda, albatta, yaxshiroq! Men arduino va ledstrip bilan o'ynashga odatlanganman, shuning uchun men u bilan yugurdim. Keling, yoshingiz qanday bo'lishidan qat'i nazar, qanday qilib dam olishni va o'ynashni tushuntirib beraylik