Talaan ng mga Nilalaman:
- Hakbang 1: I-install ang Kinakailangan na RaspberryPi Software
- Hakbang 2: Paglikha ng WiFi Access Point
- Hakbang 3: Kailangan ng Mga Pantustos: Lumang Broken Nintendo
- Hakbang 4: Kailangan ng Mga Pantustos: Raspberry Pi 3 Model B
- Hakbang 5: Kailangan ng Mga Pantustos: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Display Module
- Hakbang 6: Kailangan ng Mga Kailangan: 5V 0.1A Mini Fan Raspberry Pi
- Hakbang 7: Kailangan ng Mga Kailangan: Ugreen USB 2.0 hanggang 10/100 Mabilis na Ethernet Lan Wired Network Adapter
- Hakbang 8: Konstruksiyon
- Hakbang 9: Konstruksiyon Cont
- Hakbang 10: Konstruksiyon Cont
- Hakbang 11: Pagkonekta sa Digole Display
- Hakbang 12: Mag-install ng Mga Tool sa Pagsubaybay sa Network at Pag-log ng DB
- Hakbang 13: I-install ang Ulat sa Buod ng Trapiko (pinapatakbo ang bawat 5 Minuto ni Cronjob)
- Hakbang 14: I-install ang Dashboard Screen
- Hakbang 15: I-install ang Website ng Lokal na Paggamit / mga istatistika [http://10.0.10.1]
- Hakbang 16: Tapos na
Video: Nintendo Wifi Router: 17 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Gamit ang isang Old Nintendo Entertainment system case, gumawa ng isang highly functional home router gamit ang isang RaspberryPI 3!
Hakbang 1: I-install ang Kinakailangan na RaspberryPi Software
Flashing RaspberriPi Hard Disk / I-install ang Kinakailangan na Software (Paggamit ng Ubuntu Linux)
I-download ang "RASPBIAN JESSIE LITE"
Lumikha ng iyong bagong hard disk para sa DashboardPI
Ipasok ang microSD sa iyong computer sa pamamagitan ng USB adapter at likhain ang imahe ng disk gamit ang dd command
Hanapin ang iyong ipinasok na microSD card sa pamamagitan ng df -h command, i-unmount ito at likhain ang imahe ng disk gamit ang disk copy dd command
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Pag-iingat: siguraduhin na ang utos ay ganap na tumpak, maaari mong mapinsala ang iba pang mga disk sa utos na ito
kung = lokasyon ng RASPBIAN JESSIE LITE file ng imahe ng = lokasyon ng iyong microSD card
$ sudo dd bs = 4M kung = / path / to / raspbian-jessie-lite.img ng = / dev / sdb (tala: sa kasong ito, ito ay / dev / sdb, / dev / sdb1 ay isang mayroon nang partisyon ng pabrika sa microSD) Pagse-set up ng iyong RaspberriPi
Ipasok ang iyong bagong microSD card sa raspberrypi at paganahin ito gamit ang isang monitor na konektado sa HDMI port
Mag log in
gumagamit: pi pass: raspberry Palitan ang password ng iyong account para sa seguridad
sudo passwd pi Paganahin ang RaspberriPi Advanced na Mga Pagpipilian
sudo raspi-config Piliin ang: 1 Palawakin ang System ng File
9 Mga advanced na pagpipilian
Palitan ito ng A2 Hostname sa "NESRouter"
A4 SSH Paganahin ang SSH Server
A7 I2C Paganahin ang i2c interface Paganahin ang English / US Keyboard
sudo nano / etc / default / keyboard Baguhin ang sumusunod na linya: XKBLAYOUT = "us" I-setup ang simpleng direktoryo l utos [opsyonal]
vi ~ /.bashrc
idagdag ang sumusunod na linya:
alyas l = 'ls -lh'
pinagmulan ~ /.bashrc Fix VIM default syntax highlight ng [opsyonal]
sudo vi / etc / vim / vimrc
i-komento ang sumusunod na linya:
syntax sa I-reboot ang iyong PI upang makuha ang pinakabagong mga pagbabago
i-reboot ang I-update ang mga lokal na setting ng timezone
sudo dpkg-reconfigure tzdata piliin ang iyong timezone gamit ang interface
Hakbang 2: Paglikha ng WiFi Access Point
Mangyaring tandaan, bago ito maging isang router nagsasaksak kami sa RaspberryPi sa isang mayroon nang network sa pamamagitan ng ethernet port upang mai-install ang mga sumusunod na package
sudo apt-get update && sudo apt-get -y pag-upgrade
sudo apt-get install dnsmasq hostapd vim
sudo apt-get install vim git python-smbus i2c-tool python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
Idagdag ang sumusunod na linya:
denyinterfaces wlan0 sudo vi / etc / network / interface
I-edit ang seksyon ng wlan0 upang ganito ang hitsura:
auto lo iface lo inet loopback
manu-manong iface eth0 inet
auto wlan0 iface wlan0 inet static address 10.0.10.1 netmask 255.255.255.0 network 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 Reload DHCP Server at bounce ang pagsasaayos para sa mga koneksyon sa eth0 at wlan0
sudo service dhcpcd restart
sudo ifdown eth0; sudo ifup wlan0
I-configure ang HOSTAPD (Baguhin ang ssid at wpa_passphrase sa mga halagang pinili mo mismo)
sudo vi /etc/hostapd/hostapd.conf
# Ito ang pangalan ng interface ng WiFi na na-configure namin sa itaas ng interface = wlan0
# Gamitin ang driver ng nl80211 gamit ang driver ng driver ng brcmfmac = nl80211
# Ito ang pangalan ng network ssid = NintendoWiFi
# Gamitin ang 2.4GHz band hw_mode = g
# Gumamit ng channel 6 channel = 6
# Paganahin ang 802.11n ieee80211n = 1
# Paganahin ang WMM wmm_enified = 1
# Paganahin ang 40MHz na mga channel na may 20ns na agwat ng bantay ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Tanggapin ang lahat ng mga MAC address macaddr_acl = 0
# Gumamit ng pagpapatotoo ng WPA auth_algs = 1
# Atasan ang mga kliyente na malaman ang pangalan ng network huwag pansinin_broadcast_ssid = 0
# Gumamit ng WPA2 wpa = 2
# Gumamit ng paunang pagbabahagi key na wpa_key_mgmt = WPA-PSK
# Ang passphrase ng network wpa_passphrase = password
# Gumamit ng AES, sa halip na TKIP rsn_pairwise = CCMP Maaari naming suriin kung gumagana ito sa yugtong ito sa pamamagitan ng pagpapatakbo (ngunit wala pang buong pagkakakonekta sa internet):
sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf
sudo vi / etc / default / hostapd
Hanapin ang linya
# DAEMON_CONF = "" at palitan ito ng
DAEMON_CONF = "/ etc / hostapd / hostapd.conf" I-configure ang DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interface # Bind sa interface upang matiyak na hindi kami nagpapadala ng mga bagay sa ibang lugar server = 8.8.8.8 # Ipasa ang mga kahilingan sa DNS sa kailangan ng domain ng Google DNS # Huwag ipasa ang mga maikling pangalan na bogus-priv # Huwag kailanman ipasa ang mga address sa hindi -rout na mga puwang ng address.
# Magtalaga ng mga IP address na w / walang katapusang oras ng pag-upa (para sa mga istatistika ng paggamit ng aparato) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, walang katapusang dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, walang katapusang I-SET UP IPV4 FORWARDING
sudo vi /etc/sysctl.conf
[uncomment] net.ipv4.ip_forward = 1
I-activate agad ito sa 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
I-save ang mga setting ng iptable para sa susunod na pag-reboot
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Lumikha ng file ng mga panuntunan ng ipv4 (na may mga bagong nilalaman)
sudo vi / lib / dhcpcd / dhcpcd-hooks / 70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat I-restart ang Mga Serbisyo
sudo service hostapd magsimula sudo service dnsmasq start
sudo reboot
Pagtatalaga ng Static IPs [Opsyonal]
Kung nais mong magkaroon ng mga static ip ang mga host sa iyong network mangyaring gamitin ang sumusunod
Ipaalam ang mga host na kasalukuyang konektado sa pamamagitan ng DHCP vi /var/lib/misc/dnsmasq.leases
Idagdag ang MAC Address (mula sa output sa itaas) at ang IP address na nais mong italaga sa kanila sa sudo vi /etc/dnsmasq.conf
# pangunahing desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Tandaan: Itatalaga nito ang interface ng network sa MAC Address: 12: 34: 56: 78: 9a: bc sa IP address 10.0.20.20. Ang nakalistang IP address ay HINDI dapat na nasa saklaw ng DHCP na ibinigay, sa parehong subnet lamang. Ang aking pangunahing desktop sa itaas ay nasa subnet eth1: 10.0.20.0, kaya binigyan ko ito ng IP Address na 10.0.20.20.
Pagdaragdag ng UFW Firewall
sudo apt-get install ufw
Payagan ang port 22 para sa pampublikong paggamit (para sa remote access sa network)
sudo ufw payagan ang 22
Payagan ang lahat ng mga port sa aking lokal na network
sudo ufw payagan mula 10.0.10.0/24 sudo ufw payagan mula 10.0.20.0/24
Payagan ang mga web port sa lahat
sudo ufw payagan ang 80
Payagan ang mga secure na web port sa lahat
sudo ufw payagan ang 443
Paganahin ang UFW at suriin ang katayuan
sudo ufw --pilitang paganahin
sudo ufw katayuan
Ayusin ang BUG sa UFW na hindi nagsisimula sa pagsisimula
sudo su crontab -e
Idagdag ang sumusunod na linya: @reboot / bin / sleep 60; ufw --force paganahin
Hakbang 3: Kailangan ng Mga Pantustos: Lumang Broken Nintendo
Lumang Nintendo Case mula sa isang sirang NES (alisin ang lahat ng mga lumang nilalaman sa loob ng kaso, naiwan lamang ang labas na frame, ang mga pindutan ng kapangyarihan / pag-reset at mga koneksyon ng controller)
Hakbang 4: Kailangan ng Mga Pantustos: Raspberry Pi 3 Model B
Hakbang 5: Kailangan ng Mga Pantustos: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Display Module
Hakbang 6: Kailangan ng Mga Kailangan: 5V 0.1A Mini Fan Raspberry Pi
Hakbang 7: Kailangan ng Mga Kailangan: Ugreen USB 2.0 hanggang 10/100 Mabilis na Ethernet Lan Wired Network Adapter
Hakbang 8: Konstruksiyon
I-install sa loob ng NES
Gamit ang isang 3D printer i-print ang Digole Display frame na "NESPanel" sa / konstruksyon / display-frame / folder. [kung wala kang isang 3D printer maaari mong delikadong i-cut ang isang parisukat na butas para sa Digole Display gamit ang isang tool na Dremel] Gupitin ang mga sumusunod na butas na bukas sa likod at gilid ng kaso upang payagan ang maliit na bentilador na ikabit sa sa gilid at ang mga power / ethernet at USB ethernet cable upang makapasok sa likuran.
Hakbang 9: Konstruksiyon Cont
Alisan ng takip ang kanang tuktok na itim na panel mula sa NES at malinis na gupitin ang isang malaking sapat na butas na parisukat upang mai-mount ang iyong digole display. Mainit na Pandikit ang display sa lugar na may naka-print na frame na "NESPanel" 3D sa tuktok nito.
Hakbang 10: Konstruksiyon Cont
I-mount ang RaspberryPi sa gitna ng ilalim ng walang laman na kaso ng NES, i-fasten ng pandikit o isang maliit na tornilyo sa ilalim. Gamit ang isang 270 ohm resister, ikonekta ang "power on LED" ng NES sa 5V at GND pin sa Raspberry Pi (maikling LED lead ay ang lupa). Ikonekta ang maliit na fan sa 5V at GND na mga pin pati na rin upang patakbuhin ito kapag nagsimula ang yunit, idikit ang fan sa butas sa gilid para dito.
Hakbang 11: Pagkonekta sa Digole Display
Ikonekta ang mga sumusunod na pin sa mga pin sa RaspberryPi
Ang VCC ay konektado sa 3v GND ay ground DATA ay SDA CLOCK ay SCL Ngayon dapat mong makita ang aparato sa iyong i2cdetect command
i2cdetect -y 1 dapat itong ipakita sa grid ng teksto bilang 27
Hakbang 12: Mag-install ng Mga Tool sa Pagsubaybay sa Network at Pag-log ng DB
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Idagdag ang sumusunod na linya sa dulo ng file: lokal lahat ng pi password sudo -i -u postgres
psql
lumikha ng tungkulin pi password 'password dito';
baguhin ang papel na ginagampanan sa pag-login;
baguhin ang papel na ginagampanan pi superuser;
du
(dapat mong makita ang iyong gumagamit ng PI na may mga pahintulot na ipinagkaloob) lumikha ng database ng mga network_stats;
q
labasan
psql -d network_stats
Patakbuhin ang mga sumusunod na query:
GUMAWA NG TABLE traffic_per_minute (id serial, timestamp ng oras nang walang time zone HINDI NUL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
LUMIKHA NG NATATANGING INDEX oras_idx SA traffic_per_minute (oras); Kopyahin ang folder na "pag-log" ng code mula sa proyektong ito sa direktoryo sa bahay ng iyong RPi
crontab -e
Idagdag ang linyang ito
@reboot / bin / sleep 60; nohup python /home/pi/logging/networkUsage.py> / dev / null 2> & 1
Hakbang 13: I-install ang Ulat sa Buod ng Trapiko (pinapatakbo ang bawat 5 Minuto ni Cronjob)
crontab -e
idagdag ang sumusunod na linya
* / 5 * * * * python /home/pi/logging/trafficSummary.py
Hakbang 14: I-install ang Dashboard Screen
Kopyahin ang "display" folder ng code mula sa proyektong ito sa direktoryo sa bahay ng iyong RPi
Patakbuhin ito tulad ng sumusunod
$ python /home/pi/display/NESRouter.py I-setup ang display script upang tumakbo sa pagsisimula
crontab -e
Idagdag ang linyang ito
@reboot nohup python /home/pi/display/NESRouter.py> / dev / null 2> & 1
I-verify na ang display ay nagsisimulang gumana sa pag-reboot
sudo reboot
Hakbang 15: I-install ang Website ng Lokal na Paggamit / mga istatistika [https://10.0.10.1]
I-install ang lokal na website ng paggamit / istatistika [https://10.0.10.1]
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apache2
sudo service apache2 restart
Alisin ang mga default na pahina
cd / var / www
sudo rm -rf html
Kopyahin ang folder na 'webportal' mula sa proyektong ito sa iyong home folder sa iyong RPi at lumikha ng symlink para magamit ng 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/site-enified/000-default.conf
Paganahin ang Python CGI Scripting
Idagdag sa loob ng tag
Mga Pagpipilian + ExecCGI AddHandler cgi-script.py sudo service apache2 restart
Maaari mo nang bisitahin ang lokal na site na HTTP [https://10.0.10.1]
I-setup ang advanced na pagsubaybay sa network (sa pamamagitan ng IPFM)
sudo apt-get update
sudo apt-get install ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Lumikha gamit ang mga sumusunod na nilalaman:
# Mga variable sa mundo
Maaari lamang subaybayan ng # IPFM ang isang aparato. DEVICE eth0
# GLOBAL LOGGING CONFIGURATION LOG
FILENAME "/ var / log / ipfm /% Y_% d_% m /% H_% M"
# mag-log bawat minuto DUMP LAHAT ng 1 minuto
# malinaw na mga istatistika bawat araw MALINAW ANG BAWAT 24 na oras Sort SA RESOLVE sudo serbisyo ipfm magsimula
OPSYONAL: Lumilikha ng iyong sariling mga imaheng Nintendo upang mai-render sa display
Mag-upload ng iyong sariling 128x128 file sa sumusunod na URL:
www.digole.com/tools/PicturetoC_Hex_convert…
Piliin ang iyong file ng imahe upang mai-upload, idagdag kung anong laki ang nais mong maging sa screen (Lapad / Taas)
Piliin ang "256 Kulay para sa Kulay OLED / LCD (1 byte / pixel)" sa dropdown na "Ginamit para sa"
Kunin ang hex output.
Idagdag ang hex output sa isang display / build / header (.h) file, gamitin ang iba pa bilang mga gabay para sa syntax.
Isama ang bagong file sa digole.c file # isama ang myimage.h
Magsama ng isang bagong utos ng linya ng utos sa iyong file ng imahe sa. Tandaan: sinasabi ng utos sa ibaba na iguhit ang iyong imahe sa posisyon na 10 pixel na higit sa 10 mga pixel pababa. Maaari mo itong palitan sa iba't ibang mga X, Y coordinate, maaari mo ring baguhin ang mga halagang 128, 128 sa kung anumang laki talaga ng iyong bagong imahe.
} iba pa kung (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere ay tinukoy sa iyong (.h) file}
Muling itayo (huwag pansinin ang mga error) sa ibaba upang maibigay ang iyong bagong imahe sa sumusunod na utos.
$./digole myimage Re-Building [Kasamang] Digole Display Driver para sa iyong mga opsyonal na pagbabago
$ cd display / build $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole
Hakbang 16: Tapos na
Inirerekumendang:
UPS para sa WiFi Router V4: 6 Mga Hakbang (na may Mga Larawan)
UPS para sa WiFi Router V4: Kumusta Lahat, Sa nadagdagang Trabaho mula sa bahay, lahat tayo ay nais na gumana nang hindi nagagambala, ang kabiguan ng kuryente ay napaka-karaniwan sa India .. Maraming mga apartment ang nag-install ng mga backup generator, na sinisipa sa loob ng ilang segundo ng pagkabigo sa kuryente. Kahit na ang kabiguan ng kuryente ay para sa f
Mga Ups para sa Mga Router: 6 na Hakbang (na may Mga Larawan)
Mga Ups para sa Mga Router: Sa mga umuunlad na bansa, ang pag-shutdown ng kuryente ay karaniwan … Mayroon kaming power generator ng kuryente bilang backup, ngunit mayroong isang maliit na agwat ng oras na 20 segundo sa panahon ng pagbabago ng pagbabago. Ang aking router ay muling na-restart at tumatagal ng 3 hanggang 5 minuto upang muling kumonekta. . At kung ikaw ay
Paano Mag-disassemble ng isang Computer Na May Madaling Hakbang at Mga Larawan: 13 Hakbang (na may Mga Larawan)
Paano Mag-disassemble ng isang Computer Na May Madaling Mga Hakbang at Larawan: Ito ay isang tagubilin tungkol sa kung paano i-disassemble ang isang PC. Karamihan sa mga pangunahing sangkap ay modular at madaling matanggal. Gayunpaman mahalaga na maging maayos ka tungkol dito. Makakatulong ito upang maiwasan ka sa pagkawala ng mga bahagi, at sa paggawa din ng muling pagsasama
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w