Mục lục:

NHL Đèn khúc côn cầu bên giường và màn hình LCD: 4 bước (có hình ảnh)
NHL Đèn khúc côn cầu bên giường và màn hình LCD: 4 bước (có hình ảnh)

Video: NHL Đèn khúc côn cầu bên giường và màn hình LCD: 4 bước (có hình ảnh)

Video: NHL Đèn khúc côn cầu bên giường và màn hình LCD: 4 bước (có hình ảnh)
Video: Biến hình khi văn phòng Schannel có khách đến 2024, Tháng mười một
Anonim
Image
Image
NHL Đèn khúc côn cầu bên giường và màn hình LCD
NHL Đèn khúc côn cầu bên giường và màn hình LCD

Giới thiệu

"NHL Light" dành cho những người hâm mộ khúc côn cầu muốn theo dõi đội của họ, nhưng không thể theo dõi mọi trận đấu. Tính năng tốt nhất của nó là nó mô phỏng tỷ số bàn thắng bằng còi khúc côn cầu (tùy chỉnh cho đội của bạn) và ánh sáng.

Ngoài còi và đèn khúc côn cầu, "NHL Light" còn có màn hình cung cấp điểm số của trận đấu hiện tại hoặc gần đây nhất, thời gian của trận đấu hoặc thời gian của trận đấu tiếp theo và ngày giờ hiện tại.

"NHL Light" chạy trên một danh sách các bộ phận đơn giản, dễ lắp ráp thiết bị điện tử và mã có sẵn miễn phí.

Đặc trưng

  1. Cấu hình dựa trên trang web để chọn nhóm và wifi của bạn
  2. Phát ánh sáng và còi khi đội của bạn ghi bàn (ngay cả khi bạn là đội khách)
  3. Phát âm thanh để thông báo bắt đầu trò chơi
  4. Phát âm thanh để thông báo kết thúc trò chơi
  5. Cung cấp thời gian và ngày của trò chơi tiếp theo, nếu không có trò chơi nào đang diễn ra.
  6. Hiển thị thời gian và khoảng thời gian trò chơi hiện tại, nếu trò chơi đang diễn ra.
  7. Hiển thị ngày và giờ hiện tại.

Bước 1: Bước 1: Lắp ráp các bộ phận của bạn

Bước 1: Lắp ráp các bộ phận của bạn
Bước 1: Lắp ráp các bộ phận của bạn

Đây là danh sách các bộ phận.

  1. Raspberry Pi W *

    1. Amazon
    2. Tôi thích lấy của tôi từ Microcenter hơn, nhưng có thể tìm thấy trực tuyến với giá rẻ hơn ở những nơi khác.
    3. $10
  2. Thẻ SD (tối thiểu 4gb) *
  3. loa - Amazon - ~ $ 2 *
  4. amp - PAM8403 * - Amazon - ~ $ 1 mỗi cái
  5. ánh sáng - Amazon - ~ $ 5
  6. Trường hợp - $ 1 *

    1. Của Michael
    2. Tôi giới thiệu hộp thủ công bằng gỗ nhỏ từ cửa hàng thủ công của Michael, nhưng sẽ để lại cho bạn!
  7. I2C 2004 LCD - $ 3-7

    1. Amazon
    2. Mã này hỗ trợ 3 loại màn hình LCD, nhưng I2C 2004 là loại mà tôi đánh giá là có giá trị và kích thước tốt nhất. (SSD1306 cũng có thể)
  8. 2 bóng bán dẫn - 2N2222A- Amazon
  9. Dây Misc / hàn 12V
  10. cung cấp điện - Amazon
  11. Bộ chuyển đổi Buck 12V -> 5V - Amazon

* Có sự linh hoạt khi chọn phần này.

LƯU Ý: Bạn có thể bắt đầu hầu hết dự án này chỉ với raspberry Pi của mình, trong khi chờ các mặt hàng khác được giao.

Bước 2: Bước 2: Hệ thống dây điện và thiết bị điện tử

Bước 2: Hệ thống dây điện và thiết bị điện tử
Bước 2: Hệ thống dây điện và thiết bị điện tử
Bước 2: Hệ thống dây điện và thiết bị điện tử
Bước 2: Hệ thống dây điện và thiết bị điện tử
  1. Lắp ráp ánh sáng

    1. Hệ thống dây cho đèn là chạy 12+ đến đèn.
    2. Chạy âm từ ánh sáng qua một trong các bóng bán dẫn.
    3. Emmetter của bóng bán dẫn tiếp đất.
    4. Bộ thu của bóng bán dẫn đi đến Raspberry Pi.
  2. Lắp ráp âm thanh

    1. Chạy âm thanh sang phải hoặc trái từ PI đến amp
    2. Chạy + 5V đến amp
    3. Chạy amp tiếp đất đến bóng bán dẫn thứ 2.
    4. Chạy emmetter của transisitor thứ 2 xuống đất
    5. Chạy bộ thu của bóng bán dẫn đến Raspberry Pi
  3. Lắp ráp hệ thống dây với PI
  4. Đây là hướng dẫn sơ đồ chân cho PI (một số trong số này có thể định cấu hình thông qua JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Ánh sáng 10 (GPIO15)
    4. Âm thanh phải - GPIO 18

Bước 3: Bước 3: Thiết lập phần mềm hệ điều hành

  1. Chuẩn bị Raspberry Pi W

    1. Rasberry pi phải đang chạy phiên bản Raspbian gần đây (hoặc Debian khác).
    2. Khuyến nghị làm theo các hướng dẫn sau:
    3. Đảm bảo bao gồm tệp wpa_supplicant wifi.
    4. Đặt tệp ssh trên sdcard để cho phép truy cập ssh.
  2. Chuẩn bị phần mềm của bên thứ 3:

    1. Tôi đã tự động hóa quy trình này để kéo tất cả các công cụ cần thiết của bên thứ ba, nhưng hãy chạy các công cụ này theo cách thủ công và xem lại để đảm bảo không có bước nào bị lỗi.
    2. Tải xuống và chạy tập lệnh sau:

Dưới đây là phân tích về những gì tập lệnh cài đặt để thiết lập hệ điều hành. Tốt nhất là chạy các dòng này theo cách thủ công, vì vậy bạn có thể xem các lỗi.

Tiêu đề tập lệnh:

#! / bin / sh -e # có thể được gọi thông qua #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: tự động hóa tập lệnh này với một cái gì đó như: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: thiết lập wifi # TODO: thiết lập mật khẩu và khóa ủy quyền # ghi chú:

Cập nhật phần mềm ở cấp hệ điều hành:

# apt-get things (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-images python-smbus libasound2-dev #networking apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y

Thiết lập mạng. Một phần của mục tiêu ở đây là cho phép hệ thống được định cấu hình thông qua một điểm truy cập, kết nối với wifi của riêng bạn, nhưng điều này vẫn chưa được kiểm tra đầy đủ. Hiện tại, bạn nên sử dụng phương thức wpa_supplicant để thiết lập Wi-Fi.

#networking setupecho nhllight> / etc / hostname #TODO: sửa lỗi / etc / hosts #TODO: setup br0 mkdir / etc / hostapd / # lưu ý: quá trình thiết lập khác được thực hiện thông qua tệp cấu hình và trình bao được kéo xuống dưới dạng một phần của bản cập nhật

Cập nhật các thư viện nút và nút

#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 LICENSE cp -R * / usr / local / rm -R / tmp / node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: tạo liên kết sym cho nút nhị phân? apt-get remove -y --purge npm node nodejs

#Node setupmkdir / opt / nhl mkdir / opt / nhl / logs mkdir / opt / nhl / horn mkdir / opt / nhl / node_modules /

#update Node

#install các phụ thuộc nút vào thư mục nhl xuất NODE_PATH = / usr / local / lib / node_modules

#HACK - TODO - sửa lỗi không cài đặt được trên toàn cầu

cd / opt / nhl npm install lame # lame, is lame, wont install global cp -R / opt / nhl / node_modules / lame $ NODE_PATH npm install loa #wont install global cp -R / opt / nhl / node_modules / loa $ NODE_PATH npm install i2c-bus #wont install global cp -R / opt / nhl / node_modules / i2c-bus $ NODE_PATH npm install oled-i2c-bus #wont install global cp -R / opt / nhl / node_modules / oled-i2c-bus $ NODE_PATH npm install lcd # không cài đặt toàn cục cp -R / opt / nhl / node_modules / lcd $ NODE_PATH npm install lcdi2c #wont install global cp -R / opt / nhl / node_modules / lcdi2c $ NODE_PATH

npm install oled-font-5x7 #wont install global

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

npm install onoff #wont install global

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

#npm cài đặt pm2 # không cài đặt trên toàn cầu

#cp -R / opt / nhl / node_modules / pm2 $ NODE_PATH #npm install express #wont install global #cp -R / opt / nhl / node_modules / express $ NODE_PATH

# bất kỳ mô-đun chung nào

npm cài đặt express body-parser child_process pm2 -g

Kéo mã mới nhất:

#pull git codecd / opt / nhl #JSON là tiện ích tạo một lần --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 tự động để cài đặt mọi thứ khác cho NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs / ma… | sudo -E bash -

Tải về sừng!

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

cập nhật các tệp cấu hình Raspberry pi - - có thể cần thay đổi cho hệ thống của bạn

Cập nhật tệp #config # thêm âm thanh cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot / config.txt #turn trên i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >> / boot / config. txt

#TODO: cái này có cần thiết không? Cp / etc / modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> / etc / modules

amixer cset numid = 1

#TODO: đặt âm lượng, 60%?

Tự động hóa việc tự động hóa, chẳng hạn như khởi động và cập nhật mã:

# update rc.local # LƯU Ý: di chuyển tệp, vì tệp tiêu chuẩn bao gồm "lối ra" ở dòng cuối cùng, vì vậy không thể chỉ cần thêm 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 thoát 0' >> /etc/rc.local

#TODO: cần thêm thứ gì đó để thực hiện cập nhật phần mềm thường xuyên hàng tuần như thế này # Có thể chỉ cần sao chép trực tiếp tệp này xuống thư mục 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

Những thứ khác, như đặt múi giờ:

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

# cập nhật biến môi trường với node_path

cp / etc / environment /etc/enosystem.bak printf '\ nexport NODE_PATH = / usr / local / lib / node_modules / n' >> / etc / environment #TODO: xác định điều này cho node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

Sử dụng PM2 để thiết lập máy chủ nút:

#TODO: thiết lập thử nghiệm PM2cd / tmp / npm install -g pm2 pm2 khởi động cd / opt / nhl pm2 start NHL_work.js --node-args = "- max_old_space_size = 100 exposure-gc" pm2 start webserver.js --node -args = "- max_old_space_size 100M" pm2 lưu pm2 khởi động thoát 0

Bước 4: Bước 4: Cập nhật cấu hình JSON

Thiết lập tệp cấu hình JSON của bạn cho nhóm bạn thích, v.v. Tệp này nằm trong / opt / nhl GO CAPITALS! cấu hình tệp JSON

Phần mềm sử dụng tệp JSON để định cấu hình phần cứng và nhóm mà bạn đang theo dõi. Nhóm có thể được thiết lập thông qua máy chủ web sẽ chạy, nhưng thiết lập phần cứng cần được đặt theo cách thủ công:

Dưới đây là giải thích về từng giá trị có thể có:

  • myteam: đây là mã 3 chữ cái của đội bạn muốn theo dõi
  • gỡ lỗi: Các giá trị có thể là 1 (đúng) hoặc 0 (sai) và sẽ kiểm soát mức độ ghi nhật ký được ghi ra.
  • đầu ra: đây là phương pháp hiển thị điểm số / chi tiết. Giá trị có thể là:

    • lcd: đây là LCD 2004
    • giao diện điều khiển: điều này sẽ chỉ ghi vào thiết bị đầu cuối (để chạy dòng lệnh)
    • oled: hỗ trợ cho màn hình oled SSD6404
  • ánh sáng: có hai loại đèn được hỗ trợ

    • cảnh báo: điều này sẽ thúc đẩy một GPIO duy nhất để bật / tắt bóng bán dẫn
    • multi-led: hỗ trợ nhiều màu hoặc nhiều led
    • không: không gắn đèn
  • amp: đây là GPIO điều khiển bóng bán dẫn cho amp

Đề xuất: