Kazalo:

OreServer - namenski strežnik Minecraft za Raspberry Pi z indikatorjem LED predvajalnika: 9 korakov (s slikami)
OreServer - namenski strežnik Minecraft za Raspberry Pi z indikatorjem LED predvajalnika: 9 korakov (s slikami)

Video: OreServer - namenski strežnik Minecraft za Raspberry Pi z indikatorjem LED predvajalnika: 9 korakov (s slikami)

Video: OreServer - namenski strežnik Minecraft za Raspberry Pi z indikatorjem LED predvajalnika: 9 korakov (s slikami)
Video: What is a Server? Servers vs Desktops Explained 2024, November
Anonim

Avtor MrJymmFollow About: Veliko idej, nikoli dovolj časa. Več o MrJymm »

Posodobitev julija 2020 - Preden začnete s tem projektom, se zavedajte, da je bilo v različnih programskih orodjih, ki sem jih uporabil pri ustvarjanju tega pred več kot dvema letoma, storjeno veliko sprememb in posodobitev. Posledično mnogi koraki ne delujejo več tako, kot so zapisani. Projekt je še vedno mogoče dokončati in še vedno je zabaven, vendar pričakujte, da boste morali sami delati, da bo vse delovalo. Nekatere rešitve lahko najdete v nedavnih komentarjih na koncu navodil. Hvala in srečno rudarjenje

Če ste ljubitelj igranja Minecrafta, ste verjetno pomislili, kako zabavno bi bilo imeti svoj osebni strežnik, ki ga delite s prijatelji. Sinovi so me nenehno spraševali po svojem skupnem svetu, sčasoma pa se je njihovo zanimanje za Minecraft združilo z mojim zanimanjem za Raspberry Pi in rodila se je ideja za OreServer.

Ta projekt vam bo pokazal, kako nastaviti strežnik Minecraft z zabavno in edinstveno funkcijo - zgrajen je tako, da spominja na rudni blok in zasveti z različnimi barvami, odvisno od tega, koliko ljudi trenutno igra v vašem svetu!

Vendar se tu ne ustavi! Strežnik bomo omogočili tudi vsem, ki imajo računalniško izdajo Minecraft, tako da lahko delite naslov svojega strežnika in povabite prijatelje v svoj svet. Deloval bo 24 ur na dan, zato lahko prijatelji gradijo tudi, če ste zaposleni ali niste doma. Nastavili bomo samodejno varnostno kopiranje v primeru, da bi prišlo do tragedije (ta top TNT je takrat zvenela kot dobra ideja …), tako da se lahko ponastavite iz prejšnjih dni.

1. korak: Seznam delov in orodij

Seznam delov in orodij
Seznam delov in orodij

To so deli, orodja in programska oprema, ki jih boste potrebovali za dokončanje tega projekta. Dodal sem povezave za referenco, vendar je večina teh zalog na voljo pri več prodajalcih, zato jih poberite povsod, kjer je za vas najlažje / najcenejše.

Deli:

  • Raspberry Pi 3 in napajalnik

    Te so na voljo tudi v kompletu

  • Mikro USB pravokotni adapter
  • MicroSD kartica

    Priporoča se najmanj 8 GB, vendar kakovostna kartica 16 ali 32 GB

  • Adafruit Neopixel Jewel
  • Tri kratke žice GPIO
  • Srebrna ali siva nit za 3D tiskanje (katera koli vrsta)
  • 2,5 mm vijaki (x4)
  • Pergamentni papir ali bel papir

Orodja:

  • Bralnik kartic MicroSD
  • Oprema za spajkanje
  • Majhen izvijač
  • 3D tiskalnik

Programska oprema:

  • Minecraft (Java PC Edition)
  • Raspbian Lite ISO

    NE verzija "z namizjem"

  • etcher.io
  • Kiti ali podoben odjemalec terminala SSH
  • Filezilla ali podoben odjemalec FTP

2. korak: Namestite in pripravite Raspberry Pi

Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi
Namestite in pripravite Raspberry Pi

Preden lahko začnemo nameščati strežnik, moramo dokončati nekaj osnovnih korakov nastavitve in konfiguracije na Pi.

1. Pripravite kartico MicroSD

Najprej moramo namestiti operacijski sistem Rasbian na kartico MicroSD z uporabo etcher.io.

  1. Kartico MicroSD vstavite v bralnik kartic, bralnik kartic pa v vrata USB na računalniku
  2. Zaženite jedkalec in z gumbom Izberi sliko naložite ISO Rasbian Lite
  3. Izberite kartico MicroSD za namestitveni pogon
  4. Kliknite Flash!

Ko se postopek zaključi, bo jedilnik odstranil pogon MicroSD iz sistema, vendar moramo dodati še eno datoteko, zato jo samo odklopite in znova vstavite. Kartica se bo zdaj brala kot pogon z oznako "zagon". Kopirajte prazno datoteko z imenom "ssh" v zagonski pogon in nato znova ločite pogon MicroSD iz sistema. Kartica MicroSD je zdaj pripravljena za vstop v Raspberry Pi.

** Če datoteke "ssh" ne morete prenesti, jo lahko preprosto ustvarite tako, da preprosto preimenujete prazno besedilno datoteko. Izbrišite razširitev ".txt". Ko deluje, bo ikona prazna, kot na posnetku zaslona. **

2. Povežite se s priključkom Pi

Zdaj, ko ima Pi operacijski sistem, ga vklopimo!

  1. Priključite žični ethernetni kabel in napajanje v Rasberry Pi. Čeprav ima Pi 3 vgrajeno podporo za Wi-Fi, je žična povezava za naš strežnik bolj robustna in zaželena.
  2. Nato moramo iz usmerjevalnika pridobiti IP -naslov Pi. Ta korak se bo nekoliko razlikoval glede na vašo znamko usmerjevalnika - v mojem primeru v svoj brskalnik vnesem 192.168.1.1, da se prijavim na nadzorno ploščo usmerjevalnika. Iskali boste seznam odjemalcev DHCP in vnos z imenom "raspberrypi". Upoštevajte dodeljeni naslov IP, v mojem primeru je 192.168.1.115. Zdaj je tudi dobra priložnost, da naslov IP nastavite kot "rezerviran" ali "trajen", da mu kasneje ne bo dodeljen drug naslov. Če imate pri tem koraku težave, si oglejte dokumentacijo usmerjevalnika ali spletno mesto za podporo za podrobnosti.
  3. Zdaj lahko odpremo Putty, vnesemo Pi -jev naslov IP v polje "Ime gostitelja" in kliknemo "Odpri".

Zdaj bi morali gledati črni zaslon z "login as:". To je terminal vašega Pi -ja in tam bomo opravili preostanek dela pri nastavitvi strežnika. Ne pozabite, da so zaslonski terminali namenjeni tipkovnicam! Vaša miška tukaj ne bo veliko uporabna.

3. Raspi-config

Za dokončanje začetne nastavitve se moramo prijaviti s privzetimi nastavitvami:

prijavite se kot: pi

geslo: malina

Zdaj lahko preidemo skozi nekaj osnovnih nastavitev privzetih nastavitev Pi, tako da vnesemo naslednje

sudo raspi-config

Izvesti moramo nekaj sprememb in skozi njih vas bom popeljal v istem vrstnem redu, kot so oštevilčene na konfiguracijskem zaslonu.

  1. Spremeni uporabniško geslo - to je nujno! Vsi poznajo privzeto geslo, zato ga takoj spremenite.
  2. Omrežne možnosti

    Ime gostitelja - privzeto je to "raspberrypi", če pa želite, ga lahko spremenite v bolj opisno

  3. -(ni sprememb)-
  4. Možnosti lokalizacije - če niste v Združenem kraljestvu, jih boste želeli spremeniti v svojo državo. Moji primeri predvidevajo, da so to ZDA.

    1. Change Locale - s puščico navzdol poiščite vnos za "en_GB" s * poleg. Uporabite preslednico, da odstranite to *, nato se spustite še malo navzdol do »en_US. UTF-8« in znova uporabite preslednico, da jo označite s *.
    2. Spremeni časovni pas - nastavitev je pomembna za pravilno delovanje naših časovno omejenih opravil
    3. Spremenite razporeditev tipkovnice - morda boste to lahko preskočili, če pa pustite v Združenem kraljestvu, se premika nekaj simbolov tipkovnice
  5. Možnosti vmesnika
    1. -(ni sprememb)-
    2. SSH - omogočite to, da boste lahko po ponovnem zagonu Pi še naprej uporabljali Putty.
  6. -(ni sprememb)-
  7. Napredne možnosti

    1. Razširi datotečni sistem - to zagotavlja, da lahko Pi uporabi ves prostor, ki je na voljo na kartici SD
    2. -(ni sprememb)-
    3. Memory Split - spremenite to vrednost na 16, da sprostite več pomnilnika za uporabo Minecrafta.

Zdaj izberite »Dokončaj« in nato »Da« za ponovni zagon.

S tem boste zaključili sejo v programu Putty. Preprosto dajte trenutek za dokončanje ponovnega zagona, nato znova odprite Putty in se znova povežite s Pi -jevim naslovom IP. Ne pozabite uporabiti novega gesla!

3. korak: Namestite namenski strežnik

Nastavitev strežniške programske opreme je najdaljši, a tudi najpomembnejši korak. Veliko časa bomo porabili za vnos kopice dolgočasnih ukazov za Linux. Naj vas to ne ustraši! Dokler lahko kopirate in prilepite, lahko preberete ta del.

Strežnik Minecraft je precej zapleten in za zagon v računalniku, ki je tako majhen kot Raspberry Pi, je potrebno nekaj racionalizacije. Začel sem s to fantastično vadnico Jamesa Chambersa, ker ima nekaj odličnih nasvetov za povečanje zmogljivosti strežnika. Spodaj bom povzel njegov postopek namestitve in izpostavil nekatere spremembe in posodobitve, ki sem jih naredil, vendar toplo priporočam, da njegovo stran preberete za več podrobnosti.

Zdaj, ko ste se znova prijavili s privzetim "pi" in novim geslom, lahko začnemo vnašati ukaze za namestitev datotek strežnika.

Pomembno - Veliko teh ukazov je dolgih in zapletenih, zato bi jih bilo zelo težko vnesti v okno terminala. Zato tega ne storite! Označite besedilo ukaza v tem oknu, ga kopirajte s ctrl-c, nato pa v oknu terminala z desno miškino tipko kliknite z miško, da prilepite besedilo. Glej, ta miška je navsezadnje dobra za nekaj!

V preostalem delu tega koraka boste kopirali vse ukaze v teh kodah z besedilom.

Na kratko bom razložil, kaj počnemo na tej poti.

Začeli bomo s posodobitvijo naše programske opreme.

sudo apt-get update && sudo apt-get upgrade

Kadar koli vidite zahtevo za odobritev namestitve, vnesite "y" in pritisnite enter, da sprejmete in nadaljujete.

Minecraft deluje na Javi, vendar naša namestitev "Lite" Rasbian tega ni vključevala, zato si oglejmo to.

wget --no-check-certificate --no-cookies --header "Piškotek: oraclelicense = accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808 /jdk-8u161-linux-arm32-vfp-hflt.tar.gz

Opomba ** Ko se Java posodobi na novejšo različico, lahko ta ukaz postane zastarel. Če prejmete sporočilo o napaki, morate posodobiti ukaz za najnovejšo različico. Obiščite stran za prenos Java v podjetju Oracle, kliknite gumb "Sprejmi licenčno pogodbo" in nato z desno miškino tipko kliknite povezavo do najnovejše datoteke linux-arm32 in izberite povezavo za kopiranje. To posodobljeno povezavo boste morali uporabiti za zamenjavo besedila v zgornjem ukazu, začenši s http. **

Zdaj lahko namestimo datoteke Java, ki smo jih pravkar prenesli.

sudo mkdir /usr /java

cd /usr /java

Če ste morali za novo različico spremeniti povezavo za prenos, v teh naslednjih ukazih spremenite številko različice, da se ujema.

sudo tar xf ~/jdk-8u161-linux-arm32-vfp-hflt.tar.gz

sudo update-alternative --install/usr/bin/java java /usr/java/jdk1.8.0_161/bin/java 1000

sudo update-alternative --install/usr/bin/javac javac /usr/java/jdk1.8.0_161/bin/javac 1000

cd ~

In končno, glavni dogodek, ki ste ga tako potrpežljivo čakali, namestimo strežnik Minecraft. To je specializirana različica strežnika, imenovana Paper, in je polna optimizacij za izboljšanje zmogljivosti.

mkdir papir

wget

unzip master.zip -d Papir

mv ~/Paper/RaspberryPiMinecraft-master/* ~/Paper/

cd papir

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M sponka za papir.jar

Ta zadnji ukaz bo prvič zagnal strežnik in čez nekaj trenutkov boste prejeli napako, ki pravi, da se morate strinjati z licenčno pogodbo EULA. Odprite EULA z naslednjim ukazom:

nano eula.txt

Vrstico, ki pravi "eula = false", spremenite v "eula = true". Shranite spremembe tako, da pritisnete ctrl-x, nato Y, nato pa vnesite.

Opomba ** James Chambers na tej točki svojega vodnika omenja način overclockinga vaše kartice SD. Osebno nisem poskusil tega koraka, ker zahteva visoko kakovostno kartico in tista, ki sem jo imel na voljo za uporabo, ni nič posebnega. Verjamem, da bi overclocking zagotovo še izboljšal zmogljivosti, vendar tudi brez overclockinga strežnik deluje dovolj dobro, da se otroci, ki se na njem igrajo, ne pritožujem. **

Hitro poglejmo lastnosti strežnika in naredimo nekaj sprememb.

nano server.osebnosti

Tukaj je dolg seznam stvari, ki jih lahko spremenite glede svojega strežnika, na primer prilagajanje imena strežnika in MOTD, spreminjanje načina igre ali omogočanje PvP ali ukaznih blokov. Zdaj lahko spremenite stvari po svojih željah ali pa odprete to datoteko, če želite pozneje narediti več sprememb, vendar bomo takoj izvedli dve spremembi.

največ igralcev = 8

strežniška vrata = 25565

Osem igralcev je najvišje, kar bi priporočil, še višje in zelo verjetno boste opazili, da bo zmogljivost strežnika upadla, tudi ob vseh optimizacijah za izvajanje stvari na Pi.

Vrata strežnika je treba spremeniti, ker tako kot privzeto geslo "malina" vsi poznajo privzeta vrata 25565. Tudi manjša sprememba 26565 bo pripomogla k zaščiti vašega strežnika. Zapišite številko vrat poleg mesta, kjer ste shranili IP -naslov Pi. Oboje boste potrebovali kasneje.

Ko končate s posodabljanjem nastavitev, shranite spremembe tako, da pritisnete ctrl-x, nato Y, nato pa vnesite.

Naslednji korak pri pripravi vašega strežnika bo trajal tudi najdaljši čas, ko se zažene, verjetno približno eno uro. Ti ukazi bodo vnaprej ustvarili vaš svet, kar pomeni, da strežniku pozneje ne bo treba opraviti vsega tega dela, medtem ko vi in vaši prijatelji raziskujete.

cd ~/Papir/vtičniki

wget --content -disposition -E

sudo apt-get namestitveni zaslon

cd papir

./start.sh

Ne bo videti, da se je kaj zgodilo, vendar se je vaš strežnik zdaj zagnal! Za interakcijo s strežnikom moramo uporabiti ta ukaz

screen -r minecraft

In potem bomo svet vnaprej ustvarili:

wb world set 1000 spawn

wb world fill 1000

potrditev izpolnitve wb

To je del, ki bo trajal dolgo. Pojdi na prigrizek in preveri kasneje! Ko je postopek končan, izklopite strežnik z zelo preprostim ukazom

ustaviti

To bo shranilo in zaprlo strežnik ter vas vrnilo v terminal Raspberry Pi.

Naša zadnja naloga je nastaviti strežnik, da se samodejno zažene, ko je Raspberry Pi priključen ali znova zagnan. To lahko naredimo tako, da ustvarimo preprost skript.

cd ~

nano startup.sh

Nano smo že uporabljali za urejanje nekaj datotek, vendar tokrat ustvarjamo eno iz nič, zato bo okno prazno. Kopirajte ti dve vrstici v datoteko:

cd/home/pi/Paper

screen -dmS java minecraft java -server -Dfile.encoding = UTF -8 -Xms512M -Xmx800M -XX: NewSize = 300M -XX: MaxNewSize = 500M -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:+Use: CMSIncrementalPacing -XX: ParallelGCThreads = 4 -XX:+AggressiveOpts -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX: SurvivorRatio = 16 -XX: TargetSurvivorRatio = 90 -jar /home/pi/paper/paper

Nato shranite nov skript tako, da pritisnete ctrl-x, nato Y, nato pa vnesite.

chmod +x startup.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

V zadnji vrstici datoteke rc.local piše "exit 0". Neposredno nad to vrstico bomo dodali tole:

su pi -c /home/pi/startup.sh

Še enkrat shranimo spremembe datotek s ctrl-x, nato Y, nato vnesite.

sudo ponovni zagon

Prejeli boste sporočilo, da je povezava zaprta, okno Putty pa lahko zaprete.

To je to! Dolgočasno ste preživeli! Zdaj smo pripravljeni preizkusiti naš strežnik!

4. korak: Preizkusite svoj strežnik in povabite prijatelje

Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje
Preizkusite svoj strežnik in povabite prijatelje

Nato bomo preverili, ali strežnik deluje, in se prepričali, da se nam lahko pridružijo naši prijatelji.

Odprite zaganjalnik Minecraft v računalniku in pritisnite Play. Poskrbite, da uporabljate najnovejšo različico za izdajo, ki ustreza strežniku Paper.

Na glavnem zaslonu izberite Več igralcev in nato Dodaj strežnik. Vnesite ime, ki ga želite imeti na seznamu strežnikov, za naslov strežnika pa IP vašega Pi in številko vrat. Za moj primer uporabljamo 192.168.1.115:26565. Prepričajte se, da imate med naslovom IP in številko vrat dvopičje in da ni presledkov. Kliknite Končano in nato kliknite predvajaj na strežniku. Čez nekaj trenutkov se boste znašli v svojem popolnoma novem svetu!

Počakaj, vrni se! Ne začnite graditi sami, povabimo nekaj prijateljev! Na žalost ne morejo uporabiti istega naslova IP kot vi. Če želite to narediti, morate najprej povedati usmerjevalniku, da se lahko ljudje, ki so zunaj vaše hiše, povežejo s Pi. To se imenuje posredovanje vrat in natančen postopek se bo nekoliko razlikoval glede na vaš usmerjevalnik. Priložil sem posnetek zaslona, kako izgleda na usmerjevalniku znamke TP Link, vendar boste za več informacij morda morali preveriti spletno mesto za podporo usmerjevalnikov.

V nastavitvah posredovanja vrat vnesite številko vrat, ki ste jo izbrali za strežnik, nato pa naslov IP za vaš Raspberry Pi. Vaš usmerjevalnik zdaj ve, da bi morali biti prijatelji, ko se poskušajo povezati s to številko vrat, usmerjeni na Pi.

Nato moramo z brezplačno storitvijo, kot je No-IP, ustvariti svoj edinstven naslov, imenovan ime gostitelja. Nastavili boste tudi usmerjevalnik ali računalnik, da bo naslov IP gostitelja posodobljen.

Sledite korakom v njihovem priročniku za namestitev.

Ko končate z nastavitvijo računa No-IP, se bodo vaši prijatelji lahko povezali z vašim strežnikom, tako da v razdelku Naslov strežnika na svojem zaslonu za več igralcev Minecraft vnesejo novo ime gostitelja in številko vrat. Na primer ime gostitelja.ddns.net:26565.

5. korak: Rešite svet! (s samodejnim varnostnim kopiranjem)

Rešiti svet! (s samodejnim varnostnim kopiranjem)
Rešiti svet! (s samodejnim varnostnim kopiranjem)

Ta korak ni obvezen, lahko pa ga reši. Vaš svet se sooča z resnimi tveganji, bodisi zaradi poškodovane kartice MicroSD, občasnih nagajivosti ali žalovanja ali samo zaradi teh nadležnih plazilcev. Za zaščito vsega vašega trdega dela bo strežnik vsako noč samodejno shranil vašo svetovno datoteko. Da preprečimo polnjenje kartice MicroSD, bomo izbrisali tudi vse varnostne kopije, starejše od enega tedna. Po tem jih lahko preprosto kopirate v svoj računalnik ali drug rezervni pogon za še večjo varnost.

Začeli bomo z uporabo Putty za ponovno povezavo z našim Pi, da bi naredili nov scenarij.

nano dailybackup.sh

Kopirajte naslednje ukaze v skript:

# Ustavite strežnik Minecraft

zaslon -x minecraft -X ustavitev stvari^M spanje 5 # Kopiraj imenik papirja v varnostno kopijo/PaperYYDDMM cp -a Papir/. varnostna kopija/papir $ (datum +%F) # Izbriši varnostne kopije, starejše od 7 dni, poišči varnostno kopijo/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

In potem, povej to z mano - shrani datoteko s pritiskom na ctrl -x, Y, enter.

Zdaj bomo ustvarili ponavljajočo se nalogo, ki bo vsako noč izvajala varnostno kopijo skripta z uporabo crontab.

crontab -e

Ko prvič zaženete ta ukaz, boste imeli možnost izbire urednikov, izberite številko 2 za Nano.

S tem se odpre posebna datoteka za načrtovanje opravil. Na dnu te datoteke dodajte naslednje vrstice:

5 0 * * * /home/pi/dailybackup.sh

15 0 * * * sudo ponovni zagon

Prva vrstica pove Pi, naj vsako noč zažene varnostno kopijo ob 12.05. Druga vrstica pove Pi, naj se deset minut kasneje znova zažene. Če želite za varnostno kopiranje in ponovni zagon raje drugačen čas, lahko te vrstice spremenite po svojih željah. Ne pozabite, da je prva številka minuta, druga številka pa ura v 24 -urnem formatu. Tri zvezdice poskrbijo, da se bo ta skript izvajal vsak dan.

Ko bo vaš sistem deloval nekaj časa, boste morda želeli imeti navado, da varnostne kopije shranite na drugo mesto izven kartice microSD Pi. Ta naloga je zelo preprosta, če se povežete s strežnikom s pomočjo Filezilla. Preprosto povlecite varnostno kopijo z desne strani Filezille in jo spustite v računalnik. Ko kopira vse datoteke, jih lahko shranite tako dolgo, kot želite!

In če se kdaj zgodi tragedija in se morate vrniti na eno od shranjenih datotek, je to hiter in preprost postopek. Najprej se prepričajte, da ste zaustavili strežnik:

screen -r minecraft

ustaviti

Nato uporabite Filezilla, da izbrišete imenik Paper in ga zamenjate tako, da enega od shranjenih imenikov povlečete nazaj v Pi. Bodite prepričani, da izbrišete datum iz imena imenika, da se znova poimenuje preprosto Papir. Nato lahko znova zaženete strežnik z

./startup.sh

In prav tako se lahko vrnete k gradbeništvu!

6. korak: Priključite LED

Priključite LED
Priključite LED
Priključite LED
Priključite LED
Priključite LED
Priključite LED

Čas je, da dodate nekaj luči! Tu vaš strežnik za vašim monitorjem postane več kot le zbiralnik prahu. Ta korak vam bo pokazal, kako spajkati in pritrditi Neopixel Jewel na Raspberry Pi, nato pa namestiti programsko opremo, potrebno za zagon LED. Kmalu za tem se vam nikoli več ne bo treba spraševati, ali nekdo na spletu čaka, da se igra z vami, ker vam bo strežnik povedal le s pogledom!

Adafruit Neopixel so fantastične LED diode. So RGB, kar pomeni, da lahko zasvetijo v kateri koli barvi, ki jo želite. Naslovljivi so, kar pomeni, da lahko z ukazi programske opreme spremenite njihovo barvo, kadar koli želite. Za veliko več odličnih informacij o delovanju neopikslov z Raspberry Pi si oglejte uradni vodnik Adafruit.

Jewel ima 7 LED diod, ki nam dajejo veliko močne svetle barve. Obstaja tudi pet kontaktnih točk za spajkanje, vendar bomo uporabili le tri. Močno priporočam, da uporabite tri žice različnih barv, da se izognete njihovemu mešanju, ko jih pozneje priključite na Pi. V svojih vzorčnih fotografijah sem uporabil rdečo, črno in rjavo barvo.

Preden začnete ta korak, boste želeli popolnoma izklopiti Raspberry Pi. Vnesite te ukaze in nato odklopite napajalnik Pi.

screen -r minecraft

ustaviti

sudo shutdown -h zdaj

Odrežite tri ženske žice GPIO, tako dolgo, da imate med spajkanjem dovolj žice za delo. Presežek lahko vedno zaokrožite tako kot jaz. Previdno spajkajte žice na kontakte na dragulju. Nato pritrdite ženske priključke na zatiče Raspberry Pi GPIO:

PWR na pin 1 = 3.3V

GND na pin 6 = ozemljitev

IN na pin 12 = GPIO18

Ko je dragulj nameščen, lahko Pi znova priključite in uporabite Putty za povezavo in namestitev programske opreme LED z naslednjimi ukazi. Bodite pozorni na mesta, ki lahko zahtevajo, da vnesete Y za nadaljevanje namestitve.

sudo apt-get install build-bistven python-dev git

sudo apt-get install scons

sudo apt-get install swig

git clone

cd rpi_ws281x

scons

Pomembno ** V naslednjem koraku bomo naredili manjši dodatek knjižnici neopixel. To je potrebno, da bi se izognili napaki v spominu, ki me je spravila v za nekaj dni. Brez tega bodo LED diode delovale nekaj ur in se nato nehale pravilno posodabljati. **

cd python

python setup.py build

sudo nano build/lib.linux-armv7l-2.7/neopixel.py

S puščico navzdol se pomaknite mimo vrstice z napisom class Adafruit_NeoPixel (object):. Nedavno boste našli razdelek z modrim besedilom, ki pravi def _cleanup (self). Naslednjo vrstico boste kopirali v to razdelku, natančno tako, kot je prikazano na zgornjem posnetku zaslona.

ws.ws2811_fini (self._leds)

Še enkrat moramo shraniti spremembe s ctrl-x, Y, enter.

cd ~

cd rpi_ws281x/python

sudo python setup.py install

Nato moramo testni datoteki povedati število LED, ki jih imamo, nato pa jih lahko prižgemo!

cd primeri

sudo nano strandtest.py

Poiščite vrstico, ki pravi LED_COUNT = 16, in jo spremenite v LED_COUNT = 7, nato pritisnite ctrl-x, Y, vnesite, da shranite.

sudo python strandtest.py

Če je vse potekalo pravilno, vas je slepila utripajoča mavrična eksplozija. Ko znova vidite, pritisnite ctrl-c, da ustavite luči. LED diode se ne bodo ugasnile, vendar bodo prenehale utripati in to je zaenkrat dovolj dobro.

7. korak: Programirajte LED za preverjanje stanja strežnika

Programirajte LED za preverjanje stanja strežnika
Programirajte LED za preverjanje stanja strežnika

Ko so naše LED diode nameščene in pripravljene, je čas, da se odzovejo na strežnik. Naredili jih bomo, da navedejo trenutno število igralcev na strežniku:

Igralci = Ruda

  • 0 = Redstone
  • 1-2 = železo
  • 3-4 = zlato
  • 5-6 = smaragd
  • 7-8 = Diamant

Če strežnik ne deluje, bo Oreblock premog (LED sveti). In kot dodaten bonus, če preverjanje stanja ne najde internetne povezave, bodo LED utripale rumeno!

Če želimo pridobiti število igralcev s strežnika, bomo namestili mcstatus od Nathana Adamsa, enega od razvijalcev iger Mojang.

sudo apt-get install python-pip

sudo pip namestite mcstatus

Nato moramo kopirati spodnja skripta python, mcled.py in ledoff.py, na naš strežnik z Filezilla. Dva skripta preprosto povlecite in spustite v polje na desni, kot je prikazano na posnetku zaslona.

Pojdi zdaj in preizkusi ledoff.py, da lahko ugasnemo LED diode, ki so ostale vklopljene v prejšnjem koraku.

sudo python ledoff.py

Ko ročno izvajate skripte, kot je ta, boste prejeli sporočilo z naslovom "Napaka segmentacije". To je nerešeno vprašanje v knjižnici Neopixel.py, ki nima vpliva na to, kar počnemo.

Če vas zanima, kako ti skripti delujejo, jih lahko odprete s katerim koli urejevalnikom besedil v računalniku ali z nano na terminalnem zaslonu. Pazite le, da po naključju ne shranite sprememb, ki bi jim lahko preprečile delovanje!

Opomba ** mcled.py predpostavlja, da uporabljate vrata 26565 iz mojega primera. Če uporabljate druga vrata, morate spremeniti skript tako, da se ujema z naslednjimi koraki **

sudo nano mcled.py

Poiščite rdečo vrstico besedila z napisom "# Get server player player", spodaj pa boste videli vrstico, ki vključuje zeleno besedilo z napisom "localhost" in številko vrat poleg tega. Spremenite številko vrat, da se ujema z vašo, in kot vedno shranite spremembe s tipkami ctrl-x, Y, enter.

Da bi dobili stalne posodobitve o stanju strežnika, bomo povedali Pi, naj vsako minuto zažene skript mcled.py, kar pomeni, da v crontabu nastavite še nekaj vrstic.

crontab -e

Videli boste dve vrstici, ki smo jih dodali prej za razporejanje varnostnih kopij in ponovnih zagonov. Zdaj bomo dodali še dva:

* 6-20 * * * sudo python mcled.py

0 21 * * * sudo python ledoff.py

Prva vrstica pove Pi, naj teče mcled.py vsako minuto vsake ure med 6.00 in 20.59. Druga vrstica pove Pi, naj ugasne LED diode ob 21. uri. To je osebna izbira, saj takrat moji otroci ne igrajo več Minecrafta, čeprav strežnik še vedno deluje. OreServer je vidno prikazan nad televizorjem, močna svetloba pa zvečer postane dražilna. Seveda lahko te dve vrstici spremenite, da LED diode delujejo neprekinjeno, ali pa se pozneje ugasnejo ali karkoli ustreza vašim lastnim namenom.

Kmalu po tem, ko so vaše spremembe shranjene (ste naveličani ctrl-x, Y, vnesite še?), Se bo poklical skript in vaš dragulj bo spet zasvetil. Najverjetneje bo rdeča, kar pomeni, da strežnik deluje, vendar ni v uporabi. Vzemite si trenutek, da zaženete Minecraft in se pridružite strežniku, kot smo to storili med prejšnjim testom. Kmalu po tem, ko ste se pridružili, bi morale LED -lučke preklopiti v belo, nato pa ob odklopu spet v rdečo.

8. korak: Naredite kovček za rude

Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude
Naredite kovček za rude

Zadnji dotik, ki bo vse to združil, je oreblock ohišje za Raspberry Pi. Za izdelavo ohišja Ore sem uporabil 3D tiskalnik Lulzbot TAZ6 v svojem lokalnem izdelovalnem prostoru RiverCityLabs. Spodaj sem spodaj navedel svoje datoteke. STL za tiskanje. Če nimate lastnega 3D tiskalnika, poiščite skupnost izdelovalcev na svojem območju, super so! Ali pa imate lokalno knjižnico ali šolo, ki ima tiskalnike dostopne javnosti. Obstaja tudi več spletnih storitev 3D tiskanja, ki vam lahko natisnejo in pošljejo dizajn. Ali pa lahko postanete ustvarjalni! Nič vas ne more ustaviti pri izdelavi ohišja iz kartona ali kupa sivega lega ali česar koli drugega, kar imate pri roki.

Nekaj pomembnih opomb pri nastavitvi datotek 3D tiskalnika:

  • Natisnite datoteko brez spreminjanja obsega in se prepričajte, da so montažne luknje poravnane s Pi.
  • Vrh obrnite na glavo, tako da je odprt konec obrnjen navzgor.
  • Vklopite nastavitve podpore, da se previsi na stenah ne zamotijo.

Ko je tiskanje končano, lahko pritrdite Pi na podlago s štirimi 2,5 mm vijaki. Ne najdem povezave do dejanskega izdelka, vendar sem jih našel v paketu 2 pri Menards, kar je bilo veliko bolje kot naročiti škatlo 100 iz Amazona.

Odstranite ves podporni material z vrha in izrežite list pergamentnega papirja ali belega papirnega papirja, da se prilega notranjosti. To bo razpršilo LED luči, zaradi česar bo žareč učinek videti milijonkrat bolje, kot če pustite odprte luknje.

Vmesnik MicroUSB pod pravim kotom pritrdite na napajalni priključek, tako da bo kabel šel na zadnji strani ohišja poleg ethernetnih vrat.

Zdaj lahko znova priključite napajalne in ethernetne kable, postavite vrh na mesto in uživajte!

9. korak: Povzetek, dodatne misli in hvala

Velika nagrada na Minecraft Challengeu 2018

Priporočena: