Orodha ya maudhui:

Jinsi ya Kutumia Bluetooth (BLE) Na ESP32: 3 Hatua
Jinsi ya Kutumia Bluetooth (BLE) Na ESP32: 3 Hatua

Video: Jinsi ya Kutumia Bluetooth (BLE) Na ESP32: 3 Hatua

Video: Jinsi ya Kutumia Bluetooth (BLE) Na ESP32: 3 Hatua
Video: Turn ON and OFF LED using mobile App using Bluetooth on ESP32 board 2024, Novemba
Anonim

#####KUMBUKA#####

Njia iliyoonyeshwa katika Maagizo haya ni ya zamani na imepitwa na wakati. Tazama video hii kwa njia ya hivi karibuni.

###############

Wakati ESP32 inajivunia orodha kubwa ya huduma (Wikipedia), huduma kubwa inayovutia macho ni Bluetooth v4.2 iliyojengwa na msaada wa BLE. Lakini taarifa hiyo inaweza kupotosha, wakati vifaa vipo, msaada wa programu ya kutumia Bluetooth haupo. (Ni chini ya maendeleo)

Kwa wale ambao hawajui BLE ni nini, inasimama kwa Nishati ya chini ya Bluetooth. Ni itifaki ya bluetooth ambayo inaongeza matumizi ya chini ya nguvu ikilinganishwa na "Classic" Bluetooth.

Katika Maagizo haya nitakuonyesha jinsi unaweza kutumia rasilimali ndogo (za programu) ovyo kutuma data kutoka kwa bodi ya ESP32 kwenda kwa simu yako juu ya BLE.

Kanusho chache…

Vitu vichache vya kumbuka ninapaswa kutaja kabla ya kuendelea zaidi na mwongozo huu..

Kumbuka 1: Ninaposema kuwa msaada wa Bluetooth bado haupatikani, namaanisha katika mazingira ya maendeleo ya arduino.

Msaada huo unaweza kupatikana katika SDK rasmi na IDF lakini sijapata maagizo yoyote yanayofaa kwa wale.

Kumbuka 2: Njia ninayotumia ni ngumu sana na sio jinsi BLE inavyotakiwa kufanya kazi. Maktaba inasaidia kuunda huduma katika BLE sio hapa kwa mazingira ya arduino.

Kitu pekee unachoweza kufanya kwa uaminifu ni kuunda Beacon ambayo inatangaza jina lake. Maoni ya YouTube yalisema kwa uzuri sana: "LOL, utapeli wa kikatili. Lakini unaweza kufanya nini?"

Kumbuka 3: Aina pekee ya data ambayo unaweza kutuma ni kamba.

Unaweza kuamua vizuri kuweka nambari na kuamua aina zingine za data kwenda na kutoka kwa kamba lakini hiyo ni zaidi ya upeo wa mwongozo huu.

Hatua ya 1: Mfano Ujenge

Image
Image
Mfano Kujenga
Mfano Kujenga
Mfano Kujenga
Mfano Kujenga
Mfano Kujenga
Mfano Kujenga

Ikiwa uko hapa tu kwa ufafanuzi basi unaweza kuruka hatua hii lakini kuipitia inaweza kukupa ufafanuzi zaidi..

Kwanza nitaunda mradi wa mfano na kisha nitajaribu kuelezea jinsi inavyofanya kazi na jinsi unaweza kuiga mawasiliano ya Bluetooth. Tutakua tunaunda sensorer inayobebeka ya joto inayotuma malisho ya moja kwa moja kwa smartphone yako. Ujenzi huo unaweza kukimbia kwa siku kwa li-po moja na inaonyesha kwa urahisi faida za BLE.

Unaweza kutumia moduli kama coaster kuingiza vinywaji vyako na kupata arifa mara tu kinywaji chako kitakapofikia kiwango kizuri cha joto. Kwa sababu itakuwa shida ikiwa ungetaka kunywa chai ambayo ilikuwa digrii zaidi ya 40.

Vifaa pekee unavyohitaji ni bodi ya ESP32 na sensorer ya joto ya dijiti. Bodi yangu inasaidia betri ya nje kwa hivyo ninatumia li-po ya 3.7v ambayo niliokoa kutoka kwa kifaa cha zamani ili kufanya mradi huu kubebeka.

Vifaa

Uunganisho wa sensorer ya joto ni rahisi. Waya nyekundu inaunganisha na 3.3v, nyeusi inaunganisha chini (gnd), njano inaunganisha na GPIO 2 ambayo kwenye ubao wangu imewekwa alama kama D9. Unganisha kipinga cha 4.7k ohm kati ya waya nyekundu na njano. Situmii kipinzani, badala yake ninatumia terminal 3 ya kuziba inayoweza kuja na sensa yangu. Inayo kontena ya kuvuta iliyojengwa.

Li-po inapaswa kuunganishwa kwa kutumia kontakt ya JST lakini sikuweza kusumbuliwa kununua moja kwa hivyo niliweka tu pembe kwenye waya (wa kike na wa kike) kwenye kontakt na nikauza jozi nyingine kwenye vituo vya betri. Hii inafanya unganisho la kuaminika na ubadilishaji wa umeme wa muda.

Sasa kama eneo la mradi, ninatumia diski ya Styrofoam ambayo imekatwa kutoka kwa karatasi kubwa. Hii inafanya kizio kikubwa. Diski nyingine ndogo sana imekwama juu lakini kidogo pembeni. Hii ni kwa kufunika urefu wa waya zaidi ili zisizunguke mahali pote. Baada ya ajira ya ukarimu ya gundi yako na shimo ndogo kwa uchunguzi wa sensorer, uko tayari kuendelea na programu hiyo.

Programu

Ikiwa huna IDE ya arduino iliyosanikishwa basi nenda kwenye kiunga hiki ili kuipakua. Programu ya arduino kwa chaguo-msingi haiji na ufafanuzi wa bodi kwa bodi anuwai za ESP32. Ili kuwafanya waende kwenye kiunga hiki na kupakua faili kwenye zip. Unahitaji kuzifunga kwenye eneo hili:

C: / Watumiaji // Nyaraka / Arduino / vifaa / espserrif / ESP32

Jina lako la mtumiaji liko wapi kwenye PC yako. Hakikisha kuwa faili anuwai zinapatikana chini ya folda ya ESP32 na sio chini ya folda nyingine.

Sasa ukianza programu ya arduino na nenda kwa zana-> bodi unapaswa kuona bodi kadhaa za ESP32 wakati unashuka chini.

Sensorer nyingi za joto la dijiti hutumia itifaki ya OneWire kuwasiliana na vidhibiti vidogo kwa hivyo tunahitaji kupata maktaba. Nenda kwenye mchoro-> ni pamoja na maktaba-> dhibiti maktaba na utafute na usakinishe maktaba ambayo ni waandishi wengi sana. Huna haja ya kitovu cha onewire. Puuza.

Sasa unaweza kupakua na kufungua nambari iliyoambatanishwa na hatua hii (joto-mfano.ino).

Ikiwa unatumia sensorer tofauti kutoka kwangu basi itabidi ubadilishe nambari ipasavyo. Badilisha nambari chini ya GetTemp (). Rudisha tu joto la mwisho kwa njia ya

Kurudi;

Iko wapi kuelea iliyo na joto.

Chomeka ubaoni, chagua bodi sahihi na bandari kutoka chini ya zana na ugonge pakia.

Ikiwa nambari inakataa kupakia, toa sensorer na unganisha GPIO 0 ardhini. Rejesha miunganisho baada ya kupakia.

ESP yako inapaswa sasa kupiga kelele joto la kahawa yako kwa ulimwengu lakini unahitaji mtu anayeweza kuielewa.

Programu ya Android

Samahani watumiaji wa iPhone (… sio kweli).

Pakua apk kutoka hapa na usakinishe. Unapoanza programu hiyo utasalimiwa na kiolesura rahisi sana.

Ikiwa unapata ujumbe wa makosa ukisema "matangazo hayatumiki", bofya sawa na upuuze lakini ukipata ujumbe kwamba 'BLE haihimiliwi' basi simu yako haina Bluetooth 4.0 au zaidi na haitaweza kuendesha programu.

Hakikisha kwamba Bluetooth kwenye simu yako imewashwa na ubofye 'Anza Kutambaza', mradi esp iko katika anuwai na inatumiwa kwako unapaswa kuwa unapokea kiwango cha joto.

Makosa yanayowezekana:

  • -1000:: Hii inamaanisha kuwa kifaa chako hakikuweza kupata ESP. hakikisha kuwa Bluetooth imewashwa na ujaribu kuanzisha tena ESP.
  • SNA:: Hii inamaanisha kuwa simu yako inapokea data kutoka kwa ESP lakini ESP yenyewe haikuweza kupata sensa ya joto kwenye GPIO 2. Hakikisha uunganisho uko salama, angalia ikiwa unatumia kontena la thamani sahihi. Angalia mara mbili na bodi zako ambazo umeunganishwa na GPIO 2 na sio pini iliyowekwa alama kama D2.

Hatua ya 2: Ufafanuzi

Jinsi BLE inavyofanya kazi kawaida ni kwamba kifaa kinatangaza jina lake kama taa, jina hili linaweza kuonekana na mtu yeyote na hutumiwa kutambua kifaa. Kisha kifaa kinaweza kuunda huduma anuwai ambazo zinaonekana na wengine wakati wanaunganisha kwa hiyo. Huduma hizi zinaweza kuwa na mito tofauti ya data.

Kwa mfano. Kifaa kinachoitwa 'Kituo cha Hali ya Hewa' kinaweza kuhudumiwa chini yake kama 'Joto', 'Unyevu' na 'Upepo'. Wakati kifaa kingine cha BLE kama simu yako mahiri kinatafuta vifaa, kingeona Kituo cha Hali ya Hewa na ikiunganisha nayo, itaweza kupokea mito ya data chini ya huduma zinazofanana.

Maktaba (za ESP32) ambazo zinapatikana kwetu sasa zinaturuhusu kuunda taa ambayo wengine wanaweza kugundua lakini huo ndio kiwango chake. Hatuwezi kuunda huduma na kifaa chochote hakiwezi kuunganishwa nayo.

Kwa hivyo jinsi ninavyotuma data bila kuunda huduma ni kwa kutumia mbinu inayofanana na itifaki ya WiFi iitwayo Beacon Stuffing. Hii inamaanisha kuwa ninajumuisha data itakayotumwa ndani ya jina la beacon yenyewe. Hii inaniwezesha kutangaza data bila vifaa vingine vinavyohitaji kuungana na beacon.

ble. kuanza (beaconMsg); // beaconMsg ni jina lililotangazwa

Tunatumia maktaba ya SimpleBLE kuunda beacon iliyo na jina lake katika muundo wa ESP. Ambapo 'ESP' daima haibadiliki mwanzoni mwa jina na inabadilishwa na data ya hivi karibuni iliyorejeshwa na kazi ya GetValue () kila millisecond 100.

kuelea GetValue () {return sensorValue;}

Programu ya android hutafuta majina ya vifaa vya BLE kuanzia na 'ESP', mara tu ikipatikana, hugawanya jina na huonyesha tu data kutoka mwisho.

Mawasiliano ni njia moja tu, programu hairudishi chochote.

Hatua ya 3: Hitimisho

Mwisho wa siku, njia hii sio mbadala wa maktaba ya BLE iliyotekelezwa vizuri lakini inaweza kuwa ya kutosha kupangilia miradi kadhaa hadi msaada kamili wa BLE utakapokuja Arduino. Tunatumahi kuwa Maagizo haya yalikuwa msaada kwako.

Shukrani Kubwa kwa DFRobot.com kwa kunitumia bidhaa hizi:

  • Bodi ya Mende ya ESP32
  • Ngao ya Kupanua Mende
  • Sensor ya Joto la DS18B20

Hivi majuzi nimepata maktaba hii. ReadME inadai kuwa unaweza kuungana na vifaa vingine vya BLE kupokea data (Haiwezi kujitangaza). Sijaijaribu lakini unaweza kuiangalia ikiwa una nia.

Unaweza kuangalia video ya mradi kwenye: YouTube

Ilipendekeza: