Sisukord:
- 1. samm: 1. samm: pange oma osad kokku
- 2. samm: 2. samm: juhtmestik ja elektroonika
- 3. samm: 3. samm: operatsioonisüsteemi tarkvara seadistamine
- 4. samm: 4. samm: värskendage JSON -i konfiguratsiooni
Video: NHL -i ööhoki tuli ja LCD: 4 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
- Veebilehepõhine konfiguratsioon meeskonna ja wifi valimiseks
- Mängib kergelt ja helisignaaliga, kui teie meeskond skoorib (isegi kui olete võõrsil)
- Mängib heli, et teatada mängu algusest
- Mängu lõpuleviimiseks teatab heli
- Näitab järgmise mängu aega ja kuupäeva, kui ühtegi mängu pole pooleli.
- Kuvab praeguse mängu aja ja perioodi, kui mäng on pooleli.
- Kuvab praeguse kuupäeva ja kellaaja.
1. samm: 1. samm: pange oma osad kokku
Siin on osade loend.
-
Vaarika Pi W*
- Amazon
- Eelistan hankida Microcenterist oma, kuid mujalt leiab seda odavamalt internetist.
- $10
- SD -kaart (vähemalt 4 GB)*
- kõlar - Amazon - ~ 2 dollarit *
- amp - PAM8403* - Amazon - igaüks ~ $ 1
- kerge - Amazon - ~ 5 dollarit
-
Korpus - 1 dollar*
- Michaeli oma
- Soovitan Michaeli käsitööpoest väikseid puidust käsitöökotte, kuid jätan teie hooleks!
-
I2C 2004 LCD - 3-7 dollarit
- Amazon
- Kood toetab kolme tüüpi vedelkristallekraane, kuid I2C 2004 on üks parimaid väärtusi ja suurusi. (SSD1306 on ka võimalik)
- 2 transistorit - 2N2222A- Amazon
- Mitmesugused juhtmed / joodis 12V
- toide - Amazon
- 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
-
Pange valgus kokku
- Valgusti juhtmestik on valguse suunas 12 +.
- Töötage valguse kaudu negatiivselt läbi ühe transistori.
- Transistori emeter läheb maapinnale.
- Transistori kollektor läheb Raspberry Pi juurde.
-
Pange kokku heli
- Käivitage parem või vasak heli PI -st võimendisse
- Viige võimendisse +5V
- Viige võimendi maandus teisele transistorile.
- Lükake teise transisitori emmeter maapinnale
- Käivitage transistori kollektor Raspberry Pi -le
- Pange juhtmestik kokku PI -ga
-
See on PI pistikjuhend (mõned neist on konfigureeritavad JSON -i kaudu)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Light 10 (GPIO15)
- Heli õige - GPIO 18
-
3. samm: 3. samm: operatsioonisüsteemi tarkvara seadistamine
-
Valmistage ette Raspberry Pi W
- Rasberry pi -l peab olema uusim Raspbiani (või muu Debiani) versioon.
- Soovitatav on järgida neid juhiseid:
- Lisage kindlasti wifi -fail wpa_supplicant.
- Sisestage ssh -fail sd -kaardile, et võimaldada juurdepääsu.
-
Valmistage kolmanda osapoole tarkvara ette:
- 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.
- 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:
Smart Deski LED -tuli - Nutikas valgustus W/ Arduino - Neopikselite tööruum: 10 sammu (koos piltidega)
Smart Deski LED -tuli | Nutikas valgustus W/ Arduino | Neopikselite tööruum: nüüd veedame päevadel palju aega kodus, õpime ja töötame virtuaalselt, nii et miks mitte muuta meie tööruum suuremaks kohandatud ja nutika valgustussüsteemi Arduino ja Ws2812b alusel. Siin näitan teile, kuidas oma nutikat Laua LED -tuli, mis
Ülimalt lihtne patareitoitega leegi tuli: 6 sammu (koos piltidega)
Ülimalt lihtne patareitoitega leeklamp: palju tunde kestnud COVID-19 YouTube'i liigsöömise ajal sain inspiratsiooni Adam Savage'i ühe päeva ehitamise episoodist, eriti sellest, kus ta ehitab oma kodus ehitatud riksa jaoks gaasilaterna rekvisiidi. Ehituse keskmes oli
Varajase hoiatamise vaarika PI lennuraja tuli lennukaardiandmete abil: 14 sammu (koos piltidega)
Varajase hoiatamise vaarika PI lennutrajektoori lendude kaardistamise andmete kasutamine: see lamp tekkis mitmel põhjusel, sest mind huvitavad alati lennukid, mis lendavad pea kohal, ja suvel nädalavahetustel lendavad sageli ringi mõned põnevad lennukid. Kuigi te kipute neid kuulma ainult möödudes
DIY LED -tuli - kaasaegne töölaua meeleolulamp koos kaugjuhtimispuldiga: 8 sammu (piltidega)
DIY LED -valgusti - kaasaegne töölaua meeleolulamp koos kaugjuhtimispuldiga: Selles artiklis vaatan üle protsessi, mida kasutasin selle vinge püramiidikujulise LED -meeleolulambi ehitamiseks. Kasutasin põhistruktuuri jaoks vahtrat ja tugevuse suurendamiseks mõningaid mahagonist oksi. Tuledes kasutasin RGB LED -tulesid, mis on saadaval 16 -meetrise ribana
Fallout Vault Boy LED -tuli: 5 sammu (koos piltidega)
Fallout Vault Boy Led Light: lõin selle Fallouti fännile. Vault Boy LED -tuli. See on valmistatud akrüülklaasist ja roheliste LED -idega puidust alusega