Satura rādītājs:

Raspberry Pi HomeLab un kurš ir mājās: 11 soļi
Raspberry Pi HomeLab un kurš ir mājās: 11 soļi

Video: Raspberry Pi HomeLab un kurš ir mājās: 11 soļi

Video: Raspberry Pi HomeLab un kurš ir mājās: 11 soļi
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Jūlijs
Anonim
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās
Raspberry Pi HomeLab un kurš ir mājās

Šī ir mana pirmā neiznīcināmā, bet šai pamācībai ir divas izpausmes.

faze one: izveido pi, lai strādātu par mājas laboratoriju IOT darbam studentu izstrādātāju komandai.

faze two: izmanto sistēmu attīstībai, īstenojot demonstrāciju, izmantojot mūsu projektu, kas ir mājas.

gada beigās jums būs attālināti pieejams bezgalvains pi, ko cilvēki var izmantot, lai attālināti ieprogrammētu un strādātu ar IOT ierīcēm.

tagad es brīdinu, ka, atverot savu pi sabiedrībai bez pienācīgas drošības, jūs atverat risku, ka jūsu mājas tīkls tiks uzbrukts.

mēs pāriesim pie pirmās mīklas, veicot šādas darbības, taču šī ir saite uz informāciju par mūsu klubu un projektu, kas ir mājas.

github.com/ValenciaRobotics/embeddedclub

WhoIsHome

projekts Kas ir mājas darbojas šādi: palaiž python skriptu, kas pārbauda jūsu tīklam pievienoto ierīču mac adreses. šim nolūkam tā izmanto Nmap. tā palaiž šīs adreses pret adrešu sarakstu un, ja norādītā adrese ir, tā nosūta arduino zīmi, izmantojot seriālos sakarus. arduino kontrolē LED sloksni, un, saņemot simbolu, tai ir atbilstoša šīs ierīces krāsa, un tā iedegas šīs personas gaismas diodes, pamatojoties uz to klātbūtni.

mūsu nodaļu apakšvieta

sites.google.com/view/valencia-robotics

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

mūsu klubu vietne

sites.google.com/view/valenciatechclub

Python skriptu nodrošināja: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino skriptu un mājas laboratorijas izkārtojumu un iestatīšanu veica: Dilans Aptauja

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

Es esmu Dilans Aptauja, es esmu mūsu koledžas tehnoloģiju kluba pašreizējais prezidents un esmu arī iegulto sistēmu vadītājs.

Piegādes

A pi

Arduīno

Maizes dēlis

džemperu vadi

Tīmekļa kamera

individuāli adresējama RGB LED sloksne

barošanas avots jūsu pi, tastatūra, pele, dators sākotnējās iestatīšanas veikšanai.

1. darbība: sākotnējās iestatīšanas failu lejupielāde un instalēšana

lejupielādēt un instalēt tepe (Windows)

www.putty.org

lejupielādējiet rufus un instalējiet

rufus.ie

lejupielādēt raspbian full buster un ieteicamo programmatūru (.zip)

www.raspberrypi.org/downloads/raspbian/

izvelciet.zip saturu, tas būs jūsu [attēla fails].

paņemiet micro sd karti un izmantojiet dokstaciju vai microsd USB ierīci un pievienojiet to datoram formatējiet savu SD karti

2. darbība: otrā daļa: instalējiet Raspbian, izmantojot Rufus

Otrā daļa: instalējiet Raspbian, izmantojot Rufus
Otrā daļa: instalējiet Raspbian, izmantojot Rufus

palaidiet rufus, pirmajā laukā atlasiet savu SD karti, atlasiet raspbian attēla failu.iso/.img izvēlieties start un gaidiet, līdz tas beigsies.

3. solis: trešā daļa: Pi pievienošana

pēc tam, kad tas ir izdarīts, izvelciet SD karti, ievietojiet to sd kartes slotā uz pi, tā ir uz "apakšējā" spraudņa HDMI vadā pie pi, nevis tastatūra un pele un pēdējais barošanas kabelis. ja vispirms pievienojat strāvas avotu, tas var nereģistrēt monitoru/televizoru.

4. darbība: ceturtā daļa: konta iestatīšana

piesakieties pi! veiciet pirmā brauciena iestatīšanu! neizlaidiet to! atlasiet ASV angļu valodas tastatūru, vai arī vēlāk neatradīsit savu @ simbolu … ja jums neatrodas jūsu @ simbols. "piesakieties savā wifi vietnē pi vēl neatjauniniet. Man ir iemesls. nospiediet" Windows tastatūras taustiņš "un dodieties uz preferences, dodieties uz pi konfigurāciju. dodieties uz cilni saskarnes.

iespējot VNC … un viss pārējais netiek atsāknēts.

5. solis: piektā daļa: sava Pi iestatīšana bez galvas (labākā lieta)

Piektā daļa: sava Pi iestatīšana bez galvas (labākā lieta)
Piektā daļa: sava Pi iestatīšana bez galvas (labākā lieta)

paskatieties ekrāna augšējā labajā stūrī. jūs redzēsit melnu un zilu VNC logotipu. atveriet to. nospiediet pierakstīties, izveidot un izveidot kontu. pievienojiet pi. galddatorā/klēpjdatorā atveriet pārlūkprogrammas meklēšanu google VNC skatītāja lejupielādes instalācijā. ielogojieties savā kontā. pārbaudiet savu e -pastu, lai pieteiktos, un autorizējiet sevi. izveidojiet savienojumu ar savu pi (otrajā pieteikšanās izvēlnē ierakstiet pi paroli), ja tas darbojas, izslēdziet savu pi. atvienojiet savu pi un visu. ievietojiet pi istabas stūrī un palaidiet tam tikai strāvas kabeli. jūs varat izveidot savienojumu ar pi, izmantojot VNC skatītāju. jums tagad ir "bez galvas" pi. jūs varat arī to SSH. (SSH informāciju skatiet sadaļā “Jautras lietas”)

6. darbība: sestā daļa: visu galveno rīku instalēšana, lai izstrādātu Pi

Sestā daļa: visu galveno rīku instalēšana, lai izstrādātu Pi
Sestā daļa: visu galveno rīku instalēšana, lai izstrādātu Pi

izmantojot SSH vai VNC (vai ja esat nolēmis nebūt foršs un iestatāt to bez galvas), rīkojieties šādi. atveriet termināli (šī nākamā daļa var aizņemt kādu laiku …) palaidiet šīs komandas pa vienam pēc tam, kad katra ir pabeigta.

sudo apt-get update; sudo apt-get upgrade instalējot ffmpeg {sudo apt-get install ffmpeg

7. solis: septītā daļa: Adafruit WebIDE instalēšana

Septītā daļa: Adafruit WebIDE instalēšana
Septītā daļa: Adafruit WebIDE instalēšana

čokurošanās https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh atveriet pārlūkprogrammu galvenajā darbvirsmā. norādiet pārlūkprogrammas URL uz "https://***.*.*.***: 8080", aizstājiet "*" ar jūsu Pi vietējo IP adresi. izveidot lietotājvārdu un iziet. tagad jums ir adafruit webIDE iestatīšana.

8. darbība: astotā daļa: atjauniniet Node-red un Node.js

update-nodejs-and-nodered nākamais kods ļaus nodered darboties startēšanas laikā tāpat kā adafruit webIDE, tas ir svarīgi, ja vēlaties attīstīt šīs lietas. sudo systemctl iespējot nodered.service restartējiet Pi

9. solis: devītā daļa: Arduino IDE instalēšana

Daļa Deviņi: Arduino IDE instalēšana
Daļa Deviņi: Arduino IDE instalēšana

to var izdarīt, izmantojot komandrindu, bet…. tā nebūs pilnā versija.. tas nozīmē, ka jūs nevarat izmantot bibliotēkas importēšanas/meklēšanas rīku, lai instalētu pilno versiju, jums jāiet uz arduino vietni un lejupielādējiet sava pi modeļa versiju. tas būs ARM32bit pi3, iegūstiet stabilu versiju. atveriet termināli. (aizstājiet *ar izlaišanas informāciju) palaidiet šīs komandas.

www.arduino.cc/en/Main/Software

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

10. solis: desmitā daļa: Ffmpeg

Desmitā daļa: Ffmpeg
Desmitā daļa: Ffmpeg

1x logitech tīmekļa kamera

(nākamajos vienumos nav iekļauts viss nepieciešamais, lai palaistu 24 stundas diennaktī) 1x maizes dēlis un otrs aveņu pi modelis 3 b (ar SD karti) individuāli adresējama LED sloksne. arduino nano džempera vads iespējo VNC skatītāju abos Pi (s)

pi preferences, iespējojiet vnc izveidot kontu ar VNC skatītāju SVARĪGI: pi, kuru plānojat izmantot kā publisku darba soli, atveriet vnc servera iestatījumus, opcijas, cilni Eksperts un iestatiet dīkstāves taimautu: 0 sekundes, tas ir iestatīts, lai aizvērtu Vnc skatītājs, ja pēc stundas būs dīkstāvē, logu pārtrauks aizvērt straumes vidū, instalējiet vnc skatītāju straumētāja pi terminālī.

sudo apt-get install vnc-java y

pievienojiet savu tīmekļa kameru un … instalējiet savu tīmekļa kameru.

sudo apt instalēt fswebcam

instalēt ffmpeg sudo apt-get install ffmpeg y

šeit parādās jūsu pašu izvēle. terminālī palaidiet šo skriptu, lai jūsu tīmekļa kamerai atvērtu logu straumētāja pi darbvirsmā.

ffplay -window_title "pi -cam" /dev /video0 -video_size 1920x1080 -vf crop = 400: 500: 300: 50 -framerate 20 ffplay ļaus jums to redzēt logā ar nosaukumu pi -cam; tīmekļa kamera, kurā tā tiek parādīta vietā dev/video0 un tā sākotnējais izmērs ir 1920x1080. Es gribu redzēt tikai kultūru = platums: augstums: topleft_X: topleft_Y un man pietiek ar kadru ātrumu 20. nākamais kods tiks straumēts, lai raustītos.

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/ (ievietojiet savu straumes atslēgu šeit)"

-f x11grab tiek izmantots ekrāna satveršanai. mana ekrāna izšķirtspēja ir iestatīta uz 1280x1024. Es vēlos to parādīt 1280x720 formātā, tātad -vf video formātā.

2m = 2mgb augšupielādes ātrums. -f flv ir formatēt video.flv, lai twitch to varētu izmantot.

tagad jūs varat nodot savai komandai savus VNC akreditācijas datus darbagaldam Pi, un viņi var redzēt izmaiņas LED joslā tiešraidē attālināti. Bļāviens šim puisim ~! viņa video man palīdzēja tikt uz pareizā ceļa, man tomēr bija jāizdomā, kā ieiet savā tīmekļa kamerā… un uzzināt par ffmpeg X/

Artūrs Rīders https://www.youtube.com/embed/kb_5_9GkwZc PIEZĪME: Es neesmu visinformētākā persona, tas vienkārši darbojas manām vajadzībām, ja kādam ir konstruktīvs padoms, es labprāt to dzirdētu, bet lūdzu ir viens no iespējamiem ceļiem, kā to turpināt, būtu izmantot šo mehāniķi, lai to straumētu, un izmantot citu pi un hroma pagarinājuma gaismas plūsmu, lai iegūtu šo straumi un nevis ievadītu tīmekļa kameru tajā vai kādā citā veidā. https://www.youtube.com/embed/kb_5_9GkwZc ARĪ: ja vēlaties pievienot audio, kā redzams mans youtube video, varat izmantot šo virkni, es negribēju, lai mana māja tiktu ierakstīta un nosūtīts uz raustīšanos, tas sēž manā istabā, tāpēc es nepārraido audio, tas arī palīdz samazināt pi slodzi.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $ DISPLAY -f alsa -i noklusējuma -af acompressor = slieksnis = 0,089: attiecība = 9: uzbrukums = 200: atbrīvošana = 1000 -vf skala = 1280x720 -c: v h264 - g 24 -b: v 2M -iestatīts īpaši ātrs -c: a aac -pix_fmt yuv420p -f flv "rtmp: //live-lax.twitch.tv/app/ (insertyourstreamkeyhere)"

11. darbība:

Attēls
Attēls
Attēls
Attēls
Attēls
Attēls
Attēls
Attēls

tagad līdz pēdējam posmam, ieviešot arduino un pi sērijas sakarus ar python.

--- kurš ir mājas projekts --- Projekts izmanto python skriptu, kas terminālī palaiž nmap, nokopē tā saturu, parsē mums nevajadzīgo tekstu un salīdzina tīkla mac adreses ar uzskaitītajiem mac adreses un, ja ir atbilstība, šī persona ir mājās. mac adreses tika atrastas, veicot izmeklēšanas darbu pie maršrutētāja, taču rīks nmap sniedz informāciju par koda ģenerētajām teksta faila ierīcēm. ja lietotājs ir klāt, tas nosūta rakstzīmi arduino, un arduino nogaida, līdz tiek pabeigts pārbaudes saraksts, un iedegas gaismas diodes, kas atbilst pašreizējo ierīču mac adresēm norādītajiem profiliem. jūs varat pievienot citas lietas, piemēram, likt nesaskaņas robotprogrammatūrai palaist komandas cilvēkiem, kuri nāk vai iet ar šo pašu kodu, izmantojot apakšprocesa operatoru, lai izpildītu termināļa komandas jūsu python skripta ietvaros. tāpēc vispirms mēs instalējam nmap sudo apt-get install nmap. Tālāk jūs vēlaties lejupielādēt failus mūsu klubos Git-Hub.

github.com/ValenciaRobotics/embeddedclub

python kodam raspbian instalācija tiek piegādāta kopā ar visu, kas tiek izmantots šajā kodā, tāpēc jums nekas nav jāinstalē papildus. mēs izmantojām importēšanu re, importa apakšprocesu, importēšanas laiku, importēšanas sēriju, ir svarīgi atzīmēt, ka python izmanto atkāpi koda bloku atdalīšanai, tāpēc ņemiet vērā, ka, ja jūs nolemjat mainīt koda rakstīšanas veidu:) thonny ide un dažas citas iespējas, es uzskatu, ka skripta palaišana thonny ir patiešām vienkārša, ja noklikšķināt uz faila un mēģināt to izpildīt, tika ieteikts vai pieņemts, ka thonny ir tas, ko jūs gribējāt izmantot. pirms programmas palaišanas jums būs jārediģē sekojošais. 14. rinda: * simboli tiek izmantoti, lai maskētu manu maršrutētāja informāciju, jums tas būs jāaizstāj ar savu vietējo ip. tas būtu tas pats, ko izmantojat, lai izveidotu savienojumu ar maršrutētāju. 28., 38., 48., 58. rindas: tās visas izmanto simbolu *, lai maskētu ierīču Mac adreses, kas norādītas manā tīklā. Lai noteiktu savienojumus, tās ir jāmaina uz jūsu tīkla ierīču mac adresēm. kāpēc mac adreses? jo, rezervējot atrašanās vietas savai ierīcei, tās noteikti paliks nemainīgas, ja vien kāds nemaldinās. problēmas ar šo kodu, tas atklās tikai laikā, kad savienojums aktīvi izmanto internetu, tāpēc tas var netikt atklāts, neskatoties uz lietotāja klātbūtni. arduino kodā vēlaties mainīt tālāk norādīto. Pirmkārt, jūs vēlaties doties uz rīku cilni, atlasīt bibliotēku pārvaldnieku un meklēt “fastLED” un instalēt “fastLED” bibliotēku. Tālāk jums būs jāielādē "kas ir mājās".ino kods no github lapas un pēc vēlēšanās jāmaina sekojošais. 86. rinda: mainiet krāsas, pamatojoties uz to, ko vēlaties pievienot lietotājiem:)

// ieslēdz vajadzīgo

ja (d == 1) {leds [0] = 0xdd8bff; // violetas gaismas diodes [1] = 0xdd8bff;}

ja (l == 1) {leds [2] = CRGB:: zaļš; gaismas diodes [3] = CRGB:: zaļa;}

ja (k == 1) {leds [4] = CRGB:: Sarkans; gaismas diodes [5] = CRGB:: Red; }

ja (j == 1) {leds [6] = CRGB:: zils; gaismas diodes [7] = CRGB:: zils;}

FastLED.show (); kavēšanās (30000); // 10 sekundes jāgaida slēdža korpusā, īss skaidrojums par to, kā pievienot vairāk lietotāju, ir šāds

void loop () {

ja (Serial.available ()> 0) {

Sērijas.println ();

person = Serial.read ();

kavēšanās (1000);

slēdzis (persona) {

gadījums 'D': d = 1;

persona = 'F';

skaits = skaits+1;

pārtraukums;

gadījums ':

d = 0;

persona = 'F';

skaits = skaits+1;

pārtraukums;

lielie D ir saņemtie simboli no python skripta, tāpēc viņi zina, ka lietotājs ir klāt, jo saņemtais burts ir lielie D, tāpēc tas maina INTEGER d vērtību uz 1, ja tas ir mazais burts, nekā tas zina nav, tāpēc INTEGER ir iestatīts uz 0. nosacījums gaismas diožu iedegšanai skriptā no iepriekšējās izmanto apgalvojumu, ka, ja d ir 1, tas iedegs LED, bet, ja tā nav, LED paliek kā "melns", kas nozīmē nedeg. šis kods izmanto bibliotēku "fastLED", un par to ir daudz dokumentācijas. ņemiet vērā: ja maināt rakstzīmes, pievienojat rakstzīmes vai noņemat rakstzīmes, jums būs jāmaina python skripts, lai atgrieztu tos, kurus arī mainījāt, jums būs jāmaina arī nosacījums tukšuma cilpā. ja (skaits == 4) {holdup ();}} skaitlim būs jāatspoguļo to ierīču skaits, kuras jūs izsekojat. manā gadījumā tas ir 4, tāpēc tas gaida, kamēr 4 ierīces ir pasludinātas par esošām vai nav, un pēc tam atjaunina LED sloksni. pitona kodā 31., 34., 41., 44., 51., 54., 61., 64. rindā ir šāda rinda ser.write (b ' *') #nosūta rakstzīmi kā baitu pār sēriju, kur * ir rakstzīme nosūtot uz arduino. mainiet to, ja maināt kodu arduino vai otrādi:)

Vēlreiz, kā noslēguma paziņojums, es vēlos pateikties savam komandas biedram Jonam, viņš lieliski paveica darbu, savācot atslābumu, kad tas mums bija vajadzīgs.

viņš Python skriptu nodrošināja: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Arduino skriptu un mājas laboratorijas izveidi un uzstādīšanu veica: Dilans Aptauja

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

Cerams, ka vinnēsim vismaz t-kreklu! Es to atjaunināšu ar čaulas komandām, lai lielāko daļu automātiski lejupielādētu un instalētu, mūsu klubu vietnē faktiski ir lejupielādējami čaulas skripti ffmpeg darbību veikšanai.

Šis projekts aizņēma daudz laika, es nodibināju šo kluba nodaļu jau no paša sākuma, tāpēc varu ar lepnumu teikt, ka šis brīdis man sagādā daudz prieka.:) paldies par jūsu laiku, mums ir darba platforma, lai attīstītos tagad manā klubā šī projekta dēļ.

Ieteicams: