Sadržaj:
- Korak 1: Korak 1: Sastavite dijelove
- Korak 2: Korak 2: Ožičenje i elektronika
- Korak 3: Korak 3: Postavljanje softvera operativnog sistema
- 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 izmjena: 2024-01-30 08:08
Uvod
"NHL Light" je za ljubitelje hokeja koji žele pratiti svoj tim, ali ne mogu gledati svaku utakmicu. Njegova najbolja karakteristika je to što simulira gol sa hokejaškom trubom (prilagođeno vašem timu) i laganim.
Osim hokejaške trube i svjetla, "NHL Light" ima ekran koji prikazuje trenutni ili posljednji rezultat utakmice, vrijeme ili vrijeme sljedeće utakmice, te trenutni datum i vrijeme.
"NHL Light" radi na jednostavnoj listi dijelova, koja se lako sastavlja, i elektronici, te kodu koji je slobodno dostupan.
Karakteristike
- Konfiguracija zasnovana na web stranici za odabir vašeg tima i WiFi
- Svira i trubi kada vaš tim postigne gol (čak i kada ste u gostima)
- Pušta zvuk koji najavljuje početak igre
- Reproducira zvuk koji najavljuje završetak igre
- Pruža vrijeme i datum sljedeće utakmice, ako igra nije u toku.
- Prikazuje trenutno vrijeme i period igre, ako je igra u toku.
- Prikazuje trenutni datum i vrijeme.
Korak 1: Korak 1: Sastavite dijelove
Ovdje je lista dijelova.
-
Raspberry Pi W*
- Amazon
- Radije bih nabavio svoj iz Microcentera, ali mogu se jeftinije pronaći na internetu na drugim mjestima.
- $10
- SD kartica (najmanje 4 gb)*
- zvučnik - Amazon - ~ 2 USD *
- pojačalo - PAM8403* - Amazon - ~ 1 USD svaki
- light - Amazon - ~ 5 USD
-
Futrola - 1 USD*
- Michael's
- Preporučujem malu drvenu kutiju za zanate iz Michaelove zanatske radnje, ali to prepuštam vama!
-
I2C 2004 LCD - 3-7 USD
- Amazon
- Kôd podržava 3 vrste LCD -a, ali I2C 2004 sam odlučio za najbolju vrijednost i veličinu. (SSD1306 je takođe moguć)
- 2 tranzistora - 2N2222A- Amazon
- Ostalo Žice / lemljenje12V
- napajanje - Amazon
- 12V -> 5V konverter u dolarima - Amazon
*Postoji fleksibilnost 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.
- Prođite negativno iz svjetlosti 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 drugog tranzistora.
- Emmetter drugog tranzisitora okrenite na zemlju
- Pokrenite sakupljač tranzistora na Raspberry Pi
- Sastavite ožičenje na PI
-
Ovo su upute za pinout za PI (neke od njih se mogu konfigurirati putem JSON -a)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Svjetlo 10 (GPIO15)
- Zvuk u redu - GPIO 18
-
Korak 3: Korak 3: Postavljanje softvera operativnog sistema
-
Pripremite Raspberry Pi W
- Rasberry pi mora imati najnoviju verziju Raspbiana (ili drugog Debiana).
- Preporučuje se slijediti ova uputstva:
- Obavezno 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 proces kako bih povukao sve potrebne alate treće strane, ali slobodno ih pokrenite ručno i pregledajte kako biste bili sigurni da koraci ne uspijevaju.
- Preuzmite i pokrenite sljedeću skriptu:
Evo raščlambe onoga što radi instalacijska skripta za postavljanje operativnog sistema. Najbolje je pokrenuti ove redove ručno, kako biste mogli pratiti greške.
Zaglavlje skripte:
#!/bin/sh -e #se može 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 nivou OS:
#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
Podešavanje mreže. Ovdje je dio cilja bio omogućiti konfiguriranje sistema putem pristupne tačke, povezivanje sa vašim vlastitim WiFi -em, ali to još nije u potpunosti testirano. Trenutno se preporučuje upotreba metode wpa_supplicant za postavljanje WiFi -ja.
#umrežavanje setupecho nhllight>/etc/hostname #TODO: popravite/etc/hosts #TODO: postavljanje br0 mkdir/etc/hostapd/ #napomena: drugo postavljanje se vrši putem konfiguracijskih datoteka i ljuska je povučena kao dio ažuriranja
Ažurirajte čvor i biblioteke č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/lokalno/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
#Podešavanje čvoramkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/rogovi mkdir/opt/nhl/node_modules/
#update Node
#instalirajte zavisnosti čvorova u nhl direktorij 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š sistem
#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. poruka
#TODO: je li ovo potrebno? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amikser cset numid = 1
#TODO: podesite jačinu zvuka, 60%?
Automatizirajte automatizaciju, poput pokretanja i ažuriranja koda:
# update rc.local# NAPOMENA: premještanje datoteke, jer standardna uključuje "izlaz" 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: treba dodati nešto za redovno ažuriranje softvera sedmično poput ovoga# Možda samo kopirati ovu datoteku direktno u fasciklu 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
Razne stvari, poput postavljanja vremenske zone:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# ažuriranje varijable okruženja sa 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: postavljanje testa PM2cd /tmp /npm instalacija -g pm2 pm2 pokretanje cd /opt /nhl pm2 početak NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 početak webserver.js --node -args = "-max_old_space_size 100M" pm2 spremanje pm2 izlaz pri pokretanju 0
Korak 4: Korak 4: Ažurirajte JSON konfiguraciju
Postavite svoju JSON konfiguracijsku datoteku za tim koji želite, itd. Ova datoteka se nalazi u /opt /nhl GO CAPITALS! config JSON datoteku
Softver koristi JSON datoteku za konfiguriranje hardvera i tima koji pratite. Tim se može postaviti putem web servera koji će biti pokrenut, ali hardversko postavljanje treba postaviti ručno:
Evo objašnjenja svake moguće vrijednosti:
- myteam: ovo je troslovni kod tima koji želite pratiti
- otklanjanje grešaka: Moguće vrijednosti su 1 (tačno) ili 0 (netačno), i kontrolirat će koliko je zapisano.
-
izlaz: ovo je metoda pomoću koje se ocjene/detalji prikazuju. Moguće vrijednosti su:
- lcd: ovo je lcd iz 2004. godine
- console: ovo će pisati samo na terminal (za pokretanje naredbenog retka)
- oled: podrška za SSD6404 oled ekran
- 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: nije pričvršćeno svetlo
- pojačalo: ovo je GPIO koji pokreće tranzistor za pojačalo
Preporučuje se:
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 dugmeta, jedno za uključivanje i isključivanje i jedno za pauziranje pri odabranoj sekvenci osvjetljenja. Pauza nije prava pauza, već jednostavno prekida vezu sa
Ručno noćno svjetlo: 7 koraka (sa slikama)
Noćno svjetlo iz ruke: Moj petogodišnjak neprestano nas je budio noću, a mi smo mu neprestano držali predavanja puštajući mamu i tatu da spavaju, sve dok nisam shvatio da on zapravo ne može sam odrediti je li vrijeme za spavanje ili se igra plus.zamolio bi nas da upalimo svjetlo
Automatsko noćno svjetlo IoT hodnika s ESP8266: 4 koraka (sa slikama)
Automatsko IoT noćno svjetlo u hodniku s ESP8266: Ovaj sam projekt započeo inspiriran svjetlom za stubište s drugog mjesta za poučavanje. Razlika je u tome što mozak kruga koristi ESP8266, što znači da će doći kao IoT uređaj. Ono što imam na umu je imati noćno svjetlo u hodniku za
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 sa opsesijom svjetlošću, odlučio sam stvoriti izbor malih modularnih PCB -a koji se mogu koristiti za stvaranje RGB svjetlosnih prikaza bilo koje veličine. Nakon što sam napravio modularnu PCB ploču, došao sam na ideju da ih uredim u
Noćno svjetlo koje osjeća svjetlo koje se može prebaciti: 8 koraka (sa slikama)
Noćno svjetlo sa osjetljivim svjetlom koje se može prebaciti: Ovo uputstvo pokazuje kako sam hakirao senzor noćnog svjetla tako da se može ručno isključiti. Pažljivo pročitajte, imajte na umu sve otvorene krugove i po potrebi isključite područje prije testiranja jedinice