Obsah:

Hokejové svetlo a LCD nočný stolík NHL: 4 kroky (s obrázkami)
Hokejové svetlo a LCD nočný stolík NHL: 4 kroky (s obrázkami)

Video: Hokejové svetlo a LCD nočný stolík NHL: 4 kroky (s obrázkami)

Video: Hokejové svetlo a LCD nočný stolík NHL: 4 kroky (s obrázkami)
Video: Grand Hyatt Tokyo, 5-звездочный роскошный отель в Роппонги-Хиллз, Япония (полный тур) 2024, November
Anonim
Image
Image
NHL Nočné hokejové svetlo a LCD
NHL Nočné hokejové svetlo a LCD

Úvod

„NHL Light“je pre hokejových fanúšikov, ktorí chcú nasledovať svoj tím, ale nemôžu sledovať každý zápas. Jeho najlepšou vlastnosťou je, že simuluje strelenie gólu hokejovým klaksónom (vlastné vášmu tímu) a svetlo.

Okrem hokejového rohu a svetla má „NHL Light“aj displej, ktorý poskytuje aktuálne alebo posledné skóre hry, čas alebo čas nasledujúceho zápasu a aktuálny dátum a čas.

„NHL Light“funguje na jednoduchom zozname súčiastok, ktoré je možné ľahko zostaviť z elektroniky a kódu, ktorý je voľne dostupný.

Vlastnosti

  1. Konfigurácia založená na webovej stránke na výber vášho tímu a siete Wi -Fi
  2. Hrá svetlo a klaksón, keď váš tím skóruje (aj keď ste hosťujúci tím)
  3. Hrá zvuk, ktorý ohlasuje začiatok hry
  4. Hrá zvukom, ktorý oznamuje záver hry
  5. Poskytuje čas a dátum ďalšej hry, ak práve neprebieha.
  6. Ak hra prebieha, zobrazuje aktuálny čas a obdobie hry.
  7. Zobrazí aktuálny dátum a čas.

Krok 1: Krok 1: Zostavte svoje diely

Krok 1: Zostavte svoje diely
Krok 1: Zostavte svoje diely

Tu je zoznam dielov.

  1. Raspberry Pi W*

    1. Amazon
    2. Dávam prednosť tomu, aby som svoje dostal z Microcentra, ale na iných miestach sa dajú nájsť lacnejšie online.
    3. $10
  2. Karta SD (minimálne 4 GB)*
  3. reproduktor - Amazon - ~ 2 doláre *
  4. amp - PAM8403* - Amazon - každý ~ 1 dolár
  5. svetlo - Amazon - ~ 5 dolárov
  6. Prípad - 1 dolár*

    1. Michaela
    2. Odporúčam malý drevený kufrík z Michaelovho remeselného obchodu, ktorý však nechám na vás!
  7. LCD I2C 2004 - 3-7 dolárov

    1. Amazon
    2. Kód podporuje 3 typy displejov LCD, ale I2C 2004 je ten, pre ktorý som sa rozhodol ako najlepšiu hodnotu a veľkosť. (SSD1306 je tiež možný)
  8. 2 tranzistory - 2N2222A- Amazon
  9. Rôzne vodiče / spájka12V
  10. napájanie - Amazon
  11. Konvertor 12V -> 5V Buck - Amazon

*Pri výbere tejto časti existuje flexibilita.

POZNÁMKA: Vo väčšine tohto projektu môžete začať s malinovým Pi, kým počkáte na odoslanie ďalších položiek.

Krok 2: Krok 2: Elektroinštalácia a elektronika

Krok 2: Elektroinštalácia a elektronika
Krok 2: Elektroinštalácia a elektronika
Krok 2: Elektroinštalácia a elektronika
Krok 2: Elektroinštalácia a elektronika
  1. Zostavte svetlo

    1. Kábel pre svetlo má viesť 12 + k svetlu.
    2. Prejdite záporne pred svetlom cez jeden z tranzistorov.
    3. Emmetter tranzistora ide na zem.
    4. Zberač tranzistora smeruje k Raspberry Pi.
  2. Zostavte zvuk

    1. Spustite pravý alebo ľavý zvuk z PI do zosilňovača
    2. Zapnite +5V do zosilňovača
    3. Pripojte uzemnenie zosilňovača k 2. tranzistoru.
    4. Spustite emitor druhého transisitora na zem
    5. Spustite kolektor tranzistora na Raspberry Pi
  3. Zostavte kabeláž k PI
  4. Toto sú pokyny pre výstup PI (niektoré z nich je možné konfigurovať prostredníctvom JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Svetlo 10 (GPIO15)
    4. Znie to správne - GPIO 18

Krok 3: Krok 3: Nastavenie softvéru operačného systému

  1. Pripravte si Raspberry Pi W

    1. Rasberry pi musí používať najnovšiu verziu Raspbian (alebo iný Debian).
    2. Odporúčame dodržiavať tieto pokyny:
    3. Nezabudnite zahrnúť súbor wifi wpa_supplicant.
    4. Vložte súbor ssh na sdcard, aby ste povolili prístup ssh.
  2. Pripravte si softvér tretej strany:

    1. Tento proces som zautomatizoval, aby som využil všetky potrebné nástroje tretích strán, ale môžete ich spustiť ručne a skontrolovať, či žiadne kroky nezlyhali.
    2. Stiahnite si a spustite nasledujúci skript:

Tu je rozpis toho, čo robí inštalačný skript na nastavenie operačného systému. Najlepšie je spustiť tieto riadky ručne, aby ste mohli sledovať chyby.

Hlavička skriptu:

#!/bin/sh -e #je možné zavolať prostredníctvom #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: zautomatizujte tento skript niečím ako: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: nastavenie wifi # TODO: nastavenie hesla a autorizovaných kľúčov # poznámky:

Aktualizácia softvéru na úrovni operačného systému:

#apt-get things (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

Nastavenie siete. Cieľom tu bolo umožniť konfiguráciu systému prostredníctvom prístupového bodu, pripojenie k vašej vlastnej sieti Wi -Fi, ale to ešte nebolo úplne testované. V súčasnej dobe sa odporúča použiť metódu wpa_supplicant na nastavenie wifi.

#networking setupecho nhllight>/etc/hostname #TODO: fix the/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: other setup is failed via config files and shell printed down as part of the update

Aktualizujte knižnice uzlov a uzlov

#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. uzol tar.xz cd-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENCIA cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: vytvoriť symlink pre binárny uzol? apt -get remove -y --purge npm node nodejs

#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/rohy mkdir/opt/nhl/node_modules/

#update Uzol

#inštalovať závislosti uzlov do adresára nhl export NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - oprava toho, že sa lame nebude inštalovať globálne

cd/opt/nhl npm install lame # lame, is lame, wont install globally cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm install speaker #wont install globally cp -R/opt/nhl/node_modules/speaker $ NODE_PATH npm install i2c-bus #nebude inštalovať globálne cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm install oled-i2c-bus #nebude inštalovať globálne 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 #neinštaluje sa globálne

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

npm install onoff #neinštaluje sa globálne

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

#npm install pm2 #neinštaluje sa globálne

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

# akékoľvek globálne moduly

npm install express body -parser child_process pm2 -g

Vytiahnite najnovší kód:

#pull git codecd/opt/nhl #JSON je jednorazové vytvorenie 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 automatizovaný skript na inštaláciu všetkého ostatného pre NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -

Stiahnite si rohy!

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

aktualizujte konfiguračné súbory Raspberry pi - - možno bude potrebné zmeniť pre váš systém

Aktualizácie súborov #config#pridať zvuk cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #zapnúť i2c printf '\ n / ndtparam = i2c1 = na / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = zapnúť / n' >>/boot/config. TXT

#TODO: je to potrebné? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules

amixer cset numid = 1

#TODO: nastavená hlasitosť, 60%?

Zautomatizujte automatizáciu, napríklad spustenie systému a aktualizácie kódu:

# update rc.local# POZNÁMKA: presunutie súboru, pretože štandardný obsahuje „výstup“v poslednom riadku, takže nemôže jednoducho pripojiť 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 ukončiť 0' >> /etc/rc.local

# TODO: je potrebné pridať niečo na vykonávanie pravidelných aktualizácií softvéru každý týždeň takto# Možno stačí tento súbor skopírovať priamo do priečinka 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

Rôzne veci, napríklad nastavenie časového pásma:

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

# aktualizovať premennú prostredia pomocou node_path

cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definujte to pre uzol self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

Na nastavenie servera uzla použite PM2:

#TODO: testovacie nastavenie 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 save pm2 startup exit 0

Krok 4: Krok 4: Aktualizujte konfiguráciu JSON

Nastavte svoj konfiguračný súbor JSON pre tím, ktorý uprednostňujete atď. Tento súbor sa nachádza v /opt /nhl GO CAPITALS! konfiguračný súbor JSON

Softvér používa súbor JSON na konfiguráciu hardvéru a tímu, ktorý sledujete. Tím je možné nastaviť pomocou webového servera, ktorý bude spustený, ale nastavenie hardvéru je potrebné nastaviť ručne:

Tu je vysvetlenie každej možnej hodnoty:

  • myteam: toto je trojpísmenový kód tímu, ktorý chcete nasledovať
  • debug: Možné hodnoty sú 1 (true) alebo 0 (false) a budú ovládať, koľko protokolovania sa vypíše.
  • výstup: toto je metóda, ktorou sa majú zobrazovať skóre/detaily. Možné hodnoty sú:

    • LCD: Toto je LCD displej z roku 2004
    • konzola: toto bude písať iba na terminál (na spustenie príkazového riadka)
    • oled: podpora oled displeja SSD6404
  • svetlo: sú podporované dva typy svetiel

    • alarm: toto bude poháňať jedno GPIO na zapínanie/vypínanie tranzistora
    • viac LED: podporuje viacfarebné alebo viac LED diód
    • žiadny: nie je pripojené žiadne svetlo
  • amp: toto je GPIO, ktoré poháňa tranzistor pre zosilňovač

Odporúča: