- HM10 BLE 4.0 మాడ్యూల్ అంటే ఏమిటి?
- HM10 మరియు ఇతర బ్లూటూత్ మాడ్యూల్ మధ్య వ్యత్యాసం
- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- Arduino బ్లూటూత్ కంట్రోలర్ (HM-10 మాడ్యూల్) Android అప్లికేషన్
- HM-10 బ్లూటూత్ మాడ్యూల్ ఉపయోగించి LED ని నియంత్రించడానికి Arduino UNO ను ప్రోగ్రామింగ్ చేస్తోంది
బ్లూటూత్ వైర్లెస్ టెక్నాలజీని అత్యంత ప్రాచుర్యం పొందిన మరియు ఉపయోగించడానికి సులభమైనది. భవిష్యత్ సాంకేతిక పరిజ్ఞానంతో ప్రస్తుత కొనసాగుతున్న సాంకేతిక పరిజ్ఞానాన్ని వేగవంతం చేయడానికి మరియు వినియోగదారుల అవసరాలను తీర్చడానికి కొన్ని సంవత్సరాలుగా బ్లూటూత్ ప్రమాణం యొక్క అనేక నవీకరణలు జరిగాయి. బ్లూటూత్ వెర్షన్ 1.0 నుండి బ్లూటూత్ వెర్షన్ 5.0 వరకు, అధిక డేటా రేట్లు, తక్కువ ప్రస్తుత వినియోగం, మెరుగైన భద్రత మొదలైన వాటితో IoT కోసం ఉపయోగించగల సామర్థ్యం వంటి అనేక విషయాలు మార్చబడ్డాయి. బ్లూటూత్ కమ్యూనికేషన్ తెలుసుకోవడానికి అనేక మాడ్యూల్స్ అందుబాటులో ఉన్నాయి మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేయబడింది. ఇటువంటి బ్లూటూత్ మాడ్యూల్ HM10, ఇది బ్లూటూత్ 4.0 పై ఆధారపడి ఉంటుంది.
HM10 BLE 4.0 మాడ్యూల్ అంటే ఏమిటి?
HM10 అనేది సీరియల్ BLE మాడ్యూల్ (బ్లూటూత్-లో-ఎనర్జీ), ఇది తక్కువ విద్యుత్ వినియోగ అనువర్తనాల కోసం ఉపయోగించటానికి ఉద్దేశించబడింది మరియు నాణెం-పరిమాణ బ్యాటరీతో కూడా ఎక్కువ కాలం ఉంటుంది. HM10 బ్లూటూత్ 4.0 మాడ్యూల్ ఆధారంగా టెక్సాస్ ఇన్స్ట్రుమెంట్స్ CC2540 లేదా CC2541 BLE వ్యవస్థ SoC (చిప్ వ్యవస్థ). మాడ్యూల్ యొక్క ఫర్మ్వేర్ మరియు రూపకల్పన జినాన్ హువామో టెక్నాలజీచే తయారు చేయబడింది మరియు నిర్వహించబడుతుంది. మాడ్యూల్ సీరియల్ / UART లేయర్తో వస్తుంది, ఇది పరికరాన్ని వివిధ మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేయగలదు. సరళమైన కనెక్షన్లను సృష్టించడానికి మరియు ఐబీకాన్తో లేదా ఉపయోగించటానికి HM10 అనువైనది.
HM10 చాలా ప్రజాదరణ పొందిన బ్లూటూత్ 4.0 BLE మాడ్యూల్గా మారింది. HM10 బ్లూటూత్ 4.0 ఆధారిత మాడ్యూల్ మాత్రమే, కాబట్టి ఇది బ్లూటూత్ 2 / 2.1 మాడ్యూల్ అయిన HC-05, HC-06 మరియు ఇతర బ్లూటూత్ మాడ్యూళ్ళతో కనెక్ట్ అవ్వదు. సీరియల్ UART కనెక్షన్ ద్వారా పంపిన AT ఆదేశాల ద్వారా HM10 నియంత్రించబడుతుంది. HM-10 అనేది బ్లూటూత్ లో ఎనర్జీ (BLE) మాడ్యూల్, BLE గురించి మరింత తెలుసుకోవడానికి లింక్ను అనుసరించండి. Arduino తో nRF24L01 మాడ్యూల్ BLE మాడ్యూల్గా ఎలా ఉపయోగించబడుతుందో కూడా తెలుసుకోండి.
HM10 మరియు ఇతర బ్లూటూత్ మాడ్యూల్ మధ్య వ్యత్యాసం
HM10 కలిగి ఉన్న ప్రధాన వ్యత్యాసం బ్లూటూత్ వెర్షన్. HM10 బ్లూటూత్ 4.0 మాడ్యూల్, కాబట్టి ఇది వేగం, నిర్గమాంశ మరియు పరిధి వంటి అన్ని బ్లూటూత్ వెర్షన్ 4.0 లక్షణాలతో వస్తుంది. తక్కువ శక్తి / తక్కువ పవర్ వాడకంతో 24 Mbps యొక్క HM10 ఆఫర్లు ఒక డేటా రేటు. దీనితో పాటు హెచ్ఎం 10 బహిరంగ ప్రదేశంలో 100 మీటర్ల దూరాన్ని అందిస్తుంది. బ్లూటూత్ 2.0 ఆధారిత మాడ్యూల్ అయిన HC-05 వంటి ఇతర బ్లూటూత్ మాడ్యూళ్ళతో పోల్చండి, HM10 ఖచ్చితంగా HC-05 కన్నా మెరుగ్గా పనిచేస్తుంది. HM10 తో పోలిస్తే HC-05 3 Mbps మాత్రమే అందిస్తుంది, ఇది చాలా తక్కువ.
బ్లూటూత్ మాడ్యూల్ HC-05 మరియు HC-06 ఇప్పటికీ తయారీదారులు మరియు అభిరుచి గలవారిలో బాగా ప్రాచుర్యం పొందాయి, ఎందుకంటే అవి చౌకగా మరియు ఇంటర్ఫేస్కు సులువుగా ఉంటాయి. మేము HC-05/06 ను ఉపయోగించి అనేక ప్రాజెక్టులను కూడా చేసాము మరియు వాటిని అనేక ఇతర మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేసాము:
- ESP8266 తో బ్లూటూత్ మాడ్యూల్ ఇంటర్ఫేసింగ్: LED ని నియంత్రించడం
- STM32F103C8 బ్లూ పిల్తో బ్లూటూత్ HC-05 ను ఇంటర్ఫేసింగ్: LED ని నియంత్రించడం
- AVR మైక్రోకంట్రోలర్తో ఇంటర్ఫేసింగ్ HC-05 బ్లూటూత్ మాడ్యూల్
- పిఐసి మైక్రోకంట్రోలర్తో బ్లూటూత్ మాడ్యూల్ హెచ్సి -06 ఇంటర్ఫేసింగ్
- ఆర్డునో మరియు బ్లూటూత్ ఉపయోగించి వాయిస్ కంట్రోల్డ్ LED లు
- రాస్ప్బెర్రీ పై ఉపయోగించి వాయిస్ కంట్రోల్డ్ లైట్స్
బ్లూటూత్ సంబంధిత ప్రాజెక్టులన్నీ ఈ లింక్లో చూడవచ్చు.
ఈ రోజు మనం బ్లూటూత్ ప్రోటోకాల్ ఉపయోగించి ఎల్ఈడీని వైర్లెస్గా నియంత్రించడానికి ఆర్డునో యునోతో హెచ్ఎం -10 బిఎల్ఇ మాడ్యూల్ను ఇంటర్ఫేస్ చేస్తాము. ఆన్ / ఆఫ్ ఆదేశాలు స్మార్ట్ఫోన్ ద్వారా పంపబడతాయి.
భాగాలు అవసరం
హార్డ్వేర్:
- ఆర్డునో UNO
- HM10 బ్లూటూత్ మాడ్యూల్
- రెసిస్టర్లు (1 kΩ, 470)
- జంపర్ వైర్లు
సాఫ్ట్వేర్:
- Arduino IDE
- Arduino బ్లూటూత్ కంట్రోలర్ (HM-10 మాడ్యూల్) Android అనువర్తనం
- Android స్మార్ట్ ఫోన్
సర్క్యూట్ రేఖాచిత్రం
Arduino మరియు HM-10 బ్లూటూత్ మాడ్యూల్ను కనెక్ట్ చేయడానికి సర్క్యూట్ రేఖాచిత్రం క్రింద చూపిన విధంగా చాలా సులభం.
ప్రాజెక్ట్తో ప్రారంభించే ముందు మీ HM-10 మాడ్యూల్ నిజమైన HM-10 మాడ్యూల్ అని నిర్ధారించుకోండి. విస్తృతంగా చైనీస్ క్లోన్ చేసిన HM-10 గుణకాలు అందుబాటులో ఉన్నాయి. జెన్యూన్ మరియు క్లోన్డ్ HM-10 మాడ్యూల్ మధ్య వ్యత్యాసాన్ని గుర్తించడానికి, HM-10 బోర్డులో 32KHz యొక్క క్రిస్టల్ ఆసిలేటర్ ఉనికిని చూడండి. క్రిస్టల్ ఆసిలేటర్ ఉంటే అది నిజమైన HM-10 మాడ్యూల్ మరియు మీరు ఫర్మ్వేర్ మార్చాల్సిన అవసరం లేదు. మీరు దాని స్థానంలో క్రిస్టల్ ఆసిలేటర్ను చూడలేకపోతే, అది క్లోన్డ్ HM10 మాడ్యూల్ మరియు మీరు క్లోన్డ్ HM-10 మాడ్యూల్ యొక్క ఫర్మ్వేర్ను మార్చాలి. HM-10 ఫర్మ్వేర్ మార్చకుండా, మీరు AT ఆదేశాలతో HM-10 మాడ్యూల్ను యాక్సెస్ చేయలేరు లేదా మీరు స్మార్ట్ఫోన్లతో జత చేయవచ్చు. ఇక్కడ మేము క్లోన్ మాడ్యూల్ను కూడా ఉపయోగిస్తున్నాము కాబట్టి ఆర్డ్రూనోతో కనెక్ట్ అయ్యే ముందు దాని ఫర్మ్వేర్ను ఫ్లాష్ చేసాము. క్లోన్డ్ HM-10 మాడ్యూల్ యొక్క ఫర్మ్వేర్ని మార్చడానికి, క్లోన్ HM-10 మాడ్యూల్ యొక్క ఫర్మ్వేర్ను ఎలా మార్చాలి లేదా ఫ్లాష్ చేయాలి అనే మా ట్యుటోరియల్ ను అనుసరించండి.
Arduino బ్లూటూత్ కంట్రోలర్ (HM-10 మాడ్యూల్) Android అప్లికేషన్
ఆర్డునో బ్లూటూత్ కంట్రోలర్ (HM-10 మాడ్యూల్) అనేది గూగుల్ ప్లే స్టోర్లో ఉచితంగా లభించే ఆండ్రాయిడ్ అప్లికేషన్. ఈ అనువర్తనం HM-10 BLE మాడ్యూల్ కోసం సులభమైన మరియు సరళమైన ఇంటర్ఫేస్ను కలిగి ఉంది. పరీక్షించేటప్పుడు, ఇది త్వరగా HM-10 ను కనుగొనగలిగింది మరియు ఇది HM-10 తో తక్షణమే కనెక్ట్ అయ్యింది. మీరు ఒక బటన్ను సృష్టించవచ్చు మరియు అనుకూల పేరు మరియు ఫంక్షన్లతో అనుకూలీకరించవచ్చు వంటి అనువర్తనం కొన్ని అద్భుతమైన లక్షణాలను కలిగి ఉంది. Arduino తో కనెక్ట్ చేయబడిన LED ని ఆన్ మరియు ఆఫ్ చేయడానికి ఈ బ్లూటూత్ కంట్రోలర్ అనువర్తనంలో రెండు బటన్లను ఎలా సృష్టించాలో ఇక్కడ మనం చేస్తాము.
Arduino బ్లూటూత్ కంట్రోలర్ (HM-10 మాడ్యూల్) Android అనువర్తనాన్ని ఎలా సెటప్ చేయాలి:
- Google Play స్టోర్ నుండి అనువర్తనాన్ని డౌన్లోడ్ చేయండి.
- అనువర్తనం యొక్క హోమ్ పేజీ క్రింద కనిపిస్తుంది, ఇక్కడ మీరు పరికరం, శోధన చిహ్నం, ఐకాన్ తొలగించు, పరికర స్థితి, వచనాన్ని పంపండి, మూసను జోడించు వంటి లక్షణాలను కనుగొనవచ్చు . శోధన చిహ్నంపై క్లిక్ చేయడం ద్వారా లేదా క్లిక్ చేయడం ద్వారా పరికరాన్ని శోధించడం ప్రారంభించండి. ఎగువ కుడి మూలలో మూడు చుక్కలకు మరియు కనెక్ట్ పరికరాన్ని ఎంచుకోండి.
- అందుబాటులో ఉన్న అన్ని పరికరాలు స్క్రీన్లో చూపబడతాయి. సరైన HM-10 మాడ్యూల్ ఎంచుకోండి.
- ఇప్పుడు HM-10 విజయవంతంగా అనుసంధానించబడుతుంది మరియు మీరు HM-10 యొక్క స్థితిని టాప్ స్క్రీన్లో చూడగలుగుతారు.
- ఇప్పుడు మీరు టెక్స్ట్ విభాగంలో వ్రాయడం ద్వారా నేరుగా టెక్స్ట్ లేదా స్ట్రింగ్ పంపవచ్చు మరియు పంపించడానికి బాణం నొక్కండి లేదా మీరు అనుకూల టెంప్లేట్ సృష్టించవచ్చు.
- సమయాన్ని ఆదా చేయడానికి అనుకూల టెంప్లేట్ను సృష్టించడానికి. ఎగువ కుడి మూలలో ఉన్న “ + ” చిహ్నంపై క్లిక్ చేసి వివరాలను పూరించండి. “ పేరు ” అనేది బటన్ పేరు, “ టెక్స్ట్ ” ఫీల్డ్ టెక్స్ట్స్ లేదా స్ట్రింగ్ కోసం, ఇది HM-10 కు పంపబడుతుంది మరియు “ వివరణ ” అనేది బటన్ ఎలా పనిచేస్తుందో బటన్ వివరణ.
- మొదట, LED ఆన్ చేయడానికి ఒక బటన్ను సృష్టించండి మరియు దానికి గ్రీన్ కలర్ ఇవ్వండి. బటన్ HM-10 కు “N” లేఖను పంపుతుంది, ఇది Arduino కి కనెక్ట్ చేయబడిన LED ని ఆన్ చేస్తుంది. అదేవిధంగా LED OFF కోసం ఒక బటన్ను సృష్టించండి మరియు దానికి ఎరుపు రంగు ఇవ్వండి.. బటన్ HM-10 కు “F” లేఖను పంపుతుంది, ఇది Arduino కి కనెక్ట్ చేయబడిన LED ని ఆపివేస్తుంది.
- ఇప్పుడు మీరు టెక్స్ట్ ఫీల్డ్ క్రింద సృష్టించిన రెండు బటన్లను చూడవచ్చు. ఇప్పుడు మీరు LED ని నియంత్రించాలనుకుంటే బటన్లపై క్లిక్ చేయండి.
ఇది HM-10 మాడ్యూల్ను నియంత్రించడానికి Android అనువర్తనాన్ని సెటప్ చేయడాన్ని పూర్తి చేస్తుంది. ఇప్పుడు మేము Android అనువర్తనం నుండి అక్షరాలను పొందడానికి ప్రోగ్రామింగ్ Arduino Uno తో ప్రారంభిస్తాము.
HM-10 బ్లూటూత్ మాడ్యూల్ ఉపయోగించి LED ని నియంత్రించడానికి Arduino UNO ను ప్రోగ్రామింగ్ చేస్తోంది
ఎప్పటిలాగే ప్రదర్శన వీడియోతో పూర్తి ప్రోగ్రామ్ ఈ ట్యుటోరియల్ చివరిలో చూడవచ్చు. ఈ ప్రాజెక్ట్ కోసం ఆర్డునో UNO ను ప్రోగ్రామింగ్ చేయడానికి ఎక్కువ కృషి లేదా లైబ్రరీ అవసరం లేదు. మీరు హార్డ్వేర్ సీరియల్ మరియు సాఫ్ట్వేర్ సీరియల్ లైబ్రరీని ఉపయోగించవచ్చు. మీరు సాఫ్ట్వేర్ సీరియల్ని ఉపయోగిస్తుంటే, సాఫ్ట్వేర్ సీరియల్ లైబ్రరీని చేర్చండి, లేకపోతే హార్డ్వేర్ సీరియల్తో కొనసాగండి. ఈ ప్రాజెక్ట్లో మేము సాఫ్ట్వేర్ సీరియల్ ఉపయోగిస్తున్నాము. కాబట్టి సాఫ్ట్వేర్ సీరియల్ లైబ్రరీతో సహా ప్రారంభించండి. పిన్స్ Rx మరియు Tx 2 మరియు 3 పిన్స్ ఆర్డునో వద్ద అనుసంధానించబడి ఉన్నాయి.
# చేర్చండి
HM10 మరియు Android అనువర్తనం నుండి పొందిన డేటాను నిల్వ చేయడానికి రెండు వేరియబుల్స్ ఉపయోగించబడతాయి.
చార్ యాప్డేటా; స్ట్రింగ్ ఇన్డేటా = "";
జస్ట్ వద్ద 9600 బాడ్ రేటు హార్డ్వేర్ మరియు సాఫ్ట్వేర్ సీరియల్ మొదలు మరియు కొన్ని డీబగ్గింగ్ ప్రకటనలు ప్రింట్. LED పిన్ అవుట్పుట్గా సెట్ చేయబడింది మరియు ప్రారంభంలో ఇది ఆఫ్లో ఉంటుంది.
సీరియల్.బెగిన్ (9600); సీరియల్.ప్రింట్ల్న్ ("HM10 సీరియల్ 9600 వద్ద ప్రారంభమైంది"); హెచ్ఎం 10.బెగిన్ (9600); // HM10 సీరియల్ను 9600 బాడ్ రేట్ పిన్మోడ్ (13, OUTPUT) వద్ద సెట్ చేయండి; // ఆన్బోర్డ్ LED డిజిటల్ రైట్ (13, తక్కువ); // స్విచ్ ఆఫ్ LED
HM10 పోర్ట్ వినడం ప్రారంభించండి మరియు HM10 అందుబాటులో ఉండి డేటాను పంపే వరకు స్ట్రింగ్ చదవండి. డేటాను స్ట్రింగ్లో సేవ్ చేయండి.
HM10.listen (); // HM10 పోర్టును వినండి (HM10.available ()> 0) {// HM10 ఏదైనా పంపితే appData = HM10.read () చదవండి ; inData = స్ట్రింగ్ (appData); // డేటాను స్ట్రింగ్ ఫార్మాట్లో సేవ్ చేయండి సీరియల్.రైట్ (యాప్డేటా); }
కోసం AT తో HM10 డీబగ్గింగ్ ఆదేశాలను కేవలం క్రింద HM10 స్ట్రింగ్ పంపే కోడ్ లైన్ వ్రాయండి.
if (Serial.available ()) {// అందుబాటులో ఉంటే యూజర్ ఇన్పుట్ చదవండి. ఆలస్యం (10); HM10.write (సీరియల్.రెడ్ ()); }
అందుకున్న స్ట్రింగ్ “F” అయితే, సీరియల్ మానిటర్లో ఒక సందేశాన్ని ప్రింట్ చేసి, అందుకున్న స్ట్రింగ్ “N” అయితే లీడ్ లేకపోతే ఆపివేయండి, ఆపై సీరియల్ మానిటర్లో ఒక సందేశాన్ని ప్రింట్ చేయండి మరియు 500ms ఆలస్యంతో బ్లింక్ దారితీస్తుంది.
if (inData == "F") { Serial.println ("LED OFF"); డిజిటల్ రైట్ (13, తక్కువ); // స్విచ్ ఆఫ్ LED ఆలస్యం (500); } if (inData == "N") { Serial.println ("LED ON"); డిజిటల్ రైట్ (13, హై); // స్విచ్ ఆఫ్ LED ఆలస్యం (500); డిజిటల్ రైట్ (13, తక్కువ); // స్విచ్ ఆఫ్ LED ఆలస్యం (500); }
Arduino మరియు BLE HM10 బ్లూటూత్ 4.0 మాడ్యూల్ ఉపయోగించి LED ని ఎలా నియంత్రించాలో పూర్తి ట్యుటోరియల్ను ఇది పూర్తి చేస్తుంది. మళ్ళీ గుర్తుంచుకోండి , మీకు నిజమైన HM10 మాడ్యూల్ ఉంటే, మీరు దాని ఫర్మ్వేర్ను ఫ్లాష్ చేయవలసిన అవసరం లేదు, దానిని వెంటనే ఉపయోగించవచ్చు. కానీ మీరు క్లోన్ చేసిన HM-10 మాడ్యూల్ ఉపయోగిస్తుంటే, క్లోన్ HM10 BLE మాడ్యూల్లో ఫర్మ్వేర్ను ఫ్లాష్ చేయండి. మీకు ఏమైనా సందేహం లేదా సలహా ఉంటే దయచేసి క్రింద వ్యాఖ్యానించండి లేదా మా ఫోరమ్కు వ్రాయండి.