İçindekiler:

Nintendo Wifi Router: 17 Adım (Resimlerle)
Nintendo Wifi Router: 17 Adım (Resimlerle)

Video: Nintendo Wifi Router: 17 Adım (Resimlerle)

Video: Nintendo Wifi Router: 17 Adım (Resimlerle)
Video: ROUTER KURULUMU NASIL YAPILIR ( access point ) 2024, Kasım
Anonim
Nintendo Wifi Yönlendirici
Nintendo Wifi Yönlendirici

Eski bir Nintendo Entertainment sistem kasası kullanarak, bir RaspberryPI 3 kullanarak son derece işlevsel bir ev yönlendiricisi üretin!

Adım 1: Gerekli RaspberryPi Yazılımını Kurun

Yanıp Sönen RaspberriPi Sabit Disk / Gerekli Yazılımı Yükleyin (Ubuntu Linux Kullanarak)

"RASPBIAN JESSIE LITE" dosyasını indirin

DashboardPI için yeni sabit diskinizi oluşturun

MicroSD'yi USB adaptörü aracılığıyla bilgisayarınıza takın ve dd komutunu kullanarak disk görüntüsünü oluşturun

Takılı microSD kartınızı df -h komutuyla bulun, bağlantısını kesin ve disk copy dd komutuyla disk görüntüsünü oluşturun

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

$ umount /dev/sdb1

Dikkat: komutun tamamen doğru olduğundan emin olun, bu komutla diğer disklere zarar verebilirsiniz

if=RASPBIAN JESSIE LITE görüntü dosyasının konumu=microSD kartınızın konumu

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (not: bu durumda, /dev/sdb'dir, /dev/sdb1, microSD) RaspberriPi'nizi kurma

Yeni microSD kartınızı raspberrypi'ye takın ve HDMI bağlantı noktasına bağlı bir monitörle açın

Giriş yapmak

kullanıcı: pi pass: ahududu Güvenlik için hesap şifrenizi değiştirin

sudo passwd pi RaspberriPi Gelişmiş Seçeneklerini Etkinleştir

sudo raspi-config Seçin: 1 Dosya Sistemini Genişlet

9 Gelişmiş Seçenek

A2 Ana Bilgisayar Adı, "NESRouter" olarak değiştirin

A4 SSH SSH Sunucusunu Etkinleştir

A7 I2C i2c arayüzünü etkinleştirin İngilizce/ABD Klavyesini Etkinleştirin

sudo nano /etc/default/keyboard Aşağıdaki satırı değiştirin: XKBLAYOUT="us" Basit dizin l komutunu ayarlayın [isteğe bağlı]

vi ~/.bashrc

aşağıdaki satırı ekleyin:

takma ad l='ls -lh'

source ~/.bashrc Fix VIM varsayılan sözdizimi vurgulaması [isteğe bağlı]

sudo vi /etc/vim/vimrc

aşağıdaki satırın yorumunu kaldırın:

En son değişiklikleri almak için PI'nizi yeniden başlatın

yeniden başlatYerel saat dilimi ayarlarını güncelle

sudo dpkg-yeniden yapılandırma tzdata arayüzü kullanarak saat diliminizi seçin

2. Adım: WiFi Erişim Noktasını Oluşturma

Bu bir yönlendirici olmadan önce, aşağıdaki paketleri kurmak için RaspberryPi'yi ethernet portu aracılığıyla mevcut bir ağa bağladığımızı lütfen unutmayın.

sudo apt-get güncelleme && sudo apt-get -y yükseltme

sudo apt-get install dnsmasq hostapd vim

sudo apt-get install vim git python-smbus i2c-tools python-görüntüleme python-smbus inşa-temel python-dev rpi.gpio python3 python3-pip libi2c-dev

sudo vi /etc/dhcpcd.conf

Aşağıdaki satırı ekleyin:

reddiinterfaces wlan0 sudo vi /etc/network/interfaces

wlan0 bölümünü şöyle görünecek şekilde düzenleyin:

otomatik lo iface lo inet geri döngü

iface eth0 inet kılavuzu

otomatik wlan0 iface wlan0 inet statik adres 10.0.10.1 ağ maskesi 255.255.255.0 ağ 10.0.10.0 yayın 10.0.10.255

auto eth1 iface eth1 inet statik adres 10.0.20.1 ağ maskesi 255.255.255.0 ağ 10.0.20.0 yayın 10.0.20.255 DHCP Sunucusunu yeniden yükleyin ve eth0 ve wlan0 bağlantıları için yapılandırmayı geri döndürün

sudo hizmeti dhcpcd yeniden başlatma

sudo ifdown eth0; sudo ifup wlan0

HOSTAPD'yi yapılandırın (ssid ve wpa_passphrase'i kendi seçtiğiniz değerlerle değiştirin)

sudo vi /etc/hostapd/hostapd.conf

# Yukarıda yapılandırdığımız WiFi arayüzünün adı bu interface=wlan0

# nl80211 sürücüsünü brcmfmac sürücüsü ile kullanın=nl80211

# Bu ağın adıdır ssid=NintendoWiFi

# 2.4GHz bandını kullanın hw_mode=g

# Kanal 6 kanalını kullan=6

# 802.11n'yi etkinleştir ieee80211n=1

# WMM'yi etkinleştir wmm_enabled=1

# 20ns koruma aralığı ile 40MHz kanalları etkinleştirin ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# Tüm MAC adreslerini kabul et macaddr_acl=0

# WPA kimlik doğrulamasını kullan auth_algs=1

# İstemcilerin ağ adını bilmesini iste allow_broadcast_ssid=0

# WPA2 wpa=2 kullan

# Önceden paylaşılan bir anahtar kullanın wpa_key_mgmt=WPA-PSK

# Ağ parolası wpa_passphrase=password

# TKIP yerine AES kullanın rsn_pairwise=CCMP Bu aşamada çalışıp çalışmadığını çalıştırarak kontrol edebiliriz (ancak henüz tam internet bağlantısı yok):

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

sudo vi /etc/default/hostapd

çizgiyi bul

#DAEMON_CONF="" ve şununla değiştirin

DAEMON_CONF="/etc/hostapd/hostapd.conf" DNSMASQ'yu yapılandırın

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Başka bir yere bir şeyler göndermediğimizden emin olmak için arayüze bağlan server=8.8.8.8 # DNS isteklerini Google DNS etki alanına ilet # Kısa adları iletme bogus-priv # Adresleri hiçbir zaman diğer -yönlendirilmiş adres boşlukları.

# IP adreslerini sonsuz kiralama süresi ile atayın (cihaz kullanım istatistikleri için) dhcp-range=wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, sonsuz dhcp-range=eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, sonsuz KURULUM IPV4 YÖNLENDİRME

sudo vi /etc/sysctl.conf

[yorum] net.ipv4.ip_forward=1

Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" ile hemen etkinleştirin

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

sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state İLGİLİ, KURULDU -j KABUL

sudo iptables -A İLERİ -i eth1 -o eth0 -j KABUL

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state İLGİLİ, KURULDU -j KABUL

sudo iptables -A İLERİ -i wlan0 -o eth0 -j KABUL

Bir sonraki yeniden başlatma için iptables ayarlarını kaydedin

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

ipv4 kuralları dosyası oluşturun (yeni içeriklerle)

sudo vi /lib/dhcpcd/dhcpcd kancaları/70-ipv4-nat

iptables-restore < /etc/iptables.ipv4.nat Hizmetleri Yeniden Başlatma

sudo service hostapd start sudo service dnsmasq start

sudo yeniden başlatma

Statik IP Atama [Opsiyonel]

Ağınızdaki ana bilgisayarların statik ips'ye sahip olmasını istiyorsanız, lütfen aşağıdakileri kullanın.

DHCP vi /var/lib/misc/dnsmasq.leases aracılığıyla şu anda bağlı olan ana bilgisayarları edinin

MAC Adresini (yukarıdaki çıktıdan) ve atamak istediğiniz IP adresini sudo vi /etc/dnsmasq.conf'a ekleyin

# ana masaüstü dhcp-host=12:34:56:78:9a:bc, 10.0.20.20 Not: Bu, ağ arayüzünü MAC Adresi: 12:34:56:78:9a:bc ile 10.0 IP adresine atayacaktır..20.20. Listelenen IP adresinin verilen DHCP aralığında olması GEREKMEZ, yalnızca aynı alt ağda. Yukarıdaki ana masaüstüm eth1:10.0.20.0 alt ağında, bu yüzden ona 10.0.20.20 IP Adresi verdim.

UFW Güvenlik Duvarı Ekleme

sudo apt-get kurulum ufw

22 numaralı bağlantı noktasına genel kullanım için izin ver (uzaktan ağ erişimi için)

sudo ufw 22'ye izin veriyor

Yerel ağımdaki tüm bağlantı noktalarına izin ver

sudo ufw 10.0.10.0/24'ten izin veriyor sudo ufw 10.0.20.0/24'ten izin veriyor

Web bağlantı noktalarına herkese izin ver

sudo ufw 80'e izin veriyor

Herkese güvenli web bağlantı noktalarına izin ver

sudo ufw 443'e izin veriyor

UFW'yi etkinleştirin ve durumu kontrol edin

sudo ufw --force etkinleştir

sudo ufw durumu

UFW'nin başlangıçta başlamamasıyla BUG'yi düzeltin

sudo su crontab -e

Aşağıdaki satırı ekleyin: @reboot /bin/sleep 60; ufw --force etkinleştir

3. Adım: Gerekli Malzemeler: Eski Kırık Nintendo

Gerekli Malzemeler: Eski Kırık Nintendo
Gerekli Malzemeler: Eski Kırık Nintendo

Bozuk bir NES'den Eski Nintendo Kılıfı (kasanın içindeki tüm eski içeriği çıkarın, yalnızca dış çerçeveyi, güç / sıfırlama düğmelerini ve denetleyici bağlantılarını bırakın)

Adım 4: Gerekli Malzemeler: Raspberry Pi 3 Model B

Gerekli Malzemeler: Raspberry Pi 3 Model B
Gerekli Malzemeler: Raspberry Pi 3 Model B

Adım 5: Gerekli Malzemeler: 1.44" Seri: UART/I2C/SPI TFT LCD 128x128 Ekran Modülü

Gerekli Malzemeler: 1.44
Gerekli Malzemeler: 1.44
Gerekli Malzemeler: 1.44
Gerekli Malzemeler: 1.44

Adım 6: Gerekli Malzemeler: 5V 0.1A Mini Fan Raspberry Pi

Gerekli Malzemeler: 5V 0.1A Mini Fan Raspberry Pi
Gerekli Malzemeler: 5V 0.1A Mini Fan Raspberry Pi

7. Adım: Gerekli Malzemeler: Ugreen USB 2.0 - 10/100 Hızlı Ethernet Lan Kablolu Ağ Adaptörü

Gerekli Malzemeler: Ugreen USB 2.0 - 10/100 Hızlı Ethernet Lan Kablolu Ağ Adaptörü
Gerekli Malzemeler: Ugreen USB 2.0 - 10/100 Hızlı Ethernet Lan Kablolu Ağ Adaptörü

Adım 8: İnşaat

Yapı
Yapı

NES'in içine kurun

Bir 3D yazıcı kullanarak /construction/display-frame/ klasöründeki Digole Display çerçevesi "NESPanel"i yazdırın. [bir 3D yazıcınız yoksa, bir Dremel aletiyle Digole Display için kare bir delik açabilirsiniz] Küçük fanın kasaya sabitlenmesini sağlamak için kasanın arkasında ve yanında aşağıdaki delikleri açın yan ve arkadan girmek için güç/ethernet ve USB ethernet kabloları.

Adım 9: İnşaat Devam

İnşaat Kont
İnşaat Kont

Sağ üst siyah paneli NES'den sökün ve digole ekranınızı monte etmek için yeterince büyük bir kare delik kesin. Ekranı, "NESPanel" 3D baskılı çerçeveyi üstüne gelecek şekilde yerine yapıştırın.

Adım 10: İnşaat Devam

İnşaat Kont
İnşaat Kont

RaspberryPi'yi boş NES kasasının alt kısmının ortasına monte edin, alt kısımdan yapıştırıcı veya küçük bir vida ile sabitleyin. 270 ohm'luk bir direnç kullanarak NES'in "güç açık LED'ini" Raspberry Pi'deki 5V ve GND pinlerine bağlayın (kısa LED kablosu topraktır). Ünite başladığında çalışması için küçük fanı 5V ve GND pinlerine de bağlayın, bunun için fanı yandaki deliğe yapıştırın.

Adım 11: Digole Ekranını Bağlama

Aşağıdaki pinleri RaspberryPi üzerindeki pinlere bağlayınız.

VCC 3v'ye bağlı GND topraklanmış DATA SDA CLOCK SCL Şimdi cihazı i2cdetect komutunuzda görmelisiniz

i2cdetect -y 1 metin ızgarasında 27 olarak görünmelidir

Adım 12: Ağ İzleme Araçlarını ve DB Günlüğünü Kurun

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-katkı python-psycopg2

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

Dosyanın sonuna şu satırı ekleyin: local all pi password sudo -i -u postgres

psql

rol pi şifresi 'buradan şifre' oluşturun;

rol pi girişini değiştir;

rol pi süper kullanıcısını değiştir;

du

(verilen izinlere sahip PI kullanıcınızı görmelisiniz) create database network_stats;

Q

çıkış

psql -d network_stats

Aşağıdaki sorguları çalıştırın:

CREATE TABLE Traffic_per_minute (id seri, zaman dilimi NULL DEĞİL olmayan zaman zaman damgası, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

EŞSİZ INDEX OLUŞTUR time_idx ON trafik_dakika (zaman); Bu projedeki kodun "log" klasörünü RPI'nizin ana dizinine kopyalayın

crontab -e

Bu satırı ekle

@yeniden başlat /bin/uyku 60; nohup python /home/pi/logging/networkUsage.py >/dev/null 2>&1

Adım 13: Trafik Özeti Raporunu Yükleyin (Cronjob tarafından Her 5 Dakikada bir çalıştırılır)

crontab -e

aşağıdaki satırı ekleyin

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

Adım 14: Pano Ekranını Kurun

Bu projedeki kodun "görüntüleme" klasörünü RPI'nizin ana dizinine kopyalayın

Aşağıdaki gibi çalıştırın

$ python /home/pi/display/NESRouter.py Ekran komut dosyasını başlangıçta çalışacak şekilde ayarlayın

crontab -e

Bu satırı ekle

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

Ekranın yeniden başlatma üzerinde çalışmaya başladığını doğrulayın

sudo yeniden başlatma

Adım 15: Yerel Kullanım/istatistik Web Sitesini Kurun [https://10.0.10.1]

Yerel kullanım/istatistik web sitesini [https://10.0.10.1] yükleyin

sudo apt-get güncelleme && sudo apt-get upgrade -y

sudo apt-get install apache2

sudo hizmeti apache2 yeniden başlatma

Varsayılan sayfaları kaldır

cd /var/www

sudo rm -rf html

Bu projeden 'webportal' klasörünü RPi'nizdeki ana klasörünüze kopyalayın ve apache'nin kullanması için sembolik bağlantı oluşturun

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

Python CGI Komut Dosyasını Etkinleştir

etiketin içine ekle

Seçenekler +ExecCGI AddHandler cgi-script.py sudo service apache2 restart

Artık yerel HTTP sitesini [https://10.0.10.1] ziyaret edebilirsiniz.

Gelişmiş ağ izlemeyi kurun (IPFM aracılığıyla)

sudo apt-get güncellemesi

sudo apt-get kurulum ipfm

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

sudo vi /etc/ipfm.conf

Aşağıdaki içeriklerle oluşturun:

# Genel değişkenler

# IPFM yalnızca bir cihazı izleyebilir. CİHAZ eth0

# KÜRESEL KAYIT YAPILANDIRMA GÜNLÜĞÜ

DOSYA ADI "/var/log/ipfm/%Y_%d_%m/%H_%M"

# her dakikayı günlüğe kaydet HER 1 dakikada bir DÖKÜM

# her gün net istatistikler HER 24 SAATTE TEMİZLE ÇÖZÜMDE SIRALA sudo service ipfm start

İSTEĞE BAĞLI: Ekranda oluşturmak için kendi Nintendo görüntülerinizi oluşturma

Kendi 128x128 dosyanızı aşağıdaki URL'ye yükleyin:

www.digole.com/tools/PicturetoC_Hex_convert…

Yüklenecek resim dosyanızı seçin, hangi boyutta olmasını istediğinizi ekrana ekleyin (Genişlik/Yükseklik)

"Kullanım amacı" açılır menüsünde "Renkli OLED/LCD (1 bayt/piksel) için 256 Renk"i seçin

Hex çıktısını alın.

Onaltılı çıktıyı bir görüntüleme/yapı/başlık (.h) dosyasına ekleyin, diğerlerini sözdizimi için kılavuz olarak kullanın.

Yeni dosyayı digole.c dosyasına dahil edin #include myimage.h

Görüntü dosyanıza yeni bir komut satırı kancası ekleyin. Not: Aşağıdaki komut, resminizi 10 piksel aşağı 10 piksel üzerine çizin diyor. Bunu farklı X, Y koordinatlarına değiştirebilirsiniz, ayrıca 128, 128 değerlerini yeni görüntünüz gerçekte ne boyutta olursa olsun değiştirebilirsiniz.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableBurada (.h) dosyanızda tanımlanmıştır }

Şimdi yeni görüntünüzün aşağıdaki komutla oluşturulmasını sağlamak için aşağıdaki yeniden oluşturun (hataları yok sayın).

$./digole myimage İsteğe bağlı değişiklikleriniz için Yeniden Oluşturma [Dahil] Digole Ekran Sürücüsü

$ cd görüntüleme/inşa $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Adım 16: Tamamlandı

Önerilen: