Sisällysluettelo:

Nintendo Wifi -reititin: 17 vaihetta (kuvilla)
Nintendo Wifi -reititin: 17 vaihetta (kuvilla)

Video: Nintendo Wifi -reititin: 17 vaihetta (kuvilla)

Video: Nintendo Wifi -reititin: 17 vaihetta (kuvilla)
Video: МАЛЬДИВЫ, которые в самое сердце. Большой выпуск. 4K 2024, Marraskuu
Anonim
Nintendo Wifi -reititin
Nintendo Wifi -reititin

Käytä vanhaa Nintendo Entertainment -järjestelmäkoteloa ja luo erittäin toimiva kotireititin RaspberryPI 3: n avulla!

Vaihe 1: Asenna vaadittu RaspberryPi -ohjelmisto

Vilkkuva RaspberriPi -kiintolevy / Asenna vaadittu ohjelmisto (Ubuntu Linuxin käyttö)

Lataa "RASPBIAN JESSIE LITE"

Luo uusi kiintolevy DashboardPI: lle

Aseta microSD tietokoneeseen USB -sovittimen kautta ja luo levyn kuva dd -komennolla

Etsi asetettu microSD -kortti df -h -komennolla, irrota se ja luo levyn kuva levyn kopioi dd -komennolla

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678

$ umount /dev /sdb1

Varoitus: varmista, että komento on täysin tarkka, sillä voit vahingoittaa muita levyjä tällä komennolla

if = RASPBIAN JESSIE LITE -kuvatiedoston sijainti = microSD -korttisi sijainti

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (Huomaa: tässä tapauksessa se on/dev/sdb,/dev/sdb1 oli microSD) RaspberriPi -laitteen asentaminen

Aseta uusi microSD -kortti vadelmapihaan ja käynnistä se HDMI -porttiin kytketyllä näytöllä

Kirjaudu sisään

user: pi pass: raspberry Vaihda tilisi salasana turvallisuuden vuoksi

sudo passwd pi Ota RaspberriPin lisäasetukset käyttöön

sudo raspi-config Valitse: 1 Laajenna tiedostojärjestelmä

9 Lisäasetukset

A2 -isäntänimi muuta se "NESRouteriksi"

A4 SSH Ota SSH -palvelin käyttöön

A7 I2C Ota i2c -liitäntä käyttöön Ota käyttöön englanninkielinen näppäimistö

sudo nano/etc/default/keyboard Vaihda seuraava rivi: XKBLAYOUT = "us" Määritä yksinkertainen hakemisto l -komento [valinnainen]

vi ~/.bashrc

lisää seuraava rivi:

alias l = 'ls -lh'

lähde ~/.bashrc Korjaa VIM -oletussyntaksin korostus [valinnainen]

sudo vi/etc/vim/vimrc

poista seuraava rivi:

Käynnistä PI uudelleen, jotta saat viimeisimmät muutokset

päivitä paikalliset aikavyöhykeasetukset

sudo dpkg-reconfigure tzdata valitse aikavyöhyke käyttöliittymän avulla

Vaihe 2: WiFi -tukiaseman luominen

Huomaa, että ennen kuin tästä tulee reititin, liitämme RaspberryPi -laitteen olemassa olevaan verkkoon sen ethernet -portin kautta asentaaksemme seuraavat paketit

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

sudo apt-get install dnsmasq hostapd vim

sudo apt-get install vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

sudo vi /etc/dhcpcd.conf

Lisää seuraava rivi:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Muokkaa wlan0 -osaa niin, että se näyttää tältä:

auto lo iface lo inet loopback

iface eth0 inet käsikirja

auto wlan0 iface wlan0 inet staattinen osoite 10.0.10.1 netmask 255.255.255.0 verkko 10.0.10.0 broadcast 10.0.10.255

auto eth1 iface eth1 inet staattinen osoite 10.0.20.1 netmask 255.255.255.0 verkko 10.0.20.0 broadcast 10.0.20.255 Lataa DHCP -palvelin uudelleen ja palauta eth0- ja wlan0 -yhteyksien kokoonpano

sudo -palvelu dhcpcd uudelleen

sudo ifdown eth0; sudo ifup wlan0

Määritä HOSTAPD (Muuta ssid ja wpa_passphrase valitsemasi arvot)

sudo vi /etc/hostapd/hostapd.conf

# Tämä on WiFi -käyttöliittymän nimi, jonka määritimme yllä interface = wlan0

# Käytä nl80211 -ohjainta brcmfmac -ohjaimen kanssa = nl80211

# Tämä on verkon nimi ssid = NintendoWiFi

# Käytä 2,4 GHz: n kaistaa hw_mode = g

# Käytä kanavaa 6 kanavaa = 6

# Ota käyttöön 802.11n ieee80211n = 1

# Ota WMM käyttöön wmm_enabled = 1

# Ota 40 MHz: n kanavat käyttöön 20 s: n suojavälillä ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Hyväksy kaikki MAC -osoitteet macaddr_acl = 0

# Käytä WPA -todennusta auth_algs = 1

# Vaadi asiakkaita tietämään verkon nimi ignore_broadcast_ssid = 0

# Käytä WPA2 wpa = 2

# Käytä esijaettua avainta wpa_key_mgmt = WPA-PSK

# Verkon tunnuslause wpa_passphrase = salasana

# Käytä AES: ää TKIP: n sijaan rsn_pairwise = CCMP Voimme tarkistaa, toimiiko se tässä vaiheessa suorittamalla (mutta sillä ei ole vielä täydellistä Internet -yhteyttä):

sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf

sudo vi/etc/default/hostapd

Etsi linja

#DAEMON_CONF = "" ja korvaa se nimellä

DAEMON_CONF = "/etc/hostapd/hostapd.conf" Määritä DNSMASQ

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

sudo vi /etc/dnsmasq.conf

bind-interfaces # Sido käyttöliittymään varmistaaksemme, ettemme lähetä asioita muualle palvelin = 8.8.8.8 # Välitä DNS-pyynnöt Googlen DNS-verkkotunnukselle tarvitaan # Älä välitä lyhyitä nimiä bogus-priv # Älä koskaan lähetä osoitteita -reititetyt osoiteavaruudet.

# Määritä IP-osoitteet rajattomalla vuokra-ajalla (laitteen käyttötilastot) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, ääretön dhcp-alue = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, ääretön SET UP IPV4 FORWARDING

sudo vi /etc/sysctl.conf

[huomautus] net.ipv4.ip_forward = 1

Aktivoi se välittömästi sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A ETEENPÄIN -i eth0 -o eth1 -m -tila -valtio LIITTYVÄ, PERUSTETTU -j HYVÄKSY

sudo iptables -A Eteenpäin -i eth1 -o eth0 -j HYVÄKSY

sudo iptables -A ETEENPÄIN -i eth0 -o wlan0 -m -tila --tila LIITTYVÄ, PERUSTETTU -j HYVÄKSY

sudo iptables -A Eteenpäin -i wlan0 -o eth0 -j HYVÄKSY

Tallenna iptables -asetukset seuraavaa uudelleenkäynnistystä varten

sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"

Luo ipv4 -sääntötiedosto (uudella sisällöllä)

sudo vi/lib/dhcpcd/dhcpcd-koukut/70-ipv4-nat

iptables-restore </etc/iptables.ipv4.nat Käynnistä palvelut uudelleen

sudo -palvelu hostapd käynnistä sudo -palvelu dnsmasq -käynnistys

sudo uudelleenkäynnistys

Staattisten IP -osoitteiden määrittäminen [valinnainen]

Jos haluat, että verkkosi isännillä on staattinen IP, käytä seuraavaa

Hanki isännät, jotka ovat tällä hetkellä yhteydessä DHCP: n kautta vi /var/lib/misc/dnsmasq.leases

Lisää MAC -osoite (yllä olevasta tuotoksesta) ja IP -osoite, jonka haluat määrittää osoitteeseen sudo vi /etc/dnsmasq.conf

# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Huomautus: Tämä määrittää verkkoliitännän MAC-osoitteen kanssa: 12: 34: 56: 78: 9a: bc IP-osoitteeseen 10.0.20.20. Luetellun IP -osoitteen EI tarvitse olla annetulla DHCP -alueella, vain samassa aliverkossa. Päätyöpöytäni on aliverkossa eth1: 10.0.20.0, joten annoin sille IP -osoitteen 10.0.20.20.

UFW -palomuurin lisääminen

sudo apt-get install ufw

Salli portti 22 julkiseen käyttöön (verkon etäkäyttöä varten)

sudo ufw salli 22

Salli kaikki paikallisen verkon portit

sudo ufw salli 10.0.10.0/24 sudo ufw salli 10.0.20.0/24 alkaen

Salli verkkoportit kaikille

sudo ufw salli 80

Salli suojatut verkkoportit kaikille

sudo ufw salli 443

Ota UFW käyttöön ja tarkista tila

sudo ufw -Force käyttöön

sudo ufw -tila

Korjaa BUG ja UFW ei käynnisty käynnistyksen yhteydessä

sudo su crontab -e

Lisää seuraava rivi: @reboot /bin /sleep 60; ufw -Force käyttöön

Vaihe 3: Tarvittavat tarvikkeet: Vanha Broken Nintendo

Tarvittavat tarvikkeet: Vanha Broken Nintendo
Tarvittavat tarvikkeet: Vanha Broken Nintendo

Vanha Nintendo -kotelo rikkoutuneesta NES -laitteesta (poista kaikki vanha sisältö kotelon sisältä, jättäen vain ulkokehyksen, virta- / nollauspainikkeet ja ohjaimen liitännät)

Vaihe 4: Tarvittavat tarvikkeet: Raspberry Pi 3 Malli B

Tarvittavat tarvikkeet: Raspberry Pi 3 Malli B
Tarvittavat tarvikkeet: Raspberry Pi 3 Malli B

Vaihe 5: Tarvittavat tarvikkeet: 1,44 tuuman sarja: UART/I2C/SPI TFT LCD 128x128 -näyttömoduuli

Tarvittavat tarvikkeet: 1.44
Tarvittavat tarvikkeet: 1.44
Tarvittavat tarvikkeet: 1.44
Tarvittavat tarvikkeet: 1.44

Vaihe 6: Tarvittavat tarvikkeet: 5V 0,1A Mini Fan Raspberry Pi

Tarvittavat tarvikkeet: 5V 0,1A Mini Fan Raspberry Pi
Tarvittavat tarvikkeet: 5V 0,1A Mini Fan Raspberry Pi

Vaihe 7: Tarvittavat tarvikkeet: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan Langallinen verkkosovitin

Tarvittavat tarvikkeet: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan Langallinen verkkosovitin
Tarvittavat tarvikkeet: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan Langallinen verkkosovitin

Vaihe 8: Rakentaminen

Rakentaminen
Rakentaminen

Asenna NES: n sisään

Tulosta 3D-tulostimella Digole-näyttökehys "NESPanel"/construction/display-frame/kansioon. [jos sinulla ei ole 3D -tulostinta, voit leikata hienovaraisesti neliönmuotoisen reiän Digole -näyttöä varten Dremel -työkalulla] Leikkaa seuraavat reiät auki kotelon takaa ja sivusta, jotta pieni tuuletin voidaan kiinnittää puolella ja virta-/ethernet- ja USB -ethernet -kaapelit päästäksesi sisään takaosan kautta.

Vaihe 9: Rakentaminen jatkuu

Rakentaminen jatkuu
Rakentaminen jatkuu

Kierrä oikea yläkulmainen musta paneeli pois NES: stä ja leikkaa siististi riittävän suuri neliömäinen reikä digolevyn asentamiseksi. Kuumaa liimaa näyttö paikalleen ja sen päällä on 3D -painettu "NESPanel" -kehys.

Vaihe 10: Rakentaminen jatkuu

Rakentaminen jatkuu
Rakentaminen jatkuu

Asenna RaspberryPi tyhjän NES -kotelon pohjan keskelle, kiinnitä liimalla tai pienellä ruuvilla pohjan läpi. Käytä 270 ohmin vastusta ja kytke NES: n "on -on -LED" Raspberry Pi: n 5V- ja GND -nastoihin (lyhyt LED -johto on maa). Kytke pieni tuuletin myös 5V- ja GND -nastoihin, jotta se toimii, kun laite käynnistyy. Liimaa tuuletin sen sivulla olevaa reikää vasten.

Vaihe 11: Digole -näytön liittäminen

Liitä seuraavat nastat RaspberryPi -laitteen nastoihin

VCC on kytketty 3 V: een GND on maadoitettu DATA on SDA CLOCK on SCL Nyt sinun pitäisi nähdä laite i2cdetect -komennossasi

i2cdetect -y 1 sen pitäisi näkyä tekstiruudukossa muodossa 27

Vaihe 12: Asenna verkon valvontatyökalut ja tietokantaloki

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

Lisää seuraava rivi tiedoston loppuun: local all pi password sudo -i -u postgres

psql

luo rooli pi salasana 'salasana tähän';

muuttaa roolia pi kirjautuminen;

muuttaa roolia pi pääkäyttäjä;

du

(sinun pitäisi nähdä PI -käyttäjäsi, jolla on oikeudet) luo tietokanta network_stats;

q

poistua

psql -d network_stats

Suorita seuraavat kyselyt:

CREATE TABLE traffic_per_minute (id -sarja, aikamerkki ilman aikavyöhykettä EI NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

CREATE UNIQUE INDEX time_idx ON traffic_per_minute (aika); Kopioi projektin "loki" -kansio RPi: n kotihakemistoon

crontab -e

Lisää tämä rivi

@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1

Vaihe 13: Asenna liikenteen yhteenvetoraportti (Cronjob ajaa 5 minuutin välein)

crontab -e

lisää seuraava rivi

*/5 * * * * python /home/pi/logging/trafficSummary.py

Vaihe 14: Asenna Dashboard -näyttö

Kopioi projektin "näyttö" -kansio RPi: n kotihakemistoon

Suorita se seuraavasti

$ python /home/pi/display/NESRouter.py Määritä näytön komentosarja toimimaan käynnistyksen yhteydessä

crontab -e

Lisää tämä rivi

@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1

Varmista, että näyttö alkaa toimia uudelleenkäynnistyksen yhteydessä

sudo uudelleenkäynnistys

Vaihe 15: Asenna paikallisen käytön/tilastosivusto [https://10.0.10.1]

Asenna paikallisen käytön/tilastojen verkkosivusto [https://10.0.10.1]

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

sudo apt-get install apache2

sudo -palvelu apache2 uudelleen

Poista oletussivut

cd /var /www

sudo rm -rf html

Kopioi "webportal" -kansio tästä projektista RPi -laitteesi kotikansioon ja luo symlink linkki apachen käyttöön

cd /var /www

sudo ln -s/home/pi/webportal html

cd/var/www/html

chmod +x *.py

sudo a2enmod cgi

sudo vi /etc/apache2/sites-enabled/000-default.conf

Ota Python CGI Scripting käyttöön

Lisää tunnisteen sisälle

Valinnat +ExecCGI AddHandler cgi-script.py sudo-palvelu apache2 uudelleen

Voit nyt vierailla paikallisessa HTTP -sivustossa [https://10.0.10.1]

Määritä edistynyt verkon valvonta (IPFM: n kautta)

sudo apt-get päivitys

sudo apt-get install ipfm

sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak

sudo vi /etc/ipfm.conf

Luo seuraavalla sisällöllä:

# Globaalimuuttujat

# IPFM voi valvoa vain yhtä laitetta. LAITE eth0

# GLOBAL LOGGING CONFIGURATION LOG

FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"

# loki joka minuutti DUMP 1 minuutin välein

# selkeät tilastot päivittäin TYHJENNÄ 24 tunnin välein LAJITTELE RATKAISUUN sudo -palvelu ipfm start

VALINNAINEN: Luo omia Nintendo -kuvia näytettäväksi näytöllä

Lataa oma 128x128 -tiedostosi seuraavaan URL -osoitteeseen:

www.digole.com/tools/PicturetoC_Hex_convert…

Valitse ladattava kuvatiedosto ja lisää sen koko näytöllä (leveys/korkeus)

Valitse avattavasta "Käytetään" -valikosta "256 Väri värilliselle OLED/LCD -näytölle (1 tavu/pikseli)"

Hanki heksadesimaali.

Lisää heksadesimaali näyttö/ build/ header (.h) -tiedostoon, käytä muita syntaksin oppaina.

Sisällytä uusi tiedosto digole.c -tiedostoon #include myimage.h

Sisällytä uusi komentorivikoukku kuvatiedostoosi. Huomaa: alla oleva komento sanoo, että piirrä kuva 10 pikselin yli 10 pikselin alapuolelle. Voit muuttaa sen eri X, Y -koordinaateiksi, voit myös muuttaa arvot 128, 128 minkä kokoisiksi uusi kuvasi todellisuudessa on.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableTämä on määritetty (.h) -tiedostossasi}

Rakenna nyt uudelleen (ohita virheet) saadaksesi uuden kuvan renderöinnin seuraavalla komennolla.

$./digole myimage Re-Building [Sisältyy] Digole-näytönohjain valinnaisiin muutoksiin

$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Suositeltava: