Мазмұны:

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 жұмысының үй зертханасы ретінде жұмыс істеу үшін пи орнату.

екінші кезең: біздің үй жобамызбен демонстрация өткізу арқылы жүйені дамыту үшін қолданады.

соңында сізде IOT құрылғыларында қашықтан бағдарламалауға және жұмыс жасауға адамдар пайдалана алатын қашықтан қол жетімді бассыз пи болады.

Енді мен ескертемін, егер сіздің қауіпсіздігіңіздісіз көпшілікке пи ашсаңыз, сіз өзіңіздің үй желіңізге шабуыл жасау қаупін ашасыз.

біз келесі кезеңдерде бірінші кезеңді өтеміз, бірақ бұл біздің клуб пен үй жобасы туралы кейбір ақпаратқа сілтеме.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

Who is home жобасы келесі әрекеттерді орындайды: желіге қосылған құрылғылардың мак -адрестерін тексеретін python сценарийін іске қосады. ол үшін Nmap пайдаланады. ол бұл мекенжайларды адрестер тізіміне қарсы қояды, ал егер көрсетілген мекенжай болса, ол ардуиноға сериялық байланыс арқылы char жібереді. arduino светодиодты жолақты басқарады, ал таңбаны алған кезде оның түсі осы құрылғыға сәйкес келеді және ол сол адамның жарық диодтарын олардың негізінде болады.

біздің бөлімшелер азаяды

sites.google.com/view/valencia-robotics

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

біздің клубтар сайты

sites.google.com/view/valenciatechclub

Python сценарийін ұсынған: Джонатан Де Ла Круз

www.linkedin.com/in/jonathandelacruz96/

Arduino сценарийін, үй зертханасын қарап шығуды және орнатуды Дилан сауалнама жүргізді

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

Мен Дилан Поллмын, мен колледжіміздің технологиялық клубының қазіргі президентімін, сонымен қатар енгізілген жүйелердің жетекшісімін.

Жабдықтар

Пи

Ардуино

Нан тақтасы

секіргіш сымдар

Веб -камера

жеке адрестелетін RGB жарық диодты жолағы

пи үшін қуат көзі, пернетақта тінтуір, компьютерді бастапқы баптау үшін.

1 -қадам: Бастапқы орнату файлдарын жүктеу және орнату

замазканы жүктеңіз және орнатыңыз (терезелер)

www.putty.org

rufus жүктеп алыңыз және орнатыңыз

rufus.ie

raspbian full buster мен ұсынылған бағдарламалық қамтамасыз етуді жүктеңіз (.zip)

www.raspberrypi.org/downloads/raspbian/

.zip ішіндегі мазмұнды шығарыңыз, бұл сіздің [сурет файлы] болады.

micro sd картасын алып, USB қондырғысы үшін қондырманы немесе microsd қолданыңыз және оны компьютерге қосыңыз, sd картаны форматтаңыз

2 -қадам: екінші бөлім: Raspus көмегімен Raspbian орнатыңыз

Екінші бөлім: Rufus көмегімен Raspbian орнатыңыз
Екінші бөлім: Rufus көмегімен Raspbian орнатыңыз

rufus іске қосыңыз sd картасын бірінші өрістен таңдаңыз.iso/.img үшін raspbian кескін файлын таңдаңыз және оның аяқталуын күтіңіз.

3 -қадам: Үшінші бөлім: Pi -ге қосу

Осыдан кейін sd картасын шығарып алып, оны пидегі SD картасының ұясына салыңыз, оның төменгі жағындағы HDMI сымын пиеге пернетақта мен тінтуір мен соңғы қуат кабелінен гөрі қосыңыз. Егер сіз алдымен қуат көзіне қоссаңыз, ол мониторды/теледидарды тіркемеуі мүмкін.

4 -қадам: Төртінші бөлім: Есептік жазбаны орнату

pi -ге кіріңіз! бірінші іске қосуды орнатыңыз! өткізіп алмаңыз! АҚШ -тың ағылшын пернетақтасын таңдаңыз, әйтпесе сіз @ таңбасын таба алмайсыз … егер сіз @ таңбаңызды «» деп таппасаңыз. wifi -ге кіру әлі жаңартылмайды. Менің себебім бар. «Windows пернетақта пернесін басыңыз. «және теңшелімдерге өтіңіз, pi конфигурациясына өтіңіз. интерфейстер қойындысына өтіңіз.

VNC қосу … және басқалары қайта жүктелмейді.

5 -қадам: Бесінші бөлім: Pi -ді бассыз күйге келтіру (ең жақсы нәрсе)

Бесінші бөлім: Пиді бассыз етіп орнату (ең жақсы нәрсе)
Бесінші бөлім: Пиді бассыз етіп орнату (ең жақсы нәрсе)

экранның жоғарғы оң жағына қараңыз. сіз қара және көк VNC логотипін көресіз. соны аш. кіру, жасау және есептік жазбаны басыңыз. pi қосыңыз. жұмыс үстелінде/ноутбукте Google VNC қарау құралында шолғышты ашыңыз. есептік жазбаңызға кіріңіз. кіру үшін электрондық поштаны тексеріңіз және өзіңізге рұқсат беріңіз. pi -ге қосылыңыз (екінші кіру мәзіріне pi паролін енгізіңіз), егер ол жұмыс істесе, pi -ді өшіріңіз. пи мен бәрін ажыратыңыз. пиді бөлмедегі бұрышқа қойыңыз және оған тек қуат кабелін қосыңыз. pi -ге VNC қарау құралының көмегімен қосылуға болады. сізде қазір «бассыз» пи бар. оған SSH қосуға да болады. (SSH ақпаратын керемет материалдар бөлімінен қараңыз)

6 -қадам: Алтыншы бөлім: Pi -де дамытудың барлық негізгі құралдарын орнату

Алтыншы бөлім: Pi -де дамытудың барлық негізгі құралдарын орнату
Алтыншы бөлім: Pi -де дамытудың барлық негізгі құралдарын орнату

SSH немесе VNC көмегімен (немесе егер сіз салқын болмауды және оны бассыз орнатуды шешсеңіз) келесі әрекеттерді орындаңыз. ашық терминал (бұл келесі бөлікке біраз уақыт кетуі мүмкін …) әр команда аяқталғаннан кейін осы командаларды бірінен соң бірін іске қосады.

sudo apt-get жаңарту; 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 жаңартыңыз

update-nodejs-and-nodered келесі код іске қосылуда adafruit webIDE сияқты іске қосылады, егер сіз осы нәрселерді дамытқыңыз келсе, бұл маңызды. sudo systemctl nodered.service қосуды қосады

9 -қадам: Тоғызыншы бөлім: Arduino IDE орнату

Тоғызыншы бөлім: Arduino IDE орнату
Тоғызыншы бөлім: Arduino IDE орнату

Сіз оны пәрмен жолы арқылы жасай аласыз, бірақ … бұл толық нұсқасы болмайды.. кітапхананы импорттау/іздеу құралын пайдалана алмайтыныңызды білдіреді, толық нұсқаны орнату үшін arduino веб -сайтына кіріп, pi үлгісінің нұсқасын жүктеп алу қажет. бұл pi3 үшін ARM32bit болады, тұрақты шығарылымды алыңыз. терминалды ашу.

www.arduino.cc/kz/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

1 x logitech веб -камерасы

(келесі элементтерде тәулік бойы жұмыс істейтін ағын қажет емес) 1x нан тақтасы екінші таңқурай pi үлгісі 3 b (sd картасы бар) жеке адрестелген жарықдиодты жолақ. arduino nano -jumper сымы VNC қарау құралын қос Pi -де қосады

pi теңшелімдері, vnc -ке VNC қарау құралымен есептік жазба қосуға мүмкіндік беріңіз МАҢЫЗДЫ: сіз қоғамдық жұмыс орны ретінде пайдалануды жоспарлап отырған пи -де vnc серверінің параметрлеріне, опцияларға, сарапшылар қойындысына өтіңіз және бос уақытты 0 секундта жабыңыз. Көрермен бір сағаттан кейін бос тұрса, бұл сіздің терезеңізді ағынның ортасында vnc қарау құралын терминалдағы pi -ге орнатуды тоқтатады.

sudo apt-get vnc-java y орнатыңыз

веб -камераны қосыңыз және веб -камераны орнатыңыз.

sudo apt fswebcam орнатыңыз

ffmpeg sudo apt-get ffmpeg y орнатыңыз

мұнда сіздің жеке таңдауыңыз маңызды болады. Терминалда бұл сценарийді іске қосыңыз, бұл сіздің веб -камераңызға арналған streamer pi жұмыс үстелінде терезе ашу үшін.

ffplay -window_title «pi -cam» /dev /video0 -video_size 1920x1080 -vf дақыл = 400: 500: 300: 50 -framerate 20 ffplay мұны pi -cam деп аталатын терезеде көруге мүмкіндік береді. dev/video0 орнында және оның бастапқы өлшемі 1920x1080. Мен тек қана ені: ені: биіктігі: topleft_X: topleft_Y және 20 кадр жиілігін көргім келеді. келесі код бұрылуға ауысады.

ffmpeg -f x11grab -video_size 1280x1024 -фрейм 24 -i $ DISPLAY -f alsa -vf масштабы = 1280x720 -c: v h264 -g 24 -b: v 2M -алдамды ультра жылдамдық -c: aac -pix_fmt yuv420p -f flv « rtmp: //live-lax.twitch.tv/app/ (сіздің ағынды осы жерге енгізіңіз) »

-f x11grab экраныңызды алу үшін қолданылады. менің экранның ажыратымдылығы 1280x1024 -ге орнатылған, мен оны 1280x720 форматында бейне форматында көрсеткім келеді.

2m = 2mgb жүктеу жылдамдығы. -f flv -бұл бейнені.flv форматына келтіру, сондықтан оны twitch қолдана алады.

енді сіз өзіңіздің командаңызға VNC есептік жазбаңызды Pi жұмыс үстеліне бере аласыз, олар қашықтықтан тікелей жолақтың өзгеруін көре алады. Бұл жігітке айқайлау ~! оның бейнесі маған дұрыс жолға түсуге көмектесті, бірақ мен веб -камераға қалай кіру керектігін түсінуім керек еді … және ffmpeg X туралы білуге болады/

Артур Ридер https://www.youtube.com/embed/kb_5_9GkwZc ЕСКЕРТПЕ: Мен ең ақпараттандырылған адам емеспін, бұл менің қажеттіліктерім үшін жұмыс істейді, егер конструктивті кеңестер болса, мен оны тыңдағым келеді, бірақ өтінемін Бұл мүмкін болатын маршруттардың бірі - бұл ағынды алу үшін осы механиканы пайдалану, ал бұл ағынды алу үшін басқа пи мен хромды кеңейту жарығын пайдалану және веб -камераны осы немесе басқа жолмен беру. https://www.youtube.com/embed/kb_5_9GkwZc ДА: сонымен қатар, егер сіз адамның youtube видеосынан көрінетін аудионы қосқыңыз келсе, сіз бұл жолды қолдана аласыз, мен өз үйімнің жазылуын қаламадым. бұл менің бөлмемде отыр, сондықтан мен ешқандай дыбыс шығармаймын, бұл сонымен қатар пи жүктемені азайтуға көмектеседі.

ffmpeg -f x11grab -video_size 1280x1024 -фрейм 24 -i $ DISPLAY -f alsa -i әдепкі -аф акомпрессор = шекті = 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 адрестері маршрутизаторда тергеу жұмыстарын жүргізу арқылы табылды, бірақ nmap құралы сізге код арқылы жасалған мәтіндік файлдағы құрылғылар туралы ақпарат береді. егер пайдаланушы қатысса, ол arduino -ға символ жібереді, ал arduino тексеру тізімі аяқталғанша күтеді және қазіргі құрылғылардың мак -адрестері үшін тізімделген профильдерге сәйкес келетін жарық диодтарын қосады. python сценарийіндегі терминалдық командаларды орындау үшін ішкі процесс операторын қолдана отырып, осы кодпен келетін немесе баратын адамдарға дискорд боттары командаларын іске қосуы сияқты басқа нәрселерді қосуға болады. сондықтан алдымен nmap sudo apt-get install nmap орнатамыз. Содан кейін сіз біздің Git-Hub клубтарындағы файлдарды жүктегіңіз келеді.

github.com/ValenciaRobotics/embeddedclub

python коды үшін raspbian қондырғысы осы кодта қолданылатынның барлығымен бірге келеді, сондықтан сізге қосымша ештеңе қажет емес. біз импортты қайта импорттауды, импорттаудың ішкі процесін, импорттық уақытты, сериялық импортты қолдандық, бұл python код блоктарын ажырату үшін шегініс қолданатынын ескеру қажет, сондықтан егер сіз кодты жазу әдісін өзгертуді шешсеңіз, бұл туралы біліңіз:) py бірге жеткізіледі thonny ide және басқа да бірнеше нұсқалар, менің ойымша, thonny -де сценарийді іске қосу өте қарапайым, егер сіз файлды шертіп, оны орындауға тырыссаңыз, бұл Thonny -ді қолданғыңыз келеді деп болжайды. Бағдарламаны іске қоспас бұрын төмендегілерді өңдеу қажет болады. 14 -жол: * таңбалары маршрутизатор туралы ақпаратты жасыру үшін пайдаланылады, оны жергілікті IP -ге ауыстыруға тура келеді. бұл маршрутизаторға қосылу үшін қолданатын нәрсеге ұқсас болады. 28, 38, 48, 58 -жолдар: бұлардың барлығы * таңбасын қолданып, менің желімнен тізімделген құрылғының мак -мекен -жайларын маскирлейді, қосылымдарды анықтау үшін оларды желідегі құрылғылардың мак -мекен -жайына өзгерту керек. неге 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:: Көк; leds [7] = CRGB:: Көк;}

FastLED.show (); кешіктіру (30000); // Коммутаторда 10 секунд күту, қосымша пайдаланушыларды қосу туралы қысқаша түсініктеме келесі

void loop () {

егер (Serial.available ()> 0) {

Serial.println ();

адам = Serial.read ();

кешіктіру (1000);

ауысу (адам) {

жағдай'D ': d = 1;

адам = 'F';

санау = санау+1;

үзіліс;

жағдайда ':

d = 0;

адам = 'F';

санау = санау+1;

үзіліс;

үлкен D - бұл питон сценарийінен алынған таңба, сондықтан ол пайдаланушының қатысатынын біледі, себебі алынған әріп D бас әріпі болып табылады, сондықтан ол INTEGER d мәнін 1 -ге өзгертеді, егер ол білетіннен кіші әріп болса жоқ, сондықтан INTEGER 0 мәніне орнатылды. сценарийде светодиодты жарықтандыру шарты, егер d d 1 болса, онда ол светодиодты жарықтандырады, бірақ егер ол жоқ болса, онда ол «қара» күйінде қалады. бұл код «fastLED» кітапханасын пайдаланады және бұл туралы көптеген құжаттар бар. егер сіз таңбаларды өзгертсеңіз, таңбаларды қоссаңыз немесе таңбаларды алып тастасаңыз, сіз оларды өзгерткенін қайтару үшін питон сценарийін өзгертуге тура келетінін ескеріңіз, сондай -ақ бос циклдегі шартты өзгертуге тура келеді. if (count == 4) {holdup ();}} санау сіз бақылап отырған құрылғылардың санын көрсетуі керек. менің жағдайда бұл 4, сондықтан ол 4 құрылғы бар немесе жоқ деп жарияланғанша күтеді, содан кейін ол жарық диодты жолақты жаңартады. питон кодында 31, 34, 41, 44, 51, 54, 61, 64 жолдарында келесі жол бар ser.write (b ' *') #символды серия бойынша байт ретінде жібереді, бұл жерде * символы бар arduino -ға жіберу. егер кодты arduino -да өзгертсеңіз немесе керісінше өзгертіңіз:)

Тағы да, қорытынды мәлімдеме ретінде мен командаласым Джонға алғыс айтқым келеді, ол бізге қажет болған кезде бос уақытты жинауда керемет жұмыс жасады.

Python сценарийін ұсынған: Джонатан Де Ла Крусhtps: //www.linkedin.com/in/jonathandelacruz96/

Arduino сценарийін, үй зертханасын қарап шығуды және орнатуды Дилан сауалнама жүргізді

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

Біз кем дегенде футболканы ұтамыз деп үміттенеміз! Мен мұны көбіне автоматты түрде жүктеу және орнату үшін қабық командаларымен жаңартатын боламын, біздің клубтардың веб -сайтында ffmpeg операцияларын орындау үшін жүктелетін қабық сценарийлері бар.

Бұл жоба көп уақытты алды, мен клубтың осы бөлімшесін негізін қаладым, сондықтан бұл сәт маған үлкен қуаныш әкеледі деп мақтанышпен айта аламын.:) уақыт бөлгеніңізге рахмет, бізде осы жобаның арқасында менің клубымда қазір жұмыс істейтін платформа бар.

Ұсынылған: