תוכן עניינים:

נתב Wifi של נינטנדו: 17 שלבים (עם תמונות)
נתב Wifi של נינטנדו: 17 שלבים (עם תמונות)

וִידֵאוֹ: נתב Wifi של נינטנדו: 17 שלבים (עם תמונות)

וִידֵאוֹ: נתב Wifi של נינטנדו: 17 שלבים (עם תמונות)
וִידֵאוֹ: Internet Technologies - Computer Science for Business Leaders 2016 2024, נוֹבֶמבֶּר
Anonim
נתב Wifi של נינטנדו
נתב Wifi של נינטנדו

בעזרת מארז מערכת ישן של Nintendo Entertainment, ייצר נתב ביתי פונקציונלי במיוחד באמצעות RaspberryPI 3!

שלב 1: התקן את תוכנת RaspberryPi הנדרשת

דיסק קשיח מהבהב RaspberriPi / התקן תוכנות נדרשות (באמצעות אובונטו לינוקס)

הורד את "RESSPBIAN JESSIE LITE"

צור את הדיסק הקשיח החדש שלך עבור DashboardPI

הכנס את ה- microSD למחשב שלך באמצעות מתאם USB וצור את תמונת הדיסק באמצעות הפקודה dd

אתר את כרטיס ה- microSD שהוכנס באמצעות הפקודה df -h, הסר אותו וצור את תמונת הדיסק באמצעות הפקודה העתק דיסק.

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

$ umount /dev /sdb1

זהירות: ודא שהפקודה מדויקת לחלוטין, אתה יכול לפגוע בדיסקים אחרים באמצעות פקודה זו

if = מיקום קובץ התמונה של RASPBIAN JESSIE LITE של = מיקום כרטיס ה- microSD שלך

$ sudo dd bs = 4M אם =/path/to/raspbian-jessie-lite.img של =/dev/sdb (הערה: במקרה זה, זה/dev/sdb,/dev/sdb1 היה מחיצת מפעל קיימת ב- microSD) הגדרת ה- RaspberriPi שלך

הכנס את כרטיס ה- microSD החדש שלך ל- raspberrypi והפעל אותו עם צג המחובר ליציאת HDMI

התחברות

משתמש: pi pass: פטל שנה את סיסמת החשבון שלך לאבטחה

sudo passwd pi אפשר RaspberriPi אפשרויות מתקדמות

sudo raspi-config בחר: 1 הרחב את מערכת הקבצים

9 אפשרויות מתקדמות

שם מארח A2 שנה אותו ל- "NESRouter"

A4 SSH אפשר שרת SSH

A7 I2C אפשר ממשק i2c הפעל את המקלדת באנגלית/ארה ב

sudo nano/etc/default/keyboard שנה את השורה הבאה: XKBLAYOUT = "us" הגדר את הפקודה הפשוטה של הספרייה l [אופציונלי]

vi ~/.bashrc

הוסף את השורה הבאה:

כינוי l = 'ls -lh'

מקור ~/.bashrc תיקון תחביר ברירת המחדל של VIM ברירת מחדל [אופציונלי]

sudo vi/etc/vim/vimrc

אל תגיב על השורה הבאה:

תחביר על אתחול ה- PI שלך כדי לקבל את השינויים האחרונים

אתחול עדכן את הגדרות אזור הזמן המקומי

sudo dpkg-configure tzdata בחר את אזור הזמן שלך באמצעות הממשק

שלב 2: יצירת נקודת הגישה ל- WiFi

שימו לב, לפני שזה הופך לנתב אנו מחברים את ה- RaspberryPi לרשת קיימת באמצעות יציאת ה- Ethernet שלה כדי להתקין את החבילות הבאות

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

sudo apt-get להתקין 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

הוסף את השורה הבאה:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

ערוך את הקטע wlan0 כך שייראה כך:

auto lo iface lo inet loopback

iface eth0 inet ידנית

auto wlan0 iface wlan0 inet כתובת סטטית 10.0.10.1 netmask 255.255.255.0 רשת 10.0.10.0 שידור 10.0.10.255

auto eth1 iface eth1 inet כתובת סטטית 10.0.20.1 netmask 255.255.255.0 רשת 10.0.20.0 שידור 10.0.20.255 טען מחדש שרת DHCP והקפיץ את התצורה לחיבורי eth0 ו- wlan0

sudo service dhcpcd הפעלה מחדש

sudo ifdown eth0; sudo ifup wlan0

הגדר את HOSTAPD (שנה את ssid ו- wpa_passphrase לערכים שבחרת)

sudo vi /etc/hostapd/hostapd.conf

# זהו שמו של ממשק ה- WiFi שהגדרנו מעל הממשק = wlan0

# השתמש במנהל ההתקן nl80211 עם מנהל ההתקן brcmfmac = nl80211

# זהו שם הרשת ssid = NintendoWiFi

# השתמש בפס 2.4GHz hw_mode = g

# השתמש בערוץ 6 בערוץ = 6

# אפשר 802.11n ieee80211n = 1

# אפשר WMM wmm_enabled = 1

# אפשר ערוצי 40MHz עם מרווח שמירה של 20ns ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# קבל את כל כתובות ה- MAC macaddr_acl = 0

# השתמש באימות WPA authent_algs = 1

# דרישה מהלקוחות לדעת את שם הרשת ignore_broadcast_ssid = 0

# השתמש ב- WPA2 wpa = 2

# השתמש במפתח משותף מראש wpa_key_mgmt = WPA-PSK

# משפט הסיסמה של הרשת wpa_passphrase = סיסמה

# השתמש ב- AES, במקום TKIP rsn_pairwise = CCMP אנו יכולים לבדוק אם הוא פועל בשלב זה על ידי הפעלה (אך עדיין אין לו קישוריות אינטרנט מלאה):

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

sudo vi/etc/default/hostapd

מצא את הקו

#DAEMON_CONF = "" והחלף אותו ב-

DAEMON_CONF = "/etc/hostapd/hostapd.conf" הגדר DNSMASQ

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # נקשר לממשק כדי לוודא שאנחנו לא שולחים דברים למקום אחר שרת = 8.8.8.8 # העבר בקשות DNS לדומיין הדרוש ל- Google DNS # אל תעביר שמות קצרים מזויפים-priv # לעולם אל תעביר כתובות ב- non -מרווחי כתובות מפותחים.

# הקצה כתובות IP עם זמן חכירה אינסופי (לנתונים סטטיסטיים של שימוש בהתקן) 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, הגדרה אינסופית של IPV4

sudo vi /etc/sysctl.conf

[uncomment] net.ipv4.ip_forward = 1

הפעל אותו מיד עם 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, MASHABLISHED -j ACCEPT

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

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

sudo iptables -A קדימה -i wlan0 -o eth0 -j קבל

שמור את הגדרות iptables להפעלה מחדש

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

צור קובץ חוקי ipv4 (עם תוכן חדש)

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

iptables-שחזור </etc/iptables.ipv4.nat הפעל מחדש את השירותים

sudo service hostapd התחל sudo service dnsmasq start

sudo reboot

הקצאת כתובות IP סטטיות [אופציונלי]

אם אתה רוצה שמארחים ברשת שלך יהיו בעלי סטטוס IP סטטי אנא השתמש בפרטים הבאים

רכשו את המארחים המחוברים כעת באמצעות DHCP vi /var/lib/misc/dnsmasq.leases

הוסף את כתובת ה- MAC (מהפלט למעלה) ואת כתובת ה- IP שתרצה להקצות אותם ל- sudo vi /etc/dnsmasq.conf

# dhcp-host שולחן העבודה הראשי = 12: 34: 56: 78: 9a: bc, 10.0.20.20 הערה: פעולה זו תקצה לממשק הרשת את כתובת ה- MAC: 12: 34: 56: 78: 9a: bc לכתובת IP 10.0.20.20. כתובת ה- IP הרשומה לא חייבת להיות בטווח ה- DHCP שניתנו, רק באותה רשת משנה. שולחן העבודה הראשי שלי למעלה נמצא ב- sub1 eth1: 10.0.20.0, אז נתתי לו כתובת IP של 10.0.20.20.

הוספת חומת אש של UFW

sudo apt-get להתקין ufw

אפשר יציאה 22 לשימוש ציבורי (לגישה מרחוק לרשת)

sudo ufw אפשר 22

אפשר את כל היציאות ברשת המקומית שלי

sudo ufw אפשר מ- 10.0.10.0/24 sudo ufw מתיר מ- 10.0.20.0/24

אפשר יציאות אינטרנט לכולם

sudo ufw אפשר 80

אפשר לכולם יציאות אינטרנט מאובטחות

sudo ufw אפשר 443

הפעל UFW ובדוק את הסטטוס

sudo ufw -כוח לאפשר

סטטוס sudo ufw

תקן באג כאשר UFW לא מתחיל בהפעלה

sudo su crontab -e

הוסף את השורה הבאה: @reboot /bin /sleep 60; ufw -כוח לאפשר

שלב 3: דרושים חומרים מתכלים: נינטנדו שבורה ישנה

דרוש אספקה: נינטנדו שבורה
דרוש אספקה: נינטנדו שבורה

מארז נינטנדו ישן מ- NES שבור (הסר את כל התוכן הישן בתוך המארז, השאר רק את המסגרת החיצונית, כפתורי ההפעלה / איפוס וחיבורי הבקר)

שלב 4: דרושים חומרים מתכלים: Raspberry Pi 3 דגם B

דרושים חומרים מתכלים: Raspberry Pi 3 דגם B
דרושים חומרים מתכלים: Raspberry Pi 3 דגם B

שלב 5: דרוש חומרים מתכלים: 1.44 אינץ ': סדרת UART/I2C/SPI TFT LCD 128x128

דרושים חומרים מתכלים: 1.44
דרושים חומרים מתכלים: 1.44
דרושים חומרים מתכלים: 1.44
דרושים חומרים מתכלים: 1.44

שלב 6: דרוש אספקה: 5V 0.1A מיני מאוורר פטל פטל

דרושים חומרים מתכלים: מאוורר מיני פטל 5V 0.1A
דרושים חומרים מתכלים: מאוורר מיני פטל 5V 0.1A

שלב 7: דרושים חומרים מתכלים: מתאם רשת קווית USB 2.0 עד 10/100 מהיר Ethernet LAN

דרושים חומרים מתכלים: מתאם רשת קווית USB 2.0 עד 10/100 מהיר Ethernet LAN
דרושים חומרים מתכלים: מתאם רשת קווית USB 2.0 עד 10/100 מהיר Ethernet LAN

שלב 8: בנייה

בְּנִיָה
בְּנִיָה

התקן בתוך ה- NES

באמצעות מדפסת תלת מימד הדפס את מסגרת תצוגת Digole "NESPanel" בתיקייה/construction/display-frame/folder. [אם אין לך מדפסת תלת מימד תוכל לחתוך בעדינות חור מרובע לתצוגת Digole בעזרת כלי Dremel] חותך את החורים הבאים פתוחים בחלקו האחורי ובצד המארז על מנת לאפשר להדק את המאוורר הקטן על בצד וכבלי ה- Ethernet/כבל ה- ethernet ו- USB כדי להיכנס דרך הגב.

שלב 9: המשך הבנייה

בניית המשך
בניית המשך

הסר את הלוח השחור השמאלי העליון מה- NES וחתך בצורה נקייה חור מרובע מספיק כדי להרכיב את תצוגת הדיגול שלך. הדבק חם את המסך במקומו עם מסגרת תלת מימד מודפסת "NESPanel" מעליו.

שלב 10: המשך הבנייה

בניית המשך
בניית המשך

הר את ה- RaspberryPi באמצע החלק התחתון של מארז ה- NES הריק, מהדק בעזרת דבק או בורג קטן בתחתיתו. באמצעות מתקן של 270 אוהם, חבר את "הנורית הדולקת" של ה- NES לסיכות 5V ו- GND ב- Raspberry Pi (עופרת LED קצרה היא הקרקע). חבר את המאוורר הקטן גם לסיכות 5V ו- GND כדי להפעיל אותו כאשר היחידה מתחילה, הדבק את המאוורר על החור שבצד עבורו.

שלב 11: חיבור צג Digole

חבר את הפינים הבאים לפינים ב- RaspberryPi

VCC מחובר ל- 3v GND הוא הקרקע DATA הוא שעון SDA הוא SCL עכשיו אתה אמור לראות את המכשיר בפקודה i2cdetect שלך

i2cdetect -y 1 זה אמור להופיע ברשת הטקסט כ- 27

שלב 12: התקן כלי ניטור רשת ורישום DB

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

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

הוסף את השורה הבאה לסוף הקובץ: local all pi password sudo -i -u postgres

psql

צור סיסמת תפקיד pi 'סיסמה כאן';

שנה תפקיד pi התחברות;

לשנות תפקיד pi superuser;

du

(אתה אמור לראות את משתמש ה- PI שלך עם ההרשאות שניתנו) צור נתוני נתוני network_stats;

ש

יְצִיאָה

psql -d network_stats

הפעל את השאילתות הבאות:

צור טבלה Traffic_per_minute (סידורי מזהה, חותמת זמן ללא אזור זמן לא NULL, eth0_down אמיתי, eth0_up אמיתי, eth1_down אמיתי, eth1_up אמיתי, wan0_down אמיתי, wan0_up אמיתי);

צרו אינדקס ייחודי time_idx ON traffic_per_minute (time); העתק את תיקיית הקוד "רישום" מפרויקט זה לספריית הבית של ה- RPi שלך

crontab -e

הוסף שורה זו

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

שלב 13: התקן את דוח סיכום התנועה (פועל כל 5 דקות על ידי Cronjob)

crontab -e

להוסיף את השורה הבאה

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

שלב 14: התקן את מסך לוח המחוונים

העתק את תיקיית הקוד "תצוגה" מפרויקט זה לספריית הבית של ה- RPi שלך

הפעל אותו כדלקמן

$ python /home/pi/display/NESRouter.py הגדר את תסריט התצוגה להפעלה בעת ההפעלה

crontab -e

הוסף שורה זו

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

ודא שהתצוגה מתחילה לפעול על אתחול מחדש

sudo reboot

שלב 15: התקן את אתר השימוש/סטטיסטיקה מקומית [https://10.0.10.1]

התקן את אתר השימוש/סטטיסטיקה מקומי [https://10.0.10.1]

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

sudo apt-get להתקין apache2

sudo service apache2 הפעלה מחדש

הסר דפי ברירת מחדל

cd /var /www

sudo rm -rf html

העתק את תיקיית 'פורטל האינטרנט' מהפרויקט הזה לתיקיית הבית שלך ב- RPi וצור את הקישור הסימבוק לשימוש ב- 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

הפעל Python CGI Scripting

הוסיפו בתוך התג

Options +ExecCGI AddHandler cgi-script.py sudo service apache2 restart

כעת תוכל לבקר באתר HTTP המקומי [https://10.0.10.1]

הגדרת ניטור רשת מתקדם (באמצעות IPFM)

עדכון sudo apt-get

sudo apt-get להתקין ipfm

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

sudo vi /etc/ipfm.conf

צור עם התכנים הבאים:

# משתנים גלובליים

# IPFM יכול לפקח על מכשיר אחד בלבד. התקן eth0

# יומן תצורת לוגו גלובלי

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

# היכנס כל דקה כף כל דקה

# סטטיסטיקה ברורה בכל יום נקה כל 24 שעות סידור בפתרון שירות sudo start ipfm

אופציונלי: יצירת תמונות נינטנדו משלך לעיבוד בתצוגה

העלה קובץ 128x128 משלך לכתובת האתר הבאה:

www.digole.com/tools/PicturetoC_Hex_convert…

בחר את קובץ התמונה שלך להעלות, הוסף את הגודל שאתה רוצה שיהיה על המסך (רוחב/גובה)

בחר "256 צבע לצבע OLED/LCD (1 בתים/פיקסל)" בתפריט הנפתח "משמש עבור"

השג את פלט הקס.

הוסף את פלט ה- hex לקובץ display/ build/ header (.h), השתמש באחרים כמדריכים לתחביר.

כלול את הקובץ החדש בקובץ digole.c #כלול myimage.h

כלול ווי שורת פקודה חדשה לקובץ התמונה שלך ב-. הערה: הפקודה שלהלן אומרת לצייר את התמונה במיקום 10 פיקסלים מעל 10 פיקסלים כלפי מטה. אתה יכול לשנות את זה לקואורדינטות X, Y שונות, אתה יכול גם לשנות את הערכים 128, 128 לכל גודל התמונה החדשה שלך בפועל.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere מוגדר בקובץ (.h)}

כעת בנה מחדש (התעלם מהשגיאות) להלן כדי שהתמונה החדשה שלך תעובד עם הפקודה הבאה.

$./digole myimage בניית מחדש [כלול] מנהל התצוגה של Digole לתצוגות שינויים אופציונליים

תצוגה של $ cd/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

מוּמלָץ: