Sisukord:

NHL -i ööhoki tuli ja LCD: 4 sammu (koos piltidega)
NHL -i ööhoki tuli ja LCD: 4 sammu (koos piltidega)

Video: NHL -i ööhoki tuli ja LCD: 4 sammu (koos piltidega)

Video: NHL -i ööhoki tuli ja LCD: 4 sammu (koos piltidega)
Video: NHL Highlights | Devils vs. Lightning - January 27, 2024 2024, November
Anonim
Image
Image
NHL -i ööhoki tuli ja LCD
NHL -i ööhoki tuli ja LCD

Sissejuhatus

"NHL Light" on mõeldud hokifännidele, kes soovivad oma meeskonda jälgida, kuid ei saa igat mängu vaadata. Selle parim omadus on see, et see simuleerib värava skoori hokisarvega (teie meeskonna jaoks kohandatud) ja kerge.

Lisaks hokisarvele ja valgusele on "NHL Light" ekraanil ekraan, mis näitab jooksva või viimase mängu tulemust, mängu aega või järgmise mängu aega ning praegust kuupäeva ja kellaaega.

"NHL Light" töötab lihtsal osade loendil, mida on lihtne kokku panna elektroonika ja kood, mis on vabalt saadaval.

Funktsioonid

  1. Veebilehepõhine konfiguratsioon meeskonna ja wifi valimiseks
  2. Mängib kergelt ja helisignaaliga, kui teie meeskond skoorib (isegi kui olete võõrsil)
  3. Mängib heli, et teatada mängu algusest
  4. Mängu lõpuleviimiseks teatab heli
  5. Näitab järgmise mängu aega ja kuupäeva, kui ühtegi mängu pole pooleli.
  6. Kuvab praeguse mängu aja ja perioodi, kui mäng on pooleli.
  7. Kuvab praeguse kuupäeva ja kellaaja.

1. samm: 1. samm: pange oma osad kokku

Samm: pange oma osad kokku
Samm: pange oma osad kokku

Siin on osade loend.

  1. Vaarika Pi W*

    1. Amazon
    2. Eelistan hankida Microcenterist oma, kuid mujalt leiab seda odavamalt internetist.
    3. $10
  2. SD -kaart (vähemalt 4 GB)*
  3. kõlar - Amazon - ~ 2 dollarit *
  4. amp - PAM8403* - Amazon - igaüks ~ $ 1
  5. kerge - Amazon - ~ 5 dollarit
  6. Korpus - 1 dollar*

    1. Michaeli oma
    2. Soovitan Michaeli käsitööpoest väikseid puidust käsitöökotte, kuid jätan teie hooleks!
  7. I2C 2004 LCD - 3-7 dollarit

    1. Amazon
    2. Kood toetab kolme tüüpi vedelkristallekraane, kuid I2C 2004 on üks parimaid väärtusi ja suurusi. (SSD1306 on ka võimalik)
  8. 2 transistorit - 2N2222A- Amazon
  9. Mitmesugused juhtmed / joodis 12V
  10. toide - Amazon
  11. 12V -> 5V buck converter - Amazon

*Selle osa valimisel on paindlikkus.

MÄRKUS. Suurema osa sellest projektist saate alustada ainult oma vaarika Pi -ga, kuni ootate teiste esemete saatmist.

2. samm: 2. samm: juhtmestik ja elektroonika

Samm: juhtmestik ja elektroonika
Samm: juhtmestik ja elektroonika
Samm: juhtmestik ja elektroonika
Samm: juhtmestik ja elektroonika
  1. Pange valgus kokku

    1. Valgusti juhtmestik on valguse suunas 12 +.
    2. Töötage valguse kaudu negatiivselt läbi ühe transistori.
    3. Transistori emeter läheb maapinnale.
    4. Transistori kollektor läheb Raspberry Pi juurde.
  2. Pange kokku heli

    1. Käivitage parem või vasak heli PI -st võimendisse
    2. Viige võimendisse +5V
    3. Viige võimendi maandus teisele transistorile.
    4. Lükake teise transisitori emmeter maapinnale
    5. Käivitage transistori kollektor Raspberry Pi -le
  3. Pange juhtmestik kokku PI -ga
  4. See on PI pistikjuhend (mõned neist on konfigureeritavad JSON -i kaudu)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Light 10 (GPIO15)
    4. Heli õige - GPIO 18

3. samm: 3. samm: operatsioonisüsteemi tarkvara seadistamine

  1. Valmistage ette Raspberry Pi W

    1. Rasberry pi -l peab olema uusim Raspbiani (või muu Debiani) versioon.
    2. Soovitatav on järgida neid juhiseid:
    3. Lisage kindlasti wifi -fail wpa_supplicant.
    4. Sisestage ssh -fail sd -kaardile, et võimaldada juurdepääsu.
  2. Valmistage kolmanda osapoole tarkvara ette:

    1. Olen selle protsessi automatiseerinud, et tõmmata kõik vajalikud kolmanda osapoole tööriistad, kuid käivitage need käsitsi ja vaadake üle, veendumaks, et ükski toiming ei ebaõnnestu.
    2. Laadige alla ja käivitage järgmine skript:

Siin on jaotus selle kohta, mida operatsioonisüsteemi seadistamise installiskript teeb. Parim on käitada neid ridu käsitsi, et saaksite vigu jälgida.

Skripti päis:

#!/bin/sh -e #saab helistada #curl -sL kaudu https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatiseeri see skript millegi sarnasega: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: wifi seadistamine # TODO: seadistage parool ja volitatud võtmed # märkused:

Värskendage tarkvara OS -i tasemel:

#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #Üldine 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

Võrgu seadistamine. Osa eesmärgist oli lubada süsteemi konfigureerida pääsupunkti kaudu, ühendada oma WiFi -ga, kuid seda pole veel täielikult testitud. Praegu soovitatakse wifi seadistamiseks kasutada meetodit wpa_supplicant.

#networking setupecho nhllight>/jne

Värskendage sõlme ja sõlme teeke

#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 Litsents cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: teha sõlme binaarile sym link? 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/

#värskenda sõlme

#installi sõlmede sõltuvused kataloogi nhl eksport NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - parandage see, mida labased ei paigalda kogu maailmas

cd/opt/nhl npm install lame # lame, on lonkav, ei paigalda ülemaailmselt cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm install kõlar # ei paigalda globaalselt cp -R/opt/nhl/node_modules/speaker $ NODE_PATH npm install i2c-bus #ei installi globaalselt cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm install ole-i2c-bus #ei installi globaalselt cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm install lcd #wont install globally cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm install lcdi2c #wont install globally cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH

npm install oled-font-5x7 #ei installita globaalselt

cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH

npm install onoff #ei installita globaalselt

cp -R/opt/nhl/node_modules/onoff $ NODE_PATH

#npm install pm2 #ei installita globaalselt

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #ei installi globaalselt #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# kõik globaalsed moodulid

npm install express body -parser child_process pm2 -g

Tõmmake uusim kood:

#pull git codecd/opt/nhl #JSON on ühekordne loomine 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… #call automatiseeritud skript, et installida kõik muu NHL curl -sL jaoks https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -

Laadige sarved alla!

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

värskendage Raspberry pi konfiguratsioonifaile - - võib -olla tuleb teie süsteemi jaoks muuta

#config faili uuendused#lisage heli cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #lülitage i2c printf '\ n / ndtparam = i2c1 = sisse / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. txt

#TODO: kas seda on vaja? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules

amixer cset numid = 1

#TODO: määrake helitugevus, 60%?

Automatiseerige automatiseerimine, näiteks alglaadimine ja koodivärskendused.

# update rc.local# MÄRKUS: faili teisaldamine, kuna standard sisaldab viimasel real "exit", seega ei saa lihtsalt lisada 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 exit 0' >> /etc/rc.local

# TODO: peate lisama midagi, et teha regulaarseid tarkvaravärskendusi iga nädal niimoodi# Võib -olla lihtsalt kopeerige see fail otse kausta 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

Muud asjad, näiteks ajavööndi määramine:

ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime

# värskendage keskkonnamuutuja sõlmerajaga

cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: määrake see sõlmele self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

Kasutage sõlmeserveri seadistamiseks PM2 -d:

#TODO: test setup 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 salvesta pm2 käivitusväljund 0

4. samm: 4. samm: värskendage JSON -i konfiguratsiooni

Seadistage oma JSON -i konfiguratsioonifail soovitud meeskonnale jne. See fail asub kaustas /opt /nhl GO CAPITALS! config JSON -fail

Tarkvara kasutab jälgitava riistvara ja meeskonna seadistamiseks JSON -faili. Meeskonna saab seadistada töötava veebiserveri kaudu, kuid riistvara seadistamine tuleb käsitsi seadistada:

Siin on iga võimaliku väärtuse selgitus.

  • myteam: see on meeskonna 3 -täheline kood, mida soovite järgida
  • silumine: võimalikud väärtused on 1 (tõene) või 0 (vale) ja need määravad, kui palju logimist välja kirjutatakse.
  • väljund: see on meetod, mille abil skoori/üksikasju näidatakse. Võimalikud väärtused on järgmised:

    • LCD: see on 2004. aasta lcd
    • konsool: see kirjutab ainult terminalile (käsurea käivitamiseks)
    • oled: SSD6404 ekraani tugi oled
  • valgus: toetatakse kahte tüüpi tulesid

    • alarm: see käivitab ühe GPIO transistori sisse/välja lülitamiseks
    • mitme LED-ga: toetab mitmevärvilisi või mitut LED-i
    • puudub: valgust ei ole kinnitatud
  • amp: see on GPIO, mis juhib võimendi transistorit

Soovitan: