- Компоненте потребне
- Кружни дијаграм
- Постављање чутуре у Распберри Пи за контролу гаражних врата
- Израда Питхон скрипте за паметно отварање гаражних врата
- Креирање ХТМЛ странице за Распберри Пи веб сервер
- {{пинс.наме}} {% иф пинс.стате == труе%} је тренутно отворено
У ово доба ИоТ-а (Интернета ствари) где се све може даљински контролисати помоћу паметног телефона, зашто носити кључеве са собом. Постоји мноштво технологија које подржавају бежично управљање уређајима као што су РФИД, Блуетоотх, Ви-Фи, ЛоРа. Претходно смо изградили неке аларме за врата и круг за контролу врата како бисмо врата бежично отворили и затворили:
- Брава за врата Ардуино РФИД
- Аутоматско отварање врата помоћу Ардуина
- Магнетни круг аларма врата помоћу Халловог сензора
- ИоТ-ов алармни аларм заснован на ИоТ-у којим управља Гоогле Ассистант
Овде ћемо у овом упутству направити паметни отварач за гаражна врата користећи Распберри Пи. Овде ће бити креиран Распберри Пи веб сервер за отварање и затварање гаражних врата помоћу вашег паметног телефона.
Компоненте потребне
- Распберри пи плоча у којој је инсталиран Распбиан
- Релејни модул
- Повезивање жица
Претпоставља се да је ваш Распберри Пи већ спојен са оперативним системом и да је у могућности да се повеже на Интернет. Ако није, следите Водич за почетак рада са Распберри Пи пре него што наставите. Овде користимо Расбиан Јессие инсталирану Распберри Пи 3.
Овде се спољни монитор који користи ХДМИ кабл користи као екран за повезивање са Распберри Пи. Ако немате монитор, можете да користите ССХ клијент (Путти) или ВНЦ сервер за повезивање са Распберри пи помоћу преносног рачунара или рачунара. Овде сазнајте више о подешавању Распберри Пи-а без главе.
Кружни дијаграм
Прикључите механизам за отварање гаражних врата на излаз релеја. Овде смо управо у сврху демонстрације повезали ЛЕД са релејем.
Постављање чутуре у Распберри Пи за контролу гаражних врата
Овде смо креирали веб сервер користећи Фласк, који пружа начин за слање команди са веб странице на Распберри Пи за контролу робота преко мреже. Фласк нам омогућава да покрећемо наше питхон скрипте преко веб странице и можемо да шаљемо и примамо податке из Распберри Пи у веб прегледач и обрнуто. Фласк је микрооквир за Питхон. Овај алат заснован је на Уницодеу, има уграђени развојни сервер и програм за отклањање грешака, интегрисану подршку за јединствено тестирање, подршку за сигурне колачиће и једноставан за употребу, што га чини корисним за хобисте.
Покрените следеће команде да бисте инсталирали тиквицу у ваш Распберри Пи:
судо апт-гет ажурирање судо апт-гет инсталација питхон-пип питхон-фласк
Сада покрените наредбу пип да бисте инсталирали Фласк и његове зависности:
судо пип инсталирај тиквицу
Овде можете сазнати више о програмирању помоћу Фласка, такође проверити наше претходне пројекте у којима смо Фласк контролисали робота путем веб сервера, послали поруку са веб странице на Распберри Пи и послали вредност тежине на Распберри Пи у Смарт Цонтаинер.
Сада ћемо написати питхон скрипту за наш веб сервер за гаражна врата.
Израда Питхон скрипте за паметно отварање гаражних врата
Ова скрипта ће комуницирати са нашим Распберри Пи ГПИО-има и подешава веб сервер. Дакле, ово је основна скрипта за нашу апликацију. Комплетна Питхон скрипта за отварач врата дата је на крају, овде смо објаснили неколико њених делова.
Прво направите фасциклу. Сви остали потребни директоријуми требају бити само у овој фасцикли. Покрените наредбе испод да бисте направили директоријум и креирајте питхон датотеку названу апп.пи унутар ове фасцикле.
мкдир гараге_доор цд гараге_доор нано апп.пи
Ово ће отворити Нано едитор у којем морамо да напишемо скрипту.
Почните са укључивањем важних библиотека.
увоз РПи.ГПИО као ГПИО из тиквице импорт Фласк, рендер_темплате, рекуест апп = Фласк (__ наме__, статиц_урл_патх = '/ статиц')
Сада креирајте речник као игле за чување броја, имена и стања пин-а. Можете користити више од једне игле према вашој потреби.
игле = { 14: {'наме': 'Гаражна врата', 'стате': ГПИО.ЛОВ} }
Затим поставите пин као излаз и у почетку га смањите.
За пин у пиновима: ГПИО.сетуп (пин, ГПИО.ОУТ) ГПИО.оутпут (пин, ГПИО.ЛОВ)
Сада направите главну функцију за читање стања пинова и чување овог стања у променљивој.
@ апп.роуте ("/") деф маин (): за пин у пиновима: пинс = ГПИО.инпут (пин) ..
Те податке морамо проследити на нашу хтмл страницу како бисмо могли да контролишемо стање дугмета за унос.
врати рендер_темплате ('маин.хтмл', ** темплатеДата)
Сада направите функцију за руковање захтевима из УРЛ адресе са пин бројем и радњом у њему.
@ апп.роуте ("/
Претворите пин из УРЛ-а у цео број.
цхангеПин = инт (цхангеПин)
Ако је акциони део УРЛ адресе „отворен“, урадите следеће.
иф ацтион == "опен": ГПИО.оутпут (цхангеПин, ГПИО.ХИГХ) иф ацтион == "цлосе": ГПИО.оутпут (цхангеПин, ГПИО.ЛОВ)
Можете да копирате комплетну скрипту са краја овог водича и сачувате је користећи цтрл + к, а затим притисните ентер. Завршили смо са питхон скриптом. Сада морамо да направимо ХТМЛ страницу за интеракцију са питхон скриптом.
Креирање ХТМЛ странице за Распберри Пи веб сервер
У истој фасцикли гараге_доор направите другу фасциклу која се зове шаблони и у њој направите.хтмл датотеку помоћу наредби испод.
мкдир предлошци цд предлошци нано маин.хтмл
У нано уређивач текста напишите хтмл код. Можете да уредите део странице и стилизујте га по свом избору. Управо сам користио независну цсс шему помоћу ознаке везе. Комплетни ХТМЛ код дат је у наставку:
Веб сервер за гаражна врата
{% за пин у пиновима%}{{пинс.наме}} {% иф пинс.стате == труе%} је тренутно отворено
Овде је важан део стварање дугмета за отварање и затварање врата и додељивање стања дугмету за отварање и затварање . Дугме ће послати и преузети ГПИО стање из питхон скрипте.
Можете користити горенаведени ХТМЛ код у едитору и сачувати га. Сада је веб сервер спреман за покретање.
Отворите терминал и дођите до директоријума гараге_доор и покрените доњу команду
судо питхон апп.пи
Отворите прегледач и унесите своју Распберри пи ИП адресу и притисните Ентер. Да бисте пронашли своју ИП адресу, у терминалу можете покренути доњу команду.
име хоста -И
Видећете овакву страницу.
Уверите се да је релејни модул повезан са малина пи. Притисните дугме Отвори да бисте укључили релеј или отворили гаражна врата. Такође можете видети стање релеја. Чим укључите релеј, текст дугмета ће се променити у Затвори да бисте искључили релеј. Када поново притиснете дугме, релеј ће се искључити и текст дугмета ће се поново променити у Отвори .
Да бисте зауставили сервер, притисните цтрл + ц.
Зато само повежите овај релеј са неким механизмом за отварање врата, који је доступан на тржишту, и почните да контролишете гаражна врата помоћу паметног телефона.
Демонстрација видео дат је у наставку.