Sadržaj:

OreServer - Raspberry Pi namjenski Minecraft server sa LED indikatorom playera: 9 koraka (sa slikama)
OreServer - Raspberry Pi namjenski Minecraft server sa LED indikatorom playera: 9 koraka (sa slikama)

Video: OreServer - Raspberry Pi namjenski Minecraft server sa LED indikatorom playera: 9 koraka (sa slikama)

Video: OreServer - Raspberry Pi namjenski Minecraft server sa LED indikatorom playera: 9 koraka (sa slikama)
Video: Raspberry Pi als Vanilla Minecraft Server 2024, Novembar
Anonim

Od MrJymmFollow About: Puno ideja, nikad dovoljno vremena. Više o MrJymm -u »

AŽURIRANJE U srpnju 2020. - Prije nego započnete ovaj projekt, imajte na umu da je MNOGO promjena i ažuriranja uneseno u različite softverske alate koje sam koristio za izradu ovoga prije više od dvije godine. Kao rezultat toga, mnogi koraci više ne funkcioniraju onako kako je napisano. Projekt se još može dovršiti i još uvijek je zabavan, ali očekujte da ćete morati sami napraviti petljanje kako bi sve funkcioniralo. Neka rješenja mogu se pronaći u nedavnim komentarima na kraju uputstva. Hvala vam i sretno rudarenje

Ako ste ljubitelj igranja Minecrafta, vjerojatno ste razmišljali o tome kako bi bilo zabavno imati svoj lični server koji biste podijelili sa svojim prijateljima. Moji sinovi su me neprestano tražili za svoj zajednički svijet, pa se na kraju njihovo zanimanje za Minecraft spojilo s mojim zanimanjem za Raspberry Pi i rodila se ideja za OreServer.

Ovaj će vam projekt pokazati kako postaviti Minecraft poslužitelj sa zabavnom i jedinstvenom funkcijom - napravljen je tako da podsjeća na rudni blok i svijetli različitim bojama ovisno o tome koliko ljudi trenutno igra na vašem svijetu!

Ali tu nije kraj! Poslužitelj ćemo učiniti dostupnim svima sa PC izdanjem Minecrafta, tako da možete podijeliti adresu poslužitelja i pozvati prijatelje u svoj svijet. Radit će 24 sata dnevno, pa čak i ako ste zauzeti ili izvan kuće, vaši prijatelji mogu nastaviti graditi. Postavit ćemo automatske sigurnosne kopije u slučaju da dođe do tragedije (taj TNT top je u to vrijeme zvučao kao dobra ideja …) tako da se možete poništiti s prethodnih dana.

Korak 1: Lista dijelova i alata

Lista dijelova i alata
Lista dijelova i alata

Ovo su dijelovi, alati i softver koji će vam trebati za dovršetak ovog projekta. Dodao sam veze za referencu, ali većina ovih potrepština dostupna je od više prodavača, pa ih pokupite gdje god vam je najlakše / najjeftinije.

Dijelovi:

  • Raspberry Pi 3 i napajanje

    Oni su takođe dostupni u kompletu

  • Micro USB adapter pod pravim uglom
  • MicroSD kartica

    Preporučuje se najmanje 8 GB, ali visokokvalitetna kartica od 16 ili 32 GB

  • Adafruit Neopixel Jewel
  • Tri kratke žice GPIO
  • Srebrna ili siva nit za 3D štampanje (bilo koja vrsta)
  • 2,5 mm vijci (x4)
  • Pergament ili bijeli papir

Alati:

  • Čitač microSD kartica
  • Oprema za lemljenje
  • Mali odvijač
  • 3D štampač

Softver:

  • Minecraft (Java PC izdanje)
  • Raspbian Lite ISO

    NE verziju "sa radnom površinom"

  • etcher.io
  • Putty ili sličan klijent SSH terminala
  • Filezilla ili sličan FTP klijent

Korak 2: Postavite i pripremite Raspberry Pi

Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi

Prije nego što počnemo instalirati poslužitelj, moramo dovršiti neke osnovne korake postavljanja i konfiguracije na Pi.

1. Pripremite MicroSD karticu

Prvo, moramo staviti Rasbian operativni sistem na našu MicroSD karticu koristeći etcher.io.

  1. Umetnite MicroSD karticu u čitač kartica, a čitač kartica u USB priključak na računaru
  2. Pokrenite etcher i pomoću gumba Select Image učitajte Rasbian Lite ISO
  3. Odaberite MicroSD karticu za instalacijski pogon
  4. Kliknite Flash!

Kada se proces završi, etcher će odvojiti MicroSD pogon od sistema, ali moramo dodati još jednu datoteku pa ga samo isključite iz utičnice i ponovo ga uključite. Kartica će sada čitati kao pogon s oznakom "boot". Kopirajte praznu datoteku pod nazivom "ssh" u pogon za pokretanje, a zatim ponovo odvojite MicroSD disk od sistema. MicroSD kartica je sada spremna za useljenje u Raspberry Pi.

** Ako ne možete preuzeti datoteku "ssh", lako je napravite vlastitu jednostavnim preimenovanjem prazne tekstualne datoteke. Obavezno izbrišite ekstenziju ".txt". Kada funkcionira, ikona će postati prazna kao na snimku zaslona. **

2. Spojite se na Pi -ov terminal

Sada kada Pi ima operativni sistem, uključimo ga!

  1. Priključite žičani ethernet kabel i izvor napajanja na Rasberry Pi. Iako Pi 3 ima ugrađenu Wi-Fi podršku, žičana veza je robusnija i poželjnija za naš poslužitelj.
  2. Zatim moramo dohvatiti Pi IP adresu s vašeg usmjerivača. Ovaj korak će se malo razlikovati ovisno o marki vašeg usmjerivača - u mom slučaju unosim 192.168.1.1 u svoj preglednik kako bih se prijavio na kontrolnu ploču usmjerivača. Tražit ćete DHCP listu klijenata i unos pod nazivom "raspberrypi". Obratite pažnju na dodijeljenu IP adresu, u mom primjeru to je 192.168.1.115. Sada je također dobra prilika da postavite IP adresu kao "rezerviranu" ili "trajnu" kako joj kasnije ne bi bila dodijeljena druga adresa. Ako imate poteškoća s ovim korakom, za detalje provjerite dokumentaciju vašeg usmjerivača ili web lokaciju za podršku.
  3. Sada možemo otvoriti Putty, unijeti Pi -jevu IP adresu u polje "Host Name" i kliknuti "Open".

Sada biste trebali gledati crni ekran sa "login as:". Ovo je vaš terminal Pi i tu ćemo obavljati ostatak posla oko postavljanja servera. Upamtite, ekrani terminala su za tastature! Vaš miš ovdje neće biti od velike koristi.

3. Raspi-config

Da bismo dovršili početno postavljanje, moramo se prijaviti pomoću zadanih postavki:

prijavite se kao: pi

lozinka: malina

Sada možemo proći kroz neke osnovne postavke Pi -ovih zadanih postavki unošenjem sljedećeg

sudo raspi-config

Moramo napraviti nekoliko promjena, a ja ću vas provesti kroz njih istim redoslijedom kako su označeni brojevima na ekranu za konfiguraciju.

  1. Promijenite korisničku lozinku - ovo je neophodno! Svi znaju zadanu lozinku, pa je odmah promijenite.
  2. Opcije mreže

    Naziv hosta - prema zadanim postavkama ovo je "raspberrypi", ali ako želite možete ga promijeniti tako da bude opisniji

  3. -(Bez promjene)-
  4. Opcije lokalizacije - ako niste u Velikoj Britaniji, poželjet ćete ih promijeniti u svoju zemlju. Moji primjeri pretpostavljaju da su to SAD.

    1. Promijeni lokalizaciju - pomoću strelice prema dolje pronađite unos za "en_GB" sa znakom * pored njega. Koristite razmaknicu da uklonite taj *, a zatim se spustite još malo do "en_US. UTF-8" i ponovo upotrijebite razmaknicu da biste ga označili sa *.
    2. Promijeni vremensku zonu - ovo je važno za ispravno funkcioniranje zadanih zadataka
    3. Promijenite raspored tastature - ovo ćete možda moći preskočiti, ali ako ostavite UK, postoji nekoliko simbola tipkovnice koji se pomiču
  5. Opcije povezivanja
    1. -(Bez promjene)-
    2. SSH - Omogućite ovo kako biste mogli nastaviti koristiti Putty nakon ponovnog pokretanja Pi.
  6. -(Bez promjene)-
  7. Napredne opcije

    1. Proširi datotečni sustav - ovo osigurava da Pi može iskoristiti sav prostor dostupan na SD kartici
    2. -(Bez promjene)-
    3. Podjela memorije - promijenite ovo na 16 da biste oslobodili više memorije za upotrebu Minecrafta.

Sada odaberite "Završi", a zatim odaberite "Da" za ponovno pokretanje.

Ovo će prekinuti vašu sesiju u programu Putty. Jednostavno mu dajte trenutak da dovrši ponovno pokretanje, a zatim ponovo otvorite Putty i ponovo se povežite na Pi -jevu IP adresu. Ne zaboravite upotrijebiti novu lozinku!

Korak 3: Instalirajte namjenski server

Postavljanje serverskog softvera je najduži, ali i najvažniji korak. Provest ćemo mnogo vremena unoseći hrpu dosadnih Linux naredbi. Ne dozvolite da vas to zastraši! Sve dok možete kopirati i lijepiti možete proći kroz ovaj dio.

Minecraft server je prilično složen, a njegovo pokretanje na računaru malom kao Raspberry Pi zahtijeva pojednostavljivanje. Započeo sam s ovim fantastičnim vodičem Jamesa Chambersa jer ima nekoliko sjajnih savjeta o maksimiziranju performansi poslužitelja. U nastavku ću sažeti njegov postupak instalacije i istaknuti neke izmjene i nadogradnje koje sam napravio, ali toplo vam preporučujem da njegovu stranicu pročitate za više detalja.

Sada kada ste se ponovo prijavili koristeći zadani "pi" i novu lozinku, možemo početi unositi naredbe za instaliranje datoteka servera.

Važno - Mnoge od ovih naredbi su dugačke i složene i bilo bi pravi bol za upisivanje u prozor terminala. Zato nemojte to raditi! Označite tekst naredbe u ovom prozoru, kopirajte ga s ctrl-c, a zatim u prozoru terminala samo desnom tipkom miša kliknite mišem da biste zalijepili tekst. Vidite, taj miš je ipak dobar za nešto!

U ostatku ovog koraka kopirat ćete svaku od naredbi u ovim okvirima za tekst koda.

Daću kratka objašnjenja šta radimo na tom putu.

Za početak ćemo ažurirati naš softver.

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

Kad god vidite zahtjev za odobrenje instalacije, upišite "y" i pritisnite enter za prihvaćanje i nastavak.

Minecraft radi na Javi, ali naša "Lite" Rasbian instalacija to nije uključivala, pa uzmimo to.

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

Napomena ** Kada se Java ažurira na noviju verziju, ta naredba može postati zastarjela. Ako primite poruku o grešci, morat ćete ažurirati naredbu za najnoviju verziju. Posjetite Oracleovu stranicu za preuzimanje Jave, kliknite gumb "Prihvati ugovor o licenci", a zatim desnom tipkom miša kliknite vezu do najnovije datoteke linux-arm32 i odaberite vezu za kopiranje. Morat ćete upotrijebiti tu ažuriranu vezu da zamijenite tekst u gornjoj naredbi, počevši od http. **

Sada možemo instalirati Java datoteke koje smo upravo preuzeli.

sudo mkdir /usr /java

cd /usr /java

Ako ste morali promijeniti vezu za preuzimanje za novu verziju, provjerite jeste li promijenili broj verzije u sljedećim naredbama kako bi odgovarao.

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 ~

I na kraju, glavni događaj koji ste tako strpljivo čekali, instalirajmo Minecraft server. Ovo je specijalizirana verzija poslužitelja pod nazivom Paper i puna je optimizacija za poboljšanje performansi.

mkdir papir

wget

raspakirajte master.zip -d papir

mv ~/Papir/RaspberryPiMinecraft-master/* ~/Papir/

cd papir

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M spajalica.jar

Posljednja naredba će prvi put pokrenuti poslužitelj, a nakon nekoliko trenutaka primit ćete grešku koja kaže da se morate složiti s EULA -om. Otvorite EULA ugovor sa sljedećom naredbom:

nano eula.txt

Promijenite red koji kaže "eula = false" u "eula = true". Spremite promjene pritiskom na ctrl-x, zatim Y, a zatim unesite.

Napomena ** James Chambers spominje metodu overclockanja vaše SD kartice u ovom dijelu svog vodiča. Nisam lično probao taj korak, jer zahtijeva karticu visokog kvaliteta, a ona koju sam imao na raspolaganju nije ništa posebno. Vjerujem da bi overclocking svakako poboljšao performanse, ali čak i bez overclockanja poslužitelj radi dovoljno dobro da nemam zamjerki od djece koja se igraju na njemu. **

Hajdemo brzo pogledati svojstva servera i napraviti par promjena.

nano server.properties

Ovdje postoji dugačak popis stvari koje možete promijeniti na svom poslužitelju, poput personalizacije naziva servera i MOTD -a, promjene načina igre ili omogućavanja PvP -a ili komandnih blokova. Sada možete promijeniti stvari po želji ili možete otvoriti ovu datoteku kako biste kasnije unijeli još promjena, ali dvije promjene ćemo napraviti odmah.

maks. igrača = 8

server-port = 25565

Osam igrača je najviše što bih preporučio, svaki veći i vrlo je vjerojatno da ćete vidjeti da performanse servera zaostaju, čak i uz sve optimizacije za pokretanje stvari na Pi -u.

Port servera treba promijeniti jer, poput zadane "maline" lozinke, svi znaju zadani port 25565. Čak će i mala promjena na 26565 pomoći da vaš server bude siguran. Zapišite broj porta pored mjesta na kojem ste spremili Pi -jevu IP adresu. Oboje će vam trebati kasnije.

Kada završite s ažuriranjem postavki, spremite promjene pritiskom na ctrl-x, zatim Y, a zatim unesite.

Sljedeći korak u pripremi vašeg poslužitelja također će potrajati najduže vrijeme nakon pokretanja, vjerojatno oko sat vremena. Ove naredbe će unaprijed generirati vaš svijet, što znači da poslužitelj neće morati raditi sav ovaj posao kasnije dok vi i vaši prijatelji istražujete.

cd ~/Papir/dodaci

wget --content -disposition -E

sudo apt-get ekran za instalaciju

cd papir

./start.sh

Neće izgledati kao da se nešto dogodilo, ali vaš server je sada pokrenut! Za interakciju sa serverom moramo koristiti ovu naredbu

screen -r minecraft

I tada ćemo unaprijed generirati svijet:

wb world set 1000 spawn

wb world fill 1000

potvrda wb ispunjenosti

Ovo je dio koji će trajati dugo. Idite na užinu i provjerite kasnije! Kada je proces završen, isključite server vrlo jednostavnom naredbom

stop

Ovo će spremiti i zatvoriti poslužitelj i vratiti vas na terminal Raspberry Pi.

Naš posljednji zadatak je postaviti server da se automatski pokrene kada se Raspberry Pi uključi ili ponovo pokrene. To možemo učiniti stvaranjem jednostavne skripte.

cd ~

nano startup.sh

Ranije smo koristili nano za uređivanje nekoliko datoteka, ali ovaj put stvaramo jednu ispočetka, tako da će prozor biti prazan. Kopirajte ova dva retka u datoteku:

cd/home/pi/papir

screen -dmS 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/pap/clip

Zatim spremite novu skriptu pritiskom na ctrl-x, zatim Y, a zatim unesite.

chmod +x startup.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Posljednji red datoteke rc.local kaže "izlaz 0". Neposredno iznad te linije dodaćemo ovo:

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

I još jednom spremamo promjene datoteka pomoću ctrl-x, zatim Y, a zatim unesite.

sudo reboot

Dobit ćete poruku da je veza zatvorena i možete zatvoriti prozor Putty.

To je to! Uspjeli ste proći dosadno! Sada smo spremni za testiranje našeg servera!

Korak 4: Testirajte svoj server i pozovite svoje prijatelje

Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje
Testirajte svoj server i pozovite svoje prijatelje

Zatim ćemo provjeriti radi li server i pobrinuti se da se naši prijatelji mogu pridružiti.

Otvorite pokretač Minecraft na računaru i pritisnite Play. Provjerite koristite li najnoviju verziju izdanja kako bi odgovarala poslužitelju Paper.

Na glavnom ekranu odaberite Multiplayer, a zatim dodajte server. Unesite ime koje želite da imate na spisku servera, a za adresu servera unesite IP svog Pi -a i broj porta. Za moj primjer koristimo 192.168.1.115:26565. Provjerite imate li dvotočku između IP adrese i broja porta te da nema razmaka. Pritisnite Gotovo, a zatim kliknite play na vašem serveru. Nakon nekoliko trenutaka otkrit ćete se u svom potpuno novom svijetu!

Čekaj, vrati se! Ne počnite sami graditi, pozovimo prijatelje! Nažalost, ne mogu koristiti istu IP adresu kao i vi. Dakle, da bi ovo funkcioniralo, prvo morate reći svom usmjerivaču da je u redu da se ljudi koji su izvan vaše kuće povežu na Pi. To se naziva Prosljeđivanje portova i točan proces će se malo razlikovati ovisno o vašem usmjerivaču. Priložio sam snimak zaslona kako izgleda na mojem usmjerivaču TP Link, ali ćete za više informacija možda morati provjeriti web lokaciju za podršku usmjerivača.

U postavkama prosljeđivanja priključaka unesite broj porta koji ste odabrali za svoj poslužitelj, a zatim IP adresu za svoj Raspberry Pi. Vaš usmjerivač sada zna da bi, kada se vaši prijatelji pokušaju povezati s tim brojem porta, trebali biti usmjereni na Pi.

Zatim moramo koristiti besplatnu uslugu kao što je No-IP za kreiranje vlastite jedinstvene adrese, nazvane Hostname. Također ćete postaviti svoj usmjerivač ili računalo da ažurira IP adresu imena hosta.

Sada slijedite korake iz njihovog vodiča za postavljanje.

Kad završite s postavljanjem No-IP računa, vaši prijatelji će se moći povezati s vašim serverom unosom vašeg novog imena hosta i broja porta u odjeljak Adresa servera na njihovom ekranu za više igrača Minecraft. Na primjer, hostname.ddns.net:26565.

Korak 5: Spasite svijet! (s automatskim sigurnosnim kopiranjem)

Spasiti svijet! (s automatskim sigurnosnim kopiranjem)
Spasiti svijet! (s automatskim sigurnosnim kopiranjem)

Ovaj korak nije obavezan, ali može spasiti život. Vaš svijet se suočava s ozbiljnim rizicima, bilo zbog oštećene MicroSD kartice, povremenih nevolja ili tuga, ili samo onih dosadnih puzavica. Kako bismo zaštitili sav vaš naporan rad, imat ćemo server automatski svake noći spremati vašu svjetsku datoteku. Kako bismo spriječili punjenje vaše MicroSD kartice, izbrisat ćemo i sve sigurnosne kopije stare više od tjedan dana. Nakon toga ih možete jednostavno kopirati na svoj računar ili drugi rezervni uređaj radi još veće sigurnosti.

Za početak ćemo koristiti Putty za ponovno povezivanje s našim Pi -om kako bismo napravili novu skriptu.

nano dailybackup.sh

Kopirajte sljedeće naredbe u skriptu:

# Zaustavite Minecraft server

screen -x minecraft -X zaustavljanje stvari^M spavanje 5 # Kopirajte direktorij papira u sigurnosnu kopiju/PaperYYDDMM cp -a Papir/. sigurnosna kopija/papir $ (datum +%F) # Izbriši sigurnosne kopije starije od 7 dana nađi sigurnosnu kopiju/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

A onda, recite to sa mnom - spremite datoteku pritiskom na ctrl -x, Y, enter.

Sada ćemo stvoriti ponavljajući zadatak za pokretanje sigurnosne kopije svake noći koristeći crontab.

crontab -e

Prilikom prvog pokretanja ove naredbe dobit ćete izbor urednika, odaberite broj 2 za Nano.

Ovo će otvoriti posebnu datoteku za planiranje zadataka. Na dnu ove datoteke dodajte sljedeće redove:

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

15 0 * * * sudo ponovno podizanje sustava

Prva linija kaže Pi -u da pokrene vašu sigurnosnu kopiju skripte svake noći u 12:05. Druga linija kaže Pi -u da se ponovo pokrene deset minuta kasnije. Ako više volite drugačije vrijeme za izradu sigurnosnih kopija i ponovno pokretanje, možete promijeniti ove redove prema vašim željama. Samo zapamtite da je prvi broj minuta, a drugi broj sat u 24 -časovnom formatu. Tri zvjezdice osiguravaju da se ova skripta izvodi svaki dan.

Nakon što vaš sistem radi neko vrijeme, možda ćete htjeti steći naviku spremanja sigurnosnih kopija na drugu lokaciju izvan Pi -ove MicroSD kartice. Ovaj zadatak je vrlo jednostavan povezivanjem na vaš poslužitelj pomoću Filezille. Jednostavno povucite mapu sigurnosne kopije s desne strane Filezille i spustite je na računalo. Nakon što kopira sve datoteke, možete ih pohraniti koliko god želite!

A ako ikada dođe do tragedije i morate se vratiti na jednu od datoteka za spremanje, to je brza i jednostavna procedura. Prvo provjerite jeste li zaustavili server:

screen -r minecraft

stop

Zatim upotrijebite Filezilla za brisanje direktorija Paper i zamijenite ga povlačenjem jednog od spremljenih direktorija natrag u Pi. Obavezno izbrišite datum iz naziva direktorija tako da se opet imenuje jednostavno Papir. Zatim možete ponovo pokrenuti poslužitelj pomoću

./startup.sh

I samo tako, možete se vratiti poslovima izgradnje!

Korak 6: Priključite LED diode

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

Vrijeme je za dodavanje svjetla! Ovdje vaš poslužitelj počinje postajati više od sakupljača prašine iza vašeg monitora. Ovaj korak će vam pokazati kako lemiti i pričvrstiti Neopixel Jewel na Raspberry Pi, a zatim instalirati softver potreban za pokretanje LED dioda. Ubrzo nakon toga nećete se morati pitati čeka li vas netko na mreži da se igra s vama, jer će vam poslužitelj reći samo jednim pogledom!

Adafrutovi neopikseli su fantastične LED diode. Oni su RGB, što znači da mogu zasvijetliti u bilo kojoj boji koju želite. Adresirane su, što znači da pomoću softverskih naredbi možete promijeniti njihovu boju kad god želite. Za mnogo više sjajnih informacija o tome kako Neopixeli rade s Raspberry Pi, pogledajte službeni vodič za Adafruit.

Dragulj ima 7 LED dioda koje će nam dati obilje jake svijetle boje. Postoji i pet kontaktnih mjesta za lemljenje, ali koristit ćemo samo tri. Toplo preporučujem da koristite tri žice različite boje kako biste izbjegli njihovo miješanje kada ih kasnije spojite na Pi. U svojim primjerima fotografija koristila sam crvenu, crnu i smeđu boju.

Prije početka ovog koraka poželjet ćete potpuno isključiti Raspberry Pi. Unesite ove naredbe, a zatim isključite Pi napajanje.

screen -r minecraft

stop

sudo shutdown -h sada

Odrežite tri ženske GPIO žice, dovoljno dugačke da imate dovoljno žice za rad tijekom lemljenja. Višak uvijek možete zatvoriti kao ja. Pažljivo lemite žice na kontakte na dragulju. Zatim spojite ženske konektore na Raspberry Pi GPIO pinove:

PWR na pin 1 = 3.3V

GND na pin 6 = Uzemljenje

IN na pin 12 = GPIO18

Nakon što je dragulj na mjestu, možete ponovno uključiti Pi i koristiti Putty za povezivanje i instaliranje LED softvera sa sljedećim naredbama. Pazite na mrlje koje bi mogle zatražiti da unesete Y za nastavak instalacije.

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

sudo apt-get install scons

sudo apt-get install swig

git clone

cd rpi_ws281x

scons

Važno ** U sljedećem koraku napravit ćemo manji dodatak biblioteci neopiksela. Ovo je potrebno kako bi se izbjegla greška u memoriji koja me izluđivala nekoliko dana. Bez toga LED diode će raditi nekoliko sati, a zatim će prestati ispravno ažurirati. **

cd python

python setup.py build

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

Koristite strelicu prema dolje za pomicanje pored retka koji kaže class Adafruit_NeoPixel (object):. Nedavno ćete pronaći odjeljak sa plavim tekstom koji kaže def _cleanup (self). Kopirat ćete sljedeći red u ovaj odjeljak, upravo onako kako je prikazano na gornjoj slici.

ws.ws2811_fini (self._leds)

I još jednom moramo spremiti promjene pomoću ctrl-x, Y, enter.

cd ~

cd rpi_ws281x/python

sudo python setup.py install

Zatim moramo reći testnoj datoteci broj LED dioda koje imamo, a zatim ih možemo upaliti!

cd primjeri

sudo nano strandtest.py

Pronađite redak koji kaže LED_COUNT = 16 i promijenite ga u LED_COUNT = 7, zatim pritisnite ctrl-x, Y, unesite za spremanje.

sudo python strandtest.py

Ako je sve prošlo kako treba, upravo vas je zaslijepila trepćuća eksplozija duge. Kad ponovo vidite, pritisnite ctrl-c da zaustavite svjetla. LED diode se neće isključiti, ali će prestati treperiti i to je za sada dovoljno dobro.

Korak 7: Programirajte LED diode za provjeru statusa servera

Programirajte LED diode za provjeru statusa servera
Programirajte LED diode za provjeru statusa servera

S instaliranim i spremnim LED diodama, vrijeme je da ih natjeramo da reagiraju na poslužitelj. Konkretno, natjerat ćemo ih da naznače trenutni broj igrača na serveru:

Igrači = Ruda

  • 0 = Redstone
  • 1-2 = gvožđe
  • 3-4 = Zlato
  • 5-6 = Smaragd
  • 7-8 = Dijamant

Ako poslužitelj ne radi, Oreblock će biti ugljen (LED diode su isključene). I kao dodatni bonus, ako provjera statusa ne može pronaći internetsku vezu, LED diode će treperiti žuto!

Kako bismo dohvatili broj igrača sa servera, instalirat ćemo mcstatus od Nathana Adamsa, jednog od Mojang -ovih programera igara.

sudo apt-get install python-pip

sudo pip install mcstatus

Zatim moramo kopirati dvije dolje navedene python skripte, mcled.py i ledoff.py, na naš poslužitelj s Filezillom. Jednostavno povucite i ispustite dvije skripte u okvir s desne strane, kao što je prikazano na snimku ekrana.

Samo naprijed i testirajte ledoff.py odmah, tako da možemo isključiti LED diode koje su ostale uključene u prethodnom koraku.

sudo python ledoff.py

Kada ručno pokrenete skripte ovako, primit ćete poruku koja kaže "Greška segmentacije". Ovo je neriješeno pitanje u biblioteci Neopixel.py koje nema utjecaja na ono što radimo.

Ako vas zanima kako ove skripte funkcioniraju, možete ih otvoriti bilo kojim uređivačem teksta na računaru ili pomoću nano na ekranu terminala. Samo pazite da slučajno ne spremite promjene koje bi ih mogle spriječiti u radu!

Napomena ** mcled.py pretpostavlja da koristite port 26565 iz mog primjera. Ako koristite drugi port, morate promijeniti skriptu tako da se podudara sa sljedećim koracima **

sudo nano mcled.py

Pronađite crveni redak teksta koji kaže "# Get server player player", a ispod toga ćete vidjeti redak koji uključuje zeleni tekst koji kaže "localhost" i broj porta pored toga. Promijenite broj porta tako da odgovara vašem i, kao i uvijek, spremite promjene pomoću ctrl-x, Y, enter.

Kako bismo stalno dobijali ažuriranja o statusu poslužitelja, reći ćemo Pi -u da pokreće skriptu mcled.py svake minute, a to znači postavljanje još nekoliko redaka u crontab.

crontab -e

Vidjet ćete dvije linije koje smo ranije dodali za zakazivanje sigurnosnih kopija i ponovnog pokretanja. Sada ćemo dodati još dva:

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

0 21 * * * sudo python ledoff.py

Prva linija kaže Pi da radi mcled.py svake minute svakog sata između 6 ujutro i 8:59 popodne. Druga linija kaže Pi -u da isključi LED diode u 21:00. To je lična preferencija, jer do tada moja djeca više ne igraju Minecraft, iako server nastavlja raditi. Takođe imamo OreServer istaknut iznad našeg televizora, a jako svetlo uveče postaje iritantno. Naravno, možete promijeniti ove dvije linije kako bi LED diode radile bez prestanka, ili se kasnije ugasiti ili što god odgovara vašim potrebama.

Ubrzo nakon što su vaše promjene spremljene (je li vam dosadilo ctrl-x, Y, unesite još?), Skripta će biti pozvana i vaš dragulj će ponovo zasvijetliti. Najvjerojatnije će biti crvene boje što znači da poslužitelj radi, ali nije u upotrebi. Odvojite trenutak da pokrenete Minecraft i pridružite se poslužitelju kao što smo to učinili tokom našeg ranijeg testa. Ubrzo nakon što ste se pridružili, LED diode bi se trebale prebaciti u bijelu, a zatim ponovo u crvenu kada prekinete vezu.

Korak 8: Napravite rudnu kutiju

Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju

Zadnji dodir da se sve ovo spoji je oreblock kućište za Raspberry Pi. Za izradu kućišta Ore koristio sam Lulzbot TAZ6 3D štampač u svom lokalnom proizvođačkom prostoru, RiverCityLabs. U nastavku sam naveo svoje. STL datoteke za štampanje za bazu i vrh. Ako nemate vlastiti 3D pisač, provjerite postoji li u vašem području zajednica proizvođača, odlični su! Ili možda imate lokalnu biblioteku ili školu sa štampačima dostupnim javnosti. Postoji i nekoliko online usluga 3D štampanja koje vam mogu odštampati i poslati dizajn. Ili možete postati kreativni! Ništa vas ne može spriječiti da kutiju napravite od kartona ili hrpe sivog Lego kockara ili bilo čega drugog što vam je pri ruci.

Neke važne napomene pri postavljanju datoteka 3D štampača:

  • Odštampajte datoteku bez ikakvih izmjena skale kako biste bili sigurni da su rupe za montažu poravnate sa Pi.
  • Okrenite vrh naopako tako da otvoreni kraj bude okrenut prema gore.
  • Uključite postavke podrške kako prevjesi na zidovima ne bi postali neuredni.

Nakon što je štampanje završeno, možete pričvrstiti Pi na bazu pomoću četiri vijka od 2,5 mm. Ne mogu pronaći vezu do stvarnog proizvoda, ali našao sam ih u pakiranju od 2 u Menards -u, što je bilo puno bolje nego naručiti kutiju od 100 komada iz Amazona.

Uklonite sav potporni materijal s vrha i izrežite list pergamentnog papira ili bijelog papirnog papira da stane unutra. To će raspršiti LED svjetla zbog čega sjajni efekt izgleda milion puta bolje od pukog otvaranja rupa.

Priključite MicroUSB adapter pod pravim kutom na priključak za napajanje tako da kabel izlazi sa stražnje strane kućišta pored ethernet priključka.

Sada možete ponovo spojiti kablove za napajanje i Ethernet, postaviti vrh na mjesto i uživati!

Korak 9: Sažetak, dodatne misli i hvala

Velika nagrada na Minecraft Challengeu 2018

Preporučuje se: