- Инсталирање потребних пакета за Блуетоотх комуникацију:
- Упаривање уређаја са Распберри Пи преко Блуетоотх-а:
- Избор аутомобила-играчака:
- Шема и објашњење:
- Даљинско управљање аутомобилом помоћу Андроид апликације БлуеТерм:
- Питхон програмирање:
Распберри Пи је веома популаран за ИоТ пројекте због своје неприметне могућности бежичне комуникације путем Интернета. Распберри Пи 3 има уграђени Ви-Фи и Блуетоотх, а Блуетоотх је веома популаран протокол бежичне комуникације. Данас ћемо направити даљински управљани аутомобил користећи Распберри Пи 3 и Блуетоотх, овде ћемо користити Смарт Пхоне као даљински управљач за управљање аутомобилом. Раније смо направили овај РЦ аутомобил користећи Ардуино.
Овде користимо Распберри Пи 3 који има уграђени Блуетоотх, тако да не треба да користимо било који спољни УСБ Блуетоотх донгле. Овде користимо РФЦОММ Блуетоотх протокол за бежичну комуникацију.
Програмирање за Блуетоотх у Питхону следи модел програмирања сокета, а комуникација између Блуетоотх уређаја врши се преко РФЦОММ утичнице. РФЦОММ (Радио Фрекуенци Цоммуницатион) је Блуетоотх протокол који пружа емулиране РС-232 серијске портове и назива се и емулација серијског порта. Профил серијског порта Блуетоотх заснован је на овом протоколу. РФЦОММ је веома популаран у Блуетоотх апликацијама због своје широке подршке и јавно доступног АПИ-ја. Везан је за Л2ЦАП протокол.
Ако имате Распберри Пи 2, тада морате да користите спољни Блуетоотх донгле или Блуетоотх модул ХЦ-06. Проверите наше претходне пројекте за коришћење ових спољних Блуетоотх уређаја: Управљање Распберри Пи ГПИО помоћу Андроид апликације преко Блуетоотх-а и кућних апарата којима управља Распберри Пи.
Инсталирање потребних пакета за Блуетоотх комуникацију:
Пре почетка морамо да инсталирамо неки софтвер за подешавање Блуетоотх комуникације у Распберри Пи. Требали бисте имати Распбиан Јессие инсталирану меморијску картицу спремну са Распберри Пи. Погледајте овај чланак да бисте инсталирали Распбиан ОС и започели рад са Распберри Пи. Дакле, сада прво морамо да ажурирамо Распбиан користећи наредбе у наставку:
судо апт-гет упдате судо апт-гет надоградња
Тада морамо да инсталирамо неколико пакета повезаних са Блуетоотх-ом:
судо апт-гет инсталирај блуетоотх блуеман блуез
Затим поново покрените Распберри Пи:
судо ребоот
БлуеЗ је пројекат отвореног кода и службени Линук Блуетоотх протокол. Подржава све основне Блуетоотх протоколе и сада је постао део званичног Линук кернела.
Блуеман нуди Десктоп интерфејс за управљање и контролу Блуетоотх уређаја.
Коначно, потребна нам је библиотека питхон за Блуетоотх комуникацију како бисмо могли да шаљемо и примамо податке путем РФЦОММ-а користећи језик Питхон:
судо апт-гет инсталирај питхон-блуетоотх
Такође инсталирајте ГПИО библиотеке подршке за Распберри Пи:
судо апт-гет инсталирај питхон-рпи.гпио
Сада смо завршили са инсталирањем потребних пакета за Блуетоотх комуникацију у Распберри Пи.
Упаривање уређаја са Распберри Пи преко Блуетоотх-а:
Упаривање Блуетоотх уређаја, попут мобилног телефона, са Распберри Пи је врло једноставно. Овде смо упарили Андроид паметни телефон са Распберри Пи. Претходно смо инсталирали БлуеЗ у Пи, који пружа услужни програм за командну линију под називом „блуетоотхцтл“ за управљање нашим Блуетоотх уређајима.
Сада отворите услужни програм блуетоотхцтл помоћу наредбе испод:
судо блуетоотхцтл
Све наредбе услужног програма блуетоотхцтл можете проверити тако што ћете откуцати „помоћ“ . За сада морамо унети наредбе испод наведеним редоследом:
# напајање # агент укључен # видљив # упозорен # скенирање укључено
Након последње наредбе „скенирај укључено“, на листи ћете видети свој Блуетоотх уређај (мобилни телефон). Уверите се да је на вашем мобилном телефону укључен Блуетоотх и да га виде уређаји у близини. Затим копирајте МАЦ адресу свог уређаја и упарите је помоћу дате команде:
пар
Тада ће се од вас затражити да унесете лозинку или закачите у конзолу терминала, затим тамо унесите лозинку и притисните ентер. Затим унесите исту лозинку у свој мобилни телефон када се то затражи и сада сте успешно упарени са Распберри Пи. Такође смо објаснили читав овај поступак у видеу датом у претходном водичу за ГПИО управљање. Ево директне ИоуТубе везе.
Као што је раније речено, за упаривање мобилног телефона можете да користите и интерфејс за радну површину. Након инсталације Блуеман-а, видећете икону Блуетоотх на десној страни радне површине Распберри Пи, као што је приказано доле, помоћу које можете лако извршити упаривање.
Избор аутомобила-играчака:
У овом пројекту Распберри Пи Цонтроллед Цар користили смо аутомобил за играчке за демонстрацију. Овде смо изабрали РФ играчки аутомобил са покретном функцијом лево-десно управљања. Након куповине овог аутомобила заменили смо његов РФ круг нашим Распберри кругом. Овај аутомобил има два једносмерна мотора, један за ротирање два предња точка, а други за окретање два задња точка. Мотор са предње стране служи за усмеравање аутомобила, значи окретање лево или десно (попут стварног управљачког елемента аутомобила). А мотор са задње стране служи за вожњу аутомобила у правцу напријед и назад. Блуетоотх од Распберри-а користи се за бежично примање наредби са андроид телефона за контролу аутомобила.
Можете да користите било који аутомобил са играчкама који има два једносмерна мотора за ротирање предњих и задњих точкова.
Шема и објашњење:
У овом аутомобилу на даљинско управљање треба да повежемо Распберри Пи само са два мотора помоћу модула Л293Д. За напајање Распберри Пи и аутомобила користили смо мобилну банку напајања. Мобилна банка напајања довољна је за напајање Распберри Пи-а и мотора аутомобила, али када ставимо батерију преко аутомобила, због велике тежине аутомобила мобилни повер банк аутомобил се неће моћи правилно кретати. Зато препоручујемо да за напајање система користите напајање мале тежине или литијумске батерије. Сви прикључци су приказани на доњој шеми. Такође погледајте наш одељак Роботика да бисте сазнали више о управљању моторима помоћу различитих технологија.
Напомена: не стављајте више од 5в на малину пи.
Овај круг је направљен на Перф Боард-у за овај пројекат, тако да је на аутомобилу мања тежина.
Даљинско управљање аутомобилом помоћу Андроид апликације БлуеТерм:
Сада, након што смо поставили све ствари и успешно покушали да упаримо паметни телефон преко блуетоотх-а, морамо да инсталирамо Андроид апликацију за комуникацију са Распберри Пи-ом помоћу Блуетоотх серијског адаптера, како бисмо могли да контролишемо ГПИО пинове Распберри Пи-а. Као што је раније речено, РФЦОММ / СПП протокол емулира серијску комуникацију преко Блуетоотх-а, па смо овде инсталирали апликацију БлуеТерм која подржава овај протокол.
Такође можете да користите било коју другу апликацију Блуетоотх Терминал која подржава комуникацију путем РФЦОММ утичнице.
Сада након преузимања и инсталирања апликације БлуеТерм, покрените доленаведени програм Питхон са терминала и истовремено повежите упарени распберрипи уређај са апликације БлуеТерм.
Након успешне везе видећете повезану: распберрипи у горњем десном углу апликације као што је приказано доле:
Сада можете само да унесете следеће команде из апликације БлуеТерм да бисте се аутомобил кретали у жељеном смеру. Притисните 'к' да бисте изашли из програма. Можете да користите Гоогле Воице тастатуру за типкање да бисте управљали овим аутомобилом помоћу свог Воице-а. Проверите комплетну демонстрацију у видеу датом на крају.
Команде:
Ф - Померите напред
Б - Помицање уназад
С - Стани
Л - Напред Леви покрет
Р - Напријед удесно
А - Покрет лево уназад
П - Покрет уназад удесно
П - Престани
Питхон програмирање:
Питхон програм за контролу Распберри Пи ГПИО са Андроид апликацијом је врло једноставан и саморазумљив. Само морамо да научимо мало о коду који се односи на Блуетоотх РФЦОММ комуникацију. Иначе је исто као да контролишете било ког робота или аутомобил тако што ћете моторну иглу поставити високо или ниско. Комплетан програм је дат испод у одељку Цоде.
Прво, морамо да увозимо библиотеку Блуетоотх сокета која нам омогућава контролу Блуетоотх-а на језику Питхон; у претходном одељку смо инсталирали библиотеку за исту.
увезите Блуетоотх
Затим смо укључили још неколико датотека заглавља и дефинисали пинове за моторе и поставили их према заданим поставкама.
увоз блуетоотх време увоза увоз РПи.ГПИО као ГПИО м11 = 18 м12 = 23 м21 = 24 м22 = 25 ГПИО.сетварнингс (Фалсе) ГПИО.сетмоде (ГПИО.БЦМ) ГПИО.сетуп (м11, ГПИО.ОУТ) ГПИО.сетуп (м12, ГПИО.ОУТ) ГПИО.сетуп (м21, ГПИО.ОУТ) ГПИО.сетуп (м22, ГПИО.ОУТ) ГПИО.оутпут (м11, 0) ГПИО.оутпут (м12, 0) ГПИО.оутпут (м21, 0) ГПИО.излаз (м22, 0)
Испод је код одговоран за Блуетоотх комуникацију:
сервер_соцкет = блуетоотх.БлуетоотхСоцкет (блуетоотх.РФЦОММ) порт = 1 сервер_соцкет.бинд (("", порт)) сервер_соцкет.листен (1) цлиент_соцкет, аддресс = сервер_соцкет.аццепт () принт "Прихваћена веза са", адреса
Овде их можемо разумети ред по ред:
сервер_соцкет = блуетоотх.БлуетоотхСоцкет (блуетоотх.РФЦОММ): Креирање утичнице за Блуетоотх РФЦОММ комуникацију.
сервер_соцкет.бинд (("", порт): - Сервер веже скрипту на хосту '' на порт.
сервер_соцкет.листен (1): Сервер слуша да прихвата по једну везу.
цлиент_соцкет, аддресс = сервер_соцкет.аццепт (): Сервер прихвата захтев за повезивање клијента и додељује мац адресу променљивој адреси, цлиент_соцкет је утичница клијента
Након овога креирали смо неке функције одговорне за кретање аутомобила у жељеном смеру: деф лефт_сиде_форвард (), деф ригхт_сиде_форвард (), деф форвард (), деф лефт_сиде_реверсе (), деф ригхт_сиде_реверсе (), деф реверсе () деф стоп (). Ове функције ће се позвати када притиснемо Л, Р, Ф, А, П, Б, С из апликације Мобиле блуеТерм и аутомобил ће се према томе кретати.
дата = "" вхиле 1: дата = цлиент_соцкет.рецв (1024) принт "Рецеивед:% с"% дата иф (дата == "Ф"): форвард () елиф (дата == "Л"): лефт_сиде_форвард () елиф (подаци == "Р"): десни_бок_напријед () елиф (подаци == "Б"): реверсе () елиф (подаци == "А"): лефт_сиде_реверсе () елиф (подаци == "П"): десни_страни_назад () елиф дата == "С": стоп () елиф (дата == "К"): принт ("Куит") бреак цлиент_соцкет.цлосе () сервер_соцкет.цлосе ()
дата = цлиент_соцкет.рецв (1024): Примајте податке преко клијентске утичнице цлиент_соцкет и додељујте их променљивој дата. Одједном се може примити највише 1024 знака.
На крају, након целокупног програмирања, затворите везу клијента и сервера користећи доњи код:
цлиент_соцкет.цлосе () сервер_соцкет.цлосе ()