Daftar Isi:

Nintendo Wifi Router: 17 Langkah (dengan Gambar)
Nintendo Wifi Router: 17 Langkah (dengan Gambar)

Video: Nintendo Wifi Router: 17 Langkah (dengan Gambar)

Video: Nintendo Wifi Router: 17 Langkah (dengan Gambar)
Video: CARA SETTING KONEKSI WIFI/NET Nintendo DSi - TipsNTrick 2024, November
Anonim
Router Wifi Nintendo
Router Wifi Nintendo

Menggunakan kasing sistem Nintendo Entertainment Lama, hasilkan router rumah yang sangat fungsional menggunakan RaspberryPI 3!

Langkah 1: Instal Perangkat Lunak RaspberryPi yang Diperlukan

Flashing RaspberriPi Hard Disk / Instal Perangkat Lunak yang Diperlukan (Menggunakan Ubuntu Linux)

Unduh "RASPBIAN JESSIE LITE"

Buat hard disk baru Anda untuk DashboardPI

Masukkan microSD ke komputer Anda melalui adaptor USB dan buat gambar disk menggunakan perintah dd

Temukan kartu microSD yang Anda masukkan melalui perintah df -h, lepaskan dan buat gambar disk dengan perintah salin disk dd

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

$ umount /dev/sdb1

Perhatian: pastikan perintahnya benar-benar akurat, Anda dapat merusak disk lain dengan perintah ini

if=lokasi file gambar RASPBIAN JESSIE LITE of=lokasi kartu microSD Anda

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (catatan: dalam hal ini, /dev/sdb, /dev/sdb1 adalah partisi pabrik yang ada di microSD) Menyiapkan RaspberriPi

Masukkan kartu microSD baru Anda ke raspberrypi dan nyalakan dengan monitor yang terhubung ke port HDMI

Gabung

pengguna: pi pass: raspberry Ubah kata sandi akun Anda untuk keamanan

sudo passwd pi Aktifkan Opsi Lanjutan RaspberriPi

sudo raspi-config Pilih: 1 Perluas Sistem File

9 Opsi Lanjutan

A2 Hostname ubah menjadi "NESRouter"

A4 SSH Aktifkan Server SSH

A7 I2C Aktifkan antarmuka i2c Aktifkan Keyboard Inggris/AS

sudo nano /etc/default/keyboard Ubah baris berikut: XKBLAYOUT="us" Atur direktori sederhana l perintah [opsional]

vi ~/.bashrc

tambahkan baris berikut:

alias l='ls -lh'

source ~/.bashrc Perbaiki penyorotan sintaks default VIM [opsional]

sudo vi /etc/vim/vimrc

batalkan komentar pada baris berikut:

sintaks pada Reboot PI Anda untuk mendapatkan perubahan terbaru

rebootPerbarui pengaturan zona waktu lokal

sudo dpkg-reconfigure tzdata pilih zona waktu Anda menggunakan antarmuka

Langkah 2: Membuat Titik Akses WiFi

Harap dicatat, sebelum ini menjadi router kami menghubungkan RaspberryPi ke jaringan yang ada melalui port ethernet-nya untuk menginstal paket-paket berikut

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

Tambahkan baris berikut:

menyangkal antarmuka wlan0 sudo vi /etc/network/interfaces

Edit bagian wlan0 sehingga terlihat seperti ini:

otomatis lo iface lo inet loopback

iface eth0 inet manual

auto wlan0 iface wlan0 inet alamat statis 10.0.10.1 netmask 255.255.255.0 jaringan 10.0.10.0 broadcast 10.0.10.255

auto eth1 iface eth1 inet static address 10.0.20.1 netmask 255.255.255.0 network 10.0.20.0 broadcast 10.0.20.255 Muat ulang DHCP Server dan pantulkan konfigurasi untuk koneksi eth0 dan wlan0

sudo service dhcpcd restart

sudo ifdown eth0; sudo ifup wlan0

Konfigurasi HOSTAPD (Ubah ssid dan wpa_passphrase ke nilai yang Anda pilih sendiri)

sudo vi /etc/hostapd/hostapd.conf

# Ini adalah nama antarmuka WiFi yang kami konfigurasikan di atas antarmuka = wlan0

# Gunakan driver nl80211 dengan driver brcmfmac driver=nl80211

# Ini adalah nama jaringan ssid=NintendoWiFi

# Gunakan pita 2.4GHz hw_mode=g

# Gunakan saluran 6 saluran = 6

# Aktifkan 802.11n ieee80211n=1

# Aktifkan WMM wmm_enabled=1

# Aktifkan saluran 40MHz dengan interval penjaga 20ns ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# Terima semua alamat MAC macaddr_acl=0

# Gunakan otentikasi WPA auth_algs=1

# Mengharuskan klien mengetahui nama jaringan abaikan_broadcast_ssid=0

# Gunakan WPA2 wpa=2

# Gunakan kunci yang dibagikan sebelumnya wpa_key_mgmt=WPA-PSK

# Frasa sandi jaringan wpa_passphrase=password

# Gunakan AES, alih-alih TKIP rsn_pairwise=CCMP Kami dapat memeriksa apakah itu berfungsi pada tahap ini dengan menjalankan (tetapi belum memiliki konektivitas internet penuh):

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

sudo vi /etc/default/hostapd

Temukan garisnya

#DAEMON_CONF="" dan ganti dengan

DAEMON_CONF="/etc/hostapd/hostapd.conf" Konfigurasi DNSMASQ

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Ikat ke antarmuka untuk memastikan kita tidak mengirim sesuatu ke tempat lain server=8.8.8.8 # Teruskan permintaan DNS ke Google DNS domain-needed # Jangan teruskan nama pendek palsu-priv # Jangan pernah meneruskan alamat di non -ruang alamat yang dirutekan.

# Tetapkan alamat IP dengan waktu sewa tak terbatas (untuk statistik penggunaan perangkat) dhcp-range=wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, infinite dhcp-range=eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, SET UP IPV4 FORWARDING tak terbatas

sudo vi /etc/sysctl.conf

[batalkan komentar] net.ipv4.ip_forward=1

Aktifkan segera dengan Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

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

sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED, ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Simpan pengaturan iptables untuk reboot berikutnya

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

Buat file aturan ipv4 (dengan konten baru)

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

iptables-restore < /etc/iptables.ipv4.nat Mulai Ulang Layanan

sudo service hostapd start sudo service dnsmasq start

sudo reboot

Menetapkan IP Statis [Opsional]

Jika Anda ingin host di jaringan Anda memiliki ip statis, silakan gunakan yang berikut:

Dapatkan host yang saat ini terhubung melalui DHCP vi /var/lib/misc/dnsmasq.leases

Tambahkan Alamat MAC (dari output di atas) dan alamat IP yang ingin Anda tetapkan ke sudo vi /etc/dnsmasq.conf

# desktop utama dhcp-host=12:34:56:78:9a:bc, 10.0.20.20 Catatan: Ini akan menetapkan antarmuka jaringan dengan Alamat MAC: 12:34:56:78:9a:bc ke alamat IP 10.0.20.20. Alamat IP yang tercantum TIDAK harus dalam rentang DHCP yang diberikan, hanya pada subnet yang sama. Desktop utama saya di atas ada di subnet eth1:10.0.20.0, jadi saya memberikannya IP Address 10.0.20.20.

Menambahkan Firewall UFW

sudo apt-get install ufw

Izinkan port 22 untuk penggunaan umum (untuk akses jaringan jarak jauh)

sudo ufw izinkan 22

Izinkan semua port di jaringan lokal saya

sudo ufw izinkan mulai 10.0.10.0/24 sudo ufw izinkan mulai 10.0.20.0/24

Izinkan port web untuk semua orang

sudo ufw izinkan 80

Izinkan port web aman untuk semua orang

sudo ufw izinkan 443

Aktifkan UFW dan periksa statusnya

sudo ufw --force aktifkan

status sudo ufw

Perbaiki BUG dengan UFW tidak dimulai saat startup

sudo su crontab -e

Tambahkan baris berikut: @reboot /bin/sleep 60; ufw --paksa aktifkan

Langkah 3: Persediaan yang Dibutuhkan: Nintendo Rusak Lama

Perlengkapan yang Dibutuhkan: Nintendo Rusak Lama
Perlengkapan yang Dibutuhkan: Nintendo Rusak Lama

Kasing Nintendo lama dari NES yang rusak (lepaskan semua konten lama di dalam kasing, hanya menyisakan bingkai luar, tombol daya / reset, dan koneksi pengontrol)

Langkah 4: Perlengkapan yang Dibutuhkan: Raspberry Pi 3 Model B

Perlengkapan yang Dibutuhkan: Raspberry Pi 3 Model B
Perlengkapan yang Dibutuhkan: Raspberry Pi 3 Model B

Langkah 5: Perlengkapan yang Dibutuhkan: 1,44" Serial: UART/I2C/SPI TFT LCD 128x128 Modul Tampilan

Perlengkapan yang Dibutuhkan: 1,44
Perlengkapan yang Dibutuhkan: 1,44
Perlengkapan yang Dibutuhkan: 1,44
Perlengkapan yang Dibutuhkan: 1,44

Langkah 6: Perlengkapan yang Dibutuhkan: 5V 0.1A Mini Fan Raspberry Pi

Perlengkapan yang Dibutuhkan: 5V 0.1A Kipas Angin Mini Raspberry Pi
Perlengkapan yang Dibutuhkan: 5V 0.1A Kipas Angin Mini Raspberry Pi

Langkah 7: Persediaan yang Dibutuhkan: Ugreen USB 2.0 hingga 10/100 Fast Ethernet Lan Wired Network Adapter

Perlengkapan yang Dibutuhkan: Ugreen USB 2.0 hingga 10/100 Fast Ethernet Lan Wired Network Adapter
Perlengkapan yang Dibutuhkan: Ugreen USB 2.0 hingga 10/100 Fast Ethernet Lan Wired Network Adapter

Langkah 8: Konstruksi

Konstruksi
Konstruksi

Instal di dalam NES

Menggunakan printer 3D, cetak bingkai Digole Display "NESPanel" di folder /construction/display-frame/. [jika Anda tidak memiliki printer 3D, Anda dapat dengan hati-hati memotong lubang persegi untuk Tampilan Digole dengan alat Dremel] Potong lubang berikut hingga terbuka di bagian belakang dan samping casing untuk memungkinkan kipas kecil diikatkan pada samping dan kabel daya/ethernet dan USB ethernet untuk masuk melalui bagian belakang.

Langkah 9: Konstruksi Lanjutan

Konstruksi Lanjutan
Konstruksi Lanjutan

Lepaskan panel hitam kanan atas dari NES dan potong dengan rapi lubang persegi yang cukup besar untuk memasang layar digole Anda. Tempelkan layar pada tempatnya dengan bingkai cetak 3D "NESPanel" di atasnya.

Langkah 10: Konstruksi Lanjutan

Konstruksi Lanjutan
Konstruksi Lanjutan

Pasang RaspberryPi di tengah bagian bawah kasing NES yang kosong, kencangkan dengan lem atau sekrup kecil melalui bagian bawah. Menggunakan resistor 270 ohm, sambungkan "power on LED" dari NES ke pin 5V dan GND di Raspberry Pi (kabel LED pendek adalah ground). Hubungkan kipas kecil ke pin 5V dan GND juga untuk menjalankannya saat unit dinyalakan, rekatkan kipas ke lubang di sampingnya.

Langkah 11: Menghubungkan Tampilan Digole

Hubungkan pin berikut ke pin pada RaspberryPi

VCC terhubung ke 3v GND adalah ground DATA adalah SDA CLOCK is SCL Sekarang Anda akan melihat perangkat dalam perintah i2cdetect Anda

i2cdetect -y 1 itu akan muncul di kisi teks sebagai 27

Langkah 12: Instal Alat Pemantauan Jaringan & Logging DB

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

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

Tambahkan baris berikut ke akhir file: local all pi password Sudo -i -u postgres

psql

buat kata sandi peran pi 'kata sandi di sini';

mengubah peran masuk pi;

mengubah peran pi superuser;

du

(Anda akan melihat pengguna PI Anda dengan izin yang diberikan) create database network_stats;

Q

keluar

psql -d network_stats

Jalankan kueri berikut:

CREATE TABLE traffic_per_minute (id serial, stempel waktu waktu tanpa zona waktu NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

BUAT INDEKS UNIK time_idx PADA traffic_per_minute (waktu); Salin folder "logging" kode dari proyek ini ke direktori home RPi

crontab -e

Tambahkan baris ini

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

Langkah 13: Instal Laporan Ringkasan Lalu Lintas (berjalan Setiap 5 Menit oleh Cronjob)

crontab -e

tambahkan baris berikut

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

Langkah 14: Pasang Layar Dasbor

Salin folder "tampilan" kode dari proyek ini ke direktori home RPi Anda

Jalankan sebagai berikut

$ python /home/pi/display/NESRouter.py Atur skrip tampilan untuk dijalankan saat startup

crontab -e

Tambahkan baris ini

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

Verifikasi tampilan mulai bekerja saat reboot

sudo reboot

Langkah 15: Instal Situs Web Penggunaan Lokal/statistik [https://10.0.10.1]

Instal situs web penggunaan/statistik lokal [https://10.0.10.1]

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

sudo apt-get install apache2

sudo service apache2 restart

Hapus halaman default

cd /var/www

sudo rm -rf html

Salin folder 'webportal' dari proyek ini ke folder rumah Anda di RPi Anda dan buat symlink untuk digunakan Apache

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

Aktifkan Skrip CGI Python

Tambahkan di dalam tag

Opsi +ExecCGI AddHandler cgi-script.py Sudo service Apache2 restart

Anda sekarang dapat mengunjungi situs HTTP lokal [https://10.0.10.1]

Siapkan pemantauan jaringan lanjutan (melalui IPFM)

sudo apt-get update

sudo apt-get install ipfm

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

sudo vi /etc/ipfm.conf

Buat dengan konten berikut:

# Variabel global

# IPFM hanya dapat memantau satu perangkat. PERANGKAT eth0

# LOG KONFIGURASI PENDAFTARAN GLOBAL

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

# log setiap menit DUMP SETIAP 1 menit

# hapus statistik setiap hari HAPUS SETIAP 24 jam SORT IN RESOLVE Sudo service ipfm start

OPSIONAL: Membuat gambar Nintendo Anda sendiri untuk ditampilkan di layar

Unggah file 128x128 Anda sendiri ke URL berikut:

www.digole.com/tools/PicturetoC_Hex_convert…

Pilih file gambar Anda untuk diunggah, tambahkan ukuran yang Anda inginkan di layar (Lebar/Tinggi)

Pilih "256 Warna untuk Warna OLED/LCD(1 byte/piksel)" di menu tarik-turun "Digunakan untuk"

Dapatkan output heksagonal.

Tambahkan output hex ke file display/build/header (.h), gunakan yang lain sebagai panduan untuk sintaks.

Sertakan file baru di file digole.c #include myimage.h

Sertakan kait baris perintah baru ke file gambar Anda di file. Catatan: perintah di bawah ini mengatakan gambar Anda pada posisi 10 piksel di atas 10 piksel ke bawah. Anda dapat mengubahnya ke koordinat X, Y yang berbeda, Anda juga dapat mengubah nilai 128, 128 ke ukuran berapa pun gambar baru Anda sebenarnya.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableDi sini didefinisikan dalam file (.h) Anda }

Sekarang bangun kembali (abaikan kesalahan) di bawah ini agar gambar baru Anda dirender dengan perintah berikut.

$./digole myimage Re-Building [Termasuk] Digole Display Driver untuk perubahan opsional Anda

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

Direkomendasikan: