Obsah:
- Krok 1: Krok 1: Zostavte svoje diely
- Krok 2: Krok 2: Elektroinštalácia a elektronika
- Krok 3: Krok 3: Nastavenie softvéru operačného systému
- Krok 4: Krok 4: Aktualizujte konfiguráciu JSON
Video: Hokejové svetlo a LCD nočný stolík NHL: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ú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
- Konfigurácia založená na webovej stránke na výber vášho tímu a siete Wi -Fi
- Hrá svetlo a klaksón, keď váš tím skóruje (aj keď ste hosťujúci tím)
- Hrá zvuk, ktorý ohlasuje začiatok hry
- Hrá zvukom, ktorý oznamuje záver hry
- Poskytuje čas a dátum ďalšej hry, ak práve neprebieha.
- Ak hra prebieha, zobrazuje aktuálny čas a obdobie hry.
- Zobrazí aktuálny dátum a čas.
Krok 1: Krok 1: Zostavte svoje diely
Tu je zoznam dielov.
-
Raspberry Pi W*
- Amazon
- Dávam prednosť tomu, aby som svoje dostal z Microcentra, ale na iných miestach sa dajú nájsť lacnejšie online.
- $10
- Karta SD (minimálne 4 GB)*
- reproduktor - Amazon - ~ 2 doláre *
- amp - PAM8403* - Amazon - každý ~ 1 dolár
- svetlo - Amazon - ~ 5 dolárov
-
Prípad - 1 dolár*
- Michaela
- Odporúčam malý drevený kufrík z Michaelovho remeselného obchodu, ktorý však nechám na vás!
-
LCD I2C 2004 - 3-7 dolárov
- Amazon
- 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ý)
- 2 tranzistory - 2N2222A- Amazon
- Rôzne vodiče / spájka12V
- napájanie - Amazon
- 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
-
Zostavte svetlo
- Kábel pre svetlo má viesť 12 + k svetlu.
- Prejdite záporne pred svetlom cez jeden z tranzistorov.
- Emmetter tranzistora ide na zem.
- Zberač tranzistora smeruje k Raspberry Pi.
-
Zostavte zvuk
- Spustite pravý alebo ľavý zvuk z PI do zosilňovača
- Zapnite +5V do zosilňovača
- Pripojte uzemnenie zosilňovača k 2. tranzistoru.
- Spustite emitor druhého transisitora na zem
- Spustite kolektor tranzistora na Raspberry Pi
- Zostavte kabeláž k PI
-
Toto sú pokyny pre výstup PI (niektoré z nich je možné konfigurovať prostredníctvom JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Svetlo 10 (GPIO15)
- Znie to správne - GPIO 18
-
Krok 3: Krok 3: Nastavenie softvéru operačného systému
-
Pripravte si Raspberry Pi W
- Rasberry pi musí používať najnovšiu verziu Raspbian (alebo iný Debian).
- Odporúčame dodržiavať tieto pokyny:
- Nezabudnite zahrnúť súbor wifi wpa_supplicant.
- Vložte súbor ssh na sdcard, aby ste povolili prístup ssh.
-
Pripravte si softvér tretej strany:
- 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.
- 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:
Interaktívny konferenčný stolík LED Arduino: 6 krokov (s obrázkami)
Interaktívny konferenčný stolík LED Arduino: Vyrobil som interaktívny konferenčný stolík, ktorý rozsvieti LED svetlá pod predmetom, keď je predmet položený nad stôl. Rozsvietia sa iba LED diódy, ktoré sú pod týmto predmetom. To sa dosahuje efektívnym použitím senzorov priblíženia a keď blízky
Nočný režim hudobného prehrávača: 4 kroky
Nočné svetlo hudobného prehrávača: Toto nočné svetlo sa samo zapne, keď vypnete svetlá, keď idete spať, potom môžete stlačením priloženého tlačidla prehrať hudbu z prenosného počítača !! Aby to bolo ešte užitočnejšie, vložil som do škatule škatuľu tkaniva, aby tiež stabilne
Konferenčný stolík pre animácie: 9 krokov (s obrázkami)
Konferenčný stolík pre animáciu: Existuje mnoho veľmi dobrých návodov na výrobu interaktívnych konferenčných stolíkov s LED maticami a od niektorých som sa inšpiroval a naznačil. Toto je jednoduché, lacné a predovšetkým má stimulovať kreativitu: iba dvoma zadkami
Arkádový konferenčný stolík RasPi pre dvoch hráčov: 7 krokov (s obrázkami)
Arkádový konferenčný stolík RasPi pre dvoch hráčov: Tu je moja verzia arkádového konferenčného stolíka Raspberry Pi. Dostal som nápad z iných skvelých inštrukcií, ktoré sú tu k dispozícii, a chcel som sa podeliť o svoje skúsenosti s zostavením. Stôl môže hrať hry z viacerých období video hier vrátane NES, SNES, Sega, Play
Konferenčný stolík LED Arduino ovládaný Bluetooth: 10 krokov (s obrázkami)
Konferenčný stolík Arduino LED ovládaný pomocou Bluetooth: Toto bol môj prvý skutočný projekt Arduino a zároveň môj prvý pokyn, takže buďte láskaví v komentároch :) Chcel som skúsiť odpovedať na otázky, ktoré mi nejaký čas trvalo, kým som na ne prišiel a poskytol podrobné pokyny, takže ak veľmi dobre ho poznáš