Satura rādītājs:

NHL hokeja gaisma pie gultas un LCD: 4 soļi (ar attēliem)
NHL hokeja gaisma pie gultas un LCD: 4 soļi (ar attēliem)

Video: NHL hokeja gaisma pie gultas un LCD: 4 soļi (ar attēliem)

Video: NHL hokeja gaisma pie gultas un LCD: 4 soļi (ar attēliem)
Video: Японский ночной капсульный паром в ретро-стиле и карри из Ниигаты | Shin Nihonkai Ferry Lilac 2024, Novembris
Anonim
Image
Image
NHL hokeja lampa pie gultas un LCD
NHL hokeja lampa pie gultas un LCD

Ievads

"NHL Light" ir paredzēts hokeja faniem, kuri vēlas sekot savai komandai, bet nevar skatīties katru spēli. Tā labākā iezīme ir tā, ka tā simulē vārtu guvumu ar hokeja ragu (pēc pasūtījuma jūsu komandai) un gaismu.

Papildus hokeja ragam un gaismai "NHL Light" ir displejs, kas nodrošina pašreizējo vai jaunāko spēles rezultātu, spēles laiku vai nākamās spēles laiku un pašreizējo datumu un laiku.

"NHL Light" darbojas ar vienkāršu detaļu sarakstu, kurā ir viegli samontējama elektronika un kods, kas ir brīvi pieejams.

Iespējas

  1. Uz tīmekļa lapu balstīta konfigurācija komandas un wifi izvēlei
  2. Spēlē gaismu un ragu, kad komanda gūst vārtus (pat ja esat viesu komanda)
  3. Atskaņo skaņu, lai paziņotu par spēles sākumu
  4. Atskaņo skaņu, lai paziņotu par spēles noslēgumu
  5. Norāda nākamās spēles laiku un datumu, ja spēle netiek veikta.
  6. Parāda pašreizējo spēles laiku un periodu, ja spēle notiek.
  7. Parāda pašreizējo datumu un laiku.

1. darbība: 1. darbība: salieciet detaļas

1. darbība: salieciet detaļas
1. darbība: salieciet detaļas

Šeit ir detaļu saraksts.

  1. Raspberry Pi W*

    1. Amazon
    2. Es labprātāk iegūtu savu no Microcenter, bet citās vietās to var atrast tiešsaistē par lētāku cenu.
    3. $10
  2. SD karte (vismaz 4 GB)*
  3. skaļrunis - Amazon - ~ 2 USD *
  4. pastiprinātājs - PAM8403* - Amazon - katrs ~ 1 USD
  5. gaisma - Amazon - ~ 5 USD
  6. Korpuss - 1 USD*

    1. Miķeļa
    2. Es iesaku mazu koka amatniecības futrāli no Maikla amatniecības veikala, bet atstāsim jums!
  7. I2C 2004 LCD - 3-7 ASV dolāri

    1. Amazon
    2. Kods atbalsta 3 veidu LCD, bet I2C 2004 ir tas, kuru esmu izvēlējies kā vislabāko vērtību un izmēru. (Iespējams arī SSD1306)
  8. 2 tranzistori - 2N2222A- Amazon
  9. Dažādi vadi / lodēt 12V
  10. barošanas avots - Amazon
  11. 12V -> 5V buks pārveidotājs - Amazon

*Šīs daļas izvēlei ir elastība.

PIEZĪME. Lielāko daļu šī projekta varat sākt, izmantojot tikai savu aveņu Pi, kamēr gaidāt, kamēr tiks nosūtītas citas preces.

2. darbība: 2. darbība: elektroinstalācija un elektronika

2. darbība: elektroinstalācija un elektronika
2. darbība: elektroinstalācija un elektronika
2. darbība: elektroinstalācija un elektronika
2. darbība: elektroinstalācija un elektronika
  1. Salieciet gaismu

    1. Gaismas vadam ir jābrauc uz gaismu 12 +.
    2. Virziet negatīvi no gaismas caur vienu no tranzistoriem.
    3. Tranzistora emmetrs iet uz zemes.
    4. Tranzistora savācējs dodas uz Raspberry Pi.
  2. Salieciet skaņu

    1. Palaidiet labo vai kreiso skaņu no PI uz pastiprinātāju
    2. Palaidiet +5V pie pastiprinātāja
    3. Palaidiet pastiprinātāju zemē līdz 2. tranzistoram.
    4. Palaidiet otrā tranzistora emmetru uz zemes
    5. Palaidiet tranzistora kolektoru uz Raspberry Pi
  3. Salieciet vadus pie PI
  4. Šie ir norādījumi par PI (daži no tiem ir konfigurējami, izmantojot JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Gaisma 10 (GPIO15)
    4. Skaņa laba - GPIO 18

3. darbība: 3. darbība: operētājsistēmas programmatūras iestatīšana

  1. Sagatavojiet Raspberry Pi W

    1. Rasberry pi jābūt jaunākajai Raspbian (vai citas Debian) versijai.
    2. Ieteicams ievērot šos norādījumus:
    3. Noteikti iekļaujiet wifi wpa_supplicant failu.
    4. Ievietojiet ssh failu sdcard, lai atļautu ssh piekļuvi.
  2. Sagatavojiet trešās puses programmatūru:

    1. Esmu automatizējis šo procesu, lai izvilktu visus nepieciešamos trešo pušu rīkus, taču nekautrējieties tos palaist manuāli un pārskatiet, lai pārliecinātos, ka neveic nekādas darbības.
    2. Lejupielādējiet un palaidiet šo skriptu:

Šeit ir sniegts operētājsistēmas iestatīšanas instalācijas skripta sadalījums. Vislabāk ir palaist šīs līnijas manuāli, lai jūs varētu novērot kļūdas.

Skripta galvene:

#!/bin/sh -e #var izsaukt, izmantojot #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizējiet šo skriptu ar kaut ko līdzīgu: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: wifi iestatīšana # TODO: iestatiet piekļuves kodu un autorizētās atslēgas # piezīmes:

Atjauniniet programmatūru OS līmenī:

#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

Tīkla iestatīšana. Daļa no mērķiem šeit bija ļaut konfigurēt sistēmu, izmantojot piekļuves punktu, izveidot savienojumu ar savu wifi, taču tas vēl nav pilnībā pārbaudīts. Pašlaik Wi -Fi iestatīšanai ieteicams izmantot metodi wpa_supplicant.

#networking setupecho nhllight>/etc/hostname #TODO: labojiet/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #piezīme: cita iestatīšana tiek veikta, izmantojot konfigurācijas failus un apvalku, kas tiek noņemts kā daļa no atjauninājuma

Atjauniniet mezglu un mezglu bibliotēkas

#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. tar.xz cd node-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: izveidot sim saiti mezgla binārajam? apt -get remove -y --purge npm mezgls nodejs

#Node setupmkdir/opt/nhl mkdir/opt/nhl/žurnāli mkdir/opt/nhl/ragi mkdir/opt/nhl/node_modules/

#atjaunināt mezglu

#instalējiet mezglu atkarības nhl direktorija eksportā NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - izlabojiet to klibo, kas netiks instalēts visā pasaulē

cd/opt/nhl npm instalēt lame # lame, ir klibs, parasti neinstalēs globāli npm instalēt i2c-bus #vispārinstalēt globāli $ 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 instalēt oled-font-5x7 #netiks instalēts visā pasaulē

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

npm install onoff #netiks instalēts visā pasaulē

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

#npm install pm2 #netiks instalēts visā pasaulē

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #neinstalēs globāli #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# jebkādi globāli moduļi

npm install express body -parser child_process pm2 -g

Izvelciet jaunāko kodu:

#pull git codecd/opt/nhl #JSON ir vienreizēja izveides 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 automated script to install all other for NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -

Lejupielādējiet ragus!

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

atjauniniet Raspberry pi konfigurācijas failus - - iespējams, būs jāmaina jūsu sistēma

#config failu atjauninājumi#pievienot skaņu cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #ieslēgt i2c printf '\ n / ndtparam = i2c1 = ieslēgts / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = ieslēgts / n' >>/boot/config. txt

#TODO: vai tas ir vajadzīgs? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules

amixer cset numid = 1

#TODO: iestatīt skaļumu, 60%?

Automatizējiet automatizāciju, piemēram, sāknēšanu un koda atjauninājumus:

# update rc.local# PIEZĪME: faila pārvietošana, jo standarta pirmajā rindā ir iekļauta "izeja", tāpēc nevar vienkārši pievienot 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 exit 0' >> /etc/rc.local

# TODO: jāpievieno kaut kas, lai ik nedēļu veiktu regulārus programmatūras atjauninājumus.# Varbūt vienkārši nokopējiet šo failu tieši mapē 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

Dažādi materiāli, piemēram, laika joslas iestatīšana:

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

# atjauniniet vides mainīgo ar node_path

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

Izmantojiet PM2 mezgla servera iestatīšanai:

#TODO: testa iestatīšana PM2cd /tmp /npm install -g pm2 pm2 starta 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 saglabāt pm2 starta izeju 0

4. darbība: 4. darbība: atjauniniet JSON konfigurāciju

Iestatiet savu JSON konfigurācijas failu vēlamajai komandai utt. Šis fails atrodas mapē /opt /nhl GO CAPITALS! config JSON failu

Programmatūra izmanto JSON failu, lai konfigurētu aparatūru un komandu, kurai sekojat. Komandu var iestatīt, izmantojot tīmekļa serveri, kas darbosies, taču aparatūras iestatīšana jāiestata manuāli:

Šeit ir katras iespējamās vērtības skaidrojums:

  • myteam: tas ir komandas trīsburtu kods, kuram vēlaties sekot
  • atkļūdošana: iespējamās vērtības ir 1 (patiesa) vai 0 (nepatiesa), un tās kontrolēs reģistrēšanas apjomu.
  • produkcija: šī ir metode, ar kuras palīdzību tiek parādīti rezultāti/informācija. Iespējamās vērtības ir šādas:

    • LCD: tas ir 2004. gada lcd
    • konsole: tas rakstīs tikai uz termināli (komandrindas palaišanai)
    • oled: SSD6404 displeja atbalsts
  • gaisma: tiek atbalstīti divu veidu lukturi

    • trauksme: tas vadīs vienu GPIO, lai ieslēgtu/izslēgtu tranzistoru
    • vairāku LED: atbalsta daudzkrāsainus vai vairākus gaismas diodes
    • nav: nav pievienota gaisma
  • amp: tas ir GPIO, kas vada pastiprinātāja tranzistoru

Ieteicams: