תוכן עניינים:
- שלב 1: התקן את תוכנת RaspberryPi הנדרשת
- שלב 2: יצירת נקודת הגישה ל- WiFi
- שלב 3: דרושים חומרים מתכלים: נינטנדו שבורה ישנה
- שלב 4: דרושים חומרים מתכלים: Raspberry Pi 3 דגם B
- שלב 5: דרוש חומרים מתכלים: 1.44 אינץ ': סדרת UART/I2C/SPI TFT LCD 128x128
- שלב 6: דרוש אספקה: 5V 0.1A מיני מאוורר פטל פטל
- שלב 7: דרושים חומרים מתכלים: מתאם רשת קווית USB 2.0 עד 10/100 מהיר Ethernet LAN
- שלב 8: בנייה
- שלב 9: המשך הבנייה
- שלב 10: המשך הבנייה
- שלב 11: חיבור צג Digole
- שלב 12: התקן כלי ניטור רשת ורישום DB
- שלב 13: התקן את דוח סיכום התנועה (פועל כל 5 דקות על ידי Cronjob)
- שלב 14: התקן את מסך לוח המחוונים
- שלב 15: התקן את אתר השימוש/סטטיסטיקה מקומית [http://10.0.10.1]
וִידֵאוֹ: נתב Wifi של נינטנדו: 17 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
בעזרת מארז מערכת ישן של 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
שלב 5: דרוש חומרים מתכלים: 1.44 אינץ ': סדרת UART/I2C/SPI TFT LCD 128x128
שלב 6: דרוש אספקה: 5V 0.1A מיני מאוורר פטל פטל
שלב 7: דרושים חומרים מתכלים: מתאם רשת קווית 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
מוּמלָץ:
בקר נינטנדו לתוך קורא כרטיסי מחשב: 4 שלבים (עם תמונות)
בקר נינטנדו לתוך קורא כרטיסי PC: הכנס קורא כרטיסים בתוך בקר נינטנדו למחשב השולחני או המחשב הנייד שלך. כל אזכור לפרויקט זה חייב לספק קישור לאתר www.zieak.com עם אשראי לריאן מקפרלנד
נתב ביתי אלחוטי עם מד ניצול אנלוגי: 5 שלבים (עם תמונות)
נתב ביתי אלחוטי עם מד ניצול אנלוגי: גדלתי בסירות ובסביבתן ועשיתי נולים חיווט ולוחות בקרה, ויש לי אוסף של מדידים & חוגות שבדרך כלל נמצאו מחוברות למנועי דיזל ימיים קטנים. כיום אני עובד כמעצב בניין ממשקים לרשת
המרת נתב Power Over Ethernet: 4 שלבים (עם תמונות)
המרת נתב Power Over Ethernet: הרעיון שמניע את הפרויקט הזה הוא להפוך כל נתב סטנדרטי שאינו מדף ליחידת Power Over Ethernet (PoE) [] (ויקיפדיה תיאור) [] מבלי לקנות מתאמים או חומרה נוספת. PoE הוא משהו שכיח למדי בעסקים רבים/לא
NESblinky - מבזק אופניים לבקר נינטנדו: 12 שלבים (עם תמונות)
NESblinky - מבזק לאופניים של בקר נינטנדו: ראיתי את " Light Up Your Ride " בתחרות, והרהרתי במה ניתן לתכנן מחדש כדי להגדיל את הנראות של האופניים שלי, כל זאת בתקווה שאני מסנוור נהג או שניים להתקף זעם רטרו. נתקלתי בנינטנדו שבורה ותיקה
איך בונים ארקייד של נינטנדו: 5 שלבים (עם תמונות)
כיצד לבנות ארקייד של נינטנדו: מדריך זה יראה לך כיצד בניתי את ארקייד הנינטנדו שלי. זהו ארון ברט שמשחק משחק מקורי של נינטנדו. ארקייד לגמרי עצמאי עם מתג הפעלה אחד לכל דבר. אתה יכול לראות סרטון של ארקייד בפעולה ב