Sadržaj:
- Korak 1: Korak 1: Sastavite dijelove
- Korak 2: Korak 2: Ožičenje i elektronika
- Korak 3: Korak 3: Postavljanje softvera operacijskog sustava
- Korak 4: Korak 4: Ažurirajte JSON konfiguraciju
Video: NHL noćno hokejsko svjetlo i LCD: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Uvod
"NHL Light" je za ljubitelje hokeja koji žele pratiti svoju momčad, ali ne mogu gledati svaku utakmicu. Njegova najbolja karakteristika je to što simulira gol s hokejskim rogom (prilagođeno vašoj momčadi) i svjetlom.
Osim hokejaške sirene i svjetla, "NHL Light" ima zaslon koji prikazuje trenutni ili posljednji rezultat utakmice, vrijeme ili vrijeme sljedeće igre te trenutni datum i vrijeme.
"NHL Light" radi na jednostavnom popisu dijelova koji se lako sastavljaju, i kodu koji je slobodno dostupan.
Značajke
- Konfiguracija temeljena na web stranici za odabir vašeg tima i WiFi
- Svira i trubi kad vaša momčad zabije (čak i kad ste u gostima)
- Reproducira zvuk koji najavljuje početak igre
- Reproducira zvuk koji najavljuje završetak igre
- Pruža vrijeme i datum sljedeće igre, ako nije u tijeku.
- Prikazuje trenutno vrijeme i razdoblje igre, ako je igra u tijeku.
- Prikazuje trenutni datum i vrijeme.
Korak 1: Korak 1: Sastavite dijelove
Ovdje je popis dijelova.
-
Malina Pi W*
- Amazon
- Radije bih nabavio svoj iz Microcentera, ali se na internetu može jeftinije pronaći na drugim mjestima.
- $10
- SD kartica (najmanje 4 gb)*
- zvučnik - Amazon - ~ 2 USD *
- pojačalo - PAM8403* - Amazon - ~ 1 USD svaki
- svjetlo - Amazon - ~ 5 USD
-
Futrola - 1 USD*
- Michaelova
- Preporučujem malu drvenu kutiju za zanate iz Michaelove zanatske trgovine, ali to prepuštam vama!
-
I2C 2004 LCD - 3-7 USD
- Amazon
- Kod podržava 3 vrste LCD -a, ali I2C 2004 sam odlučio za najbolju vrijednost i veličinu. (SSD1306 je također moguć)
- 2 tranzistora - 2N2222A- Amazon
- Ostalo Žice / lemljenje12V
- napajanje - Amazon
- Pretvarač dolara u 12V -> 5V - Amazon
*Postoji mogućnost fleksibilnosti pri odabiru ovog dijela.
NAPOMENA: Većinu ovog projekta možete započeti samo s malinom Pi, dok čekate da se drugi artikli isporuče.
Korak 2: Korak 2: Ožičenje i elektronika
-
Sastavite svjetlo
- Ožičenje svjetla mora ići 12 + do svjetla.
- Provedite negativno svjetlo kroz jedan od tranzistora.
- Emimetr tranzistora ide na masu.
- Kolektor tranzistora ide na Raspberry Pi.
-
Sastavite zvuk
- Pustite desni ili lijevi zvuk od PI do pojačala
- Uključite +5V do pojačala
- Pokrenite pojačalo pojačala do 2. tranzistora.
- Emmetter drugog tranzisitora pokrenite na tlo
- Pokrenite sakupljač tranzistora na Raspberry Pi
- Sastavite ožičenje na PI
-
Ovo su upute za pinout za PI (neke se mogu konfigurirati putem JSON -a)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Svjetlo 10 (GPIO15)
- Zvuk udesno - GPIO 18
-
Korak 3: Korak 3: Postavljanje softvera operacijskog sustava
-
Pripremite Raspberry Pi W
- Rasberry pi mora imati najnoviju verziju Raspbiana (ili drugog Debiana).
- Preporučuje se slijediti ove upute:
- Svakako uključite wifi datoteku wpa_supplicant.
- Stavite ssh datoteku na sdcard kako biste omogućili ssh pristup.
-
Pripremite softver treće strane:
- Automatizirao sam ovaj postupak da povučem sve potrebne alate treće strane, ali slobodno ih ručno pokrenite i pregledajte kako biste bili sigurni da koraci ne uspijevaju.
- Preuzmite i pokrenite sljedeću skriptu:
Ovdje je pregled onoga što radi instalacijska skripta za postavljanje operacijskog sustava. Najbolje je pokrenuti ove retke ručno kako biste mogli promatrati pogreške.
Zaglavlje skripte:
#!/bin/sh -e #može se pozvati putem #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizirajte ovu skriptu nečim poput: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: postavljanje wifi -a # TODO: postavljanje lozinke i ovlašteni ključevi # napomene:
Ažurirajte softver na razini OS -a:
#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-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
Postavljanje mreže. Ovdje je dio cilja bio omogućiti konfiguriranje sustava putem pristupne točke, povezivanje s vlastitim WiFi -jem, no to još nije u potpunosti testirano. Trenutačno se preporučuje korištenje metode wpa_supplicant za postavljanje WiFi -ja.
#networking setupecho nhllight>/etc/hostname #TODO: popravite/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: ostalo se postavljanje vrši putem konfiguracijskih datoteka i ljuska je povučena kao dio ažuriranja
Ažurirajte čvor i knjižnice čvorova
#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 čvor-v $ {nodeverzija} -linux-armv6l. tar.xz cd čvor-v $ {nodeverzija} -linux-armv6l rm -f *.md rm -f LICENCA cp -R */usr/lokalni/rm -R/tmp/čvor-v $ {nodeverzija} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: napraviti sim vezu za binarni čvor? apt -get remove -y --purge npm čvor nodejs
#Postavljanje čvoramkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/rogovi mkdir/opt/nhl/node_modules/
#ažuriraj čvor
#instalirajte ovisnosti čvorova u direktorij nhl izvoz NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - popravite to hromi se neće instalirati globalno
cd/opt/nhl npm install lame # lame, je hrom, neće se globalno instalirati 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 #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 global global cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm install oled-font-5x7 #wont install globally
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #wont install globally
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm install pm2 #wont 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
# bilo koji globalni modul
npm install express body -parser child_process pm2 -g
Povucite najnoviji kod:
#pull git codecd/opt/nhl #JSON je jednokratna kreacija 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 automatizirana skripta za instaliranje svega ostalog za NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Preuzmite trube!
#pull hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
ažurirajte konfiguracijske datoteke Raspberry pi - - možda će se morati promijeniti za vaš sustav
#ažuriranja datoteka config#dodaj zvuk cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #uključite i2c printf '\ n / ndtparam = i2c1 = na / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. txt
#TODO: je li to potrebno? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amikser cset numid = 1
#TODO: postavljena glasnoća, 60%?
Automatizirajte automatizaciju, poput pokretanja i ažuriranja koda:
# update rc.local# NAPOMENA: premještanje datoteke jer standardni uključuje "exit" u zadnjem retku pa se ne može jednostavno dodati 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 izlaz 0' >> /etc/rc.local
#TODO: trebate dodati nešto za redovita ažuriranja softvera tjedno poput ovoga# Možda samo kopirati ovu datoteku izravno u mapu 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
Razno, poput postavljanja vremenske zone:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# ažuriranje varijable okruženja s node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definirajte ovo za čvor self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Iskoristite PM2 za postavljanje poslužitelja čvora:
#TODO: testno postavljanje 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 spremi pm2 izlaz pri pokretanju 0
Korak 4: Korak 4: Ažurirajte JSON konfiguraciju
Postavite svoju JSON konfiguracijsku datoteku za tim koji želite, itd. Ova se datoteka nalazi u /opt /nhl GO CAPITALS! config JSON datoteku
Softver koristi JSON datoteku za konfiguriranje hardvera i tima koje pratite. Tim se može postaviti putem web poslužitelja koji će biti pokrenut, ali postavljanje hardvera potrebno je postaviti ručno:
Evo objašnjenja svake moguće vrijednosti:
- myteam: ovo je troslovni kôd tima koji želite slijediti
- debug: Moguće vrijednosti su 1 (true) ili 0 (false), i kontrolirat će koliko je zapisano.
-
izlaz: ovo je metoda kojom se ocjene/pojedinosti prikazuju. Moguće vrijednosti su:
- lcd: ovo je lcd iz 2004. godine
- konzola: ovo će pisati samo na terminal (za pokretanje naredbenog retka)
- oled: podrška za SSD6404 oled zaslon
- svjetlo: podržane su dvije vrste svjetala
- alarm: ovo će pokretati jedan GPIO za uključivanje/isključivanje tranzistora
- multi-led: podržava višebojne ili više LED dioda
- ništa: nema priključenog svjetla
- pojačalo: ovo je GPIO koji pokreće tranzistor za pojačalo
Preporučeni:
Noćno svjetlo Pooh Bear & Friends: 5 koraka (sa slikama)
Noćno svjetlo Pooh Bear & Friends: Sljedeće noćno svjetlo stvoreno je pomoću površinski montiranog ATTiny85. Ima dva gumba, jedan za uključivanje i isključivanje i jedan za pauziranje pri odabranom slijedu osvjetljenja. Pauza nije prava stanka, već jednostavno prekida vezu s
Ručno noćno svjetlo: 7 koraka (sa slikama)
Ručno noćno svjetlo: Moj petogodišnjak neprestano nas je budio noću, a mi smo mu neprestano držali predavanja dopuštajući mami i tati da spavaju, sve dok nisam shvatio da zapravo ne može sam odrediti je li vrijeme za spavanje ili se igra plus.zamolio bi nas da upalimo svjetlo
Automatsko IoT noćno svjetlo u hodniku s ESP8266: 4 koraka (sa slikama)
Automatsko IoT noćno svjetlo u hodniku s ESP8266: započeo sam ovaj projekt inspiriran svjetlom stubišta s drugog posta za poučavanje. Razlika je u tome što mozak sklopa koristi ESP8266, što znači da će doći s IoT uređajem. Ono što imam na umu je imati noćno svjetlo u hodniku za
Noćno svjetlo čuvara iz snova: 9 koraka (sa slikama)
Steampunked Dream Guardian Night Light: Pozdrav svimaMoj bliski prijatelj zamolio me da prije nekoliko tjedana za njegovu djevojku napravim zaručnički dar (naravno osim prstena!). Obojica su poput mene, dobrovoljni vatrogasci i vole Steampunk predmete. Moj prijatelj je razmišljao o sv
Animirano svjetlo raspoloženja i noćno svjetlo: 6 koraka (sa slikama)
Animirano svjetlo raspoloženja i noćno svjetlo: Imajući fascinaciju koja graniči s opsjednutošću svjetlošću, odlučio sam stvoriti izbor malih modularnih PCB -a koji bi se mogli koristiti za stvaranje RGB svjetlosnih prikaza bilo koje veličine. Nakon što sam izradio modularnu PCB ploču, došao sam na ideju da ih uredim u