Isi kandungan:
- Langkah 1: Langkah 1: Pasang Bahagian Anda
- Langkah 2: Langkah 2: Pendawaian dan Elektronik
- Langkah 3: Langkah 3: Persediaan Perisian Sistem Operasi
- Langkah 4: Langkah 4: Kemas kini Konfigurasi JSON
Video: NHL Lampu Samping Tempat Tidur dan LCD: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Pengenalan
"NHL Light" adalah untuk peminat hoki yang ingin mengikuti pasukan mereka, tetapi tidak dapat menonton setiap perlawanan. Ciri terbaiknya ialah ia mensimulasikan skor gol dengan tanduk hoki (khusus untuk pasukan anda), dan ringan.
Selain tanduk dan cahaya hoki, "NHL Light", mempunyai paparan yang memberikan skor permainan terkini, atau terkini, waktu atau waktu permainan berikutnya, dan tarikh dan waktu terkini.
"NHL Light" menggunakan senarai bahagian yang mudah, yang mudah dipasang elektronik, dan kod yang tersedia secara bebas.
ciri-ciri
- Konfigurasi berdasarkan laman web untuk memilih pasukan dan wifi anda
- Memainkan cahaya dan tanduk ketika pasukan anda menjaringkan gol (walaupun anda adalah pasukan tandang)
- Memainkan suara untuk mengumumkan permulaan permainan
- Memainkan suara untuk mengumumkan kesimpulan permainan
- Menyediakan masa dan tarikh permainan seterusnya, jika tidak ada permainan yang sedang berlangsung.
- Memaparkan masa dan tempoh permainan semasa, jika permainan sedang berlangsung.
- Memaparkan tarikh dan masa semasa.
Langkah 1: Langkah 1: Pasang Bahagian Anda
Berikut adalah senarai bahagian.
-
Raspberry Pi W *
- Amazon
- Saya lebih suka mendapatkan tambang dari Microcenter, tetapi kurang dapat dijumpai dalam talian di tempat lain.
- $10
- Kad SD (minimum 4gb) *
- pembesar suara - Amazon - ~ $ 2 *
- amp - PAM8403 * - Amazon - ~ $ 1 setiap satu
- cahaya - Amazon - ~ $ 5
-
Kes - $ 1 *
- Michael
- Saya mengesyorkan kotak kerajinan kayu kecil dari kedai kraf Michael, tetapi akan diserahkan kepada anda!
-
LCD I2C 2004 - $ 3-7
- Amazon
- Kod ini menyokong 3 jenis LCD, tetapi I2C 2004 adalah yang paling sesuai untuk saya nilai dan ukuran terbaik. (SSD1306 juga mungkin)
- 2 transistor - 2N2222A- Amazon
- Lain-lain Wayar / solder12V
- bekalan kuasa - Amazon
- Penukar 12V -> 5V buck - Amazon
* Terdapat fleksibiliti ketika memilih bahagian ini.
CATATAN: Anda boleh memulakan sebahagian besar projek ini hanya dengan Raspberry Pi anda, sementara anda menunggu barang lain dihantar.
Langkah 2: Langkah 2: Pendawaian dan Elektronik
- Pasang Cahaya
- Pendawaian untuk cahaya adalah berjalan 12 + ke cahaya.
- Jalankan negatif dari cahaya melalui salah satu transistor.
- Emmetter transistor menuju ke tanah.
- Pemungut transistor menuju ke Raspberry Pi.
- Berkumpul suara
- Jalankan bunyi kanan atau kiri dari PI ke amp
- Jalankan + 5V ke amp
- Jalankan tanah amp ke transistor ke-2.
- Jalankan emmetter transisitor ke-2 ke tanah
- Jalankan pemungut transistor ke Raspberry Pi
- Pasang pendawaian ke PI
-
Ini adalah petunjuk pinout untuk PI (beberapa di antaranya dapat dikonfigurasi melalui JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Lampu 10 (GPIO15)
- Bunyi Benar - GPIO 18
-
Langkah 3: Langkah 3: Persediaan Perisian Sistem Operasi
-
Sediakan Raspberry Pi W
- Rasberry pi mesti menjalankan versi Raspbian terbaru (atau Debian lain).
- Disyorkan untuk mengikuti arahan ini:
- Pastikan anda memasukkan fail wpa_supplicant wifi.
- Letakkan fail ssh pada kad sd untuk membenarkan akses ssh.
-
Sediakan perisian pihak ketiga:
- Saya telah mengautomatikkan proses ini untuk menarik semua alat pihak ketiga yang diperlukan, tetapi jangan gunakannya secara manual, dan tinjau untuk memastikan tidak ada langkah yang gagal.
- Muat turun dan jalankan skrip berikut:
Berikut adalah penjelasan mengenai skrip pemasangan untuk mengatur sistem operasi. Sebaiknya jalankan baris ini secara manual, sehingga anda dapat melihat kesalahan.
Tajuk Skrip:
#! / bin / sh -e # boleh dipanggil melalui #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatik skrip ini dengan sesuatu seperti: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd dan kunci yang dibenarkan # nota:
Kemas kini perisian di peringkat 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
Persediaan rangkaian. Sebahagian daripada tujuan di sini adalah untuk membolehkan sistem dikonfigurasi melalui titik akses, untuk menyambung ke wifi anda sendiri, tetapi ini belum diuji sepenuhnya. Pada masa ini disyorkan untuk menggunakan kaedah wpa_supplicant untuk menyiapkan wifi.
#networking setupecho nhllight> / etc / hostname #TODO: perbaiki
Kemas kini pustaka Node dan nod
#update nodecd / tmp eksport 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 LICENSE cp -R * / usr / local / rm -R / tmp / node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: buat pautan sym untuk binari nod? apt-get remove -y --purge npm node nodejs
#Node setupmkdir / opt / nhl mkdir / opt / nhl / log mkdir / opt / nhl / tanduk mkdir / opt / nhl / node_modules /
#kemas kini Node
#install dependensi node ke dalam direktori nhl eksport NODE_PATH = / usr / local / lib / node_modules
#HACK - TODO - perbaiki yang lumpuh tidak akan dipasang di peringkat global
cd / opt / nhl npm pasang lame # lame, lumpuh, tidak akan memasang secara global cp -R / opt / nhl / node_modules / lame $ NODE_PATH npm pasang pembesar suara #tidak memasang global cp -R / opt / nhl / node_modules / pembesar suara $ NODE_PATH npm pasang i2c-bus #tidak memasang global cp -R / opt / nhl / node_modules / i2c-bus $ NODE_PATH npm pasang lcd #tidak pasang secara global cp -R / opt / nhl / node_modules / lcd $ NODE_PATH npm pasang lcdi2c #tidak memasang global cp -R / opt / nhl / node_modules / lcdi2c $ NODE_PATH
npm pasang oled-font-5x7 #tidak dipasang di peringkat global
cp -R / opt / nhl / node_modules / oled-font-5x7 $ NODE_PATH
npm pasang onoff #tidak dipasang secara global
cp -R / opt / nhl / node_modules / onoff $ NODE_PATH
#npm pasang pm2 #tidak memasang secara global
#cp -R / opt / nhl / node_modules / pm2 $ NODE_PATH #npm pasang ekspres # tidak akan dipasang secara global #cp -R / opt / nhl / node_modules / express $ NODE_PATH
# mana-mana modul global
npm pasang express_ body proses parser child_process pm2 -g
Tarik kod terkini:
#pull git codecd / opt / nhl #JSON adalah pembuatan satu kali 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 script automatik untuk memasang semua yang lain untuk NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs / ma… | sudo -E bash -
Muat turun tanduk!
#tarik hornscd / opt / nhl / horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
kemas kini fail konfigurasi Raspberry pi - - mungkin perlu diubah untuk sistem anda
#kemas kini failconfig # tambahkan suara cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot / config.txt #hidupkan i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >> / boot / config. txt
#TODO: adakah ini diperlukan? Cp / etc / modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> / etc / modules
amixer cset numid = 1
#TODO: tetapkan kelantangan, 60%?
Automatikkan automasi, seperti boot dan kemas kini kod:
# update rc.local # CATATAN: memindahkan fail, kerana yang standard merangkumi "exit" di baris terakhir, jadi tidak boleh hanya menambahkan 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 keluar 0' >> /etc/rc.local
#TODO: perlu menambahkan sesuatu untuk melakukan kemas kini perisian biasa setiap minggu seperti ini # Mungkin hanya salin fail ini terus ke folder 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
Perkara lain, seperti menetapkan zon waktu:
ln -sf / usr / share / zoneinfo / America / New_York / etc / waktu tempatan
# kemas kini pemboleh ubah persekitaran dengan node_path
cp / etc / environment /etc/environment.bak printf '\ nexport NODE_PATH = / usr / local / lib / node_modules / n' >> / etc / environment #TODO: tentukan ini untuk node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Gunakan PM2 untuk penyediaan pelayan nod:
#TODO: persediaan persediaan 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
Langkah 4: Langkah 4: Kemas kini Konfigurasi JSON
Sediakan fail konfigurasi JSON anda untuk pasukan yang anda sukai, dll. Fail ini terletak di / opt / nhl GO MODAL! konfigurasi fail JSON
Perisian ini menggunakan fail JSON untuk mengkonfigurasi perkakasan dan pasukan yang anda ikuti. Pasukan dapat disetel melalui pelayan web yang akan berjalan, tetapi penyediaan perkakasan harus diset secara manual:
Berikut adalah penjelasan mengenai setiap nilai yang mungkin:
- myteam: ini adalah kod 3 huruf pasukan yang ingin anda ikuti
- debug: Nilai yang mungkin adalah 1 (benar) atau 0 (salah), dan akan mengawal berapa banyak pembalakan ditulis.
-
output: ini adalah kaedah yang menunjukkan skor / perinciannya. Nilai yang mungkin adalah:
- lcd: ini adalah lcd 2004
- konsol: ini hanya akan ditulis ke terminal (untuk menjalankan arahan)
- oled: sokongan untuk paparan SSD6404
-
cahaya: terdapat dua jenis lampu yang disokong
- penggera: ini akan mendorong GPIO tunggal untuk menghidupkan / mematikan transistor
- multi-led: menyokong pelbagai warna, atau berbilang led
- tiada: tidak ada cahaya yang terpasang
- amp: ini adalah GPIO yang mendorong transistor untuk amp
Disyorkan:
Sensasi Gerak Di Bawah Lampu Tempat Tidur: 16 Langkah (dengan Gambar)
Motion Sensing Under Lighting Light: Pernah cuba keluar dari tempat tidur dengan tenang pada waktu malam hanya untuk meredah sesuatu dan membangunkan seluruh rumah? Lampu malam penginderaan gerakan yang dipasang secara diam-diam di bawah katil anda memberikan cahaya tahap rendah yang cukup terang untuk memandu anda di sekitar batu bata LEGO yang sesat itu
Jam Samping Tempat Tidur Bersambung untuk Kanak-kanak: 12 Langkah
Jam Samping Tempat Tidur Terhubung untuk Kanak-kanak: Mengikuti arahan ini, anda akan dapat membina jam yang diaktifkan gerakan dan akan menunjukkan tarikh, waktu dan peristiwa yang berkaitan pada hari itu. Ia akan menunjukkan mod malam ketika tiba masanya untuk tidur dan ketika anak-anak bangun, mereka dapat dengan cepat mengingat apa
Tempat Letak Komputer yang Lebih Baik untuk Tempat Tidur: 7 Langkah (dengan Gambar)
Tempat Letak Laptop yang Lebih Baik untuk Tempat Tidur: Buat Tempat Letak Laptop yang ringkas tetapi sangat berguna untuk sekitar $ 15 dan 30-60 minit! Bagus untuk digunakan di tempat tidur semasa menaip, melayari, dan terutama menonton filem. Semasa saya menggunakan komputer riba di atas katil, selalunya tidak selesa. Saya perlu mengimbangi komputer riba dengan
Lampu / Lampu Malam Samping Tempat Tidur Mini LED: 5 Langkah
Lampu / Lampu Malam Samping Tempat Tidur Mini LED: Pertama saya harus mengatakan bahawa ini diilhamkan oleh lampu LED berdiri bebas Mini oleh Sunbanks. Daripada menggunakan biro untuk menjauhkan lampu dari meja, saya telah menggunakan beberapa perspektif yang jelas untuk memproyeksikan cahaya dari pangkalan. Projek kecil ini adalah prototaip
Dimming Illuminator- untuk Jam Samping Tempat Tidur dll. 4 Langkah (dengan Gambar)
Dimming Illuminator- for Bedside Clocks dll: Unit ini wujud kerana isteri saya mengadu bahawa dia tidak dapat melihat jam bilik tidur ketika bilik tidur dalam kegelapan, dan dia tidak mahu menyalakan lampu untuk membangunkan saya . Isteri saya tidak mahu cahaya yang menyilaukan jam, cukup ringan