สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: ประกอบชิ้นส่วนของคุณ
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: การเดินสายไฟและอุปกรณ์อิเล็กทรอนิกส์
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: การตั้งค่าซอฟต์แวร์ระบบปฏิบัติการ
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: อัปเดตการกำหนดค่า JSON
วีดีโอ: ไฟฮอกกี้ข้างเตียง NHL และ LCD: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
บทนำ
"NHL Light" สำหรับแฟนฮ็อกกี้ที่ต้องการติดตามทีมของพวกเขา แต่ไม่สามารถรับชมได้ทุกเกม คุณลักษณะที่ดีที่สุดคือจำลองคะแนนเป้าหมายด้วยฮอกกี้ฮอกกี้ (กำหนดเองสำหรับทีมของคุณ) และแสง
นอกจากแตรฮอกกี้และไฟแล้ว "NHL Light" ยังมีหน้าจอแสดงคะแนนของเกมปัจจุบันหรือล่าสุด เวลาเล่นเกมหรือเวลาของเกมถัดไป ตลอดจนวันที่และเวลาปัจจุบัน
"NHL Light" ทำงานบนรายการชิ้นส่วนง่ายๆ ที่ประกอบอุปกรณ์อิเล็กทรอนิกส์ได้ง่าย และโค้ดที่ใช้ได้ฟรี
คุณสมบัติ
- การกำหนดค่าตามหน้าเว็บสำหรับการเลือกทีมและ wifi ของคุณ
- เล่นเบา ๆ เมื่อทีมของคุณทำคะแนน (แม้ว่าคุณจะเป็นทีมเยือน)
- เล่นเสียงเพื่อประกาศการเริ่มต้นเกม
- เล่นเสียงประกาศบทสรุปของเกม
- ระบุเวลาและวันที่ของเกมถัดไป หากไม่มีเกมอยู่ในระหว่างดำเนินการ
- แสดงเวลาและช่วงเวลาของเกมปัจจุบัน หากเกมอยู่ในระหว่างดำเนินการ
- แสดงวันที่และเวลาปัจจุบัน
ขั้นตอนที่ 1: ขั้นตอนที่ 1: ประกอบชิ้นส่วนของคุณ
นี่คือรายการชิ้นส่วน
-
ราสเบอร์รี่ Pi W*
- อเมซอน
- ฉันชอบที่จะได้รับของฉันจาก Microcenter แต่สามารถพบได้ทางออนไลน์น้อยกว่าที่อื่น
- $10
- การ์ด SD (ขั้นต่ำ 4GB)*
- ลำโพง - อเมซอน - ~$2 *
- amp - PAM8403* - Amazon - ตัวละประมาณ $1
- แสง - อเมซอน - ~ $ 5
-
เคส - $1*
- Michael's
- ขอแนะนำเคสไม้เล็กๆ จากร้าน Michael's craft store แต่จะฝากถึงคุณ!
-
จอแอลซีดี I2C 2004 - $3-7
- อเมซอน
- รหัสรองรับ LCD 3 ประเภท แต่ I2C 2004 เป็นรหัสที่ฉันได้ตัดสินว่าเป็นค่าและขนาดที่ดีที่สุด (SSD1306 ก็ได้)
- 2 ทรานซิสเตอร์ - 2N2222A- Amazon
- สายไฟอื่นๆ / บัดกรี12V
- แหล่งจ่ายไฟ - Amazon
- ตัวแปลงบั๊ก 12V -> 5V - Amazon
* มีความยืดหยุ่นในการเลือกชิ้นส่วนนี้
หมายเหตุ: คุณสามารถเริ่มโครงการนี้ได้เกือบทั้งหมดโดยใช้ Raspberry Pi ของคุณ ในขณะที่คุณรอสินค้าอื่นๆ เพื่อจัดส่ง
ขั้นตอนที่ 2: ขั้นตอนที่ 2: การเดินสายไฟและอุปกรณ์อิเล็กทรอนิกส์
-
ประกอบไฟ
- เดินสายไฟให้ไฟวิ่ง 12+ กับไฟ
- เรียกใช้ค่าลบจากแสงผ่านทรานซิสเตอร์ตัวใดตัวหนึ่ง
- ตัวปล่อยของทรานซิสเตอร์ลงไปที่กราวด์
- ตัวเก็บประจุของทรานซิสเตอร์ไปที่ Raspberry Pi
-
ประกอบเสียง
- เรียกใช้เสียงขวาหรือซ้ายจาก PI ไปยังแอมป์
- เรียกใช้ +5V ไปยังแอมป์
- รันแอมป์กราวด์ไปที่ทรานซิสเตอร์ตัวที่ 2
- เรียกใช้ emmetter ของทรานซิสเตอร์ตัวที่ 2 กับกราวด์
- เรียกใช้ตัวสะสมของทรานซิสเตอร์ไปที่ Raspberry Pi
- ประกอบสายไฟเข้ากับ PI
-
นี่คือคำแนะนำ pinout สำหรับ PI (บางส่วนสามารถกำหนดค่าได้ผ่าน JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - วีซีซี (+5)
- แอมป์ 8 (GPIO 14)
- ไฟ 10 (GPIO15)
- เสียงขวา - GPIO 18
-
ขั้นตอนที่ 3: ขั้นตอนที่ 3: การตั้งค่าซอฟต์แวร์ระบบปฏิบัติการ
-
เตรียม Raspberry Pi W
- ราสเบอร์รี่ pi ต้องใช้ Raspbian เวอร์ชันล่าสุด (หรือ Debian อื่นๆ)
- แนะนำให้ทำตามคำแนะนำเหล่านี้:
- อย่าลืมใส่ไฟล์ wifi wpa_supplicant
- วางไฟล์ ssh บน sdcard เพื่ออนุญาตการเข้าถึง ssh
-
เตรียมซอฟต์แวร์บุคคลที่สาม:
- ฉันได้ดำเนินการตามกระบวนการนี้โดยอัตโนมัติเพื่อดึงเครื่องมือของบุคคลที่สามที่จำเป็นทั้งหมด แต่อย่าลังเลที่จะเรียกใช้ด้วยตนเอง และตรวจสอบเพื่อให้แน่ใจว่าไม่มีขั้นตอนใดที่ล้มเหลว
- ดาวน์โหลดและเรียกใช้สคริปต์ต่อไปนี้:https://github.com/wga22/nodejs/blob/master/nhl/mi…
นี่คือรายละเอียดของสคริปต์การติดตั้งสำหรับการตั้งค่าระบบปฏิบัติการ เป็นการดีที่สุดที่จะเรียกใช้บรรทัดเหล่านี้ด้วยตนเอง ดังนั้นคุณจึงสามารถดูข้อผิดพลาดได้
ส่วนหัวของสคริปต์:
#!/bin/sh -e#สามารถเรียกผ่าน #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # สิ่งที่ต้องทำ: ทำให้สคริปต์นี้เป็นอัตโนมัติด้วยสิ่งที่ชอบ: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # สิ่งที่ต้องทำ: ตั้งค่า wifi # สิ่งที่ต้องทำ: ตั้งค่า passwd และคีย์ที่ได้รับอนุญาต # หมายเหตุ:
อัปเดตซอฟต์แวร์ที่ระดับ 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 # เครือข่าย apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y
การตั้งค่าเครือข่าย เป้าหมายส่วนหนึ่งคือการอนุญาตให้กำหนดค่าระบบผ่านจุดเชื่อมต่อ เพื่อเชื่อมต่อกับ wifi ของคุณเอง แต่ยังไม่ได้รับการทดสอบอย่างสมบูรณ์ในตอนนี้ แนะนำให้ใช้วิธี wpa_supplicant ในการตั้งค่า wifi
#networking setupecho nhllight > /etc/hostname #TODO: แก้ไข /etc/hosts #TODO: setup br0 mkdir /etc/hostapd/ # note: การตั้งค่าอื่นๆ ทำได้ผ่านไฟล์ปรับแต่งและเชลล์ถูกดึงลงมาเป็นส่วนหนึ่งของการอัปเดต
อัปเดตโหนดและไลบรารีโหนด
#อัปเดต nodecd /tmp ส่งออก 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 ใบอนุญาต 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
#โหนด setupmkdir /opt/nhl mkdir /opt/nhl/logs mkdir /opt/nhl/horns mkdir /opt/nhl/node_modules/
#อัพเดทโหนด
#install การพึ่งพาโหนดในไดเร็กทอรี nhl export NODE_PATH=/usr/local/lib/node_modules
#HACK - สิ่งที่ต้องทำ - แก้ไขปัญหาที่ไม่สามารถติดตั้งได้ทั่วโลก
cd /opt/nhl npm install lame # lame, lame, wont install globally cp -R /opt/nhl/node_modules/lame $NODE_PATH npm install speaker #จะไม่ติดตั้งทั่วโลก cp -R /opt/nhl/node_modules/speaker $NODE_PATH 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 ติดตั้ง oled-font-5x7 # จะไม่ติดตั้งทั่วโลก
cp -R /opt/nhl/node_modules/oled-font-5x7 $NODE_PATH
npm ติดตั้ง onoff #จะไม่ติดตั้งทั่วโลก
cp -R /opt/nhl/node_modules/onoff $NODE_PATH
#npm ติดตั้ง pm2 # จะไม่ติดตั้งทั่วโลก
#cp -R /opt/nhl/node_modules/pm2 $NODE_PATH #npm ติดตั้งด่วน #จะไม่ติดตั้งทั่วโลก #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 ทุบตี -
ดาวน์โหลดแตร!
#pull hornscd /opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E ทุบตี -
อัปเดตไฟล์กำหนดค่า Raspberry pi - - อาจต้องเปลี่ยนสำหรับระบบของคุณ
#config อัปเดตไฟล์#เพิ่มเสียง 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=on\n' >> /boot/config.txt printf '\n\ndtparam=i2c_arm=on\n' >> /boot/config. txt
#สิ่งที่ต้องทำ: จำเป็นไหมcp /etc/modules /etc/modules.bak printf '\ni2c-dev\ni2c-bcm2708\n' >> /etc/modules
amixer cset numid=1
#สิ่งที่ต้องทำ: ตั้งระดับเสียง 60%?
ทำให้การทำงานอัตโนมัติเป็นไปโดยอัตโนมัติ เช่น การบูตเครื่องและการอัปเดตโค้ด:
# update rc.local# หมายเหตุ: การย้ายไฟล์ เนื่องจากไฟล์มาตรฐานมี "exit" ในบรรทัดสุดท้าย ดังนั้นจึงไม่สามารถผนวก 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: จำเป็นต้องเพิ่มบางสิ่งเพื่อทำการอัปเดตซอฟต์แวร์เป็นประจำทุกสัปดาห์เช่นนี้# บางทีเพียงแค่คัดลอกไฟล์นี้โดยตรงไปยังโฟลเดอร์ 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/localtime
# อัปเดตตัวแปรสภาพแวดล้อมด้วย 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; #สิ่งที่ต้องทำ: self.port = process.env. NODEJS_PORT || 80;
ใช้ PM2 สำหรับการตั้งค่าเซิร์ฟเวอร์โหนด:
#TODO: ทดสอบการตั้งค่า 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! config ไฟล์ JSON
ซอฟต์แวร์ใช้ไฟล์ JSON เพื่อกำหนดค่าฮาร์ดแวร์และทีมที่คุณกำลังติดตาม คุณสามารถตั้งค่าทีมผ่านเว็บเซิร์ฟเวอร์ที่จะทำงาน แต่การตั้งค่าฮาร์ดแวร์จะต้องตั้งค่าด้วยตนเอง:
{ "myteam": "WSH", "debug":"1", "output": "lcd", "light": {"type":"multiled", "gpio":["10", "13"] }, "amp": {"gpio":"14"}, "lcdaddress": "0x3F", "lightid": "22" }
นี่คือคำอธิบายของค่าที่เป็นไปได้แต่ละค่า:
- myteam: นี่คือรหัส 3 ตัวอักษรของทีมที่คุณต้องการติดตาม
- ดีบัก: ค่าที่เป็นไปได้คือ 1 (จริง) หรือ 0 (เท็จ) และจะควบคุมจำนวนการเขียนบันทึก
-
ผลลัพธ์: นี่คือวิธีการแสดงคะแนน/รายละเอียด ค่าที่เป็นไปได้คือ:
- จอแอลซีดี: นี่คือจอแอลซีดีปี 2004
- คอนโซล: สิ่งนี้จะเขียนไปยังเทอร์มินัลเท่านั้น (สำหรับการรันบรรทัดคำสั่ง)
- oled: รองรับ SSD6404 oled display
-
แสง: รองรับไฟสองประเภท
- สัญญาณเตือน:สิ่งนี้จะขับ GPIO ตัวเดียวสำหรับการเปิด/ปิดทรานซิสเตอร์
- multi-led: รองรับหลายสีหรือหลาย leds
- ไม่มี: ไม่ติดไฟ
- amp: นี่คือ GPIO ที่ขับเคลื่อนทรานซิสเตอร์สำหรับแอมป์
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): 25 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): นี่คือบทแนะนำเกี่ยวกับวิธีการสร้าง Quadcopter โดยใช้มอเตอร์ NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS & วิทยุ 3DR ฉันพยายามอธิบายแต่ละขั้นตอนด้วยรูปภาพจำนวนหนึ่ง หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดตอบกลับ
SENSOR SUHU DENGAN LCD DAN LED (สร้างเซ็นเซอร์อุณหภูมิด้วย LCD และ LED): 6 ขั้นตอน (พร้อมรูปภาพ)
SENSOR SUHU DENGAN LCD DAN LED (การทำเซ็นเซอร์อุณหภูมิด้วย LCD และ LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD และ LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda… เพิ่มเติม