- Потребни материјали
- Инсталирање Ноде.јс на Распберри Пи
- Трепћући ЛЕД помоћу Ноде.јс
- Ноде.јс ЛЕД Блинк скрипта и објашњење
- Кружни дијаграм за трептање ЛЕД диоде помоћу Ноде.јс
- Распберри Пи
У претходним Водичима за Распберри Пи користили смо много различитих програмских језика и софтвера за контролу Распберри Пи-а, укључујући Питхон, уграђени Ц, Фласк итд. Да бисмо проширили хоризонт моћне плоче Распберри Пи, данас ћемо користити веома популарно окружење засновано на ЈаваСцрипт-у (Ноде.јс) за контролу Распберри Пи ГПИО-а локално и глобално постављањем као веб сервера. У почетку је Ноде.јс био развијен за Гоогле Цхроме, али га је касније отворио Гоогле.
У овом упутству контролисаћемо ЛЕД, повезан на Распберри Пи, помоћу две методе
- Прво ћемо једноставно написати ЈаваСцрипт код користећи Ноде.јс да би трепнуо ЛЕД
- У другој методи ћемо створити ХТМЛ страницу са два тастера за укључивање и искључивање ЛЕД диоде. Ова ХТМЛ веб страница биће хостована на Распберри Пи и може се отворити у било ком веб прегледачу. Дакле, овде ће Распберри Пи деловати као веб сервер
Потребни материјали
- Распберри пи плоча у којој је инсталиран Распбиан
- ЛЕД
У овом упутству користим спољни монитор помоћу ХДМИ кабла за повезивање са Распберри Пи. Ако немате монитор, можете да користите ССХ клијент (Путти) или ВНЦ сервер за повезивање са Распберри пи помоћу преносног рачунара или рачунара. Ако наиђете на било какве потешкоће, следите наш водич за расправљање о Распберри Пи.
Инсталирање Ноде.јс на Распберри Пи
Инсталираћемо Ноде.јс у нашу таблу користећи следеће наредбе.
1. корак: - Прво проверите да ли постоји верзија ваше малине пи плоче помоћу ове наредбе.
унаме -м
У мом случају, верзија је 7.
Корак 2: - Преузмите програм за инсталацију копирањем ове везе у терминал. Не заборавите да промените верзију на доњем линку.
вгет хттпс: //нодејс.орг/дист/в4.6.1/ноде-в4.6.1-линук-армвл.тар.гз
Корак 3: - Издвојите датотеке помоћу наредбе испод
тар -квф чвор-в4.6.1-линук-армвл.тар.гз
Корак 4: - На крају, извршите ове наредбе да бисте такође додали важне датотеке у локалне директоријуме.
цд чвор-в4.3.1-линук-армвл судо цп -Р * / уср / лоцал /
Ноде.јс је сада инсталиран на вашем Распберри Пи. Проверите верзију чвора за потврду помоћу ове наредбе.
чвор –верзија
Пре него што кренемо да правимо Ноде.јс сервер, прво ћемо видети како да напишемо скрипту која ће трептати ЛЕД помоћу ноде.јс (нпм онофф пакет).
Трепћући ЛЕД помоћу Ноде.јс
Да бисмо контролисали ГПИО на Распберри Пи помоћу Ноде.јс, користићемо онофф модул.
Користићемо менаџер пакета нпм за инсталирање онофф модула помоћу наредбе испод
нпм инсталирај онофф
Сада ћемо написати скрипту за трептање лед-а. Отворите нано едитор и помоћу наредбе дајте име датотеци
нано блинк_лед.јс
Ако сте почетник у Ноде.јс-у и његовим пакетима, можете да користите документацију нпм-а за боље разумевање скрипте.
Ноде.јс ЛЕД Блинк скрипта и објашњење
Прво пријавите променљиве за лед, кашњење и ГПИО. Користим Распберри Пи ГПИО 4 за повезивање ЛЕД диоде.
вар Гпио = рекуире ('онофф'). Гпио; вар ЛЕД = нови Гпио (4, 'оут'); вар блинкИнтервал = сетИнтервал (блинкЛЕД, 500);
Сада ћемо направити функцију за покретање трептаја.
функција блинкЛЕД () {иф (ЛЕД.реадСинц () === 0) {ЛЕД.вритеСинц (1); // подешавамо излаз на 1 тј. укључујемо лед} елсе {ЛЕД.вритеСинц (0); // подесимо излаз на 0 тј. искључимо лед }}
Слично томе, направите функцију за заустављање трептања
функција ендБлинк () {цлеарИнтервал (блинкИнтервал); ЛЕД.вритеСинц (0); ЛЕД.унекпорт (); // Унекпорт ГПИО у бесплатне ресурсе} сетТимеоут (ендБлинк, 10000);
Комплетни Ноде.јс код за ЛЕД који трепће дат је на крају овог водича. Дакле, копирајте и налепите код у датотеку лед_блинк.јс , коју смо претходно креирали помоћу нано команде, сачувајте датотеку помоћу Цтрл + к, а затим притисните И и притисните ентер.
Да бисте покренули скрипту, отворите терминал и унесите наредбу испод:
чвор блинк_лед.јс
Видјет ћете да ће ЛЕД трептати 10 секунди, а након тога ће престати трептати. Проверите комплетан рад у видеу датом на крају овог водича.
Кружни дијаграм за трептање ЛЕД диоде помоћу Ноде.јс
Распберри Пи
Сада, дођите до занимљивог дела, овде ћемо направити свој веб сервер од којег можемо да контролишемо ГПИО од Распберри пи помоћу веб странице.
За то прво треба да направимо ХТМЛ страницу и напишемо скрипту за извршавање позадинског задатка, тј. За контролу РПи ГПИО.
1. корак: - Направите директоријум за складиштење свих датотека на једном месту.
мкдир нодејс_сервер
Корак 2: - Унутар директоријума нодејс_сервер направите још један директоријум за чување ХТМЛ датотеке.
цд нодејс_сервер мкдир виевс
Корак 3: - Ако желите да додате слике на своју хтмл страницу, требало би да направите још један фолдер са именом јавни у главном директоријуму, тј. У директоријуму нодејс_сервер . У јавној фасцикли направите фасциклу са сликама и у њу сачувајте све слике.
Корак 4: - Сада ћемо направити ХТМЛ страницу. За ово идите у директоријум погледа и отворите нано уређивач текста са именом датотеке индек.ејс
У сценарију нема ништа отмено. То је само ХТМЛ датотека за укључивање и искључивање дугмета.
Копирајте доле наведени ХТМЛ код у нано уређивач текста и сачувајте га.
Добродошли на Нодејс Сервер
Лед статус: <% = статус%>Корак 5: - Сада морамо да напишемо ЈаваСцрипт код. Користимо ноде екпресс фрамеворк за одговор на хттп захтеве које извршава корисник.
Можете да пратите везу да бисте сазнали више о Ноде Екпресс-у.
Отворите терминал и отворите нано едитор текста са именом датотеке индек.јс у директоријуму нодејс_сервер , затим копирајте и налепите доњи код Јава скрипте и ову датотеку.
вар екпресс = рекуире ('екпресс'); вар апп = екпресс (); вар патх = рекуире ('патх'); вар гпио = рекуире ('рпи-гпио'); гпио.сетуп (7, гпио.ДИР_ОУТ); апп.сет ('виев енгине', 'ејс'); апп.усе (екпресс.статиц (патх.јоин (__ дирнаме, 'публиц'))); цонсоле.лог (патх.јоин (__ дирнаме, 'публиц')); апп.гет ('/', функција (рек, рес) { рес.рендер ('индек', {статус: "Притисните дугме"}); }); апп.пост ('/ лед / он', фунцтион (рек, рес) { гпио.врите (7, труе, фунцтион (ерр) { иф (грешка) бацити грешку ; цонсоле.лог ('Вриттен Труе то пин пин'); цонсоле.лог (патх.јоин (__ дирнаме, 'публиц')); ретурн рес.рендер ('индек',{статус: "Лед је укључен"}); }); }); апп.пост ('/ лед / офф', фунцтион (рек, рес) { гпио.врите (7, фалсе, фунцтион (ерр) { иф (грешка) бацити грешку ; цонсоле.лог ('Фалсе то пин пин'); цонсоле.лог (патх.јоин (__ дирнаме, 'публиц')); ретурн рес.рендер ('индек', {статус: "Лед ис Офф"}); }); }); апп.листен (3000, фунцтион () { цонсоле.лог ('Сервер је покренут на порту: 3000!') })
6. корак: - Унутар директоријума нодејс_сервер морамо извршити следећу наредбу да бисмо инсталирали библиотеке ноде.јс
нпм инсталл
Корак 7: - Сада је ваш сервер спреман за рад. Да бисте покренули локални сервер, покрените следећу команду унутар директоријума нодејс_сервер
ноде индек.јс
у терминалу ћете видети поруку да је ваш сервер покренут на дефинисаном порту.
Корак 8: - Сада отворите прегледач и отворите Распберри Пи УРЛ са бројем порта, тј. Распберрипи : 3000
Уверите се да су ваш Распберри Пи и лаптоп у којем отварате прегледач повезани са истом мрежом.
У прегледачу ћете видети следећу страницу.
Сада, притисните ЛЕД на дугме за укључивање ЛЕД и ЛЕД искључен дугме за искључивање ЛЕД.