فهرست مطالب:

هاکی روی تخت NHL و LCD: 4 مرحله (همراه با تصاویر)
هاکی روی تخت NHL و LCD: 4 مرحله (همراه با تصاویر)

تصویری: هاکی روی تخت NHL و LCD: 4 مرحله (همراه با تصاویر)

تصویری: هاکی روی تخت NHL و LCD: 4 مرحله (همراه با تصاویر)
تصویری: Коллектор. Психологический триллер 2024, نوامبر
Anonim
Image
Image
هاکی روی تخت NHL و LCD
هاکی روی تخت NHL و LCD

معرفی

"نور NHL" برای طرفداران هاکی است که می خواهند تیم خود را دنبال کنند ، اما نمی توانند هر بازی را تماشا کنند. بهترین ویژگی این است که نمره گل را با شاخ هاکی (سفارشی تیم شما) و سبک شبیه سازی می کند.

"NHL Light" علاوه بر شاخ و نور هاکی ، دارای صفحه نمایش است که نمره فعلی یا جدیدترین بازی ، زمان یا زمان بازی بعدی و تاریخ و زمان فعلی را ارائه می دهد.

"NHL Light" بر اساس یک لیست ساده از قطعات ، که مونتاژ قطعات الکترونیکی آسان است ، و کدی که به صورت رایگان در دسترس است اجرا می شود.

امکانات

  1. پیکربندی مبتنی بر صفحه وب برای انتخاب تیم و wifi شما
  2. هنگامی که تیم شما گل می زند (حتی وقتی تیم خارج از خانه هستید) سبک و بوق می زند.
  3. پخش صدا برای اعلام شروع بازی
  4. صدایی برای اعلام نتیجه گیری بازی پخش می کند
  5. در صورت عدم انجام بازی زمان و تاریخ بازی بعدی را ارائه می دهد.
  6. اگر بازی در حال انجام است زمان و دوره بازی فعلی را نشان می دهد.
  7. تاریخ و زمان فعلی را نمایش می دهد.

مرحله 1: مرحله 1: قطعات خود را جمع آوری کنید

مرحله 1: قطعات خود را جمع کنید
مرحله 1: قطعات خود را جمع کنید

در اینجا لیست قطعات آمده است.

  1. تمشک پای W*

    1. آمازون
    2. من ترجیح می دهم از Microcenter بخرم ، اما می توان آن را در مکان های دیگر با قیمت کمتر آنلاین پیدا کرد.
    3. $10
  2. کارت SD (حداقل 4 گیگابایت)*
  3. بلندگو - آمازون - ~ 2 دلار *
  4. آمپر - PAM8403* - آمازون - هر کدام 1 پوند
  5. نور - آمازون - ~ 5 دلار
  6. مورد - 1 دلار*

    1. مال مایکل
    2. من کیف دستی کوچک چوبی را از فروشگاه صنایع دستی مایکل توصیه می کنم ، اما به شما واگذار می شود!
  7. LCD I2C 2004 - 3-7 دلار

    1. آمازون
    2. کد از 3 نوع LCD پشتیبانی می کند ، اما I2C 2004 یکی از بهترین قیمت ها و اندازه ها است. (SSD1306 نیز امکان پذیر است)
  8. 2 ترانزیستور - 2N2222A- آمازون
  9. سیمهای متفرقه / لحیم 12 ولت
  10. منبع تغذیه - آمازون
  11. مبدل باک 12 ولت -> 5 ولت - آمازون

*هنگام انتخاب این قسمت انعطاف پذیری وجود دارد.

توجه: می توانید اکثر پروژه را فقط با تمشک پای خود شروع کنید ، در حالی که منتظر ارسال سایر اقلام هستید.

مرحله 2: مرحله 2: سیم کشی و الکترونیک

مرحله 2: سیم کشی و الکترونیک
مرحله 2: سیم کشی و الکترونیک
مرحله 2: سیم کشی و الکترونیک
مرحله 2: سیم کشی و الکترونیک
  1. نور را مونتاژ کنید

    1. سیم کشی چراغ 12+ به سمت چراغ است.
    2. منفی را از طریق نور از طریق یکی از ترانزیستورها عبور دهید.
    3. متلاطم ترانزیستور به زمین می رود.
    4. گردآورنده ترانزیستور به Raspberry Pi می رود.
  2. جمع آوری صدا

    1. صدای راست یا چپ را از PI تا آمپر اجرا کنید
    2. +5V را روی آمپر اجرا کنید
    3. آمپر را روی ترانزیستور دوم اجرا کنید.
    4. املتر ترانزیستور دوم را روی زمین اجرا کنید
    5. جمع کننده ترانزیستور را به Raspberry Pi اجرا کنید
  3. سیم کشی را به PI مونتاژ کنید
  4. این دستورالعمل pinout برای PI است (برخی از اینها از طریق JSON قابل تنظیم است)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. نور 10 (GPIO15)
    4. صدا راست - GPIO 18

مرحله 3: مرحله 3: راه اندازی نرم افزار سیستم عامل

  1. Raspberry Pi W را آماده کنید

    1. rasberry pi باید نسخه جدیدی از Raspbian (یا دیگر Debian) را اجرا کند.
    2. توصیه می شود این دستورالعمل ها را دنبال کنید:
    3. حتما فایل wpa_supplicant wifi را وارد کنید.
    4. فایل ssh را روی کارت sdcard قرار دهید تا به ssh دسترسی داشته باشید.
  2. نرم افزار شخص ثالث را آماده کنید:

    1. من این فرآیند را برای کشیدن همه ابزارهای مورد نیاز شخص ثالث خودکار کرده ام ، اما با خیال راحت اینها را به صورت دستی اجرا کنید و بررسی کنید تا مطمئن شوید هیچ مرحله ای شکست نمی خورد.
    2. اسکریپت زیر را بارگیری و اجرا کنید:

در اینجا به تفکیک اسکریپت نصب برای راه اندازی سیستم عامل می پردازیم. بهتر است این خطوط را به صورت دستی اجرا کنید تا بتوانید به دنبال خطاها باشید.

سرصفحه اسکریپت:

#!/bin/sh -e #را می توان از طریق #curl -sL فراخوانی کرد https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: خودکار این اسکریپت را با چیزی مانند: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd و کلیدهای مجاز # یادداشت ها:

به روز رسانی نرم افزار در سطح سیستم عامل:

#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-based 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

راه اندازی شبکه بخشی از هدف در اینجا این بود که اجازه دهیم سیستم از طریق یک نقطه دسترسی پیکربندی شود ، به وای فای خود متصل شود ، اما این هنوز به طور کامل آزمایش نشده است. در حال حاضر توصیه می شود از روش wpa_supplicant برای راه اندازی wifi استفاده کنید.

#networking setupecho nhllight>/etc/hostname #TODO: رفع/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: تنظیمات دیگر از طریق فایل های پیکربندی انجام می شود و پوسته به عنوان بخشی از به روز رسانی به پایین کشیده می شود.

کتابخانه های گره و گره را به روز کنید

#آپدیت 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 LICENSE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: پیوند sym را برای گره باینری ایجاد کنید؟ apt -get remove -y --purge npm nodejs nodejs

#تنظیم گره

#گره به روز رسانی

#نصب وابستگی های گره به پوشه nhl صادرات NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - برطرف کنید که لنگ در سطح جهانی نصب نمی شود

cd/opt/nhl npm نصب لنگ # لنگ ، لنگ است ، در سطح جهانی نصب نمی شود cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm بلندگوی نصب # جهانی نصب نمی شود npm نصب i2c-bus #از نصب جهانی cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm نصب oled-i2c-bus #جهانی نصب cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm نصب lcd #جهانی نصب cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm نصب lcdi2c #نصب جهانی cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH

npm install oled-font-5x7 #به صورت جهانی نصب نمی شود

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

npm install onoff #به صورت جهانی نصب نمی شود

cp -R/opt/nhl/node_modules/خاموش $ NODE_PATH

#npm install pm2 #به صورت سراسری نصب نمی شود

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #به طور جهانی نصب نمی شود #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# هر ماژول جهانی

npm express body -parser child_process pm2 -g را نصب کنید

آخرین کد را بکشید:

#pull git codecd/opt/nhl #JSON یکبار ایجاد 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… #اسکریپت خودکار برای نصب سایر موارد برای NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs فراخوانی کنید /ma… | sudo -E bash -

شاخ ها را بارگیری کنید!

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

فایلهای پیکربندی Raspberry pi را به روز کنید - - ممکن است برای سیستم شما نیاز به تغییر داشته باشد

#به روزرسانی فایل#اضافه کردن صدا cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan ، pin = 18 ، func = 2 ، pin2 = 13 ، func2 = 4' >> / boot/config.txt #روشن کردن i2c printf '\ n / ndtparam = i2c1 = در / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = در / n' >>/boot/config txt

#TODO: آیا این مورد نیاز است؟ cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules

amixer cset numid = 1

#TODO: تنظیم حجم ، 60؟؟

اتوماسیون خودکار ، مانند راه اندازی و به روز رسانی کد:

# به روز رسانی rc.local# توجه: انتقال فایل ، زیرا استاندارد شامل "خروج" در آخرین خط است ، بنابراین نمی توان به سادگی 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 خروجی 0' >> /etc/rc.local

#TODO: برای انجام هفتگی به روز رسانی نرم افزاری مانند این باید چیزی اضافه کنید# شاید فقط این فایل را مستقیماً در پوشه 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

موارد متفرقه ، مانند تنظیم منطقه زمانی:

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

# متغیر محیط به روز رسانی با node_path

cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: این را برای گره self.ipaddress = process.env تعریف کنید. NODEJS_IP ؛ #TODO: self.port = process.env. NODEJS_PORT || 80؛

از PM2 برای راه اندازی سرور گره استفاده کنید:

#TODO: setup test 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 ذخیره خروجی راه اندازی pm2 0

مرحله 4: مرحله 4: پیکربندی JSON را به روز کنید

فایل پیکربندی JSON خود را برای تیمی که ترجیح می دهید تنظیم کنید. این فایل در /opt /nhl GO CAPITALS قرار دارد! پیکربندی فایل JSON

این نرم افزار از یک فایل JSON برای پیکربندی سخت افزار و تیمی که دنبال می کنید استفاده می کند. تیم را می توان از طریق وب سروری که اجرا می شود تنظیم کرد ، اما تنظیم سخت افزار باید به صورت دستی تنظیم شود:

در اینجا هر مقدار ممکن توضیح داده شده است:

  • myteam: این کد 3 حرفی تیمی است که می خواهید دنبال کنید
  • اشکال زدایی: مقادیر احتمالی 1 (درست) یا 0 (نادرست) هستند و میزان خروجی ورود به سیستم را کنترل می کنند.
  • خروجی: این روشی است که نمرات/جزئیات را نشان می دهد. مقادیر احتمالی عبارتند از:

    • ال سی دی: این ال سی دی 2004 است
    • کنسول: این فقط برای ترمینال (برای اجرای خط فرمان) می نویسد
    • oled: پشتیبانی از صفحه نمایش OSD SSD6404
  • نور: دو نوع چراغ پشتیبانی می شود

    • زنگ هشدار: این یک GPIO واحد را برای روشن/خاموش کردن یک ترانزیستور هدایت می کند
    • multi-led: از چند رنگ یا چند led پشتیبانی می کند
    • هیچ: چراغی متصل نیست
  • amp: این GPIO است که ترانزیستور را برای آمپر هدایت می کند

توصیه شده: