Мазмуну:
- 1 -кадам: 1 -кадам: Бөлүктөрүңүздү чогултуп алыңыз
- 2 -кадам: 2 -кадам: Зымдар жана электроника
- 3 -кадам: 3 -кадам: Иштетүү тутумунун программалык камсыздоосун орнотуу
- 4 -кадам: 4 -кадам: JSON конфигурациясын жаңыртыңыз
Video: NHL керебет хоккей жарык жана ЖК: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Киришүү
"NHL Light" өз командасын ээрчигиси келген, бирок ар бир оюнду көрө албаган хоккей күйөрмандарына арналган. Анын эң мыкты өзгөчөлүгү - бул гол эсебин хоккей мүйүзү менен окшоштуруу (сиздин командаңыздын салттары) жана жарык.
Хоккей мүйүзү менен жарыктан тышкары, "NHL Light" дисплейи бар, ал учурдагы же эң акыркы оюндун упайын, оюн убактысын же кийинки оюндун убактысын, ошондой эле учурдагы күн менен убакытты көрсөтөт.
"NHL Light" бөлүктөрдүн жөнөкөй тизмеси боюнча иштейт, ал электрониканы чогултууга оңой жана коду эркин жеткиликтүү.
Өзгөчөлүктөрү
- Командаңызды жана wifi тандоо үчүн веб -баракчага негизделген конфигурация
- Сиздин команда гол киргизгенде жарык жана мүйүз ойнойт (сиз конокто жүргөнүңүздө да)
- Оюндун башталышын кабарлоо үчүн үн угулат
- Оюндун жыйынтыгын жарыялоо үчүн үн ойнойт
- Кийинки оюндун убактысын жана датасын көрсөтөт, эгерде оюн жүрүп жаткан жок болсо.
- Оюн жүрүп жаткан учурда учурдагы оюн убактысын жана мезгилин көрсөтөт.
- Учурдагы күндү жана убакытты көрсөтөт.
1 -кадам: 1 -кадам: Бөлүктөрүңүздү чогултуп алыңыз
Бул жерде бөлүктөрдүн тизмеси.
-
Raspberry Pi W*
- Amazon
- Мен кенди Microcenterден алууну туура көрөм, бирок Интернеттен башка жерлерде азыраак табууга болот.
- $10
- SD карта (минимум 4гб)*
- спикер - Amazon - ~ $ 2 *
- amp - PAM8403* - Amazon - ~ 1 $ ар бири
- жарык - Amazon - ~ 5 доллар
-
Кап - $ 1*
- Майклдыкы
- Мен Майклдын кол өнөрчүлүк дүкөнүнөн чакан жыгачтан жасалган кол капты сунуштайм, бирок сизге таштап кетет!
-
I2C 2004 ЖК - 3-7 доллар
- Amazon
- Код LCDдин 3 түрүн колдойт, бирок I2C 2004 мен эң жакшы баалуулукка жана өлчөмгө токтолгон. (SSD1306 да мүмкүн)
- 2 транзистор - 2N2222A- Амазонка
- Ар кандай зымдар / solder12V
- электр менен камсыздоо - Amazon
- 12V -> 5V Бак конвертери - Amazon
*Бул бөлүктү тандоодо ийкемдүүлүк бар.
ЭСКЕРТҮҮ: Сиз башка долбоорлорду жөнөтүүнү күтүп жатып, бул долбоордун көбүн малина Пиңиз менен баштасаңыз болот.
2 -кадам: 2 -кадам: Зымдар жана электроника
-
Жарык чогултуу
- Жарыктын зымдары жарыкка 12 + чуркоо.
- Транзисторлордун бири аркылуу жарыктан терс чуркаңыз.
- Транзистордун эмметри жерге түшөт.
- Транзистордун коллекционери Raspberry Piге барат.
-
Үн чогултуу
- PIден оңго же солго үн чыгарыңыз
- Күчөткүчкө +5В чуркаңыз
- Амп жерге 2 -транзисторго чуркаңыз.
- 2 -транзистордун эмметрин жерге түшүрүңүз
- Raspberry Pi үчүн транзистордун коллекторун иштетүү
- PIге зымдарды чогултуңуз
-
Бул PI үчүн pinout көрсөтмөлөрү (алардын айрымдары JSON аркылуу конфигурацияланат)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Жарык 10 (GPIO15)
- Оң үн - GPIO 18
-
3 -кадам: 3 -кадам: Иштетүү тутумунун программалык камсыздоосун орнотуу
-
Raspberry Pi W даярдаңыз
- Rasberry pi акыркы Raspbian (же башка Debian) версиясын иштетиши керек.
- Бул көрсөтмөлөрдү аткаруу сунушталат:
- Wifi wpa_supplicant файлын кошууну унутпаңыз.
- Ssh кирүүгө уруксат берүү үчүн ssh файлын sdcardга коюңуз.
-
Үчүнчү тараптын программасын даярдаңыз:
- Мен бул процессти бардык үчүнчү тараптын инструменттерин тартуу үчүн автоматташтырдым, бирок буларды кол менен иштетип, эч кандай кадамдар ийгиликсиз болушуна көз салып туруңуз.
- Төмөнкү скриптти жүктөп алып, иштетиңиз:
Бул жерде иштөө тутумун орнотуу үчүн орнотуу скрипти эмне кылаары жөнүндө. Бул линияларды кол менен иштетүү эң жакшы, андыктан каталарды көрө аласыз.
Скрипттин аталышы:
#!/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: wifi орнотуу # TODO: passwd жана авторизацияланган ачкычтарды орнотуу # эскертүүлөр:
OS деңгээлинде программалык камсыздоону жаңыртуу:
#apt-get нерселери (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #General Dev apt-get install -y git-build 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
Тармакты жөндөө. Бул жердеги максаттын бир бөлүгү системаны кирүү түйүнү аркылуу конфигурациялоого, өзүңүздүн Wi -Fi тармагыңызга туташууга уруксат берүү болчу, бирок бул азырынча толук текшериле элек. Учурда wifi орнотуу үчүн wpa_supplicant ыкмасын колдонуу сунушталат.
#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 түйүнү-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: экилик түйүн үчүн сим шилтемесин түзөсүзбү? apt -get remove -y --purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horns mkdir/opt/nhl/node_modules/
#Жаңыртуу түйүнү
#nhl каталогуна түйүндөн көз карандылыкты орнотуу NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - аксак дүйнө жүзү боюнча орнотулбай турганын оңдоңуз
cd/opt/nhl npm lame # lame, lame, lame, глобалдык деңгээлде орнотпойт cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm орнотуу спикери # глобалдык деңгээлде орнотпойт cp -R/opt/nhl/node_modules/баяндамачы $ 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 install lcdi2c #глобалдык деңгээлде орнотулбайт c -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/onoff $ NODE_PATH
#npm install pm2 #глобалдык деңгээлде орнотулбайт
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm express express #глобалдык түрдө орнотулбайт #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# кандайдыр бир глобалдык модулдар
npm экспресс дене -талдоочу 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 -
Мүйүздөрдү жүктөп алыңыз!
#тартуу 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 #turn i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / 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/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 түйүнү үчүн муну аныктаңыз; #TODO: self.port = process.env. NODEJS_PORT || 80;
Түйүн серверин орнотуу үчүн PM2ди колдонуңуз:
#TODO: тест орнотуу PM2cd /tmp /npm орнотуу -g pm2 pm2 баштоо cd /opt /nhl pm2 баштоо NHL_work.js --node-args = "-max_old_space_size = 100 экспозиция-gc" pm2 баштоо webserver.js-түйүн -args = "-max_old_space_size 100M" pm2 сактоо pm2 баштоо 0 чыгуу
4 -кадам: 4 -кадам: JSON конфигурациясын жаңыртыңыз
JSON конфигурация файлын өзүңүзгө жаккан командага орнотуңуз, бул файл /opt /nhl GO CAPITALS! config JSON файлы
Программалык камсыздоо JSON файлын колдонуп, сиз ээрчип жаткан жабдыкты жана команданы конфигурациялайт. Команда иштеп жаткан веб -сервер аркылуу орнотулушу мүмкүн, бирок аппараттык орнотууну кол менен орнотуу керек:
Бул жерде ар бир мүмкүн болгон баалуулуктун түшүндүрмөсү келтирилген:
- myteam: бул сиз ээрчигиси келген команданын 3 тамга коду
- мүчүлүштүктөрдү оңдоо: Мүмкүн болгон баалуулуктар 1 (чыныгы) же 0 (жалган), жана канча журналдын жазылып турганын көзөмөлдөйт.
-
чыгаруу: бул упайлар/деталдар көрсөтүлө турган ыкма. Мүмкүн болгон баалуулуктар:
- lcd: бул 2004 -жылкы LCD
- консол: бул терминалга гана жазылат (буйрук сабын иштетүү үчүн)
- oled: SSD6404 oled дисплейин колдоо
-
жарык: колдоого алынган жарыктын эки түрү бар
- сигнал: бул транзисторду күйгүзүү/өчүрүү үчүн бир GPIO айдайт
- көп жетектөөчү: көп түстүү же бир нече леддерди колдойт
- эч ким: жарык кошулган жок
- amp: бул транзисторду күчөтүүчү GPIO
Сунушталууда:
WiFi жана IR Remote жана Android колдонмосун колдонуп NodeMCU жана IR алуучу менен 8 релелик көзөмөл: 5 кадам (сүрөттөр менен)
WiFi жана IR Remote жана Android тиркемесин колдонуп NodeMCU жана IR алуучу менен 8 реле көзөмөлү: wifi жана ир алыскы жана андроид колдонмосу аркылуу nodemcu жана IR кабыл алгычты колдонуп 8 реле өчүргүчтөрүн көзөмөлдөө БУЛ ЖЕРДЕ
Үстөлдүн жарык жасалгасы жана эшиктин жарык белгиси: 8 кадам (сүрөттөр менен)
Үстөлдүн жарык жасалгасы жана эшиктин жарыгы белгиси: Бул үйрөткүч столдун жасалгасын кантип программалоону жана курууну көрсөтөт. Бул жарыктар бир сааттын ичинде түсүн өзгөртөт. Сиз ошондой эле программалоону жана коштогон эшик белгисин курууну үйрөнөсүз. Сиз эшикти колдоно аласыз
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: 13 кадам (сүрөттөр менен)
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: Киришүү: Бул Ардуино тактасын, Sensor (DHT11), Windows компьютери жана Processing (бекер жүктөлүүчү) программасын колдонуп, Температураны, Нымдуулукту санариптик жана тилке графасынын формасы, убакытты жана күндү көрсөтүү жана эсептөө убактысын иштетүү
Mini LED керебет түнкү жарык / чырак: 5 кадам
Мини LED керебеттин түнкү чырагы / лампасы: Биринчиден, муну Sunbanks түзгөн Mini акысыз LED лампасы шыктандырганын айтуу керек. Жетектөөнү столдон алыс кармоо үчүн биро колдонуунун ордуна, мен базадан жарыкты проектирлөө үчүн ачык перспективаны колдондум. Бул кичинекей долбоор - бул прототип
Жарык диоддор менен ACны колдонуу (2 -бөлүк) - жана бул колдо эсептегичти жарык кылыңыз.: 9 кадам
Жарык диоддор менен ACны колдонуу (2 -бөлүк) - жана бул колдо эсептегичти жарык кылыңыз. LEDди AC менен колдонуу (1 -бөлүк), биз AC тармагына туташкан трансформатору бар светодиоддорду иштетүүнүн жөнөкөй жолун карадык. биздин светодиоддор трансформаторсуз иштейт жана кеңейтүү тилкесине бириктирилген жөнөкөй жарыкты курат. ЭСКЕРТҮҮ