Агуулгын хүснэгт:
- Алхам 1: Алхам 1: Эд ангиудыг угсарна уу
- Алхам 2: Алхам 2: Утас ба цахилгаан бараа
- Алхам 3: Алхам 3: Үйлдлийн системийн програм хангамжийн тохиргоо
- Алхам 4: Алхам 4: JSON тохиргоог шинэчилнэ үү
Видео: NHL орны дэргэдэх хоккейн гэрэл ба LCD: 4 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Танилцуулга
"NHL Light" нь багаа дагахыг хүсдэг, гэхдээ тоглолт бүрийг үзэж чаддаггүй хоккей сонирхогчдод зориулагдсан болно. Үүний хамгийн сайн онцлог нь гоолын оноог хоккейн эвэр (танай багт зориулагдсан), хөнгөн байдлаар дуурайдаг явдал юм.
Хоккейн эвэр, гэрлээс гадна "NHL Light" дэлгэц нь одоогийн эсвэл хамгийн сүүлийн тоглолтын оноо, дараагийн тоглолтын цаг, цаг, одоогийн огноо, цагийг харуулдаг дэлгэцтэй.
"NHL Light" нь электроникийн эд ангиудыг угсрахад хялбар, чөлөөтэй ашиглах боломжтой кодуудын энгийн жагсаалт дээр ажилладаг.
Онцлог шинж чанарууд
- Таны баг болон wifi -ийг сонгох вэб хуудсанд суурилсан тохиргоо
- Танай баг оноо авах үед гэрэл, эвэр тоглодог (та зочин баг байсан ч гэсэн)
- Тоглоомын эхлэлийг зарлахын тулд дуугардаг
- Тоглоомын төгсгөлийг зарлахын тулд дуу тоглодог
- Тоглолт хийгдээгүй тохиолдолд дараагийн тоглолтын цаг, огноог өгнө.
- Тоглоом үргэлжилж байгаа бол тухайн үеийн тоглоомын цаг, хугацааг харуулна.
- Одоогийн огноо, цагийг харуулна.
Алхам 1: Алхам 1: Эд ангиудыг угсарна уу
Энд хэсгүүдийн жагсаалт байна.
-
Raspberry Pi W*
- Амазон
- Би өөрийн уурхайг Microcenter -ээс авахыг илүүд үздэг, гэхдээ онлайнаар бусад газраас хямд үнээр олж болно.
- $10
- SD карт (хамгийн багадаа 4 гигабайт)*
- чанга яригч - Амазон - ~ $ 2 *
- amp - PAM8403* - Амазон - тус бүр ~ 1 доллар
- гэрэл - Амазон - ~ 5 доллар
-
Кейс - $ 1*
- Майклынх
- Майклын гар урлалын дэлгүүрээс жижиг модон гар урлалын хэрэг хийхийг зөвлөж байна, гэхдээ танд үлдээх болно!
-
I2C 2004 LCD - 3-7 доллар
- Амазон
- Код нь 3 төрлийн LCD дэлгэцийг дэмждэг боловч I2C 2004 бол миний хамгийн сайн үнэ цэнэ, хэмжээгээр шийдсэн загвар юм. (SSD1306 бас боломжтой)
- 2 транзистор - 2N2222A- Амазон
- Янз бүрийн утас / гагнуур 12V
- цахилгаан хангамж - Амазон
- 12V -> 5V Бак хөрвүүлэгч - Амазон
*Энэ хэсгийг сонгохдоо уян хатан байдал бий.
ТАЙЛБАР: Та энэ төслийн ихэнх ажлыг зөвхөн бөөрөлзгөнө Пи -ээрээ эхлүүлэх боломжтой бөгөөд бусад зүйлийг хүргэхийг хүлээх болно.
Алхам 2: Алхам 2: Утас ба цахилгаан бараа
-
Гэрэл цуглуулах
- Гэрлийн утас нь гэрэл рүү 12 + гүйдэг.
- Транзисторын аль нэгээр гэрлээс сөрөг гүйх.
- Транзисторын эмметр нь газарт унана.
- Транзисторын цуглуулагч Raspberry Pi руу явдаг.
-
Дуу чимээ цуглуулах
- PI -ээс өсгөгч рүү баруун эсвэл зүүн дууг ажиллуул
- +5V -ийг өсгөгч рүү ажиллуулна уу
- Амп газрыг 2 -р транзистор руу ажиллуулна уу.
- 2 -р дамжуулагчийн эмметрийг газардуул
- Raspberry Pi руу транзисторын цуглуулагчийг ажиллуулна уу
- PI руу утас угсрах
-
Энэ бол PI -ийн заах заавар юм (эдгээрийн заримыг JSON -ээр дамжуулан тохируулах боломжтой)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Хөнгөн 10 (GPIO15)
- Зөв дуу чимээ - GPIO 18
-
Алхам 3: Алхам 3: Үйлдлийн системийн програм хангамжийн тохиргоо
-
Raspberry Pi W бэлтгэ
- Rasberry pi нь Raspbian (эсвэл бусад Debian) -ийн сүүлийн хувилбарыг ажиллуулж байх ёстой.
- Эдгээр зааврыг дагаж мөрдөхийг зөвлөж байна:
- Wifi wpa_supplicant файл оруулахаа мартуузай.
- Ssh хандалтыг зөвшөөрөхийн тулд ssh файлыг sdcard дээр тавь.
-
Гуравдагч талын програм хангамжийг бэлтгэ.
- Гуравдагч талын шаардлагатай бүх хэрэгслийг татахын тулд би энэ үйл явцыг автоматжуулсан боловч тэдгээрийг гараар ажиллуулж, ямар ч алхам амжилтгүй болохын тулд хянана уу.
- Дараах скриптийг татаж аваад ажиллуулна уу:
Үйлдлийн системийг тохируулах суулгах скрипт юу хийдэг болохыг энд харуулав. Эдгээр мөрүүдийг гараар ажиллуулах нь хамгийн сайн арга бөгөөд ингэснээр та алдааг ажиглаж чадна.
Скриптийн толгой:
#!/bin/sh -e #-г #curl -sL -ээр дуудаж болно https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: энэ скриптийг curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… гэх мэтээр автоматжуулаарай. sudo -E bash - # TODO: wifi тохируулах # TODO: passwd болон зөвшөөрөгдсөн түлхүүрүүдийг тохируулах # тэмдэглэл:
Програм хангамжийг OS түвшинд шинэчлэх:
#apt-get зүйлс (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #General Dev apt-get install -y git build-essential python-dev python-pip python-smbus libasound2-dev nodejs # GPIO apt-get install -y raspi-gpio python-Imaging python-smbus libasound2-dev #networking apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y
Сүлжээний тохиргоо. Энд байгаа зорилгын нэг хэсэг нь системийг хандалтын цэгээр тохируулах, өөрийн Wi -Fi сүлжээнд холбогдох боломжийг олгох явдал байсан боловч одоогоор бүрэн туршиж үзээгүй байна. Wifi тохируулахын тулд wpa_supplicant аргыг ашиглахыг одоогоор зөвлөж байна.
#networking setupecho nhllight>/etc/hostname #TODO:/etc/hosts -ийг засах #TODO: setup br0 mkdir/etc/hostapd/ #note: бусад тохиргоог тохиргооны файлуудаар хийж, бүрхүүлийг шинэчлэлтийн нэг хэсэг болгон буулгасан болно.
Node ба зангилааны санг шинэчлэх
#update nodecd/tmp export nodeversion = 8.9.0 #wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… #wget https://nodejs.org/dist/v7. 4.0/node-v7.4.0-linux-… wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… tar -xvf node-v $ {nodeversion} -linux-armv6l. tar.xz cd node-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENSE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: зангилааны хоёртын сим холбоосыг хийх үү? apt -get remove -y --purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horns mkdir/opt/nhl/node_modules/
#зангилаа шинэчлэх
#зангилааны хамаарлыг nhl директор руу экспортлох NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - энэ доголон дэлхий даяар суулгадаггүй
cd/opt/nhl npm доголон # доголон, доголон байна, дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm чанга яригч суулгах # дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/чанга яригч $ NODE_PATH npm i2c-bus суулгах #дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm суулгах oled-i2c-bus #дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm суулгах lcd #дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm суулгах lcdi2c #дэлхий даяар суулгахгүй cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm install oled-font-5x7 #дэлхий даяар суулгахгүй
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #дэлхий даяар суулгахгүй
cp -R/opt/nhl/node_modules/off $ NODE_PATH
#npm install pm2 #дэлхий даяар суулгахгүй
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #дэлхий даяар суулгахгүй #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# ямар ч дэлхийн модуль
npm express body -parser child_process pm2 -g суулгах
Хамгийн сүүлийн кодыг татах:
#татах git codecd/opt/nhl #JSON бол нэг удаагийн бүтээл wget --no -cache -O /opt/nhl/nhl_config.json https://raw.githubusercontent.com/wga22/nodejs/ma… #wget -O /opt/nhl/NHL_work.js https://raw.githubusercontent.com/wga22/nodejs/ma… #NHL curl -sL -ийн бусад бүх зүйлийг суулгах автомат скриптийг дуудах https://raw.githubusercontent.com/wga22/nodejs /ээж… | sudo -E bash -
Эвэр татаж аваарай!
#татах hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
Raspberry pi тохиргооны файлуудыг шинэчлэх - - таны системд өөрчлөлт оруулах шаардлагатай байж магадгүй юм
#config файлын шинэчлэлтүүд#cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #turn i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. txt
#TODO: энэ хэрэгтэй юу? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: дууны хэмжээг тохируулах, 60%?
Ачаалах, кодын шинэчлэлт гэх мэт автоматжуулалтыг автоматжуулах:
# update rc.local# ТАЙЛБАР: файлыг зөөж байна, учир нь стандарт мөрөнд сүүлийн мөрөнд "гарц" орсон байдаг тул mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local хавсрах боломжгүй. chmod u+x /etc/rc.local printf '#!/bin/sh'> /etc/rc.local printf '\ n /etc/bootup_nhl.sh> /tmp/rclocal.log' >>/etc/rc.local printf '\ n 0 -ээс гарна >> /etc/rc.local
# TODO: Долоо хоног бүр тогтмол програм хангамжийн шинэчлэлт хийхийн тулд ямар нэгэн зүйл нэмэх хэрэгтэй# Магадгүй энэ файлыг rc.weekly хавтас руу шууд хуулж аваарай? rm /etc/cron.weekly/nhl_updater printf '#!/bin/sh / ncurl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -'> /etc/cron.weekly/nhl_updater chmod u+x /etc/cron.weekly/nhl_updater
Цагийн бүсийг тохируулах гэх мэт бусад зүйлс:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
зангилааны_ зам бүхий # орчны хувьсагчийг шинэчлэх
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: self.ipaddress = process.env. NODEJS_IP зангилааны хувьд үүнийг тодорхойл.; #TODO: self.port = process.env. NODEJS_PORT || 80;
Зангилааны серверийн тохиргоонд PM2 -ийг ашиглана уу.
#TODO: туршилтын тохиргоо PM2cd /tmp /npm install -g pm2 pm2 startup cd /opt /nhl pm2 start NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "-max_old_space_size 100M" pm2 хэмнэх pm2 эхлүүлэх гарц 0
Алхам 4: Алхам 4: JSON тохиргоог шинэчилнэ үү
JSON тохиргооны файлыг хүссэн багтаа тохируулна уу. Энэ файл нь /opt /nhl GO CAPITALS дотор байрладаг! JSON файлыг тохируулах
Програм хангамж нь таны дагаж буй техник хангамж, багийг тохируулахын тулд JSON файлыг ашигладаг. Багыг ажиллаж байгаа вэб серверээр дамжуулан тохируулах боломжтой боловч тоног төхөөрөмжийн тохиргоог гараар тохируулах шаардлагатай байна.
Боломжит үнэ тус бүрийн тайлбарыг энд оруулав.
- myteam: энэ бол дагахыг хүсч буй багийн 3 үсгийн код юм
- дибаг хийх: Боломжит утгууд нь 1 (үнэн) эсвэл 0 (худал) байх бөгөөд хэр их бүртгэлийг бичсэнийг хянах болно.
-
гаралт: Энэ бол оноо/дэлгэрэнгүйг харуулах арга юм. Боломжит утгууд нь:
- lcd: энэ бол 2004 оны LCD
- консол: энэ нь зөвхөн терминал руу бичих болно (командын мөрийг ажиллуулахад)
- oled: SSD6404 олед дэлгэцийг дэмжих
-
гэрэл: хоёр төрлийн гэрлийг дэмждэг
- дохиолол: энэ нь транзисторыг асаах/унтраах ганц GPIO хөтөч болно
- олон удирдамж: олон өнгийн эсвэл олон LED-ийг дэмждэг
- үгүй: гэрэл залгаагүй
- amp: энэ бол өсгөгчийн транзисторыг жолооддог GPIO юм
Зөвлөмж болгож буй:
Орны дэргэдэх MP3 дохиолол бүхий цаг: 6 алхам (зурагтай)
Орны дэргэдэх MP3 дохиолол бүхий захын цаг: Энэ төслийн хувьд би орны дэргэдэх тохиромжтой, бүрэн ажиллагаатай сэрүүлэгтэй цаг хийхийг хүсч байсан. Орны дэргэдэх сэрүүлэгтэй цагны миний хувийн урьдчилсан нөхцөл бол: Ямар ч гэрэлд унших боломжтой, шөнийн цагаар сохордоггүй MP3 дохиоллын аялгуу татах
Хүүхдэд зориулсан орны дэргэдэх цаг: 12 алхам
Хүүхдэд зориулсан орны дэргэдэх цаг: Энэхүү зааврыг дагаж та хөдөлгөөнийг идэвхжүүлсэн цаг бүтээх боломжтой бөгөөд тухайн өдөр, цаг, холбогдох үйл явдлыг харуулах болно. Энэ нь унтах цаг болоход шөнийн горимыг харуулах бөгөөд хүүхдүүд сэрэхэд тэд юу санаж байгаагаа хурдан санах болно
Орны дэргэдэх компьютерийн тэрэг: 8 алхам
Орны компьютерийн тэрэг: Таны зөөврийн компьютер хэт халсан уу? Муу хийсэн компьютерийн тэрэгний үдээснээс хүзүү таталт уу? Энэ бол таныг болон таны компьютерийг нэгэн зэрэг аз жаргалтай болгох тэрэг хийхэд хялбар юм
Мини LED орны дэргэдэх шөнийн гэрэл / чийдэн: 5 алхам
Мини LED орны дэргэдэх шөнийн гэрэл / чийдэн: Юуны өмнө үүнийг Sunbanks -ийн Mini чөлөөтэй зогсож буй LED чийдэнгээс санаа авсан гэж хэлэх ёстой. Удирдагчийг ширээнээс хол байлгахын тулд био ашиглахын оронд суурийг гэрэлтүүлэхийн тулд тодорхой хэтийн төлөвийг ашигласан болно
Хөнгөн гэрэлтүүлэгч- орны дэргэдэх цаг гэх мэт. 4 алхам (зурагтай)
Хөнгөн гэрэлтүүлэгч- Орны дэргэдэх цаг гэх мэт. Энэ нь эхнэр маань унтлагын өрөө харанхуй байхад унтлагын өрөөний цагийг харж чадахгүй байна гэж гомдоллосноос болж намайг сэрээх гэж гэрлээ асаахыг хүсээгүйтэй холбоотой юм. . Эхнэр маань цагны гэрлийг асаахыг хүсээгүй