Orodha ya maudhui:

Njia ya Nintendo Wifi: Hatua 17 (na Picha)
Njia ya Nintendo Wifi: Hatua 17 (na Picha)

Video: Njia ya Nintendo Wifi: Hatua 17 (na Picha)

Video: Njia ya Nintendo Wifi: Hatua 17 (na Picha)
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Njia ya Nintendo Wifi
Njia ya Nintendo Wifi

Kutumia kesi ya mfumo wa Old Nintendo Entertainment, toa router inayofanya kazi nyumbani kwa kutumia RaspberryPI 3!

Hatua ya 1: Sakinisha Programu Inayohitajika ya RaspberryPi

Flashing RaspberriPi Disk Hard / Sakinisha Programu Inayohitajika (Kutumia Ubuntu Linux)

Pakua "RASPBIAN JESSIE LITE"

Unda diski yako mpya ya DashibodiPI

Ingiza microSD kwenye kompyuta yako kupitia adapta ya USB na uunda picha ya diski ukitumia amri ya dd

Pata kadi yako ya MicroSD iliyoingizwa kupitia amri ya df -h, ishuke na uunda picha ya diski na amri ya nakala ya dd

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

$ umount / dev / sdb1

Tahadhari: hakikisha amri ni sahihi kabisa, unaweza kuharibu diski zingine na amri hii

ikiwa = eneo la faili ya picha ya RASPBIAN JESSIE LITE ya = eneo la kadi yako ya MicroSD

$ sudo dd bs = 4M ikiwa = / njia / kwa / raspbian-jessie-lite.img ya = / dev / sdb (kumbuka: katika kesi hii, ni / dev / sdb, / dev / sdb1 ilikuwa sehemu ya kiwanda iliyopo kwenye microSD) Kuanzisha RaspberriPi yako

Ingiza kadi yako mpya ya microSD kwenye raspberrypi na uiwasha na mfuatiliaji uliounganishwa na bandari ya HDMI

Ingia

mtumiaji: pi kupita: rasiberi Badilisha nywila ya akaunti yako kwa usalama

Sudo passwd pi Wezesha Chaguzi za Juu za RaspberriPi

Sudo raspi-config Chagua: 1 Panua Mfumo wa Faili

9 Chaguzi za hali ya juu

Jina la mwenyeji la A2 libadilishe kuwa "NESRouter"

A4 SSH Wezesha Seva ya SSH

A7 I2C Wezesha kiolesura cha i2c Wezesha Kibodi ya Kiingereza / Amerika

sudo nano / nk / default / kibodi Badilisha mstari ufuatao: XKBLAYOUT = "us" Sanidi saraka rahisi l amri [hiari]

vi ~ /.bashrc

ongeza laini ifuatayo:

alias l = 'ls -lh'

chanzo ~ /.bashrc Rekebisha mwangaza wa sintaksia ya VIM [hiari]

Sudo vi / nk / vim / vimrc

ondoa laini ifuatayo:

syntax kwenye Reboot PI yako ili kupata mabadiliko ya hivi karibuni

sasisha upya Sasisha mipangilio ya saa za eneo

sudo dpkg-sanidi upya tzdata chagua eneo lako la wakati ukitumia kiolesura

Hatua ya 2: Kuunda Kituo cha Ufikiaji cha WiFi

Tafadhali kumbuka, kabla ya hii kuwa router tunaingia kwenye RaspberryPi kwa mtandao uliopo kupitia bandari ya ethernet kusakinisha vifurushi vifuatavyo.

Sudo apt-pata sasisho && sudo apt-get -y kuboresha

Sudo apt-get kufunga dnsmasq hostapd vim

Sudo apt-get install vim git python-smbus i2c-zana python-imaging python-smbus kujenga-muhimu python-dev rpi.gpio python3 python3-pip libi2c-dev

sudo vi /etc/dhcpcd.conf

Ongeza laini ifuatayo:

nafasi za kukataa wlan0 Sudo vi / nk / mtandao / miingiliano

Hariri sehemu ya wlan0 ili iweze kuonekana kama hii:

auto lo iface lo inet loopback

mwongozo wa ifet eth0 inet

auto wlan0 iface wlan0 inet tuli anwani 10.0.10.1 netmask 255.255.255.0 mtandao 10.0.10.0 matangazo 10.0.10.255

auto eth1 iface eth1 inet tuli anwani 10.0.20.1 netmask 255.255.255.0 mtandao 10.0.20.0 matangazo 10.0.20.255 Pakia tena Seva ya DHCP na usanidi usanidi wa unganisho la eth0 na wlan0

huduma ya sudo kuanzisha tena dhcpcd

sudo if0 eth0; sudo ifup wlan0

Sanidi HOSTAPD (Badilisha ssid na wpa_passphrase kwa maadili ya chaguo lako mwenyewe)

sudo vi /etc/hostapd/hostapd.conf

# Hili ni jina la kiolesura cha WiFi tulichosanidi hapo juu interface = wlan0

# Tumia dereva wa nl80211 na dereva wa brcmfmac = nl80211

# Hili ni jina la mtandao ssid = NintendoWiFi

# Tumia bendi ya 2.4GHz hw_mode = g

# Tumia idhaa 6 kituo = 6

# Wezesha 802.11n ieee80211n = 1

# Wezesha WMM wmm_ imewezeshwa = 1

# Wezesha vituo 40MHz na muda wa walinzi 20ns ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Kubali anwani zote za MAC macaddr_acl = 0

# Tumia uthibitishaji wa WPA auth_algs = 1

# Inahitaji wateja kujua jina la mtandao puuza_broadcast_ssid = 0

# Tumia WPA2 wpa = 2

# Tumia ufunguo ulioshirikiwa mapema wpa_key_mgmt = WPA-PSK

# Nenosiri la mtandao wpa_passphrase = password

# Tumia AES, badala ya TKIP rsn_pairwise = CCMP Tunaweza kuangalia ikiwa inafanya kazi katika hatua hii kwa kukimbia (lakini bado haina unganisho kamili la mtandao):

Sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf

sudo vi / nk / default / hostapd

Pata mstari

# DAEMON_CONF = "" na ubadilishe na

DAEMON_CONF = "/ nk / hostapd / hostapd.conf" Sanidi DNSMASQ

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

sudo vi /etc/dnsmasq.conf

funga-interfaces # Funga kwenye kiunga ili kuhakikisha kuwa hatupeleki vitu mahali pengine seva = 8.8.8.8 # Sambaza maombi ya DNS kwa kikoa cha Google DNS-inahitajika # Usipeleke majina mafupi bandia-siri # Kamwe usipeleke anwani kwenye -enye nafasi za anwani.

# Peana anwani za IP w / wakati wa kukodisha usio na kipimo (kwa takwimu za matumizi ya kifaa) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, isiyo na kipimo SET UP IPV4 FORWARDING

sudo vi /etc/sysctl.conf

[kutokuwa na maoni] net.ipv4.ip_forward = 1

Amilisha mara moja na sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"

iptables za sudo -t nat -A KUPITIA -o eth0 -j MASQUERADE

iptables za sudo -A MBELE -i eth0 -o eth1 -m hali - Jimbo KUHUSIANA, KUANZISHWA -j KUBALI

iptables za sudo -A MBELE -i eth1 -o eth0 -j Kubali

iptables za sudo -A MBELE -i eth0 -o wlan0 -m hali - hali inayohusiana, IMEANZISHWA -j KUBALI

iptables za sudo -A MBELE -i wlan0 -o eth0 -j Kubali

Hifadhi mipangilio ya iptables kwa kuwasha tena ijayo

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

Unda faili ya sheria za ipv4 (na yaliyomo mpya)

Sudo vi / lib / dhcpcd / dhcpcd-ndoano / 70-ipv4-nat

iptables-rejesha </etc/iptables.ipv4.nat Anzisha Huduma tena

huduma ya sudo hostapd kuanza huduma ya sudo dnsmasq kuanza

Sudo reboot

Kutoa IP tuli (Si lazima)

Ikiwa ungependa majeshi kwenye mtandao wako kuwa na ip static tafadhali tumia zifuatazo

Punguza majeshi yaliyounganishwa sasa kupitia DHCP vi /var/lib/misc/dnsmasq.leases

Ongeza Anwani ya MAC (kutoka kwa pato hapo juu) na anwani ya IP ambayo ungependa kuwapa sudo vi /etc/dnsmasq.conf

# desktop kuu dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Kumbuka: Hii itatoa kiolesura cha mtandao na Anwani ya MAC: 12: 34: 56: 78: 9a: bc kwa anwani ya IP 10.0.20.20. Anwani ya IP iliyoorodheshwa SI lazima iwe katika anuwai ya DHCP iliyotolewa, kwenye subnet hiyo hiyo. Kompyuta yangu kuu hapo juu iko kwenye subnet eth1: 10.0.20.0, kwa hivyo niliipa Anwani ya IP ya 10.0.20.20.

Kuongeza UFW Firewall

Sudo apt-get kufunga ufw

Ruhusu bandari 22 kwa matumizi ya umma (kwa ufikiaji wa mtandao wa mbali)

sudo ufw ruhusu 22

Ruhusu bandari zote kwenye mtandao wangu wa karibu

sudo ufw ruhusu kutoka 10.0.10.0/24 sudo ufw ruhusu kutoka 10.0.20.0/24

Ruhusu bandari za wavuti kwa kila mtu

sudo ufw inaruhusu 80

Ruhusu bandari salama za wavuti kwa kila mtu

Sudo ufw ruhusu 443

Wezesha UFW na uangalie hali

sudo ufw - fanya kuwezesha

hali ya sudo ufw

Rekebisha BUG na UFW bila kuanza wakati wa kuanza

sudo su crontab -e

Ongeza mstari ufuatao: @ reboot / bin / sleep 60; ufw - nguvu kuwezesha

Hatua ya 3: Vifaa vinahitajika: Nintendo ya zamani iliyovunjika

Vifaa vinahitajika: Nintendo ya zamani iliyovunjika
Vifaa vinahitajika: Nintendo ya zamani iliyovunjika

Kesi ya zamani ya Nintendo kutoka kwa NES iliyovunjika (ondoa yaliyomo yote ya zamani ndani ya kesi hiyo, ukiacha fremu ya nje tu, vifungo vya nguvu / kuweka upya na unganisho la mtawala)

Hatua ya 4: Vifaa vinavyohitajika: Raspberry Pi 3 Mfano B

Ugavi Unaohitajika: Raspberry Pi 3 Model B
Ugavi Unaohitajika: Raspberry Pi 3 Model B

Hatua ya 5: Vifaa vinahitajika: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Module ya Kuonyesha

Vifaa vinahitajika: 1.44
Vifaa vinahitajika: 1.44
Vifaa vinahitajika: 1.44
Vifaa vinahitajika: 1.44

Hatua ya 6: Ugavi Unahitajika: 5V 0.1A Mini Raspberry Pi Pi

Vifaa vinahitajika: 5V 0.1A Mini Raspberry Pi Pi
Vifaa vinahitajika: 5V 0.1A Mini Raspberry Pi Pi

Hatua ya 7: Vifaa vinahitajika: Ugreen USB 2.0 hadi 10/100 Fast Ethernet Lan Wired Network Adapter

Vifaa vinahitajika: Ugreen USB 2.0 hadi 10/100 Fast Ethernet Lan Wired Network Adapter
Vifaa vinahitajika: Ugreen USB 2.0 hadi 10/100 Fast Ethernet Lan Wired Network Adapter

Hatua ya 8: Ujenzi

Ujenzi
Ujenzi

Sakinisha ndani ya NES

Kutumia printa ya 3D chapisha fremu ya Onyesha Digole "NESPanel" kwenye / ujenzi / fremu ya kuonyesha / folda. [ikiwa hauna printa ya 3D unaweza kukata shimo la mraba kwa Onyesho la Digole na zana ya Dremel] Kata mashimo yafuatayo wazi nyuma na upande wa kesi ili kuruhusu shabiki mdogo kufungiwa kwenye upande na nyaya za umeme / ethernet na USB ethernet kuingia ndani kupitia nyuma.

Hatua ya 9: Ujenzi Cont

Ujenzi Cont
Ujenzi Cont

Ondoa jopo nyeusi juu kulia kutoka NES na ukatakate shimo kubwa la mraba wa kutosha kuweka onyesho lako la digole. Gundi ya Moto onyesho lililopo na fremu iliyochapishwa ya "NESPanel" 3D juu yake.

Hatua ya 10: Ujenzi Cont

Ujenzi Cont
Ujenzi Cont

Panda RaspberryPi katikati ya chini ya kesi tupu ya NES, funga na gundi au screw ndogo kupitia chini. Kutumia mpinzani wa 270 ohm, unganisha "nguvu kwenye LED" ya NES kwenye pini za 5V na GND kwenye Raspberry Pi (risasi fupi ya LED ni ardhi). Unganisha shabiki mdogo kwenye pini za 5V na GND na vile vile iendeshwe wakati kitengo kitakapoanza, gundi shabiki dhidi ya shimo upande wake.

Hatua ya 11: Kuunganisha Uonyesho wa Digole

Unganisha pini zifuatazo kwenye pini kwenye RaspberryPi

VCC imeunganishwa na 3v GND ni DATA ya ardhini ni SDA CLOCK ni SCL Sasa unapaswa kuona kifaa katika amri yako ya i2cdetect

i2cdetect -i 1 inapaswa kuonekana kwenye gridi ya maandishi kama 27

Hatua ya 12: Sakinisha Zana za Ufuatiliaji wa Mtandao na Uingiaji wa DB

Sudo apt-get kufunga ifstat kumbukumbu ya python-memcache postgresql postgresql-contrib python-psycopg2

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

Ongeza mstari ufuatao hadi mwisho wa faili: nywila zote za ndani sudo -i -u postgres

psql

tengeneza nenosiri la jukumu pi 'nywila hapa';

badilisha jukumu pi login;

badilisha jukumu pi superuser;

du

(unapaswa kuona mtumiaji wako wa PI na ruhusa zilizopewa) unda database_stats;

q

Utgång

psql -d mtandao_stats

Endesha maswali yafuatayo:

Unda TABLE trafiki_per_minute (id serial, timestamp time without zone zone NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

Unda muda wa kipekee wa INDEX_idx KWENYE trafiki_per_minute (saa); Nakili folda ya "magogo" ya nambari kutoka kwa mradi huu hadi saraka ya nyumbani ya RPi yako

crontab -e

Ongeza mstari huu

@ reboot / bin / kulala 60; nohup chatu / nyumba/pi/logging/networkUsage.py> / dev / null 2> & 1

Hatua ya 13: Sakinisha Ripoti ya Muhtasari wa Trafiki (inaendesha Kila Dakika 5 na Cronjob)

crontab -e

ongeza laini ifuatayo

* / 5 * * * * chatu / nyumba/pi/logging/trafficSummary.py

Hatua ya 14: Sakinisha Skrini ya Dashibodi

Nakili folda ya nambari "ya kuonyesha" kutoka kwa mradi huu hadi saraka ya nyumbani ya RPi yako

Endesha kama ifuatavyo

$ python /home/pi/display/NESRouter.py Sanidi hati ya kuonyesha ili kuanza wakati wa kuanza

crontab -e

Ongeza mstari huu

@ reboot nohup python / nyumba / pi / kucheza / NESRouter.py> / dev / null 2> & 1

Thibitisha onyesho linaanza kufanya kazi wakati wa kuwasha tena

Sudo reboot

Hatua ya 15: Sakinisha Tovuti ya Matumizi / Takwimu za Mitaa [https://10.0.10.1]

Sakinisha tovuti ya matumizi / takwimu ya eneo lako [https://10.0.10.1]

Sudo apt-pata sasisho && sudo apt-pata sasisho -y

Sudo apt-get kufunga apache2

huduma ya sudo apache2 kuanza upya

Ondoa kurasa chaguomsingi

cd / var / www

Sudo rm -rf html

Nakili folda ya 'webportal' kutoka kwa mradi huu hadi kwenye folda yako ya nyumbani kwenye RPi yako na uunda symlink ya apache ya kutumia

cd / var / www

Sudo ln -s / nyumbani / pi / webportal html

cd / var / www / html

chmod + x *.py

Sudo a2enmod cgi

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

Wezesha maandishi ya Python CGI

Ongeza ndani ya lebo

Chaguzi + ExecCGI AddHandler cgi-script.py huduma ya sudo apache2 kuanzisha upya

Sasa unaweza kutembelea tovuti ya ndani ya HTTP [https://10.0.10.1]

Sanidi ufuatiliaji wa mtandao wa hali ya juu (kupitia IPFM)

Sudo apt-pata sasisho

Sudo apt-get kufunga ipfm

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

sudo vi /etc/ipfm.conf

Unda na yaliyomo yafuatayo:

# Vigeugeu vya ulimwengu

# IPFM inaweza kufuatilia kifaa kimoja tu. KIFAA eth0

# MABADILIKO YA UBAGUAJI WA DUNIA

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

# logi kila dakika BOMBA KILA dakika 1

# takwimu wazi kila siku WAZI KILA KILA saa 24 PAMBIA KATIKA TATUA huduma ya sudo ipfm anza

KWA hiari: Kuunda picha zako za Nintendo kutoa kwenye onyesho

Pakia faili yako mwenyewe ya 128x128 kwenye URL ifuatayo:

www.digole.com/tools/PicturetoC_Hex_convert…

Chagua faili yako ya picha kupakia, ongeza ukubwa gani unataka iwe kwenye skrini (Upana / Urefu)

Chagua "Rangi ya 256 ya Rangi OLED / LCD (1 baiti / pikseli)" katika menyu kunjuzi ya "Iliyotumiwa kwa"

Pata pato la hex.

Ongeza pato la hex kwenye faili ya kuonyesha / kujenga / kichwa (.h), tumia zingine kama miongozo ya sintaksia.

Jumuisha faili mpya katika faili ya digole.c # pamoja na myimage.h

Jumuisha ndoano mpya ya laini ya amri kwenye faili yako ya picha kwenye faili ya. Kumbuka: amri hapa chini inasema chora picha yako kwa saizi 10 kwa saizi 10 chini. Unaweza kuibadilisha kuwa na uratibu wa X tofauti, Y, unaweza pia kubadilisha maadili 128, 128 kwa saizi yoyote ile picha yako mpya ni kweli.

} kingine ikiwa (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHapa inaelezwa katika faili yako (.h)}

Sasa jenga upya (puuza makosa) hapa chini ili picha yako mpya itoe kwa amri ifuatayo.

$./digole myimage Re-Building [Pamoja] Digole Onyesha Dereva kwa mabadiliko yako ya hiari

$ cd onyesha / jenga $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole

Hatua ya 16: Imemalizika

Ilipendekeza: