جدول المحتويات:
- الخطوة 1: تثبيت برنامج RaspberryPi المطلوب
- الخطوة 2: إنشاء نقطة وصول WiFi
- الخطوة 3: الإمدادات المطلوبة: Old Broken Nintendo
- الخطوة 4: المستلزمات المطلوبة: Raspberry Pi 3 Model B
- الخطوة 5: المستلزمات المطلوبة: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Display Module
- الخطوة 6: المستلزمات المطلوبة: 5V 0.1A Mini Fan Raspberry Pi
- الخطوة 7: المستلزمات المطلوبة: محول الشبكة السلكية Ugreen USB 2.0 إلى 10/100 Fast Ethernet Lan
- الخطوة 8: البناء
- الخطوة 9: مقاولات البناء
- الخطوة العاشرة: مقاولات البناء
- الخطوة 11: توصيل شاشة Digole
- الخطوة 12: قم بتثبيت أدوات مراقبة الشبكة وتسجيل قاعدة البيانات
- الخطوة 13: تثبيت تقرير ملخص حركة المرور (يتم تشغيله كل 5 دقائق بواسطة Cronjob)
- الخطوة 14: قم بتثبيت شاشة لوحة المعلومات
- الخطوة 15: تثبيت موقع الاستخدام المحلي / الإحصائيات [http://10.0.10.1]
فيديو: راوتر Nintendo Wifi: 17 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
باستخدام علبة نظام Old Nintendo Entertainment ، قم بإنتاج جهاز توجيه منزلي وظيفي للغاية باستخدام RaspberryPI 3!
الخطوة 1: تثبيت برنامج RaspberryPi المطلوب
تفليش القرص الصلب RaspberriPi / تثبيت البرامج المطلوبة (باستخدام Ubuntu Linux)
تنزيل "RASPBIAN JESSIE LITE"
قم بإنشاء القرص الثابت الجديد الخاص بك لـ DashboardPI
أدخل microSD في جهاز الكمبيوتر الخاص بك عبر محول USB وقم بإنشاء صورة القرص باستخدام الأمر dd
حدد موقع بطاقة microSD التي تم إدخالها عبر الأمر df -h ، وقم بإلغاء تحميلها وإنشاء صورة القرص باستخدام الأمر disk copy dd
$ 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 if = / path / to / raspbian-jessie-lite.img من = / dev / sdb (ملاحظة: في هذه الحالة ، يكون / dev / sdb ، / dev / sdb1 قسمًا مصنعًا موجودًا على microSD) إعداد RaspberriPi الخاص بك
أدخل بطاقة microSD الجديدة في raspberrypi وقم بتشغيلها باستخدام شاشة متصلة بمنفذ HDMI
تسجيل الدخول
المستخدم: pi pass: raspberry قم بتغيير كلمة مرور حسابك للأمان
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 Fix VIM الافتراضي تمييز بناء الجملة [اختياري]
sudo vi / etc / vim / vimrc
uncomment السطر التالي:
بناء الجملة على إعادة تشغيل PI للحصول على أحدث التغييرات
قم بتحديث إعدادات المنطقة الزمنية المحلية
sudo dpkg-recfigure tzdata حدد منطقتك الزمنية باستخدام الواجهة
الخطوة 2: إنشاء نقطة وصول WiFi
يرجى ملاحظة ، قبل أن يصبح هذا جهاز توجيه ، نقوم بتوصيل RaspberryPi بشبكة موجودة عبر منفذ ethernet الخاص به لتثبيت الحزم التالية
sudo apt-get update && sudo apt-get -y Upgrade
sudo apt-get install dnsmasq hostapd vim
sudo apt-get install vim git python-smbus i2c-tools python-imaging python-smbus build-basic python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
أضف السطر التالي:
denyinterfaces wlan0 sudo vi / etc / network / interfaces
قم بتحرير قسم wlan0 بحيث يبدو كالتالي:
حلقة تلقائية لو iface loopback
دليل iface eth0 إنت
auto wlan0 iface wlan0 inet عنوان ثابت 10.0.10.1 قناع الشبكة 255.255.255.0 شبكة 10.0.10.0 بث 10.0.10.255
auto eth1 iface eth1 inet العنوان الثابت 10.0.20.1 قناع الشبكة 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.4 جيجا هرتز hw_mode = g
# استخدم القناة 6 قناة = 6
# تمكين 802.11n ieee80211n = 1
# تمكين WMM wmm_enabled = 1
# تمكين قنوات 40 ميجا هرتز بفاصل حماية 20 ثانية ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# قبول جميع عناوين MAC macaddr_acl = 0
# استخدم مصادقة WPA auth_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 domain-required # لا تقم بإعادة توجيه الأسماء القصيرة bogus-priv # لا تقم بإعادة توجيه العناوين في غير -مساحات العنوان المروتة.
# تعيين عناوين IP مع وقت تأجير غير محدود (لإحصائيات استخدام الجهاز) dhcp-range = wlan0 ، 10.0.10.100 ، 10.0.10.200 ، 255.255.255.0 ، 10.0.10.255 ، نطاق dhcp اللانهائي = 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 - ذات الصلة بالدولة ، تم تأسيسها -j قبول
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state - ذات الصلة بالحالة ، تم تأسيسها -j قبول
sudo iptables -A FORWARD -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-response </etc/iptables.ipv4.nat أعد تشغيل الخدمات
بدء خدمة sudo hostapd بدء sudo خدمة dnsmasq
sudo إعادة التشغيل
تعيين عناوين IP الثابتة [اختياري]
إذا كنت ترغب في أن يكون لدى المضيفين على شبكتك ips ثابتة ، فيرجى استخدام ما يلي
احصل على المضيفين المتصلين حاليًا عبر DHCP vi /var/lib/misc/dnsmasq.leases
أضف عنوان MAC (من الإخراج أعلاه) وعنوان IP الذي ترغب في تعيينه لهما إلى sudo vi /etc/dnsmasq.conf
# main desktop 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 المحدد ، فقط على نفس الشبكة الفرعية. سطح المكتب الرئيسي أعلاه موجود على الشبكة الفرعية eth1: 10.0.20.0 ، لذلك أعطيته عنوان IP وهو 10.0.20.20.
إضافة جدار حماية UFW
sudo apt-get install ufw
السماح باستخدام المنفذ 22 للاستخدام العام (للوصول إلى الشبكة عن بُعد)
sudo ufw تسمح 22
السماح لجميع المنافذ على شبكتي المحلية
يسمح sudo ufw من 10.0.10.0/24 sudo ufw بالسماح من 10.0.20.0/24
السماح لمنافذ الويب للجميع
sudo ufw allow 80
السماح لمنافذ الويب الآمنة للجميع
sudo ufw allow 443
قم بتمكين UFW وتحقق من الحالة
sudo ufw - تمكين القوة
حالة sudo ufw
إصلاح BUG مع UFW لا يبدأ عند بدء التشغيل
sudo su crontab -e
أضف السطر التالي:reboot / bin / sleep 60 ؛ ufw - تمكين القوة
الخطوة 3: الإمدادات المطلوبة: Old Broken Nintendo
حالة Nintendo القديمة من NES المكسور (قم بإزالة جميع المحتويات القديمة داخل العلبة ، ولم يتبق سوى الإطار الخارجي وأزرار الطاقة / إعادة الضبط ووصلات وحدة التحكم)
الخطوة 4: المستلزمات المطلوبة: Raspberry Pi 3 Model B
الخطوة 5: المستلزمات المطلوبة: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Display Module
الخطوة 6: المستلزمات المطلوبة: 5V 0.1A Mini Fan Raspberry Pi
الخطوة 7: المستلزمات المطلوبة: محول الشبكة السلكية Ugreen USB 2.0 إلى 10/100 Fast Ethernet Lan
الخطوة 8: البناء
تثبيت داخل NES
باستخدام طابعة ثلاثية الأبعاد ، اطبع إطار Digole Display "NESPanel" في / Construction / display-frame / المجلد. [إذا لم يكن لديك طابعة ثلاثية الأبعاد ، فيمكنك قطع فتحة مربعة بدقة لشاشة Digole باستخدام أداة Dremel] اقطع الفتحات التالية في الجزء الخلفي والجانب من العلبة للسماح بتثبيت المروحة الصغيرة على الجانب وكابلات الطاقة / إيثرنت وإيثرنت USB للدخول من خلال الظهر.
الخطوة 9: مقاولات البناء
قم بفك اللوحة السوداء العلوية اليمنى من NES وقم بقص ثقب مربع كبير بما يكفي لتركيب شاشة digole. صمغ الشاشة في مكانها باستخدام إطار الطباعة ثلاثية الأبعاد "NESPanel" فوقها.
الخطوة العاشرة: مقاولات البناء
قم بتركيب RaspberryPi في منتصف الجزء السفلي من علبة NES الفارغة ، اربطها بالغراء أو برغي صغير من خلال الجزء السفلي. باستخدام مقاومة 270 أوم ، قم بتوصيل "power on LED" الخاص بـ NES بمسامير 5V و GND في Raspberry Pi (مؤشر LED القصير هو الأرض). قم بتوصيل المروحة الصغيرة بمسامير 5V و GND أيضًا لتشغيلها عند بدء تشغيل الوحدة ، قم بلصق المروحة على الفتحة الموجودة في الجانب من أجلها.
الخطوة 11: توصيل شاشة Digole
قم بتوصيل المسامير التالية بالدبابيس الموجودة على RaspberryPi
VCC متصل بـ 3v GND هو الأرضي DATA هو SDA CLOCK هو SCL الآن يجب أن ترى الجهاز في الأمر i2cdetect الخاص بك
i2cdetect -y 1 يجب أن يظهر في شبكة النص كـ 27
الخطوة 12: قم بتثبيت أدوات مراقبة الشبكة وتسجيل قاعدة البيانات
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
بسكل
إنشاء كلمة مرور للدور "كلمة المرور هنا" ؛
تغيير دور pi تسجيل الدخول ؛
تغيير دور المستخدم الخارق ؛
du
(يجب أن ترى مستخدم PI الخاص بك مع الأذونات الممنوحة) إنشاء قاعدة بيانات network_stats ؛
ف
خروج
psql -d network_stats
قم بتشغيل الاستعلامات التالية:
CREATE TABLE traffic_per_minute (رقم التعريف التسلسلي ، الطابع الزمني بدون المنطقة الزمنية NOT NULL ، eth0_down real ، eth0_up real ، eth1_down real ، eth1_up real ، wan0_down real ، wan0_up real) ؛
إنشاء UNIQUE INDEX time_idx ON traffic_per_minute (time) ؛ انسخ مجلد التعليمات البرمجية "logging" من هذا المشروع إلى الدليل الرئيسي لـ RPi الخاص بك
كرونتاب -e
أضف هذا الخط
@ reboot / bin / sleep 60 ؛ nohup python /home/pi/logging/networkUsage.py> / dev / null 2> & 1
الخطوة 13: تثبيت تقرير ملخص حركة المرور (يتم تشغيله كل 5 دقائق بواسطة Cronjob)
كرونتاب -e
أضف السطر التالي
* / 5 * * * * python /home/pi/logging/trafficSummary.py
الخطوة 14: قم بتثبيت شاشة لوحة المعلومات
انسخ مجلد الكود "عرض" من هذا المشروع إلى الدليل الرئيسي لـ RPi الخاص بك
قم بتشغيله على النحو التالي
$ python /home/pi/display/NESRouter.py إعداد البرنامج النصي للعرض ليتم تشغيله عند بدء التشغيل
كرونتاب -e
أضف هذا الخط
reboot nohup python /home/pi/display/NESRouter.py> / dev / null 2> & 1
تحقق من أن الشاشة تبدأ العمل عند إعادة التشغيل
sudo إعادة التشغيل
الخطوة 15: تثبيت موقع الاستخدام المحلي / الإحصائيات [https://10.0.10.1]
قم بتثبيت موقع الاستخدام المحلي / الإحصائيات [https://10.0.10.1]
sudo apt-get update && sudo apt-get Upgrade -y
sudo apt-get install apache2
إعادة تشغيل sudo خدمة apache2
إزالة الصفحات الافتراضية
cd / var / www
sudo rm -rf html
انسخ مجلد "webportal" من هذا المشروع إلى المجلد الرئيسي الخاص بك على 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
أضف داخل العلامة
خيارات + إعادة تشغيل ExecCGI AddHandler cgi-script.py sudo service apache2
يمكنك الآن زيارة موقع HTTP المحلي [https://10.0.10.1]
إعداد مراقبة الشبكة المتقدمة (عبر IPFM)
sudo apt-get update
sudo apt-get install 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"
# سجل كل دقيقة تفريغ كل 1 دقيقة
# إحصائيات واضحة كل يوم امسح كل 24 ساعة قم بترتيب حل sudo service ipfm start
اختياري: إنشاء صور Nintendo الخاصة بك لعرضها على الشاشة
قم بتحميل ملف 128 × 128 الخاص بك إلى عنوان URL التالي:
www.digole.com/tools/PicturetoC_Hex_convert…
اختر ملف الصورة لتحميله ، أضف الحجم الذي تريده أن يكون على الشاشة (العرض / الارتفاع)
حدد "256 لونًا للون OLED / LCD (1 بايت / بكسل)" في القائمة المنسدلة "مستعملة لـ"
الحصول على الناتج السداسي.
أضف الإخراج السداسي إلى ملف عرض / بناء / رأس (.h) ، واستخدم الملفات الأخرى كدليل لبناء الجملة.
قم بتضمين الملف الجديد في ملف digole.c #include 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 Re-Building [مضمن] Digole Display Driver لتغييراتك الاختيارية
عرض $ cd / بناء $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole
موصى به:
راوتر يو بي إس V2: 6 خطوات (بالصور)
Router Ups V2: مرحبًا بالجميع ، قبل بضعة أشهر ، قمت بعمل أول UPS الخاص بي لأجهزة التوجيه باستخدام بطارية ليثيوم أيون 18650 ، صنعت اثنين من UPS ، أحدهما لجهاز التوجيه الخاص بي والآخر لمحول الألياف الخاص بي. كان قليلا من الفوضى مع اثنين من محول الطاقة. كان من ضمن قائمة المهام الخاصة بي أن أصنع UPS واحدًا
إعادة استخدام صندوق راوتر قديم لمشروع Arduino الخاص بك: 3 خطوات
إعادة تصميم صندوق راوتر قديم لمشروع Arduino الخاص بك: جاء هذا المشروع من الحاجة إلى توفير مشروع أتمتة منزلي ، قررت إعادة الغرض من جهاز توجيه PlusNet القديم الخاطئ (جهاز توجيه Thomson TG585). العلبة كانت :: صندوق معلق على الحائط منخفض المظهر من السهل قلب غطاء المقلاة
راسبري باي ريبوت راوتر: 3 خطوات
Raspberry Pi Reboot Router: هل لاحظت من قبل أنك لم تعد متصلاً بالإنترنت؟ هل من المحبط أن تستيقظ في الصباح وتضطر إلى إعادة تشغيل جهاز التوجيه لاستعادة الإنترنت؟ ابكر
راوتر منزلي لاسلكي بمقياس استخدام تناظري: 5 خطوات (بالصور)
جهاز التوجيه المنزلي اللاسلكي مع مقياس الاستخدام التناظري: لقد نشأت في القوارب وحولها لصنع أنوال الأسلاك ولوحات التحكم ، ولدي مجموعة من المقاييس وأمبير. الأوجه التي يمكن العثور عليها عادةً متصلة بمحركات الديزل البحرية الصغيرة. اليوم أعمل كمصمم يبني واجهات للشبكات
3 راوتر CNC المحور - 60 "x60" x5 "- JunkBot: 5 خطوات (بالصور)
3 Axis CNC Router - 60 "x60" x5 "- JunkBot: هذا Instructable هو الأول في سلسلة يوثق إنشاء جهاز توجيه CNC ثلاثي المحاور. وهذا أيضًا دخولي إلى مسابقة Universal Laser Cutter. الهدف من هذه التعليمات ليس لإظهار تقدم كامل خطوة بخطوة بل بالأحرى