Како подесити и програмирати ЕСП32 за комуникацију са Андроид паметним телефоном преко Блуетоотх-а

Kako Podesiti I Programirati Esp32 Za Komunikaciju Sa Android Pametnim Telefonom Preko Bluetooth A



ЕСП32 је плоча микроконтролера са широким спектром могућности. Има уграђене Ви-Фи и Блуетоотх модуле. Користећи оба ова модула, можете бежично програмирати ЕСП32. Уз ово, не морате да бринете о дугожичним везама за контролу ЕСП32 периферних уређаја.

У овом чланку ћемо повезати ЕСП32 плочу са Андроид телефоном и комуницирати податке преко Блуетоотх-а. Даље, ми ћемо контролисати ЛЕД повезан са ГПИО пиновима ЕСП32 директно преко Андроид паметног телефона.

Садржај:







Шта је ЕСП32 Блуетоотх ЛЕ

ЕСП32 је плоча микроконтролера која подржава и Блуетоотх Цлассиц и Блуетоотх Лов Енерги познат и као паметни Блуетоотх. БЛЕ или паметни Блуетоотх је специфичан за енергетски ефикасну комуникацију или је дизајниран за комуникацију кратког домета или пренос малих података.



БЛЕ функционалност ЕСП32 омогућава му да делује као сервер или клијент у Блуетоотх комуникацијама. Може да се носи са задацима као што су услуге читања и писања. Такође може да шифрује везе и успоставља везе са профилом серијског порта (СПП) за пренос података у УАРТ-БЛЕ режиму пролаза. ЕСП32 Блуетоотх подржава 4.2 протоколе, што значи да је компатибилан са различитим слојевима као што су физички слој (ПХИ) и слој везе (ЛЛ). Такође има подршку за Хост Цонтроллер Интерфаце (ХЦИ), између осталог.



Проверите табелу разлика за ЕСП32 Цлассиц и БЛЕ Блуетоотх.





одлика Класични Блуетоотх Блуетоотх са ниском потрошњом енергије (БЛЕ)
Цоммуницатион Типе Одржива, двосмерна комуникација Повремени, првенствено једносмерни рафали података
Оперативни домет Може досећи до 100 метара Обично ради испод 100 метара
Повер Усаге Троши до 1 ват Креће се од 10 миливата до 500 миливата
Брзина преноса Брзине преноса података варирају од 1 до 3 мегабита у секунди Подржава 125 килобита у секунди до 2 мегабита у секунди
Време одзива Латенција око 100 милисекунди Брз одговор са кашњењем од 6 милисекунди
Гласовна подршка Опремљен преносом гласа Недостаје функција преноса гласа

Погледајте ове ЕСП32 Блуетоотх чланке да бисте сазнали више о томе.

Како програмирати ЕСП32 за комуникацију преко Блуетоотх-а са Андроид паметним телефоном

Да бисте програмирали ЕСП32 тако да може да комуницира са Андроид телефоном користећи Блуетоотх протокол, морате да подесите ЕСП32 Блуетоотх серијску библиотеку. За то морате имати Ардуино ИДЕ подешавање са инсталираном ЕСП32 плочом.



Након подешавања ЕСП32 Блуетоотх, морате да инсталирате Блуетоотх серијску Андроид апликацију. Ово ће вам омогућити да пошаљете упутства са Андроид телефона на ЕСП32 користећи Блуетоотх серијску комуникацију.

Хајде да детаљније погледамо сваки од ових корака:

Кораци за повезивање ЕСП32 Блуетоотх са Андроид телефоном

Да бисте програмирали ЕСП32 плочу за Блуетоотх комуникацију, следите ове кораке:

Корак 1: Инсталирање ЕСП32 плоче у Ардуино ИДЕ

Да бисте инсталирали ЕСП32 на Ардуино ИДЕ, једноставно пратите водич дат у овом чланку.

Инсталирање ЕСП32 плоче у Ардуино ИДЕ

Након инсталације, ЕСП32 плоча се може повезати и програмирати помоћу Ардуино ИДЕ.

Корак 2: Отпремите ЕСП32 Блуетоотх код

Када се ЕСП32 плоча инсталира, видећете различите унапред инсталиране библиотеке и њихове примере у Ардуино ИДЕ. Све ове библиотеке су повезане са ЕСП32 плочом. За Блуетоотх серијску комуникацију користићемо ЕСП32 БлуетоотхСериал.х библиотечки пример кода.

Да бисте отворили пример кода, отворите Ардуино ИДЕ и идите на: Датотека > Примери > БлуетоотхСериал > СериалтоСериалБТ

Да бисте отворили овај пример кода, уверите се да је изабрана ЕСП32 плоча.

Након што отворите пример кода, видећете следећи код у вашем Ардуино ИДЕ прозору:

//Добродошли у Линукхинт

#инцлуде 'БлуетоотхСериал.х'

//#дефине УСЕ_ПИН // Уклоните коментар ако желите ПИН током упаривања
конст цхар * пин = '1234' ; // Дефинишите прилагођени ПИН за упаривање

Стринг девице_наме = 'ЕСП32' ;

#иф !дефинед(ЦОНФИГ_БТ_ЕНАБЛЕД) || !дефинед(ЦОНФИГ_БЛУЕДРОИД_ЕНАБЛЕД)
#еррор Блуетоотх није омогућен! Покрените `маке менуцонфиг` да бисте га омогућили
#ендиф

#иф !дефинед(ЦОНФИГ_БТ_СПП_ЕНАБЛЕД)
#еррор Недостаје серијски Блуетоотх или није омогућен. Доступан је само за ЕСП32 чип.
#ендиф

БлуетоотхСериал СериалБТ ;

празнина подесити ( ) {
Сериал. започети ( 115200 ) ;
СериалБТ. започети ( Име уређаја ) ; //Назив Блуетоотх уређаја
Сериал. принтф ( 'Уређај ' % с “ је покренут. Почните да упарујете свој уређај! ' , Име уређаја. ц_стр ( ) ) ;
//Сериал.принтф('Уређај '%с' са МАЦ адресом %с је покренут.\нПочните да га упарујете са Блуетоотх-ом!\н', девице_наме.ц_стр(), СериалБТ.гетМацСтринг());
#ифдеф УСЕ_ПИН
СериалБТ. сетПин ( пин ) ;
Сериал. принтлн ( „Коришћење ПИН-а“ ) ;
#ендиф
}

празнина петља ( ) {
ако ( Сериал. доступан ( ) ) {
СериалБТ. писати ( Сериал. читати ( ) ) ;
}
ако ( СериалБТ. доступан ( ) ) {
Сериал. писати ( СериалБТ. читати ( ) ) ;
}
кашњење ( двадесет ) ;
}

Након учитавања кода, видећете следећу поруку на екрану. Ова порука описује да је ваша ЕСП32 плоча спремна за упаривање.

Корак 3: Објашњење кода

Код је почео укључивањем потребних библиотека и провером доступности Блуетоотх-а. Такође поставља варијабле за назив Блуетоотх уређаја и ПИН.

У подесити() функција, серијска комуникација у бодовима је дефинисана и Блуетоотх уређај се иницијализује својим именом. Прилагођени ПИН се може подесити за аутентификацију током упаривања.

Тхе петља() функција континуирано проверава податке о серијској и Блуетоотх конекцији. Ово му омогућава да успостави двосмерну комуникацију између ЕСП32 и упареног Блуетоотх уређаја.

Корак 4: Инсталирајте Андроид апликацију

Када се код отпреми, следећи корак је да инсталирате и конфигуришете Андроид апликацију за Блуетоотх везу.

Отворите Плаи продавницу и инсталирајте Серијски Блуетоотх терминал апликација.

Након инсталације, отворите Блуетоотх подешавања паметног телефона и повежите телефон са ЕСП32 Блуетоотх. Ако сте дефинисали ПИН у Ардуино ИДЕ коду, морате да унесете ПИН, иначе ће се директно повезати.

Сада отворите апликацију Сериал Блуетоотх и изаберите Уређаји опција.

Из новоотвореног менија изаберите ЕСП32 уређај. Ова листа приказује све тренутно активне Блуетоотх уређаје.

Као што видите, ЕСП32 Блуетоотх је повезан са вашим Андроид паметним телефоном.

Да бисмо тестирали везу, послаћемо стринг. Овде сам послао два различита низа.

Приметићете да ће иста два низа такође бити приказана на Ардуино ИДЕ терминалу.

Сада идемо корак даље и контролишемо спољну периферију као што је ЛЕД помоћу ЕСП32 Блуетоотх преко Андроид паметног телефона.

Корак 5: Контролишите ЛЕД помоћу Андроид телефона преко Блуетоотх-а

Да бисте контролисали ЛЕД помоћу ЕСП32 и Андроид Блуетоотх-а, прво измените горњи код и дефинишите ГПИО пин за ЛЕД. Након тога морате подесити вредности за укључивање и искључивање ЛЕД-а.

Отпремите код у наставку да бисте наставили даље.

#инцлуде <БлуетоотхСериал.х> // Укључује библиотеку Блуетоотх серијске комуникације

#дефине ЛЕД_ПИН 15 // Дефинишите ЛЕД пин

БлуетоотхСериал СериалБТ ; // Креирајте БлуетоотхСериал објекат
бајт БТ_ИНП ; // Променљива за чување Блуетоотх улаза

// Проверите да ли су Блуетоотх и Блуедроид омогућени у СДК конфигурацији
#иф !дефинед(ЦОНФИГ_БТ_ЕНАБЛЕД) || !дефинед(ЦОНФИГ_БЛУЕДРОИД_ЕНАБЛЕД)
#еррор Блуетоотх није омогућен. Покрените `маке менуцонфиг` да бисте га омогућили.
#ендиф

празнина подесити ( ) {
пинМоде ( ЛЕД_ПИН , ОУТПУТ ) ; // Поставите ЛЕД пин као излаз
Сериал. започети ( 115200 ) ;
СериалБТ. започети ( 'ЕСП32' ) ; // Покрени Блуетоотх са именом 'ЕСП32'
Сериал. принтлн ( „Блуетоотх уређај је спреман за упаривање.“ ) ; // Означава да је Блуетоотх спреман
}

празнина петља ( ) {
// Проверите да ли има доступних података за читање са Блуетоотх-а
ако ( СериалБТ. доступан ( ) ) {
БТ_ИНП = СериалБТ. читати ( ) ; // Читање долазног бајта са Блуетоотх-а
Сериал. писати ( БТ_ИНП ) ; // Ецхо прочитани бајт на серијски монитор
}

// Проверите примљене Блуетоотх податке и подесите ЛЕД стање
ако ( БТ_ИНП == '1' ) {
дигиталВрите ( ЛЕД_ПИН , ХИГХ ) ; // Укључите ЛЕД ако се прими '1'
} друго ако ( БТ_ИНП == '0' ) {
дигиталВрите ( ЛЕД_ПИН , ЛОВ ) ; // Искључите ЛЕД ако се прими '0'
}
}

Овај код је за ЕСП32 микроконтролер који контролише ЛЕД помоћу Блуетоотх-а. Укључује библиотеку за Блуетоотх комуникацију. Затим дефинише ЛЕД пин и подешава Блуетоотх са уређајем под називом ЕСП32. Главна петља чита Блуетоотх податке и пали или искључује ЛЕД на основу примљене команде (1 за УКЉУЧЕНО, 0 за искључено).

Цирцуит Диаграм

Шема кола је једноставна, са ЛЕД спојеном на пин Д15 од ЕСП32. Можете дефинисати било који други ГПИО за ЛЕД контролу.

Повезан: ЕСП32 Пиноут Референце–Ултимате Гуиде

Хардвер

У хардверу ће вам требати матична плоча, ЕСП32 плоча и ЛЕД диода. Повежите ЕСП32 са системом и учитајте програм на њега.

Сада пошаљите 1 и 0 из апликације за Блуетоотх серијску комуникацију Андроид телефона.

Видећете исти улаз на Ардуино ИДЕ терминалу примљен са Андроид телефона.

Излаз

Једном када пошаљете вредност Хигх или 1 ЛЕД ће се укључити, слично када пошаљете ниску вредност ЛЕД ће се искључити.

Подесите прилагођено дугме

Такође можете поставити прилагођено дугме унутар апликације Сериал Блуетоотх. На пример, може се креирати дугме ВИСОКА и НИСКА вредности. На овај начин, не морате ручно да уносите вредности. Уместо тога, само морате да притиснете дугме за пречицу и оно ће извршити инструкцију коју сте поставили.

Белешка: Да бисте отворили подешавања дугмета, дуго притисните дугме.

Да бисте подесили вредност дугмета ХИГХ, дефинишите следећа подешавања.

Сличност за вредност дугмета ЛОВ, потребно је да дефинишете доленаведена подешавања.

Успешно смо повезали ЕСП32 плочу са Андроид телефоном користећи Блуетоотх. Сада можете креирати многе пројекте користећи га. На пример, можете да контролишете своје кућне апарате користећи ЕСП32 Блуетоотх преко релејног кола.

Повезан: Релеј са ЕСП32 користећи Ардуино ИДЕ

Закључак

ЕСП32 је напредна плоча микроконтролера са Ви-Фи и Блуетоотх могућностима. Оба ова уграђена модула вам помажу да дизајнирате напредне пројекте и бежично контролишете периферне уређаје. Слично томе, можете повезати ЕСП32 са Андроид телефоном и обављати различите операције. За то ћете морати да инсталирате Блуетоотх Сериал Андроид апликацију. Када се инсталира, отворите пример кода за ЕСП32 Блуетоотх и отпремите га на своју плочу. Када се код отпреми, можете га упарити са својом плочом преко Андроид телефона.