Мазмуну:

NHL керебет хоккей жарык жана ЖК: 4 кадам (сүрөттөр менен)
NHL керебет хоккей жарык жана ЖК: 4 кадам (сүрөттөр менен)

Video: NHL керебет хоккей жарык жана ЖК: 4 кадам (сүрөттөр менен)

Video: NHL керебет хоккей жарык жана ЖК: 4 кадам (сүрөттөр менен)
Video: ANGRY BIRDS 2 FLYING MADNESS LIVE 2024, Ноябрь
Anonim
Image
Image
NHL керебет хоккей жарык жана ЖК
NHL керебет хоккей жарык жана ЖК

Киришүү

"NHL Light" өз командасын ээрчигиси келген, бирок ар бир оюнду көрө албаган хоккей күйөрмандарына арналган. Анын эң мыкты өзгөчөлүгү - бул гол эсебин хоккей мүйүзү менен окшоштуруу (сиздин командаңыздын салттары) жана жарык.

Хоккей мүйүзү менен жарыктан тышкары, "NHL Light" дисплейи бар, ал учурдагы же эң акыркы оюндун упайын, оюн убактысын же кийинки оюндун убактысын, ошондой эле учурдагы күн менен убакытты көрсөтөт.

"NHL Light" бөлүктөрдүн жөнөкөй тизмеси боюнча иштейт, ал электрониканы чогултууга оңой жана коду эркин жеткиликтүү.

Өзгөчөлүктөрү

  1. Командаңызды жана wifi тандоо үчүн веб -баракчага негизделген конфигурация
  2. Сиздин команда гол киргизгенде жарык жана мүйүз ойнойт (сиз конокто жүргөнүңүздө да)
  3. Оюндун башталышын кабарлоо үчүн үн угулат
  4. Оюндун жыйынтыгын жарыялоо үчүн үн ойнойт
  5. Кийинки оюндун убактысын жана датасын көрсөтөт, эгерде оюн жүрүп жаткан жок болсо.
  6. Оюн жүрүп жаткан учурда учурдагы оюн убактысын жана мезгилин көрсөтөт.
  7. Учурдагы күндү жана убакытты көрсөтөт.

1 -кадам: 1 -кадам: Бөлүктөрүңүздү чогултуп алыңыз

1 -кадам: Бөлүктөрүңүздү чогултуп алыңыз
1 -кадам: Бөлүктөрүңүздү чогултуп алыңыз

Бул жерде бөлүктөрдүн тизмеси.

  1. Raspberry Pi W*

    1. Amazon
    2. Мен кенди Microcenterден алууну туура көрөм, бирок Интернеттен башка жерлерде азыраак табууга болот.
    3. $10
  2. SD карта (минимум 4гб)*
  3. спикер - Amazon - ~ $ 2 *
  4. amp - PAM8403* - Amazon - ~ 1 $ ар бири
  5. жарык - Amazon - ~ 5 доллар
  6. Кап - $ 1*

    1. Майклдыкы
    2. Мен Майклдын кол өнөрчүлүк дүкөнүнөн чакан жыгачтан жасалган кол капты сунуштайм, бирок сизге таштап кетет!
  7. I2C 2004 ЖК - 3-7 доллар

    1. Amazon
    2. Код LCDдин 3 түрүн колдойт, бирок I2C 2004 мен эң жакшы баалуулукка жана өлчөмгө токтолгон. (SSD1306 да мүмкүн)
  8. 2 транзистор - 2N2222A- Амазонка
  9. Ар кандай зымдар / solder12V
  10. электр менен камсыздоо - Amazon
  11. 12V -> 5V Бак конвертери - Amazon

*Бул бөлүктү тандоодо ийкемдүүлүк бар.

ЭСКЕРТҮҮ: Сиз башка долбоорлорду жөнөтүүнү күтүп жатып, бул долбоордун көбүн малина Пиңиз менен баштасаңыз болот.

2 -кадам: 2 -кадам: Зымдар жана электроника

2 -кадам: Электр өткөргүчтөрү жана электроника
2 -кадам: Электр өткөргүчтөрү жана электроника
2 -кадам: Электр өткөргүчтөрү
2 -кадам: Электр өткөргүчтөрү
  1. Жарык чогултуу

    1. Жарыктын зымдары жарыкка 12 + чуркоо.
    2. Транзисторлордун бири аркылуу жарыктан терс чуркаңыз.
    3. Транзистордун эмметри жерге түшөт.
    4. Транзистордун коллекционери Raspberry Piге барат.
  2. Үн чогултуу

    1. PIден оңго же солго үн чыгарыңыз
    2. Күчөткүчкө +5В чуркаңыз
    3. Амп жерге 2 -транзисторго чуркаңыз.
    4. 2 -транзистордун эмметрин жерге түшүрүңүз
    5. Raspberry Pi үчүн транзистордун коллекторун иштетүү
  3. PIге зымдарды чогултуңуз
  4. Бул PI үчүн pinout көрсөтмөлөрү (алардын айрымдары JSON аркылуу конфигурацияланат)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Жарык 10 (GPIO15)
    4. Оң үн - GPIO 18

3 -кадам: 3 -кадам: Иштетүү тутумунун программалык камсыздоосун орнотуу

  1. Raspberry Pi W даярдаңыз

    1. Rasberry pi акыркы Raspbian (же башка Debian) версиясын иштетиши керек.
    2. Бул көрсөтмөлөрдү аткаруу сунушталат:
    3. Wifi wpa_supplicant файлын кошууну унутпаңыз.
    4. Ssh кирүүгө уруксат берүү үчүн ssh файлын sdcardга коюңуз.
  2. Үчүнчү тараптын программасын даярдаңыз:

    1. Мен бул процессти бардык үчүнчү тараптын инструменттерин тартуу үчүн автоматташтырдым, бирок буларды кол менен иштетип, эч кандай кадамдар ийгиликсиз болушуна көз салып туруңуз.
    2. Төмөнкү скриптти жүктөп алып, иштетиңиз:

Бул жерде иштөө тутумун орнотуу үчүн орнотуу скрипти эмне кылаары жөнүндө. Бул линияларды кол менен иштетүү эң жакшы, андыктан каталарды көрө аласыз.

Скрипттин аталышы:

#!/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 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: башка орнотуулар конфигурация файлдары аркылуу жасалат жана кабык жаңыртуунун бир бөлүгү катары түшүрүлөт

Түйүн жана түйүн китепканаларын жаңыртуу

#жаңыртуу 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 түйүнү-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 lame # lame, lame, lame, глобалдык деңгээлде орнотпойт 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 install lcdi2c #глобалдык деңгээлде орнотулбайт c -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/onoff $ NODE_PATH

#npm install pm2 #глобалдык деңгээлде орнотулбайт

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm express express #глобалдык түрдө орнотулбайт #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# кандайдыр бир глобалдык модулдар

npm экспресс дене -талдоочу child_process pm2 -g орнотуу

Акыркы кодду тартыңыз:

#pull 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 /ma… | sudo -E bash -

Мүйүздөрдү жүктөп алыңыз!

#тартуу hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -

Raspberry pi конфигурация файлдарын жаңыртуу - - сиздин системага өзгөртүү керек болушу мүмкүн

#конфигурация файл жаңыртуулары#үн кошуу 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%?

Автоматташтыруу, мисалы, жүктөө жана код жаңыртуулары:

# жаңыртуу 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

node_path менен # жаңыртуу чөйрөсү өзгөрмөсү

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 орнотуу -g pm2 pm2 баштоо cd /opt /nhl pm2 баштоо NHL_work.js --node-args = "-max_old_space_size = 100 экспозиция-gc" pm2 баштоо webserver.js-түйүн -args = "-max_old_space_size 100M" pm2 сактоо pm2 баштоо 0 чыгуу

4 -кадам: 4 -кадам: JSON конфигурациясын жаңыртыңыз

JSON конфигурация файлын өзүңүзгө жаккан командага орнотуңуз, бул файл /opt /nhl GO CAPITALS! config JSON файлы

Программалык камсыздоо JSON файлын колдонуп, сиз ээрчип жаткан жабдыкты жана команданы конфигурациялайт. Команда иштеп жаткан веб -сервер аркылуу орнотулушу мүмкүн, бирок аппараттык орнотууну кол менен орнотуу керек:

Бул жерде ар бир мүмкүн болгон баалуулуктун түшүндүрмөсү келтирилген:

  • myteam: бул сиз ээрчигиси келген команданын 3 тамга коду
  • мүчүлүштүктөрдү оңдоо: Мүмкүн болгон баалуулуктар 1 (чыныгы) же 0 (жалган), жана канча журналдын жазылып турганын көзөмөлдөйт.
  • чыгаруу: бул упайлар/деталдар көрсөтүлө турган ыкма. Мүмкүн болгон баалуулуктар:

    • lcd: бул 2004 -жылкы LCD
    • консол: бул терминалга гана жазылат (буйрук сабын иштетүү үчүн)
    • oled: SSD6404 oled дисплейин колдоо
  • жарык: колдоого алынган жарыктын эки түрү бар

    • сигнал: бул транзисторду күйгүзүү/өчүрүү үчүн бир GPIO айдайт
    • көп жетектөөчү: көп түстүү же бир нече леддерди колдойт
    • эч ким: жарык кошулган жок
  • amp: бул транзисторду күчөтүүчү GPIO

Сунушталууда: