Përmbajtje:

NHL Drita e hokeit pranë shtratit dhe LCD: 4 hapa (me fotografi)
NHL Drita e hokeit pranë shtratit dhe LCD: 4 hapa (me fotografi)

Video: NHL Drita e hokeit pranë shtratit dhe LCD: 4 hapa (me fotografi)

Video: NHL Drita e hokeit pranë shtratit dhe LCD: 4 hapa (me fotografi)
Video: The Light of Hussein: Queen Noor of Jordan, Her Life Story. 2024, Nëntor
Anonim
Image
Image
NHL Light Hockey Light dhe LCD
NHL Light Hockey Light dhe LCD

Prezantimi

"NHL Light" është për tifozët e hokeit që duan të ndjekin ekipin e tyre, por nuk mund të shikojnë çdo lojë. Karakteristika më e mirë është se simulon një rezultat golash me një bri hokej (i përshtatur për ekipin tuaj), dhe i lehtë.

Përveç bri dhe dritës së hokeit, "NHL Light", ka një ekran që siguron rezultatin aktual, ose më të fundit të lojës, kohën e lojës ose kohën e lojës tjetër, dhe datën dhe kohën aktuale.

"Drita NHL" funksionon në një listë të thjeshtë të pjesëve, që është e lehtë për tu montuar elektronikë, dhe kod që është i disponueshëm lirshëm.

Karakteristikat

  1. Konfigurimi i bazuar në faqen e internetit për zgjedhjen e ekipit tuaj dhe wifi
  2. Luan lehtë dhe me bri kur ekipi juaj shënon (edhe kur jeni skuadra jashtë)
  3. Luan zë për të njoftuar fillimin e lojës
  4. Luan një tingull për të njoftuar përfundimin e lojës
  5. Siguron kohën dhe datën e lojës tjetër, nëse nuk ka lojë në vazhdim.
  6. Shfaq kohën dhe periudhën aktuale të lojës, nëse loja është në progres.
  7. Shfaq datën dhe kohën aktuale.

Hapi 1: Hapi 1: Mblidhni pjesët tuaja

Hapi 1: Mblidhni pjesët tuaja
Hapi 1: Mblidhni pjesët tuaja

Këtu është një listë e pjesëve.

  1. Raspberry Pi W*

    1. Amazon
    2. Unë preferoj të marr timin nga Microcenter, por mund të gjendet në internet për më pak në vende të tjera.
    3. $10
  2. Kartë SD (minimumi 4gb)*
  3. altoparlant - Amazon - ~ 2 $ *
  4. amp - PAM8403* - Amazon - 1 dollarë secila
  5. dritë - Amazon - ~ 5 dollarë
  6. Rasti - $ 1*

    1. Të Michael -it
    2. Unë rekomandoj një kuti të vogël artizanale prej druri nga dyqani artizanal i Michael, por do t'ju lë juve!
  7. LCD I2C 2004 - 3-7 dollarë

    1. Amazon
    2. Kodi mbështet 3 lloje të LCD -ve, por I2C 2004 është ai për të cilin jam vendosur si vlera dhe madhësia më e mirë. (SSD1306 është gjithashtu e mundur)
  8. 2 transistorë - 2N2222A- Amazon
  9. Tela të ndryshëm / saldim 12V
  10. furnizimi me energji - Amazon
  11. Konvertues 12V -> 5V dollar - Amazon

*Ka fleksibilitet kur bëhet fjalë për përzgjedhjen e kësaj pjese.

SH NOTNIM: Ju mund të filloni në pjesën më të madhe të këtij projekti vetëm me Pi tuaj të mjedrës, ndërsa prisni që sendet e tjera të dërgohen.

Hapi 2: Hapi 2: Tela dhe Elektronikë

Hapi 2: Tela dhe Elektronikë
Hapi 2: Tela dhe Elektronikë
Hapi 2: Tela dhe Elektronikë
Hapi 2: Tela dhe Elektronikë
  1. Mblidhni Dritën

    1. Instalimet elektrike për dritën duhet të kalojnë 12 + në dritë.
    2. Kaloni negativisht nga drita përmes njërit prej transistorëve.
    3. Emetuesi i tranzistorit shkon në tokë.
    4. Koleksionisti i tranzistorit shkon te Raspberry Pi.
  2. Mblidhni tingullin

    1. Drejtoni tingullin djathtas ose majtas nga PI në amplifikator
    2. Drejtoni +5V te amplifikatori
    3. Drejtoni tokëzimin e amp -it në transistorin e 2 -të.
    4. Drejtoni emetuesin e tranzitorit të dytë në tokë
    5. Drejtoni koleksionistin e tranzistorit në Raspberry Pi
  3. Mblidhni instalime elektrike në PI
  4. Ky është udhëzimi pinout për PI (disa prej tyre mund të konfigurohen përmes JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Drita 10 (GPIO15)
    4. Sound Right - GPIO 18

Hapi 3: Hapi 3: Konfigurimi i Softuerit të Sistemit Operativ

  1. Përgatitni Raspberry Pi W

    1. Raspberry pi duhet të ketë një version të fundit të Raspbian (ose Debian tjetër).
    2. Rekomandohet të ndiqni këto udhëzime:
    3. Sigurohuni që të përfshini skedarin wifi wpa_supplicant.
    4. Vendosni skedarin ssh në kartën sd për të lejuar hyrjen në ssh.
  2. Përgatitni softuerin e palëve të treta:

    1. Unë e kam automatizuar këtë proces për të tërhequr të gjitha mjetet e nevojshme të palëve të treta, por mos ngurroni t'i përdorni ato me dorë dhe rishikoni për t'u siguruar që asnjë hap të dështojë.
    2. Shkarkoni dhe ekzekutoni skriptin e mëposhtëm:

Këtu është një përmbledhje e asaj që bën skripti i instalimit për konfigurimin e sistemit operativ. Bestshtë mirë që këto linja të drejtohen me dorë, në mënyrë që të shikoni për gabimet.

Titulli i skenarit:

#!/bin/sh -e #mund të thirret nëpërmjet #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizoni këtë shkrim me diçka si: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd dhe çelësat e autorizuar # shënime:

Përditësoni softuerin në nivelin e OS:

#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #General Dev apt-get install -y git build-thelbësor 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

Konfigurimi i rrjetit. Pjesë e qëllimit këtu ishte lejimi i konfigurimit të sistemit përmes një pike aksesi, për t'u lidhur me wifi -n tuaj, por kjo nuk është testuar plotësisht deri më tani. Aktualisht rekomandohet të përdorni metodën wpa_supplicant për konfigurimin e wifi.

#networking setupecho nhllight>/etc/hostname #TODO: rregulloje

Përditësoni bibliotekat e Nyjeve dhe Nyjeve

#update nodecd/tmp eksport 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 nyje-v $ {nodeversion} -linux-armv6l. tar.xz cd node-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENS c cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: bëj lidhjen sim për nyjen binare? apt -get remove -y --purge npm node nodejs

#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/brirët mkdir/opt/nhl/node_modules/

#nyja e përditësuar

#instaloni varësitë e nyjeve në direktorinë nhl eksport NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - rregulloni atë që sakat nuk do të instalojë në nivel global

cd/opt/nhl npm instaloni çalë # të çalë, është i çalë, nuk e instalon globalisht cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm instaloni altoparlantin # nuk instaloni globalisht cp -R/opt/nhl/node_modules/altoparlanti $ NODE_PATH npm instaloni i2c-bus #nuk do të instaloj globalisht cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm install oled-i2c-bus #nont install globally cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm instaloni lcd #nuk do të instaloj globalisht cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm instaloni lcdi2c #nont install globalisht cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH

npm instaloni oled-font-5x7 #nuk do të instaloj globalisht

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

npm instaloni onoff #nuk instaloj globalisht

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

#npm install pm2 #nont install globally

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #wont install globally #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# çdo modul global

npm instaloni express body -parser child_process pm2 -g

Tërhiq kodin e fundit:

#pull git codecd/opt/nhl #JSON është një herë krijimi 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… #thirrni skriptin e automatizuar për të instaluar gjithçka tjetër për NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -

Shkarkoni brirët!

#tërheq hornscd/opt/nhl/brirët curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -

përditësoni skedarët e konfigurimit Raspberry pi - - mund të ketë nevojë të ndryshoni për sistemin tuaj

#config fotografi përditësime#shtoni tingull cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #ndez i2c printf '\ n / ndtparam = i2c1 = në / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = në / n' >>/boot/config. tekst

#TODO: a është e nevojshme kjo? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /module

amixer cset numid = 1

#TODO: vendosni volumin, 60%?

Automatizoni automatizimin, të tilla si nisja dhe azhurnimet e kodit:

# përditëso rc.local# SHENIM: zhvendosja e skedarit, sepse standardi përfshin një "dalje" në rreshtin e fundit, kështu që nuk mund të shtohet thjesht mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local chmod u+x /etc/rc. printim lokal '#!/bin/sh'> /etc/rc.local printf '\ n /etc/bootup_nhl.sh> /tmp/rclocal.log' >>/etc/rc. printim lokal '\ n dalje 0' >> /etc/rc.local

#TODO: duhet të shtoni diçka për të bërë përditësimet e rregullta të softuerit çdo javë si kjo# Ndoshta thjesht kopjoni këtë skedar direkt në dosjen rc.javore? 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

Gjëra të ndryshme, si vendosja e zonës kohore:

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

# ndryshore e ndryshueshme e mjedisit me node_path

cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: përcaktojeni këtë për nyjen self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

Përdorni PM2 për konfigurimin e serverit të nyjeve:

#TODO: setup test 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 ruani daljen e nisjes pm2 0

Hapi 4: Hapi 4: Përditësoni konfigurimin JSON

Vendosni skedarin tuaj të konfigurimit JSON për ekipin që preferoni, etj. Ky skedar ndodhet në /opt /nhl SHKO KAPITALET! konfiguroni skedarin JSON

Softueri përdor një skedar JSON për të konfiguruar pajisjet dhe ekipin që po ndiqni. Ekipi mund të vendoset përmes serverit të uebit që do të funksionojë, por konfigurimi i harduerit duhet të vendoset me dorë:

Këtu është një shpjegim i secilës vlerë të mundshme:

  • myteam: ky është kodi me 3 shkronja të ekipit që dëshironi të ndiqni
  • debug: Vlerat e mundshme janë 1 (e vërtetë) ose 0 (e rreme), dhe do të kontrollojnë sa regjistrime janë shkruar.
  • dalje: kjo është metoda me të cilën rezultatet/detajet duhet të tregohen. Vlerat e mundshme janë:

    • LCD: kjo është LCD e vitit 2004
    • tastierë: kjo do të shkruajë vetëm në terminal (për drejtimin e vijës komanduese)
    • oled: mbështetje për ekranin me vaj SSD6404
  • drita: mbështeten dy lloje të dritave

    • alarm: kjo do të nxisë një GPIO të vetme për ndezjen/fikjen e një tranzistori
    • multi-led: mbështet një led shumëngjyrësh, ose të shumëfishta
    • asnjë: asnjë dritë e bashkangjitur
  • amp: ky është GPIO që drejton transistorin për amp

Recommended: