Агуулгын хүснэгт:

Nintendo Wifi чиглүүлэгч: 17 алхам (зурагтай)
Nintendo Wifi чиглүүлэгч: 17 алхам (зурагтай)

Видео: Nintendo Wifi чиглүүлэгч: 17 алхам (зурагтай)

Видео: Nintendo Wifi чиглүүлэгч: 17 алхам (зурагтай)
Видео: ВКУСНАЯ ЕДА ИЗ ПРОСТЫХ ПРОДУКТОВ В КАЗАНЕ 2 РЕЦЕПТА Узбекский суп 2024, Арваннэгдүгээр
Anonim
Nintendo Wifi чиглүүлэгч
Nintendo Wifi чиглүүлэгч

Хуучин Nintendo Entertainment системийн хайрцгийг ашиглан RaspberryPI 3 ашиглан өндөр чанартай гэрийн чиглүүлэгч үйлдвэрлээрэй!

Алхам 1: Шаардлагатай RaspberryPi програмыг суулгана уу

RaspberriPi хатуу дискийг анивчуулах / Шаардлагатай програм хангамжийг суулгах (Ubuntu Linux ашиглан)

"RASPBIAN JESSIE LITE" татаж авах

DashboardPI -д зориулж шинэ хатуу дискээ үүсгээрэй

USB адаптераар дамжуулан microSD -ийг компьютерт оруулаад dd командыг ашиглан дискний дүрсийг үүсгэнэ үү

Оруулсан microSD картаа df -h командыг ашиглан олоод, дискний хуулбар dd командын тусламжтайгаар дискний дүрсийг үүсгэнэ үү.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медиа/XXX/1234-5678

$ umount /dev /sdb1

Анхааруулга: тушаал үнэхээр зөв байгаа эсэхийг шалгаарай, та энэ тушаалаар бусад дискийг гэмтээж болно

if = RASPBIAN JESSIE LITE зургийн файлын байршил = таны microSD картны байршил

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (жич: энэ тохиолдолд/dev/sdb,/dev/sdb1 нь одоо байгаа үйлдвэрийн хуваалт байсан. microSD) RaspberriPi -ийг тохируулах

Шинэ microSD картаа raspberrypi -д оруулаад HDMI порт руу холбогдсон дэлгэцээр асаана уу

Нэвтрэх

user: 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

дараах мөрийг нэмнэ үү.

alias l = 'ls -lh'

source ~/.bashrc VIM -ийн үндсэн синтаксийг тодруулж засах [заавал биш]

sudo vi/etc/vim/vimrc

Дараах мөрийг комментоос хасна уу.

Хамгийн сүүлийн өөрчлөлтүүдийг авахын тулд PI -г дахин ачаална уу

Дахин ачаалах Орон нутгийн цагийн бүсийн тохиргоог шинэчлэх

sudo dpkg-дахин тохируулах 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 дүрслэл 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 сүлжээний маск 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 үйлчилгээ 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 сувгийг 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 = нууц үг

# TKIP -ийн оронд AES ашиглана уу

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 домэйнд дамжуулах шаардлагатай # Богино нэрийг бүү хуурамч-нууцаар дамжуулж болохгүй -хаягийн орон зай.

# 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

[тайлбаргүй] 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 -УРААГЧ -i eth1 -o eth0 -j ХҮЛЭЭН АВАХ

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-сэргээх </etc/iptables.ipv4.nat үйлчилгээг дахин эхлүүлэх

sudo үйлчилгээ hostapd эхлүүлэх sudo үйлчилгээ dnsmasq эхлүүлэх

sudo дахин ачаална уу

Статик IP -ийг оноох [Нэмэлт]

Хэрэв та сүлжээндээ хостууд статик ips -тэй болохыг хүсч байвал дараах зүйлийг ашиглана уу

Одоогийн байдлаар DHCP vi /var/lib/misc/dnsmasq.leases -ээр холбогдсон хостуудыг Aquire хий

Sudo vi /etc/dnsmasq.conf хаягаар өгөхийг хүсч буй MAC хаяг (дээрх гаралтаас) болон IP хаягаа нэмнэ үү.

# үндсэн ширээний 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 дэд сүлжээнд байгаа тул би түүнд 10.0.20.20 -ны IP хаягийг өгсөн.

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: Шаардлагатай хангамж: Хуучин эвдэрсэн Nintendo

Шаардлагатай хангамж: Хуучин эвдэрсэн Nintendo
Шаардлагатай хангамж: Хуучин эвдэрсэн Nintendo

Эвдэрсэн NES -ээс хуучин Nintendo хайрцаг (хайрцаг доторх бүх хуучин агуулгыг арилгаж, зөвхөн гадна хүрээ, асаах / дахин тохируулах товчлуурууд болон хянагчийн холболтыг үлдээнэ)

Алхам 4: Шаардлагатай хангамж: Raspberry Pi 3 Model B

Шаардлагатай хангамж: Raspberry Pi 3 Model B
Шаардлагатай хангамж: Raspberry Pi 3 Model B

Алхам 5: Шаардлагатай хангамж: 1.44 "Цуваа: UART/I2C/SPI TFT LCD 128x128 дэлгэцийн модуль

Шаардлагатай хангамж: 1.44
Шаардлагатай хангамж: 1.44
Шаардлагатай хангамж: 1.44
Шаардлагатай хангамж: 1.44

Алхам 6: Шаардлагатай хангамж: 5V 0.1A Mini Fan Raspberry Pi

Шаардлагатай хангамж: 5V 0.1A Mini Fan Raspberry Pi
Шаардлагатай хангамж: 5V 0.1A Mini Fan Raspberry Pi

Алхам 7: Шаардлагатай хангамж: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan утастай сүлжээний адаптер

Шаардлагатай хангамж: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan утастай сүлжээний адаптер
Шаардлагатай хангамж: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan утастай сүлжээний адаптер

Алхам 8: Барилга

Барилга
Барилга

NES дотор суулгана уу

3D хэвлэгч ашиглан Digole Display frame "NESPanel" -ийг/Construction/display-frame/фолдерт хэвлэ. [хэрэв танд 3D принтер байхгүй бол та Dremel хэрэгслээр Digole Display -ийн дөрвөлжин нүхийг нарийн хайчилж авах боломжтой] Жижиг сэнсийг бэхлэхийн тулд хайрцгийн арын болон хажуугийн доорх нүхийг хайчилж ав. хажуу ба цахилгаан/Ethernet болон USB ethernet кабелиуд араар нь оруулдаг.

Алхам 9: Барилгын ажил

Барилгын ажил
Барилгын ажил

NES -ээс баруун дээд талын хар самбарыг салгаж, нүхний дэлгэцээ холбох хангалттай том дөрвөлжин нүхийг цэвэрхэн хайчилж ав. Халуун цавуугаар дэлгэцийг дээд талд нь "NESPanel" 3D хэвлэсэн хүрээ байрлуулна.

Алхам 10: Барилгын ажил

Барилгын ажил
Барилгын ажил

RaspberryPi -ийг хоосон NES хайрцгийн ёроолын дунд байрлуулж, ёроолоор нь цавуу эсвэл жижиг боолтоор бэхлээрэй. 270 ом эсэргүүцэгч ашиглан NES -ийн "LED асаах" -ыг Raspberry Pi -ийн 5V ба GND тээглүүрт холбоно уу (богино LED хар тугалга нь газардуулга болно). Жижиг сэнсийг 5V ба GND тээглүүрт холбож, төхөөрөмжийг асаахад ажиллуулахын тулд сэнсийг хажуугийн нүхний эсрэг наа.

Алхам 11: Digole дэлгэцийг холбох

Дараах тээглүүрүүдийг RaspberryPi дээрх голтой холбоно уу

VCC нь 3v GND -тэй холбогдсон байна DATA бол SDA CLOCK бол SCL Одоо та төхөөрөмжийг i2cdetect тушаалдаа харах ёстой

i2cdetect -y 1 энэ нь текстийн сүлжээнд 27 гэж харагдах ёстой

Алхам 12: Сүлжээний хяналтын хэрэгсэл ба DB бүртгэлийг суулгана уу

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-салым python-psycopg2

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

Файлын төгсгөлд дараах мөрийг нэмнэ үү: local all pi password sudo -i -u postgres

psql

pi pi нууц үгийг 'энд нууц үг' үүсгэх;

pi нэвтрэх үүргийг өөрчлөх;

pi супер хэрэглэгчийн үүргийг өөрчлөх;

du

(та зөвшөөрөгдсөн зөвшөөрлүүдтэй өөрийн PI хэрэглэгчийг харах ёстой) network_stats мэдээллийн бааз үүсгэх;

q

гарах

psql -d network_stats

Дараах асуулгыг ажиллуулна уу.

ХҮСНЭГТ үүсгэ

Өвөрмөц INDEX -ийг үүсгэх_ замын хөдөлгөөний_минутын цагийн_idx (цаг); Энэ төслөөс "бүртгэх" кодын фолдерыг өөрийн RPi -ийн гэрийн лавлах руу хуулна уу

crontab -e

Энэ мөрийг нэмнэ үү

@дахин ачаалах /бин /унтах 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1

Алхам 13: Замын хөдөлгөөний хураангуй тайланг суулгана уу (Cronjob 5 минут тутамд ажиллуулдаг)

crontab -e

дараах мөрийг нэмнэ үү

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

Алхам 14: Хяналтын самбарын дэлгэцийг суулгана уу

Энэ төслийн кодын "харуулах" фолдерыг өөрийн RPi -ийн гэрийн лавлах руу хуулж ав

Үүнийг дараах байдлаар ажиллуулна уу

$ python /home/pi/display/NESRouter.py Эхлэх үед дэлгэцийн скриптийг тохируулна уу

crontab -e

Энэ мөрийг нэмнэ үү

@дахин ачаалах 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 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 үйлчилгээ apache2 дахин эхлүүлнэ

Та одоо орон нутгийн HTTP сайтад зочилж болно [https://10.0.10.1]

Нарийвчилсан сүлжээний хяналтыг тохируулах (IPFM -ээр)

sudo apt-get update

sudo apt-get ipfm суулгана уу

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

sudo vi /etc/ipfm.conf

Дараах агуулгаар бүтээнэ үү.

# Дэлхийн хувьсагчид

# IPFM нь зөвхөн нэг төхөөрөмжийг хянах боломжтой. ТӨХӨӨРӨМЖ eth0

# GLOBAL LOGGING Тохиргооны бүртгэл

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

минут тутамд # бүртгэл хийх 1 минут тутамд БУУЛ

# тодорхой статистик өдөр бүр

СОНГОЛТТОЙ: Дэлгэц дээр гаргахын тулд өөрийн Nintendo дүрсийг бүтээх

128x128 хэмжээтэй өөрийн файлыг дараах URL руу байршуулна уу.

www.digole.com/tools/PicturetoC_Hex_convert…

Байршуулах зургийн файлаа сонгож, хүссэн хэмжээгээ дэлгэцэн дээр нэмнэ үү (Өргөн/Өндөр)

"Ашигласан" жагсаалтаас "Өнгөт OLED/LCD (1 байт/пиксел) 256 Өнгө" -ийг сонгоно уу.

Hex гаралтыг авах.

Зургаан өнцөгт гаралтыг дэлгэц/ бүтээх/ толгой (.h) файлд нэмж, бусад хэсгийг синтаксийн заавар болгон ашиглаарай.

Шинэ файлыг digole.c файлд #include myimage.h

Зургийн файлдаа тушаалын мөрийн шинэ дэгээ оруулна уу. Тэмдэглэл: Доорх тушаал нь таны зургийг 10 пикселээс доош 10 пикселийн байрлалд зурна гэсэн үг юм. Та үүнийг өөр өөр X, Y координат болгон өөрчилж болно, мөн 128, 128 гэсэн утгыг шинэ дүрснийхээ хэмжээгээр өөрчилж болно.

} if if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Here нь таны (.h) файлд тодорхойлогдсон болно}

Дараах тушаалыг ашиглан шинэ дүрсийг гаргахын тулд доорх зүйлсийг дахин бүтээгээрэй (алдааг үл тоомсорлоорой).

$./digole myimage Дахин бүтээх [Оруулсан] Digole Display Driver нь нэмэлт өөрчлөлт оруулах боломжтой

$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Зөвлөмж болгож буй: