- Први кораци са ЕСП32 Блуетоотх-ом
- Разумевање Блуетоотх Лов Енерги (БЛЕ) и ЕСП32 Цлассиц Блуетоотх
- Припрема Ардуино ИДЕ-а за ЕСП32
- Серијски Блуетоотх програм за ЕСП32
- Тестирање серијског Блуетоотх-а са ЕСП32
Блуетоотх модули попут ХЦ-05 и ХЦ-06 су једноставни за подешавање и брзи за употребу са Ардуино ИДЕ-ом, али имају своја ограничења попут велике потрошње енергије и раде на старом Блуетоотх В2.0. Такође, недавно сам набавио нови ЕСП32 ДЕВ комплет, ови модули имају мноштво функција као што су уграђени Ви-Фи и Блуетоотх, довољно АДЦ и ДАЦ пинова, аудио подршка, подршка за СД картице, режим дубоког спавања итд. све за изградњу ИоТ пројеката.
И као што би то волели било који хобисти, ЕСП32 сада званично подржава Ардуино ИДЕ. Раније смо морали да урадимо велико решење са библиотеком Неил Колбанс, али сада је захваљујући напорном раду овог типа програмирање ЕСП32 са Ардуино ИДЕ постало шетња. Стога сам покренуо свој Ардуино ИДЕ и прошао неколико примера БЛЕ програма, кроз које нисам ништа разумео. После дужег времена сурфовања и иоутубинг-а схватио сам да постоји још много ствари које треба разумети ако морате да радите са Блуетоотх Лов Енерги (БЛЕ) помоћу ЕСП32. Одлучио сам да покријем БЛЕ у одвојеним чланцима, па ћемо овде користити класични серијски Блуетоотх ЕСП32 за пребацивање ЛЕД диоде помоћу паметног телефона. Ако сте заинтересовани да проверите како се користе функције БЛЕ, погледајте овај чланак о ЕСП32 БЛЕ серверу и ЕСП32 БЛЕ клијенту
Први кораци са ЕСП32 Блуетоотх-ом
Први програм који сам желео да испробам био је једноставан програм помоћу којег могу да укључим или искључим ЛЕД са апликације Блуетоотх Терминал за мобилни телефон, баш као и добри стари ХЦ-05 дани. Али испоставило се да Блуетоотх Лов Енерги (БЛЕ) није увучен због тога. Такође сам открио да у модулу ЕСП32 постоје две врсте Блуетоотх-а, један је Цлассиц Блуетоотх, а други БЛЕ Блуетоотх Лов Енерги. Добро, али зашто?…. зашто имамо две врсте Блуетоотх-а и шта да користим за свој пројекат?
Разумевање Блуетоотх Лов Енерги (БЛЕ) и ЕСП32 Цлассиц Блуетоотх
Блуетоотх назив са ниском потрошњом енергије, као што назив означава, троши мање енергије од класичног Блуетоотх-а. То се постиже слањем података по потреби са унапред дефинисаним периодичним ажурирањима. Али за разлику од класичног Блуетоотх-а, он се не користи за пренос датотека или музике. Да ли сте се икад запитали како ваш телефон аутоматски препознаје да ли је Блуетоотх уређај који сте управо упарили аудио уређај или лаптоп или телефон, можда сте такође видели да се ниво батерије у бежичном аудио плејеру или фитнес опцији аутоматски приказује на статусној траци ваш мобилни; све ово је могуће са карактеристикама БЛЕ уређаја. БЛЕ Уређај ради са Блуетоотх В4.0 и може да ради са мале снаге као сервер или као клијент који чиниБЛЕ је идеалан избор за фарове, паметне сатове, фитнес траке итд.
Класични Блуетоотх, с друге стране, само је обичан стари Блуетоотх који користимо за пренос датотека и других података. Готово сви БЛЕ уређаји имају класичну Блуетоотх функционалност повезану са њом. Блуетоотх који се користи у модулима као што је ХЦ-05 је верзија класичног Блуетоотх-а који се назива Блуетоотх ССП (протокол серијског порта), што значи да Блуетоотх следи стандардни серијски протокол који олакшава слање и примање података без пуно трошкова. На крају овог водича научићемо како се користи серијска Блуетоотх функционалност у ЕСП32.
Овде у овом чланку ћемо користити функцију серијске Блуетоотх везе на ЕСП32 да бисмо је упарили са паметним телефоном и користили било коју постојећу апликацију Блуетоотх терминала из продавнице Плаи за слање команди на ЕСП32 и укључивање ЛЕД лампице на плочи у складу с тим.
У каснијим чланцима ћемо обрађивати ЕСП32 БЛЕ и као сервер и као клијент. БЛЕ сервер се обично користи за слање БЛЕ података на друге Блуетоотх уређаје, а БЛЕ клијент се користи за скенирање других БЛЕ уређаја и тако делује као сигнал.
Припрема Ардуино ИДЕ-а за ЕСП32
Имајте на уму да Ардуино ИДЕ подразумевано не подржава ЕСП32 плочу; морате да их преузмете и инсталирате помоћу управника одбора. Ако је ово ваш први програм са ЕСП32, следите овај водич за почетак да бисте додали ЕСП32 плочу на свој Ардуино и отпремили тест скицу.
Даље, можете радити више пројеката са ЕСП32, без употребе било каквог микроконтролера.
Серијски Блуетоотх програм за ЕСП32
Комплетан програм за пребацивање ЛЕД диода помоћу ЕСП32 Блуетоотх- а дат је на крају ове странице. Под овим насловом, допуштамо да разбијемо код на мале исечке и покушамо да их разумемо. Ако сте већ користили друге Блуетоотх модуле као што је ХЦ-05, онда бисте приметили да је овај пример програма ЕСП32 Блуетоотх Цлассиц врло сличан.
Идеја програма је иницирати серијску Блуетоотх везу помоћу ЕСП32 и преслушати податке са упарених уређаја. Ако је долазни податак „1“, онда укључујемо ЛЕД, а ако је „0“ требали бисмо искључити ЛЕД. Наш програм започињемо додавањем датотеке заглавља БлуетоотхСериал због чега ЕСП32 Блуетоотх ради као Блуетотх ССП.
#инцлуде "БлуетоотхСериал.х" // Датотека заглавља за серијски Блуетоотх, биће подразумевано додата у Ардуино
Много се ствари догађа иза ове библиотеке, али одлучили смо да не улазимо дубоко у њу да бисмо поједноставили ствари. Следећа ствар која нам треба је објекат за наше Блуетоотх операције. Овде сам своје назвао ЕСП_БТ , али можете одабрати било које име.
БлуетоотхСериал ЕСП_БТ; // Предмет за Блуетоотх
Даље, унутар функције воид сетуп () . Ми почети серијску комуникацију са бауд рате 9600 и покрене Блуетоотх сигнал са именом. Овде сам га назвао „ЕСП32_ЛЕД_Цонтрол “, то ће бити име које ће пронаћи наш телефон приликом покушаја упаривања. На крају сам прогласио уграђени ЛЕД пин као излазни пин, јер ћемо га пребацити на основу Блуетоотх сигнала.
воид сетуп () { Сериал.бегин (9600); // Покрени серијски монитор у 9600 ЕСП_БТ.бегин ("ЕСП32_ЛЕД_Цонтрол"); // Име вашег Блуетоотх Сигнал Сериал.принтлн („Блуетоотх уређај је спреман за упаривање“); пинМоде (ЛЕД_БУИЛТИН, ОУТПУТ); // Одредите да ли се изводи ЛЕД пин }
Унутар функције бесконачне празнине петље , проверавамо да ли долазе подаци са Блуетоотх модула, ако је одговор да, подаци се читају и чувају у променљивој долазно . Ову вредност такође исписујемо на серијском монитору само да бисмо унакрсно проверили шта прима Ардуино.
иф (ЕСП_БТ.аваилабле ()) // Проверите да ли примамо било шта од Блуетоотх-а { инцоминг = ЕСП_БТ.реад (); // Прочитајте шта примамо Сериал.принт ("Рецеивед:"); Сериал.принтлн (долазно);
Сад, било који примљени подаци се чувају у улазној променљивој, тако да можемо директно упоредити ову променљиву са очекиваном вредношћу и извршити потребну радњу. Али вредност која се шаље са Блуетоотх-а биће у облику знака и Ардуино ће прочитати децималну вредност знака који се шаље са телефона. У нашем случају за цхар '0' децимална вредност ће бити 48, а за цхар '1' децимална вредност ће бити 49. Можете се позвати на АСЦИИ графикон да бисте разумели која ће бити децимална вредност за сваки знак.
Овде смо упоредили долазну променљиву са 48 и 49 да бисмо проверили да ли има 0 и 1. Ако је 1, искључујемо ЛЕД и такође исписујемо поруку потврде натраг на Блуетоотх говорећи да је ЛЕД била искључена и обрнуто за 0.
иф ( долазно == 49) { дигиталВрите (ЛЕД_БУИЛТИН, ХИГХ); ЕСП_БТ.принтлн („ЛЕД укључен“); } иф (долазно == 48) { дигиталВрите (ЛЕД_БУИЛТИН, ЛОВ); ЕСП_БТ.принтлн („ЛЕД искључен“); }
Тестирање серијског Блуетоотх-а са ЕСП32
Повежите свој ЕСП са вашим Ардуино ИДЕ-ом и одаберите тачну плочу и порт како је речено у водичу за почетак рада. Будући да је менаџер одбора треће странке, можда ће требати мало више времена да се код компајлира и отпрема. Једном отпремљени, покрените серијске мониторе (само за отклањање грешака) и отворите Блуетоотх поставку на телефону. Требали бисте пронаћи Блуетоотх уређај под називом ЕСП32_ЛЕД_Цонтрол у пару са.
Сада на паметном телефону можете да отворите било коју апликацију Блуетоотх терминала, ја користим ону под називом „Блуетоотх Терминал“ која је преузета из Гоогле Апп сторе-а. Повежите Блуетоотх апликацију са уређајем који смо управо упарили и укуцајте 1 и притисните сенд.
ЕСП32 модул би требало да га прими и укључи ЛЕД диоду према нашем програму, а такође ће вам послати поруку потврде у којој се каже да је ЛЕД укључен као што је приказано на слици изнад. Такође можете да проверите серијски монитор који ће приказивати податке које ЕСП32 Блуетоотх прима у децималном формату, тј. Ваш Ардуино ће читати 48 за 0 и 49 за 1 као што је раније објашњено. Снимак прозора мог терминала приказан је испод.
Слично томе, требали бисте такође моћи да искључите ЛЕД слањем 0 из мобилне апликације. Комплетан рад приказан је у видео снимку испод. Надам се да сте разумели упутство и научили нешто корисно. Ако сумњате, слободно их оставите у одељку за коментаре испод или користите наше форуме за другу техничку помоћ.