- Потребни материјали:
- Кружни дијаграм:
- Програм Распберри Питхон:
- Контрола ЛЕД диода помоћу Распберри Пи и Телеграм бота:
Телеграм је оптимална апликација за комбиновање са Распберри Пи за све наше сврхе мобилне контроле. Има веома добру подршку за програмере и планира се ускоро издавање многих функција како би се побољшале перформансе Телеграм ботова. У нашем претходном водичу научили смо како можемо да поставимо телеграм-бота за Распберри Пи, а такође смо научили да морамо да ћаскамо са њим и делимо слике, документе и аудио датотеке.
Сада ћемо прећи на следећи корак учећи како можемо да контролишемо ГПИО пинове на Распберри Пинс помоћу Телеграма, тако да пружамо одређену хардверску подршку за нашег бота. У овом упутству ћемо повезати четири ЛЕД диоде на Распберри Пи ГПИО пинове и пребацити их помоћу природног језика (ћаскање попут) из Телеграма. Звучи занимљиво, зар не? Почнимо.
Потребни материјали:
- Четири ЛЕД (било које боје)
- Распберри Пи (са Интернет везом)
- Бреадбоард
- Повезивање жица
Предуслови:
Пре него што наставите са упутством, уверите се да је ваш Распберри Пи повезан на интернет и да на њему можете покретати програме питхон. Такође прочитајте претходни водич да бисте знали како да подесите бот Телеграм са Распберри Пи Пи, јер претпостављам да сте упознати са тим стварима да бисте наставили са пројектом.
Ако сте нови у Распберри Пи, следите наш чланак о уводу Распберри Пи и друге туторијале за Распберри Пи.
Кружни дијаграм:
Дијаграм кола за контролу ЛЕД диода помоћу апликације Распберри Пи и Телеграм Андроид Апп није ништа друго до четири ЛЕД диоде и неке спојне жице. Неће нам требати тренутни ограничавајући отпорници, јер Распберри Пи ГПИО пинови раде на 3.3В ТТЛ. Слиједите доњи круг и спојите ЛЕД.
Следећа табела ће вам помоћи да одредите пин и ГПИО број за повезивање четири диоде.
Лед Терминал |
Пин број |
ГПИО број |
Зелена анода |
Пин 31 |
ГПИО 6 |
Црвена анода |
Пин 33 |
ГПИО 13 |
Жута анода |
Пин 35 |
ГПИО 19 |
Бела анода |
Пин 37 |
ГПИО 26 |
Катода све четири |
Пин 39 |
Приземље |
Испод је дијаграм кола у који су повезане четири ЛЕД-а према горњој табели:
Једном када се повежете, хардверска поставка би требала изгледати овако некако у наставку.
Програм Распберри Питхон:
Када је хардвер спреман, можемо наставити са програмом Питхон. У овом програму морамо прочитати податке (поруке) послате са Телеграм бота и у складу с тим укључити ЛЕД. Да бисмо то учинили природнијим, уместо да проверавамо сваку реченицу и чврсто кодирамо те реченице у нашем програму, можемо проверити да ли постоје речи и поступити у складу с тим.
Дакле, програм ће првенствено проверити две речи, оне су укључене и искључене. Једном када препозна једну од ове две речи, тражиће друге кључне речи попут беле, жуте, зелене и црвене. Одговарајућа ЛЕД лампица у боји ће се пребацити само ако је реч детектована. Такође ћемо ажурирати низ за откривене речи да би послали поруку натраг телеграм боту.
Комплетан програм се може наћи на дну ове странице; одмах испод објаснио сам програм тако што сам га разбио на мале смислене смеће.
Да би овај програм радио, потребан нам је телепот који се преузима и увози у нашу Распберри Пи. У нашем претходном упутству већ смо преузели телепорт унутар наше Распберри Пи, па га сада само морамо увести у наш програм заједно са ГПИО библиотеком као што је приказано доле.
импорт РПи.ГПИО ас ГПИО импорт телепот фром телепот.лооп импорт МессагеЛооп
Помоћу овог програма контролисаћемо ЛЕД светла, а боја ЛЕД ће бити бела, жута, црвена и зелена. Они су повезани са пиновима приказаним на шему кола; хајде да дефинишемо имена пинова за ове диоде на основу боје њихове, тако да је их користити у програму.
бела = 26 жута = 19 црвена = 13 зелена = 6
Следећи корак био би дефинисање свих ових ЛЕД пинова као излазних пинова и дефинисање као подразумевано искључених помоћу доњих линија.
# ЛЕД бели ГПИО.сетуп (бели, ГПИО.ОУТ) ГПИО. излаз (бели, 0) # Искључено у почетку # ЛЕД жути ГПИО.сетуп (жути, ГПИО.ОУТ) ГПИО. излаз (жути, 0) # Искључено у почетку # ЛЕД Црвени ГПИО.сетуп (црвени, ГПИО.ОУТ) ГПИО.оутпут (црвени, 0) # Искључено у почетку # ЛЕД зелени ГПИО.сетуп (зелени, ГПИО.ОУТ) ГПИО.оутпут (зелени, 0) # Искључено у почетку
Као што смо сазнали у нашем претходном водичу, све радње које мора да изврши Распберри бот биће дефинисане унутар радње функције. Овде морамо да направимо бота да преслушава поруку послату са мобилног уређаја, упоређује је са неким кључним речима и у складу с тим пребацује ЛЕД.
За сваку поруку коју пошаљемо са мобилног уређаја налази се ИД ћаскања и наредба. Овај ИД ћаскања је потребан програму да би се одговорило пошиљаоцу. Дакле, чувамо ИД цхата и поруку као што је приказано доле.
цхат_ид = мсг цомманд = мсг
Сад, све што пошаљемо са телефона биће сачувано као низ у команди променљиве. Дакле, све што треба да урадимо је да проверимо кључне речи у овој променљивој. Питхон има наредбу да олакша ствари овде. На пример, ако морамо да проверимо да ли је реч „он“ присутна у низу ускладиштеном у променљивој команде , можемо једноставно да користимо доњи ред.
ако је 'он' у команди:
Слично томе, проверавамо све кључне речи, након што добијемо „укључено“, настављамо да проверавамо коју боју је корисник поменуо. То се такође врши истим наредбама упоређивањем истих кључних речи. Такође ажурирамо низ са именом поруке на коју се кориснику може одговорити као статусна порука.
ако је 'он' у наредби: мессаге = "Укључено" ако је "бело" у наредби: мессаге = мессаге + "вхите" ГПИО.излаз (бело, 1) ако је "жуто" у наредби: мессаге = мессаге + "иеллов" ГПИО.оутпут (жута, 1) ако је 'црвена' у наредби: порука = порука + "црвена" ГПИО.оутпут (црвена, 1) ако је "зелена" у наредби: мессаге = мессаге + "греен" ГПИО.оутпут (зелена, 1) ако је 'алл' у наредби: мессаге = мессаге + "алл" ГПИО.оутпут (бела, 1) ГПИО.оутпут (жута, 1) ГПИО.оутпут (црвена, 1) ГПИО.оутпут (зелена, 1) мессаге = мессаге + "светло (а)" телеграм_бот.сендМессаге (цхат_ид, порука)
Као што је горе приказано, тражимо кључне речи као што су „зелена“, „бела“, „црвена“, „жута“ и „све“ и „Укључена“ сама та ЛЕД. Након завршетка посла, кориснику враћамо поруку о томе шта се управо догодило. Исти метод може да се користи за искључивање светла са добро.
ако је 'искључено' у наредби: мессаге = "искључено" ако је "бело" у наредби: мессаге = мессаге + "вхите" ГПИО.излаз (бело, 0) ако је "жуто" у наредби: мессаге = мессаге + "иеллов" ГПИО.оутпут (жута, 0) ако је 'црвена' у наредби: порука = порука + "црвена" ГПИО.оутпут (црвена, 0) ако је "зелена" у наредби: мессаге = мессаге + "греен" ГПИО.оутпут (зелена, 0) ако је 'алл' у наредби: мессаге = мессаге + "алл" ГПИО.оутпут (бела, 0) ГПИО.оутпут (жута, 0) ГПИО.оутпут (црвена, 0) ГПИО.оутпут (зелена, 0) мессаге = мессаге + "светло (а)" телеграм_бот.сендМессаге (цхат_ид, порука)
Контрола ЛЕД диода помоћу Распберри Пи и Телеграм бота:
Повежите ЛЕД диоде и покрените програм на питхон-у. Обавезно промените адресу жетона за свог бота. И почните да куцате у наредбама које желите. На пример, да бисте укључили црвено и жуто светло, можете да користите било коју од следећих команди.
1.Укључите црвено и жуто светло
2.Укључите црвену и жуту боју удесно
3. На црвеној и жутој
4.Плеасе ставити на на жуто и црвено светло
Као што видите, бот тражи само кључне речи и игнорисаће остале речи у реченици, на овај начин можете с њим разговарати природно. Комплетни рад пројекта налази се у видеу датом на крају ове странице.
Хајде! играјте се са својим пројектом и забавите се. Сада га можете подићи на сасвим нови ниво. Са оба уџбеника у комбинацији имамо моћ да контролишемо било који хардвер са нашег паметног телефона било где из света, а такође добијамо улазе / резултате са нашег Распберри Пи-а у облику поруке, звука, слике, па чак и као документ. Ако ЛЕД лампице замените релејима и уређајима наизменичне струје, то би могла бити кућна аутоматизација којом управља паметни телефон. Дакле, искористите своју креативност и направите сопствене цоол пројекте…
Надам се да вам се свидео пројекат и уживали сте у изградњи нечег сличног. Јавите ми ако имате било каквих проблема путем одељка за коментаре и радо ћу вам помоћи. Такође поделите са мном своју сјајну идеју и дајте нам да видимо шта можемо да изградимо.