Orodha ya maudhui:
- Hatua ya 1: Sakinisha Programu Inayohitajika ya RaspberryPi
- Hatua ya 2: Kuunda Kituo cha Ufikiaji cha WiFi
- Hatua ya 3: Vifaa vinahitajika: Nintendo ya zamani iliyovunjika
- Hatua ya 4: Vifaa vinavyohitajika: Raspberry Pi 3 Mfano B
- Hatua ya 5: Vifaa vinahitajika: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Module ya Kuonyesha
- Hatua ya 6: Ugavi Unahitajika: 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
- Hatua ya 8: Ujenzi
- Hatua ya 9: Ujenzi Cont
- Hatua ya 10: Ujenzi Cont
- Hatua ya 11: Kuunganisha Uonyesho wa Digole
- Hatua ya 12: Sakinisha Zana za Ufuatiliaji wa Mtandao na Uingiaji wa DB
- Hatua ya 13: Sakinisha Ripoti ya Muhtasari wa Trafiki (inaendesha Kila Dakika 5 na Cronjob)
- Hatua ya 14: Sakinisha Skrini ya Dashibodi
- Hatua ya 15: Sakinisha Tovuti ya Matumizi / Takwimu za Mitaa [http://10.0.10.1]
- Hatua ya 16: Imemalizika
Video: Njia ya Nintendo Wifi: Hatua 17 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:55
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
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
Hatua ya 5: Vifaa vinahitajika: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Module ya Kuonyesha
Hatua ya 6: Ugavi Unahitajika: 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
Hatua ya 8: 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
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
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:
Mfumo wa Taa ya Njia ya Kuendesha Njia-Timu ya Mabaharia wa Timu: Hatua 12
Mfumo wa Taa za Kuendesha Njia za Smart- Timu ya Baharia Mwezi: Halo! Huyu ni Grace Rhee, Srijesh Konakanchi, na Juan Landi, na kwa pamoja sisi ni Timu ya Sailor Moon! Leo tutakuletea mradi wa sehemu mbili za DIY ambazo unaweza kutekeleza nyumbani kwako mwenyewe. Mfumo wetu wa mwisho wa taa za barabara ni pamoja na ul
Bendi Nyembamba IoT: Taa mahiri na Njia za Upimaji Njia kwa Mazingira Bora na yenye Afya: Hatua 3
Bendi Nyembamba IoT: Taa mahiri na Njia za Upimaji Mfumo kwa Mazingira Bora na yenye Afya: Automation imepata njia yake karibu kila sekta. Kuanzia utengenezaji wa huduma za afya, usafirishaji, na ugavi, automatisering imeona mwangaza wa siku. Kweli, hizi bila shaka zinavutia, lakini kuna moja ambayo inaonekana
Spika 2 Njia: Njia 6 (na Picha)
Spika ya Njia ya 2: Njia hii inayoweza kufundishwa inakuonyesha jinsi ya kuunda njia ya spika ya njia mbili. Vipengele vyote vya umeme vinaweza kununuliwa kwenye Amazon kupitia viungo vya ushirika hapa chini. Gharama ya jumla ya ujenzi ilitoka kuwa $ $ 160, hata hivyo; vifaa vya umeme c
Kutumia Nodemcu kwa njia isiyo na waya ya Mlango: Njia 9 (na Picha)
Wireless RFID Door Lock Kutumia Nodemcu: --- Kazi kuu - Mradi huu ulijengwa kama sehemu ya darasa la Mawasiliano ya Mtandao huko Universidade do Algarve kwa kushirikiana na mwenzangu Lu í s Santos. Kusudi lake kuu ni kudhibiti ufikiaji wa kufuli kwa umeme kupitia waya isiyotumia waya
Mwanga wa Njia ya Lori ya Njia ya Lori ya LED: Hatua 8 (na Picha)
Solar LED Tonka Lori Njia Mwanga: Maisha mapya kwa vitu vya kuchezea vya zamani! Lete malori yako ya zamani ya kuchezea na taa za njia za LED. Sijawahi kutaka kuachana na mpendwa wangu Tonka dampo lakini wakati nilikuwa mtu mzima ilizidi kuwa ngumu zaidi kuhalalisha utunzaji … mpaka sasa