Obsah:
- Krok 1: Krok 1: Sestavte si díly
- Krok 2: Krok 2: Zapojení a elektronika
- Krok 3: Krok 3: Nastavení softwaru operačního systému
- Krok 4: Krok 4: Aktualizujte konfiguraci JSON
Video: NHL noční osvětlení a LCD: 4 kroky (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Úvod
„NHL Light“je pro hokejové fanoušky, kteří chtějí sledovat svůj tým, ale nemohou sledovat každý zápas. Jeho nejlepší vlastností je, že simuluje skóre gólu pomocí hokejového rohu (vlastní vašemu týmu) a světla.
Kromě hokejového rohu a světla má „NHL Light“také displej, který poskytuje aktuální nebo nejnovější skóre hry, čas nebo čas další hry a aktuální datum a čas.
„NHL Light“běží na jednoduchém seznamu dílů, které lze snadno sestavit z elektroniky a kódu, který je volně dostupný.
Funkce
- Konfigurace založená na webové stránce pro výběr vašeho týmu a wifi
- Hraje světlo a lesní roh, když váš tým skóruje (i když jste hostující tým)
- Přehrává zvuk a oznamuje začátek hry
- Přehraje zvuk oznamující konec hry
- Poskytuje čas a datum další hry, pokud žádná neprobíhá.
- Zobrazuje aktuální čas a období hry, pokud hra probíhá.
- Zobrazuje aktuální datum a čas.
Krok 1: Krok 1: Sestavte si díly
Zde je seznam dílů.
-
Raspberry Pi W*
- Amazonka
- Dávám přednost tomu, abych získal své z Microcenter, ale na jiných místech je lze najít levněji.
- $10
- Karta SD (minimálně 4 GB)*
- reproduktor - Amazon - ~ 2 $ *
- zesilovač - PAM8403* - Amazon - každý ~ 1 $
- světlo - Amazon - ~ 5 $
-
Pouzdro - 1 $*
- Michaela
- Doporučuji malý dřevěný kufřík z Michaelova řemeslného obchodu, ale nechám na vás!
-
LCD I2C 2004 - 3-7 $
- Amazonka
- Kód podporuje 3 typy LCD, ale I2C 2004 je ten, na kterém jsem se usadil jako nejlepší hodnota a velikost. (SSD1306 je také možné)
- 2 tranzistory - 2N2222A- Amazon
- Různé vodiče / pájka12V
- napájení - Amazon
- Převodník 12V -> 5V buck - Amazon
*Při výběru této části existuje flexibilita.
POZNÁMKA: Většinu tohoto projektu můžete zahájit pouze svým malinovým Pi, zatímco čekáte na dodání dalších položek.
Krok 2: Krok 2: Zapojení a elektronika
-
Sestavte světlo
- Zapojení světla je vedeno 12 + ke světlu.
- Projděte záporně ze světla přes jeden z tranzistorů.
- Emmetr tranzistoru jde na zem.
- Sběratel tranzistoru jde do Raspberry Pi.
-
Sestavte zvuk
- Spusťte pravý nebo levý zvuk z PI do zesilovače
- Spusťte +5V na zesilovači
- Spusťte uzemnění zesilovače na 2. tranzistor.
- Spusťte emmetter 2. transisitoru na zem
- Spusťte kolektor tranzistoru na Raspberry Pi
- Sestavte kabeláž k PI
-
Toto jsou pokyny pro zapojení PI (některé z nich lze konfigurovat pomocí JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Light 10 (GPIO15)
- Zní to správně - GPIO 18
-
Krok 3: Krok 3: Nastavení softwaru operačního systému
-
Připravte si Raspberry Pi W
- Rasberry pi musí používat nejnovější verzi Raspbian (nebo jiný Debian).
- Doporučujeme dodržovat tyto pokyny:
- Nezapomeňte zahrnout soubor wifi wpa_supplicant.
- Umístěte soubor ssh na sdcard a povolte ssh přístup.
-
Připravte si software třetí strany:
- Tento proces jsem zautomatizoval, abych stáhl všechny potřebné nástroje třetích stran, ale můžete je spustit ručně a zkontrolovat, zda žádné kroky selžou.
- Stáhněte a spusťte následující skript:
Zde je rozpis toho, co dělá instalační skript pro nastavení operačního systému. Nejlepší je spustit tyto řádky ručně, abyste mohli sledovat chyby.
Záhlaví skriptu:
#!/bin/sh -e #lze volat pomocí #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: zautomatizujte tento skript něčím jako: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: nastavení wifi # TODO: nastavení passwd a autorizovaných klíčů # poznámky:
Aktualizace softwaru 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
Nastavení sítě. Část cílem zde bylo umožnit konfiguraci systému prostřednictvím přístupového bodu, připojení k vaší vlastní wifi, ale toto zatím nebylo plně testováno. V současné době se pro nastavení wifi doporučuje použít metodu wpa_supplicant.
#networking setupecho nhllight>/etc/hostname #TODO: fix the/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: other setup is done via the config files and shell printed as a part of the update
Aktualizujte knihovny uzlů a uzlů
#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. uzel tar.xz cd-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENCE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: vytvořit symbolický odkaz pro binární uzel? 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 Uzel
#instalujte závislosti uzlů do adresáře nhl export NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - opravte, že se lame nebude instalovat globálně
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/reproduktor $ NODE_PATH npm install i2c-bus #wont install globally cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm install oled-i2c-bus #wont install globally 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 #nebude instalovat globálně
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #nainstaluje se globálně
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm install pm2 #nainstaluje se globálně
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #wont install globally #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# jakékoli globální moduly
npm install express body -parser child_process pm2 -g
Stáhněte nejnovější kód:
#pull git codecd/opt/nhl #JSON je jednorázová tvorba 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 pro instalaci všeho ostatního pro NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Stáhněte si rohy!
#pull hornscd/opt/nhl/rohy curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
aktualizujte konfigurační soubory Raspberry pi - - možná bude nutné změnit pro váš systém
#config aktualizace souboru#přidat zvuk cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #zapnout i2c printf '\ n / ndtparam = i2c1 = na / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = na / n' >>/boot/config. txt
#TODO: je to potřeba? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: nastavená hlasitost, 60%?
Automatizujte automatizaci, například spouštění a aktualizace kódu:
# aktualizovat rc.local# POZNÁMKA: přesunutí souboru, protože standardní obsahuje „exit“v posledním řádku, takže nelze jednoduše připojit 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čit 0' >> /etc/rc.local
# TODO: potřebujete něco přidat k pravidelným aktualizacím softwaru každý týden takto# Možná jen zkopírujete tento soubor přímo dolů do složky 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ůzné věci, jako je nastavení časového pásma:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# aktualizujte proměnnou prostředí pomocí node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definujte pro uzel self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Použijte PM2 pro nastavení uzlového serveru:
#TODO: test nastavení 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 konfiguraci JSON
Nastavte svůj konfigurační soubor JSON pro tým, kterému dáváte přednost atd. Tento soubor se nachází v /opt /nhl GO CAPITALS! konfigurační soubor JSON
Software používá ke konfiguraci hardwaru a týmu, který sledujete, soubor JSON. Tým lze nastavit prostřednictvím webového serveru, který bude spuštěn, ale nastavení hardwaru je třeba nastavit ručně:
Zde je vysvětlení každé možné hodnoty:
- myteam: toto je 3písmenný kód týmu, který chcete dodržovat
- debug: Možné hodnoty jsou 1 (true) nebo 0 (false) a budou řídit, kolik protokolování je zapsáno.
-
výstup: toto je metoda, kterou se mají zobrazovat skóre/detaily. Možné hodnoty jsou:
- lcd: toto je lcd 2004
- konzola: toto bude zapisovat pouze na terminál (pro spuštění příkazového řádku)
- oled: podpora displeje SSD6404 oled
-
světlo: podporovány jsou dva typy světel
- alarm: to bude řídit jeden GPIO pro zapnutí/vypnutí tranzistoru
- více LED: podporuje vícebarevné nebo více LED
- žádný: žádné světlo připojeno
- amp: toto je GPIO, které pohání tranzistor pro zesilovač
Doporučuje:
Ruční noční osvětlení: 7 kroků (s obrázky)
Ruční noční světlo: Můj 5letý nás v noci neustále probouzel a my jsme ho pořád poučovali o tom, jak nechat mámu a tátu spát, dokud jsem si neuvědomil, že vlastně není schopen sám určit, jestli je čas na spaní nebo na hraní. Navíc by nás požádal, abychom rozsvítili
Automatické noční osvětlení chodby IoT s ESP8266: 4 kroky (s obrázky)
Automatické noční osvětlení chodby IoT S ESP8266: Začal jsem tento projekt inspirovaný schodišťovým světlem z jiného instrukovatelného příspěvku. Rozdíl je v tom, že mozek obvodu používá ESP8266, což znamená, že přijde zařízení IoT. Co mám na mysli, je mít noční světlo na chodbě pro
Světlo animované nálady a noční osvětlení: 6 kroků (s obrázky)
Animated Mood Light & Night Light: S fascinací, která hraničí s posedlostí světlem, jsem se rozhodl vytvořit výběr malých modulárních desek plošných spojů, které by bylo možné použít k vytváření světelných displejů RGB jakékoli velikosti. Když jsem vyrobil modulární desku plošných spojů, narazil jsem na myšlenku uspořádat je do
Automatické noční osvětlení DIY: 15 kroků (s obrázky)
Automatické noční osvětlení DIY: Vytvořte jednoduché noční světlo, které se ve tmě rozsvítí a ve světle zhasne
Efektní noční osvětlení: 6 kroků (s obrázky)
Fancy Bed Night Lights: Toto je systém postelí budoucnosti! Zapnou se, když uprostřed noci vyjdete z postele, a zhasnou, když vejdete do svého pohodlného stroje snů. Takže už žádné noční nehody a rozbité prsty na nohou !! To se dá velmi snadno